Arduino よもやま話-7 (Nano の互換機を使ってみた)
2019年11月19日16:48
Arduino よもやま話
先日届いた Arduino Nano の互換機を便利に使っているのですが、いくつか気付いた点があるのでまとめておきます。
▼Arduino Nano (互換機)

基板側面がVカットのままで感触が悪かったので、ヤスリで滑らかに仕上げておきました。表には32ピン QFP の ATmega328P が載っています。
▼裏面

左側が USBシリアルインターフェイスの CH340C です。この IC で使うはずの水晶が見当たらないで調べてみると、この CH340C は水晶を内臓しているので外付けの水晶とコンデンサは不要なのだそうです。そうは言ってもパターンは残してあって、同じ基板で水晶が必要な CH340G なども使えるようになっています。
右側は5V用のシリーズレギュレーターの AMS1117 5V0 で、データーシートを見ると短絡保護付きで、電流容量は1Aもありました。
せっかくなので、ちょっとした回路を組んで使い勝手を試してみました。
▼CPU電圧温度測定回路

線が5本しかない簡単な回路です。これはCPUの電源電圧とチップの温度を測ってOLEDに表示する回路です。
測定原理はこちらの記事を参照ください。外付け部品無しでArduinoの電源電圧を測定する
上の記事のプログラムを OLED表示用に手直ししました。そのプログラムはこちら→温度電圧テスト 20191119TempVccDisp.txt (Shift JIS エンコードです)
▼ブレッドボードに組んだ回路

なかなかコンパクトに組むことが出来ました。また、配線も回路図と似た形になるので判り易いです。というか、ブレッドボードに実装することをイメージして回路図を書いています。
▼VINから電源供給

こちらの写真はDCジャック経由で VIN ピンから電源を供給している状態です。
▼ブレッドボード用DCジャック

最近ネットで話題になっていた、DCジャックをブレッドボードに挿すアダプタを作ってみました。3ピン2列のピンヘッダにDCジャックをはんだ付けするだけで作れます。これを作っておけば、ACアダプタからブレッドボードへ簡単に電源を供給することが出来て便利です。
Nano の話に戻ります。電源電圧を測定している様子が上の2枚の写真ですが、良く見ると USBからの給電では 4.88V なのに対し、VIN からの給電では 5.01V になっていて、電圧が少し違っています (温度もかなり違っていますがそっちは置いといて、)。こうなる理由は電源の切り替え回路にありました。
▼Arduino Nano の電源切り替え回路
(VBUSの電圧表記が変だったので図を差し替えています)
VIN から電源が供給された場合は、シリーズレギュレーター (AMS1117 5V0) の出力がそのまま+5V電源として使われます。
USB から電源が供給された場合は、VBUSピンから電源供給されますが、その時はショトキーバリアダイオードを通して電流が流れるので、その電圧降下 (Vf) 分だけ電圧が下がることになります。そんなことで、先ほどの写真のように 4.88Vと、5Vより少し低い電圧が供給されることになります。なお、負荷が増えるとこの電圧差は拡大するはずです。
両方から電源が供給された場合は、+5Vのポイント(ノード)に対する電圧/電流の供給力が大きい方が頑張ることになります。USBのVBUSの電圧は5Vなので、VINがおよそ6V以上あればこちらに切り替わることになるはずです。
◆まとめ
Arduino Nano の互換機を使ってみました。細かい気になる点はありますが、なかなか良く出来ていると思います。
USBから電源を供給する場合、電源電圧が0.2Vくらい下がる点に注意が必要です。電圧測定で、ADC のフルスケールが電源電圧の5Vであることを前提に設計されている場合、少し大きな誤差が発生するので要注意です。
本文中に書き忘れましたが、デジタル13(D13)ピンにはLEDと電流保護抵抗が GNDに向けて接続されていました。出力ピンとして使う場合は問題になりませんが、もし入力ピンとして使う場合は、余分な負荷が付きっぱなしになるわけで、問題が起こる可能性があります。これ、多分原因が判り難い問題になると思います。
USBから給電した時の電圧のドロップと、D13ピンにLEDがつながりっぱなしになっている問題は 実はUNO では解決されています。良い機会なので、そのあたりの話を次回のよもやま話でまとめておきたいと思います。
▼Arduino Nano (互換機)

基板側面がVカットのままで感触が悪かったので、ヤスリで滑らかに仕上げておきました。表には32ピン QFP の ATmega328P が載っています。
▼裏面

