DRV8830で試した時は 高速で頑張って回しても、、、1回転に3秒程掛かった
I2C通信なんでモータ増やしてもマイコンのポートは2本で配線はスッキリ...
がいいかなと思ったんだけど・・・ あまりにも遅いかった。
次にフツーの2相バイポーラステッピングモータ駆動でよくある
ドライバのクロックインこれもポート2本...モータ1個毎にいるけど
これも電流レベルも変えて低消費電力で動かそうとしたら
ごちゃごちゃしてくる。
で、DRV8835以前よく使った・・・・基本?のモータドライバに戻った。
それのちょっとちょっと変則的な使い方するけど・・・
PAHSEピン2本だけで制御 をすることにした。
マイクロロボ作ろう No.18#nRF52832 #DRV8835 と組み合わせて
— しん (@shinichi_nin) 2024年11月7日
Φ6 #ブラシレスギヤモータ ポート2本で制御
ちびスタックチャンは助手です...
これならロボの足に使えるかな♪
以前の #DRV8830 で回転が遅い・・・はこちらhttps://t.co/KXUspgr7YY#M5Stack #Arduino #スタックチャン #Lチカ pic.twitter.com/QyakWZuAnz
フツー・・・でいいのかな一般には教本とかIN/INモードでポート
4本使ってフルステップパルス、ハーフステップパルスとして動かすのを
よく見かける。でもこれでやるとモータ4個、、、、16本のポートは
ちょっといやだ。
なのでPAHSEピン2本だけで動かすことにした。
やってる人いないことはないと思うのだけどネット検索しても
見つけれなかった。
こういう動かし方です。
そこでの波形はnRFマイコンでPWMの動かし方調べながらの時で
PWMは10kHzのもの実際には先日のΦ6モータ
4000rpmまで回してみた時は100kHzのPWMでやってる。
Arduino的?なスケッチでは上手いやり方がわからんかった
ESPマイコンだとledcwrite() で簡単にできるのだけど
nRFではそれがないのでレジスタの操作でなんとかできた。
ハードに近い操作せんでええのがArduinoなのに...
で・・・Φ6ブラシレスモータはいい感じに回せるのが分かったので
今回はギヤモータにして回してみたのが最初の写真。
それなりに高回転、1000rpm以上くらいで回ってればOFF動作は
100kHzのPWMは必要なくて50kHzで十分なこともわかったんで
OFF・・・・ 50kHz、duty:50%
H・・・・ duty:65%
L・・・・ duty:35% で制御して
フルステップパルス相当にして動かしてます。
なので電圧レベルで言うと、3V電源駆動ベースでは
OFF・・・3x0.5=1.5V
H ・・・3x0.65 =1.95V
L ・・・3x0.35 =1.05V
1.5V中心にして±0.45Vでの駆動相当です。
これで3Vで40mA弱くらい。
後々、PWMは起動時は加速トルクが多めにいるので
そのくらいのdutyでやって高回転になったらもっとPWMを
絞って低消費電力で回すようにする予定
Φ6ブラシレスモータは30mA程度でしっかり回るので
ESPマイコンではポート直で十分回せた。
ただポート駆動能力ほぼ使い切り。
ON抵抗が数十ΩあるのでPWMではあまり刻めない。
効率は悪い・・・・バッテリー消耗も大きくなる。
やっぱし今度はESPマイコンでもモータドライバ使うかな・・・とも思う。
写真、動画のちびスタックチャン、あれはモータドライバ使ってないです。
Φ6ブラシレスモータをダイレクトドライブでもって
走らせてる。 タイヤは直径3mmくらいに下げてなんとか動かしてる。
あれもDRV8835版作ってみるかな?
めっちゃ動力性能上がりそう。。。