ま"’s blog

電子工作の部屋?

BitBang Base Board Rev.2、略してBBBB2

しばらくラズパイネタが続いたので、たまにはArduinoネタを...

前回製作したBBBB
pa5m-med60.hatenablog.com
には次のような欠点がありました。

  1. 空きスペースがほとんどないので、このボード上で追加の回路は組み込めない=このボードでスケッチの動作確認ができない
  2. 動作電圧を3.3Vにできない。(GNDピンが端にある3端子レギュレーターがあれば可能)

秋月電子通商
ATMEGA168/328用マイコンボード(I/Oボード): マイコン関連 秋月電子通商-電子部品・ネット通販
というものを見つけて、しばし回路図を眺めていたら...

  • USB-シリアル変換はAE-UM232Rモジュールです
  • BitBang用の信号線全部にピンを立てられます
  • ICSP(6ピン)のパターンが引き出されています
  • 3端子レギュレーターを使う電源回路があります
  • 引き出し用ソケットの並びがArduino互換っぽいです

ということで、「ちょっと改造して専用ケーブル用意すれば、BBBBになるんじゃね?」と回路図をいじってみました。

回路図を修正

5Vの3端子レギュレーターの代わりに3.3Vのに変えて、外部電源はまるっと無視してUSB電源からのみにします。
USBからと外部からの電源切り替えを5Vと3.3Vの切り替えに流用します。
動作電圧を変えると、外部への電源供給電圧も変わっちゃうので、そこはカットして、5VはUSBから、3.3Vは3端子レギュレーターからの出力へと繋ぎ直します。というのもAE-UM232Rモジュールからの3.3V出力は電源電圧というよりリファレンス電圧という意味合いが大きくて、あまり電流が取れないのです。ATmegaマイコン1チップ程度なら問題ないけど、外部へ供給する電力は無理でしょう。
今日、注文していたボードが届いたので、早速作ってみました。

表から見ると普通です

専用ケーブルの部材を買い忘れてしまったので、今回は汎用メスーメスジャンパーケーブルで代用しました。クロックにはクリスタル+コンデンサでもセラロックでもいいような回路と配置だったので、セラロックの位置にIC足用のソケットをハンダ付して、他は何も入れずに置きました。私は内蔵クロック優先派で、外部クロックは必要ない限りつけたくないので。
回路の変更は裏に施しています。

一部修正

回路のカットを2箇所、ジャンパーを3本追加しています。
今回、このボード購入に合わせて
ArduEZ ONE: パーツ一般 秋月電子通商-電子部品・ネット通販
も買いました。これはArduinoボードにスタックできるブレッドボードです。
予想通り、秋月の互換ボードにもピッタリです。

ArduEZをスタックしてみた

両側で2本づつ接続されないピンがありますが、それは別のピンから取れるので実験するのに困るピンではありません。このブレッドボードでスケッチの動作確認用回路が構築できるわけです。
横から見るとこんな感じです。


各ピンの名前がスタック用ソケットに書かれているので、とっても便利です。気づいた方はいないでしょうから補足すると、右側の電解コンデンサーはスタックさせたときに邪魔にならないように横向きに実装しました。
ただ一つ難点を挙げるとすれば、ブレッドボードよりマイコンチップの抜き差しに手間がかかるということでしょうか。このボードでブートローダーもスケッチも書き換えができるようになったので、抜き差しはほとんど不要になったとも言えますがね。
ただし、新品のATmegaマイコンブートローダー書き換えは、BitBang方式では失敗してしまったので、そこはUSBaspが必要ですね。とはいえ、ICSPピンが出ているので、USBaspでの書き込みも抜き差しは不要です。
新品のブートローダー書き込み失敗の原因は多分Slowモードでないと初回の書き込みができないのではないかと愚考しております。というのも内部クロック1MHz動作にしてしまった後にBitBang書き込みができなくなったのと症状が似ているのです。avrdudeのパラメータいじればできるのかもしれません。次の課題ですね。