左側が USBシリアルインターフェイスの CH340C です。この IC で使うはずの水晶が見当たらないで調べてみると、この CH340C は水晶を内臓しているので外付けの水晶とコンデンサは不要なのだそうです。そうは言ってもパターンは残してあって、同じ基板で水晶が必要な CH340G なども使えるようになっています。
右側は5V用のシリーズレギュレーターの AMS1117 5V0 で、データーシートを見ると短絡保護付きで、電流容量は1Aもありました。
せっかくなので、ちょっとした回路を組んで使い勝手を試してみました。
▼CPU電圧温度測定回路

線が5本しかない簡単な回路です。これはCPUの電源電圧とチップの温度を測ってOLEDに表示する回路です。
測定原理はこちらの記事を参照ください。外付け部品無しでArduinoの電源電圧を測定する
上の記事のプログラムを OLED表示用に手直ししました。そのプログラムはこちら→温度電圧テスト 20191119TempVccDisp.txt (Shift JIS エンコードです)
▼ブレッドボードに組んだ回路

なかなかコンパクトに組むことが出来ました。また、配線も回路図と似た形になるので判り易いです。というか、ブレッドボードに実装することをイメージして回路図を書いています。
▼VINから電源供給

こちらの写真はDCジャック経由で VIN ピンから電源を供給している状態です。
▼ブレッドボード用DCジャック

最近ネットで話題になっていた、DCジャックをブレッドボードに挿すアダプタを作ってみました。3ピン2列のピンヘッダにDCジャックをはんだ付けするだけで作れます。これを作っておけば、ACアダプタからブレッドボードへ簡単に電源を供給することが出来て便利です。
Nano の話に戻ります。電源電圧を測定している様子が上の2枚の写真ですが、良く見ると USBからの給電では 4.88V なのに対し、VIN からの給電では 5.01V になっていて、電圧が少し違っています (温度もかなり違っていますがそっちは置いといて、)。こうなる理由は電源の切り替え回路にありました。
▼Arduino Nano の電源切り替え回路

(VBUSの電圧表記が変だったので図を差し替えています)
VIN から電源が供給された場合は、シリーズレギュレーター (AMS1117 5V0) の出力がそのまま+5V電源として使われます。
USB から電源が供給された場合は、VBUSピンから電源供給されますが、その時はショトキーバリアダイオードを通して電流が流れるので、その電圧降下 (Vf) 分だけ電圧が下がることになります。そんなことで、先ほどの写真のように 4.88Vと、5Vより少し低い電圧が供給されることになります。なお、負荷が増えるとこの電圧差は拡大するはずです。
両方から電源が供給された場合は、+5Vのポイント(ノード)に対する電圧/電流の供給力が大きい方が頑張ることになります。USBのVBUSの電圧は5Vなので、VINがおよそ6V以上あればこちらに切り替わることになるはずです。
◆まとめ
Arduino Nano の互換機を使ってみました。細かい気になる点はありますが、なかなか良く出来ていると思います。
USBから電源を供給する場合、電源電圧が0.2Vくらい下がる点に注意が必要です。電圧測定で、ADC のフルスケールが電源電圧の5Vであることを前提に設計されている場合、少し大きな誤差が発生するので要注意です。
本文中に書き忘れましたが、デジタル13(D13)ピンにはLEDと電流保護抵抗が GNDに向けて接続されていました。出力ピンとして使う場合は問題になりませんが、もし入力ピンとして使う場合は、余分な負荷が付きっぱなしになるわけで、問題が起こる可能性があります。これ、多分原因が判り難い問題になると思います。
USBから給電した時の電圧のドロップと、D13ピンにLEDがつながりっぱなしになっている問題は 実はUNO では解決されています。良い機会なので、そのあたりの話を次回のよもやま話でまとめておきたいと思います。
- 関連記事
-
- Arduino よもやま話-9 (UNOの電源切り替え回路)
- Arduino よもやま話-8 (LEDピン (D13pin) の回路あれこれ)
- Arduino よもやま話-7 (Nano の互換機を使ってみた)
- Arduino よもやま話-6 (互換機の UNO と Nano を買った)
- Arduino よもやま話-5 (Arduino as ISP のエラー)
トラックバックURL
http://radiopench.blog96.fc2.com/tb.php/959-21adc2b8