今回はjjrobots社公開のB-ROBOTを国内で購入出来る部品を使って2種類完成させました。 一つはマイコンにArduino Pro Microを使用、もう一つはArduino Leonardoを使ったタイプです。 B-ROBOTの特徴は駆動モーターにステッピングモータを使っていることで、ギアーモーターのような バックラッシュが皆無で安定したコントロールが得られることです。 先ずは、jjrobots社B-ROBOTのページを紹介します。jjrobots社では、B-ROBOTの回路図やsketchの他、 躯体の3Dプリンターのデータまで公開されていて、部品の完成品も販売されています。 B-ROBOTはリモコン操作にスマホやタブレットのWiFiを使いますが、完成基板のWiFiモジュールに ESP-12Eを使用のため、電波法の関係で日本国内で使用できません。 私は、ESP-12Eに替えて日本の技術基準適合証明が付いたESP-WROOM-02を使いました。 ここでは変更部分の回路図を掲載に留め、必要な回路図やソフトウエアーはjjrobots社HPを参照して下さい。 一つ目はPro Microを使ったムーミンをデザインした1号機です。 |
マイコンArduino Pro Micro | アマゾン:1個2492円+送料185円 |
ジャイロセンサー MPU-6050 | アマゾン:1個465円 |
ステッピングモータードライバ A4988 | アマゾン:2個セット1280円 |
WiFiモジュール ESP-WROOME-02 [M-09607] | 秋月電子:1個550円 |
アルミ電解コンデンサー35V100μF 2個 | 秋月電子:1個20円 |
3端子レギュレータ、3.3V150mA [I-09119] | 秋月電子:1袋2個 100円 |
片面ユニバーサル基板 [P-00517] | 秋月電子:1個60円 |
Oリング1A-P67 2個 | モノタロウ:1個75円+税 |
ステッピングモーター SM-42BYG011 [P-05372] 2個 | 秋月電子:1個1000円 |
基板用トグルスイッチ3P [P-00300] | 秋月電子:1個80円 |
ピンヘッダ 1X40(40P) [C-00167] | 秋月電子:1個35円 |
分割ロングピンソケット1X42(42P)[C-05779] | 秋月電子:1個80円 |
シナベニヤ公称3㎜(実際は2.8mm前後) | 300×300(mm)1枚 |
その他線材及びビス類 | 少々 |
マイコンについて |
B-ROBOTでは、Arduino Leonardoが使われていますが、このマイコンはArduino uno系のATmega386チップではなく ATmega32u4チップが搭載されています。私は小さく組むために同系統のArduino Pro Microを使いました。 |
WiFiモジュールについて |
先にも記しましたが、ここでは国内で使える技適証明が付いたESP-WROOM-02を使いました。 |
ジャイロセンサーについて |
ジャイロセンサーMPU-6050をソケットを介して基板に取り付けますが、取り付け穴を利用して基板に水平に固定します。 |
ステッピングモーターついて |
B-ROBOTでは、ステッピングモーターに定格12V仕様でステップ角1.8°の2相バイポーラ型(NEMA17)が使われています。 これに相当するのが秋月電子で購入出来るSM-42BYG011です。 |
ステッピングモータードライバーについて |
ステッピングモーターは普通のモーターのように電圧を加えるだけでは回転しません。そこで活躍するのがモーター ドライバーのA4988です。 このドライバーの特徴はマイクロステップの設定がフルスッテップから1/16ステップまで選択出来ることです。 モーターのステップ角が1.8°なのでフルステップでは1回転に200ステップ、1/16ステップでは16倍の3200ステップ必要ですが、 分解能が16倍となりきめ細かな制御が可能となり、モーターの消費電流も抑えられます。 ドライバーのICチップには放熱用のアルミ製の放熱器が付属しますが、B-ROBOTの回路では放熱器が無くても温度が上がら ないので取り付けてません。 このドライバーのモーター電源入力の入口に35V100μFのアルミ電解コンデンサーを取り付けます。 モータードライバーの電流調整:購入時の状態では電源電圧7.5Vにて1A前後流れるので基板上のVRにて調整を行います。 調整方法:組み上がり、倒立が完成すればバッテリーとシールド基板の電源端子間に電流計を接続し、片方のモーター端子を 外して倒立を行い、この時に流れる電流を300mAに調整します。もう片方も同様に調整しますが、左右の電流値を揃えます。 次に両方のモーターを接続した状態で測定すると約500mA程度に収まると思います。元の状態より電流が半減し、モーターの 温度が殆ど上がらず、倒立動作やスピードにも影響しませんでした。 |
1)オリジナル回路のマイコンをLeonardoからPro Microに替えた場合の相違点 ①MOTOR2のモータードライバーSTEP信号7番ピンの接続先D12がPro Microに存在しないのでPro MicroのD6に変更します。 尚、この変更によりオリジナルsketchの一部、265行目と267行目の(PORTD, 6)を(PORTD, 7)に変更、さらに557行目の pinMode(12, OUTPUT);をpinMode(6, OUTPUT);に変更します。 ②バッテリーセンサーの接続先A5がPro Microに存在しないのでPro MicroのA3に変更します。 尚、この変更によりJJROBOTSライブラリー内のJJROBOTS_BROBOT.cppの一部、92行目と94行目のanalogRead(5)を analogRead(3)に変更します。sketchの変更はこれ以外になく、配線に間違いなければ100%完動するはずです。 2)WiFiモジュールをESP-WROOM-02に変更に伴う回路変更 オリジナル回路のXBEE-1B1の部分を下図のESP-WROOM-02に置き換えます。 変換基板はユニバーサル・スルホール基板を8×9穴を残し切断し、裏側に6ピンのピンヘッダを取り付けます。 0.5mmのスズメッキ線でESP-WROOM-02と配線しますが、先ずヘッダ側12か所にスズメッキ線の先端をループ状にして ハンダ付けし、約7~8mmで切断します。次に変換基板にESP-WROOM-02を動かないように両面テープ固定しますが、 蜜着ではなく基板の切れ端等をサンドイッチ状に挟み固定します。これにより、適当な空間が出来て配線がし易く なります。後はスズメッキ線の先端をESP-WROOM-02の端子位置に合わせて整形、余りは切断してハンダ付けします。 変換基板はソケットを介して取り付けますが、画像を参考にして下さい。注意:私は8ピンソケットを使ってます。 No.36 B-ROBOT 3号機miniにプリント基板化の資料を載せましたのでご覧下さい。 |
B-ROBOTには、Arduino Leonardoを使われてますが、ここでは小型マイコンPro Microとドライバーユニット、 ジャイロセンサー、WiFiモジュールを1枚のユニバーサル基板(72×47.5mm)に組み込みました。 電源には小型軽量のデジタルカメラ(CANONのLP-6Eの互換品)用7.2V約1800mAhのリチウムイオン電池を使いました。 この電池は充電をしておけば1時間くらい遊べます。 |
左側緑色基板上下:A4988、中央の赤色基板:Pro Micro、右側上青色基板:MPU-6050、右側下青色基板:ESP-WROOM-02は ICピッチが異なるので変換基板を介しての取り付けてます。 WiFiモジュール用に3.3Vの電源が必要ですが、マイコンの3.3V電源は容量不足で使えないのでバッテリー電源から余裕のある 3端子レギュレター(容量150mA以上)を使って取り出します。5V電源はマイコンの5V出力が使えます。 No.36 B-ROBOT 3号機miniにプリント基板化の資料を載せましたのでご覧下さい。 |
電源には小型軽量のデジタルカメラ(CANONのLP-6Eの互換品)用7.2V約1800mAhのリチウムイオン電池を使いました。 この電池は充電をしておけば1時間以上遊べます。また、Lipo電池と違って発火の危険が少なく取り扱いも簡単です。 |
必要なソフトはjjrobots社のHPからリンクしたGitHubのページからライブラリーを含めた全てをダウンロードして下さい。 回路図もPDFで掲載されています。マイコンへsketchの書き込みはArduino IDEの最新版をダウンロードして行います。 コントロールに必要なスマホやタブレットのアプリ「touchOSC」は、Googleストアにて450円でダウンロード出来ます。 また、不明な事、判らない事はB-ROBOTのフォーラムが大変参考にります。 |