その他https://blog.with2.net/link/?1965529以前に紹介した超小型ステッピングモータよりさらに小型のものをAliexressで手に入れました。本体径10mmで2個で$1.17でした。今回は倒立振子で使うことを想定して減速機なしを選定しています。b)やっかいなのは写真の端子にリード線をハンダ付けしなければならないことです。脆弱な構造でかつ隣の端子と短絡してしまいそうなので細心の注意が必要です。一個オシャカにしてしまいました。ステッピング角度がかなり大きいのでA4988ドライバのMS1,2,3をHIGHとして1/16ステップモードで駆動しています。今回使用するA4988ドライバにはRcsとして0.2Ω(R200のラベル)が実装されているので0.25A/0.625=0.4Vとなるよう半固定抵抗を調整します。この辺りのことは以下のサイトが詳しいです。x++){digitalWrite(6,HIGH);delayMicroseconds(500);digitalWrite(6,LOW);delayMicroseconds(500);}delay(1000);}loop関数内でまず5番ピンをHIGHにしてステッピングモーターの回転方向を決定します。次のforループで2000回、6番ピンからSTEPに対してON/OFF信号を送ります。このときdelay関数でONを0.5ミリ秒、そのあとOFFを0.5ミリ秒の計1ミリ秒でステップ波形を生成しています。このdelayで設定する時間によりステッピングモーターの回転速度が決まります。1回のステップで18度回転しますので、軸が一回転するのに20ステップを要します。1回転するのに要する時間は1ミリ秒×20ステップすなわち0.02秒となります。RPM(1分間の回転数)に換算すると3000RPMということになります。今回は1/16ステップモードで駆動していますので187.5RPMになります。2000ステップですからここまでで6.25回転(2000*18/360/16)します。次のdelay関数で1秒間の時間を空けて、今度はDIRをLOWにし逆回転とします。先ほどと同様に2000回ステップを送ります。今度は逆に2回転します。1秒間待って動作を繰り返します。delayMicroseconds(t)の時間を変えてステップ波形の幅を変えれば回転数は変化します。下の動画はt=500の時です。こちらも問題なく動きそうです。回転数も倒立振子に使えそうです。記事は見つかりませんでした。倒立振子をもう一台作ろうこのサイトについて主にArduinoを使ってのモノ作りを紹介しています。電子工作とは無縁であった古希を迎えた元機械技術者の悪戦苦闘の記録です。Arduinoで距離センサーを使ってみるブログランキングブログランキングに参加しています。よかったらクリックしてください。クリックが投票になります。