Arduino / 互換機クロックの差

Arduino

$Date: 2019/11/15 20:04:26 $

本家Arduinoと互換機たち

今回、都合、Arduino UNO R3と、その互換機2台を購入しましたので、動作チェックもかねて定番のLチカを同時に実行してみました。 購入したのは本家のArduino UNO R3と、本家と基板のパターンも同じである互換機です(アマゾンのレビューではまったく本家と同じように動作するとレポートがあった製品です)。

  • 本家:基板の裏面を保護するケースが付属。USBケーブルはなし。
  • ピンの名称が、基板のプリント面、ピンソケットの両面(内側と外側)に記載されており、配線時に便利
  • 基板上のLチカ用のLED(PB5に接続されているLED)が、3製品の中で一番暗い(個体差なのかも...)
  • 化粧箱に本体とUSBケーブルが入っている。見た目に一番格好いいかも(動作には関係ありませんけど)。
  • ピンの名称が、基板のプリント名、ピンソケットの外側に記載さてている。
  • デジタル側のピンソケットが2パーツに分かれているが、微妙にずれているのでシールドを刺すときに注意が必要かも(たぶん、このずれ個体差)
  • 化粧箱に本体が入っている。なんの色気もない箱に本体入りの化粧箱とUSBケーブルが入っている。
  • ピンの名称が、基板のプリント名のみ。ピンソケットにはなにも記載なし
  • 基板裏面に見えるハンダが、3製品の中では一番汚い(雑な感じがする)
外箱
外箱 4000x3000
amazonの箱に、この状態で入っています
4000x3000
4000x3000
4000x3000
4000x3000

Lチカで動作確認

定番のLチカで動作確認。ですが、開封時点で既にLチカはArduinoに書き込み済みのようで(たぶん、製造後の動作試験のための書き込み)、3台とも給電開始とともにLチカが始動。

パソコン側からプログラムの書き込みの動作確認もかねて、下記のようなプログラムを作成して、3台に書き込みました。3台ともまったく同じように(同じ手順)書き込みが可能でした。

クリップボードにコピーしました
void setup() {
  
  pinMode( 13, OUTPUT );
}

void loop() {
 
  led( 0 ); led( 1 ); led( 1 ); led( 1 ); span();
  led( 0 ); led( 0 ); led( 1 ); led( 0 ); span();
  led( 1 ); led( 0 ); led( 0 ); led( 0 ); led( 0 ); span();
  led( 0 ); led( 1 ); led( 0 ); led( 0 ); span();
  led( 1 ); led( 1 ); led( 0 ); led( 0 ); span();
  led( 0 );
  
  span();
  span();
  span();
  span();
}

void led( int sw )
{
  digitalWrite( 13, HIGH );
  if( sw == 0 )
    delay( 200 ); 
  else
    delay( 600 );  
  digitalWrite( 13, LOW );
  delay( 200 ); 
}

void span()
{
  delay( 600 );
}

3台同時に実行

試しに3台同時に実行してみました。 3台を同じUSB電源に接続し、同時に給電を開始します(もしかすると、USB電源側にびみょうな給電開始の時間差があったかもしれませんが、目視した限りではそれはわかりません)

しかしながら、30秒過ぎたあたりから、Lチカのタイミングずれ始めました。これの原因は分からずじまいで、製品の差なのか、個体差なのかは不明です。

4000x3000

Arduino UNO R3(互換機含む)3台でLチカ
Arduino UNO R3+互換機2台(基盤のパターンが同じ、ほぼ完全な互換機)で同じプログラムを同時に実行させ、その処理速度の違いを比較してみました。 続きをみる

わずかながら、Lチカのタイミングのズレが大きくなっていきます。念の為、USBのコードを交換して試してみましたが、結果は同じです。機種ごとの差というより、個体差なのかもしれません。

本家は基盤裏にプロスチック製の絶縁体がついていますすが、互換機2台はそれがなく、布の上に直接置いた影響かもしれません。詳細は?です。

00:02:06 視聴回数 47

この箇所にはYouTubeの動画が埋め込まれていました。動画を閲覧するには、下記のURLあるいはQRコードをご利用ください。

  • https://youtu.be/21SWmb2MwAY?rel=1

ロボットの競技などで制御を行わせる場合は、少しでも速く動く個体を利用した方がいいかもしれません。

印刷日: 2024-04-28 00:42:03
User:
URL: https://ketaitracker.info/blog/index.php?page=arduino-clockcheck