ラベル 倒立振子 の投稿を表示しています。 すべての投稿を表示
ラベル 倒立振子 の投稿を表示しています。 すべての投稿を表示

2022年4月1日金曜日

M5StickCとサーボでバランスロボ

 倒立振子を研究されている n_shinichi さんとのやり取りの中で、思いついたバランスロボです。M5StickCと連続回転サーボと車輪だけの構成です。

 サーボはFS90R、車輪は「ちっちゃいものくらぶ」のプーリー+Oリングです。 


 

裏側です。サーボの電源はM5StickCの5V出力を使っていますが、BATから取ったほうがよいかもしれません(試してません)。


ビデオです。


回路図です。(2022/6/4 追加)


ソースコードはこちら。


2022年3月19日土曜日

M5Atomでバランスロボット

 M5ATOM MATRIXとTailBATでバランスロボットを作ってみました。


 

TailBATの中には若干スペースの余裕があるので、そこにモータードライバ(共立エレショップのKP-DRV8830)を入れました。GROVE端子の基板接続部分からモータードライバへ、i2c信号と電源5VおよびGNDを配線してあります。i2cのプルアップ抵抗は追加せず、ESP32の内部プルアップのみを使っています。i2c(Wire)のクロックを50kHzに落として使っています。


モーターは、「ちっちゃいものくらぶ」の「ちびギアモータ+プーリー・タイヤセット」(https://tiisaishop.dip.jp/product/sg/)です。



モーターへの電線を通すために、やすりでTrailBatのケースを一部削りました。

 
 
 
 カバーを付けたところです。



2つのモータは、厚めの両面テープで貼り付けました。M5ATOMを取り付けた全体像の写真です。


 

裏側です。


 

M5Stack の Timer Camera X に付属のマウンターを使って、M5CAMERAに付属のスタンドを取り付けると、腕のようになります。(格好だけです)


回路図です。TailBATは省略してあります。


ビデオです。


 

TailBATについての注意。手元にあるTailBATには2種類あって、古いタイプ(写真左)は、Grove端子のソケットがATOMのピンに届きませんでした。新しいタイプ(写真右)ならば、大丈夫でした。


 

ソースコードはこちらです。

 

2020年8月10日月曜日

micro:bitと電動消しゴムでバランスロボ

100円ロボット部のMAENOH!さんのアイデアで、ダイソーの100円電動消しゴムとmicro:bitでバランスロボを作りました。BLEと赤外線リモコンで操縦できるようにしてみました。
 


表側です。



 
裏側です。

BLEリモコンです。


ロボットは、基本的に両面テープと結束バンドのみを使って組み立ててあります。

ロボットに使用している部品は、
マイコン: micro:bit
モータードライバ: KS0308(TB6612)
ジャイロ: GY-521(MPU6050)
赤外線受光素子: GP1UXC41QS(互換品)
モーター・車輪:ダイソーの電動字消しx2
電池:16340(3.7Vリチウムイオン)x2
電池ホルダー:18650電池1本用
電源スイッチ
転倒時の衝撃吸収用パッドなど少々


BLEリモコンに使用している部品は、
マイコン:M5StickC
ジョイスティック:JoyC


ロボットの回路図です。


ソフトの開発には、Arduino IDEを使用しました。
PWM周波数の変更と、i2cのタイムアウトのためにライブラリを一部変更しています。





リモコン操縦をしているビデオです。

2019年12月18日水曜日

GR-KURUMIと電動消しゴムでバランスロボ

MAENOH!さん考案の電動消しゴムロボットはメーカーフェアでも好評でしたので、ルネサスナイト15での発表用に、GR-KURUMIで作ってみました。


全体の写真です。ダイソーの電動消しゴムを使っています。電池は3.7VのLiPo。


CPU周りの写真です。GR-KURUMIの左にジャイロセンサー(MPU6050)、下にモータードライバ(DRV8835)、リセットボタンのすぐ下に赤外線の受信モジュールが見えます。KURUMIに載っているのは3.3Vのレギュレーターです。


回路図です。Arduino ProMiniと兼用の回路なので、3.7VがKURUMIのRAW端子に接続されていますが、JP8をOFFにしていますので、KURUMIおよび周辺への電源は3.3Vのレギュレータから供給されます。


ソースコードはこちら。テレビリモコン(ソニーフォーマット)による操縦ができます。ビット順が逆になっていて、データとアドレスをまとめて12bitで扱っているので、試す場合は、シリアルモニターでコードを表示させてみて、それをキーコードのセクションに記述してください。ジョイスティックによる操縦機能は除いてあります。

2019年8月11日日曜日

M5StickC バランスロボ


M5StickC には加速度計、ジャイロスコープ、電池、などが入っており、 モーターとドライバを追加するだけで、倒立振子を作ることができました。
 8月2日のM5Stackユーザーグループミーティングと8月3日4日のメーカーフェア東京で展示しました。

 全体像です。左から、M5StickC、モータードライバ、モーターです。
白い粘着テープは転倒したときの衝撃防止用です。


モータードライバは、共立エレショップのKP-DRV8830。
i2cのプルアップに4.7kΩの抵抗を使っています。
モーターも、共立エレショップのRM0TV0009AWZZ。
軸には、内径0.8mmの熱収縮チューブをかぶせています。
モーターや、基板の固定は両面テープで、かなりいい加減です。



裏側です。


MPU6886対応版はこちら。

2017年11月8日水曜日

DRV8835を使った2輪倒立ロボの小改良

昨年作ったDRV8835利用の2輪倒立ロボの、その後の改良です。

赤外線受信素子を搭載し、テレビのリモコンで操縦できるようにしました。手持ちの東芝RegzaとLAPIOという液晶TVのリモコンのコードをデコードするようにしてあります。


モーターのPWM音が低周波でうるさいので、周波数を上げました。
このため、今まではモータードライバ用にProMiniの4,5,6,7番ピンを使っていましたが、8,9,10,11番ピンに変更し、
TCCR1B = TCCR1B & B11111000 | B00000001;
でPWM周波数を変更しています。


モーターからのノイズ対策を強化しました。それでもモーターに大電流がながれるとProMiniがリセットされてしまうことがあります。回路図です。



2017年6月21日水曜日

GR-ADZUKIで倒立振子ロボADZUMIN

MAENOH!さん作の倒立振子ロボに赤外線リモコンとサウンドを追加してパワーアップしました。



GR-ADZUKIに最小限の追加パーツで実現しています。
倒立振子は、GR-ADZUKI+ジャイロ加速度センサ(PU6050)+ダブルギヤ+車輪+電池。
赤外線モジュール追加で、リモコン操縦(NEC、家製協、SONYフォーマット)。
FETとスピーカー追加で、おしゃべり。
SDカード追加で、ランダムおしゃべりと音楽。
サーボ追加で、首振り。


回路図です。

 
ソースコード(v47)はこちら
古いソースコード(v41)はこちら
古いソースコード(v40)はこちら

「簡単な操作方法」(v47)はこちら(pdfです)
古い「簡単な操作方法」はこちら(pdfです)

倒立アルゴリズムの解説はこちら(pdfです)

サウンド用SDカードの追加方法はこちら
サウンドファイルの説明はこちら(pdfです)

(更新2017年8月6日、回路図にFETの型名を入れました)

(更新2022年11月1日、pdfへのリンク切れを修正しました)


2016年12月26日月曜日

GR-ADZUKIで倒立振子

ルネサスナイト9でMaenoh!さんが発表したGR-ADZUKIの倒立振子です。
CPU+モータードライバ:GR-ADZUKI
ジャイロ+加速度センサ:MPU6050
モーター+ギヤ:タミヤダブルギヤ





スケッチはこちら(別ウィンドウが開きます)。距離計測や、サーボ部分は省いてあります。


2016年5月7日土曜日

DRV8835で2輪倒立ロボをつくってみました

全体の写真です。白いプラスチックの半円は、転倒したときのダメージ軽減用。



裏側です。電池は単三型Ni-MHを4本。タミヤのダブルギヤボックスをギヤ比114.7:1で使っています。タイヤ径は約55mm。


Arduino ProMini 3.3Vの互換品がeBayで250円くらい。ただし、シリアルのピン配列が純正品と逆でした。



ジャイロ加速度センサーのMPU6050を載せたGY521というモジュール。eBayで200円くらい。Amazonでも買えます。このモジュールには3.3Vを作るためのレギュレーターが載っていますが、入力電圧範囲が3-5Vらしいので、ProMiniから3.3Vを供給しています。I2C通信です。



モータードライバのDRV8835。小さなチップにフルブリッジが2回路搭載されているので、これ1個でDCモーター2個ドライブできます。モーター用電源とロジック電源が分かれているのも使いやすい。モードピンをHIGHにして、ENABLEピンにPWMを、PHASEピンに回転方向を入れています。



距離センサーはGP2Y0A21YK。電源は電池から直結。出力は0から3.3Vの範囲に収まります。距離(mm)の計算はかなりいい加減ですが、95000をanalogRead()の値で割って30を引いています。



ライントレース用センサーは、ヴィストンで安売りしていた反射型赤外線センサーを少し改造。ProMiniから3.3Vを供給し、analogRead()で読み込んでいます。



ライントレースの動画です。


2017年11月5日
その後追加した赤外線リモコンによる操縦機能も入っています。

2017年11月8日

2016年5月2日月曜日

ミニ2輪倒立ロボにライントレースをさせてみました

全体の写真です。ライントレース用に反射型赤外線センサー、衝突防止用に距離センサーを追加しました。



赤外線センサーは、ヴィストンで安売りしていた反射型赤外線センサーを改造して、出力電圧が0から1ボルトになるようにしました。(ESP8266のアナログ入力電圧の範囲に収まるように)



マイクロテクニカのブレークアウトボードには、アナログ入力の配線がないので、WROOM02に直接端子をはんだ付けしました。(写真右上の白い線が接続されている)




隊列を組んでライントレースをさせたいので、衝突防止用に距離センサーを使っています。シャープのGP2Y0E03というセンサーで、I2Cで通信します。



ライントレースの動画です。懐中電灯を検出して停止します。懐中電灯を取り除くと、また動き出します。





2016年4月30日土曜日

ミニ2輪倒立ロボを作ってみました

ESP8266とDRV8830を使用


全体の写真です。白いプラスチックの半円は、倒れた時に基板類を保護するため。


裏側です。電池は単4型Ni-MHを3本です。レギュレータは使わず直結しています。


モーターは、eBayで1個370円くらいで買った3V 100RPMというマイクロギヤモーター。ギヤ比は75:1と思われます。巻線抵抗は約10Ωでした。固定金具はホームセンターで買ったパイプなどの固定用のもの。車輪は、確かマルツで買ったと記憶してます(2個セットで400円くらい)。


マイコンはWROOM02をマイクロテクニカのブレークアウトボードに載せています。スライドスイッチは、ブートモードの切り替え用。タクトスイッチはリセット用。


ジャイロ加速度センサーはMPU6050。アマゾンで300円くらいで買えます。モータードライバは、DRV8830。秋月で1個170円です。電流検出抵抗として0.2Ωを入れています。どちらもWROOM02とI2Cで通信しています。


周回動作の動画です。