モータードライバーを使ってモーターを制御する その2(DRV8835)

はじめに

 今回はモータードライバーのDRV8835を使ってみました。普段からよく使っているTB6612FNGとは制御方法が異なります。基板の大きさがこちらのほうが小さいですね。

 DRV8835は以前出展のお手伝いで関わっていた、自動運転アルゴリズムを開発しているRumiCarの基板に使われていました。私もRumiCarを作ってみようと思っています。

▼RumiCarのリポジトリはこちら

https://github.com/RumiCar-group/RumiCar

▼以前の記事はこちら

モータードライバーを使ってモーターを制御する その1(TB6612FNG)

はじめに  今回はデュアルモータードライバーのTB6612FNGを紹介します。これまで小型のロボットに散々使ってきましたが、改めての紹介です。  TAMIYA製品との相性が良く…

ちょっと振り返り:いろいろ参加しました(MFT2023、ハッカソン、執筆など)

はじめに  今回は最近あちこちのイベントに参加していたことの振り返りです。9月を過ぎたあたりから、イベントがものすごく増えたような印象があります。この記事を書い…

回路を組む

▼DRV8835の販売ページはこちら

https://akizukidenshi.com/catalog/g/gK-09848/

 IN/INモードとPASE/ENABLEモードがあるのですが、今回はIN/INモードで使います。モーターへの電源は単三電池を3本直列にしています。

 マイコンはXIAO ESP32C3を使います。マイコンへの給電も電池で行いたかったので、5V出力の昇降圧DC/DCコンバーターを使っています。モーターを動かすほどの電流は流せないので注意してください。

▼モーターはこちらを使いました。

▼電池はエネループを使用しています。

▼DC/DCコンバーターの販売ページはこちら

https://akizukidenshi.com/catalog/g/gK-15775/

▼回路図はこちら

▼実際の回路

プログラムを書く

 取扱説明書などに掲載されている真理値表は0と1で書かれていたのですが、正しくはPWMであるところがあります。速度の制御もできます。

▼こちらのデータシートが詳しいです。

https://www.pololu.com/product/2135/

 PWMの出力にはanalogWrite関数を使います。

▼前回の記事でも触れたのですが、XIAO ESP32C3はanalogWrite関数を使うことができます

XIAO ESP32C3を使ってみる その2(analogWrite関数、サーボモーター)

はじめに  今回はXIAO ESP32C3で、analogWrite関数とサーボモーターの制御を試してみました。  サーボモーターについては、既存のライブラリが使えませんでした。そこで…

▼データシートのパターンを順番に実行するプログラムを作成しました。

▼動かしたときの様子はこちら

最後に

 DRV8835でモーターを制御することができました。TB6612FNGは方向を決めるピンが2本、速度を決めるピンが1本の計3本必要でした。DRV8835は2本で速度も制御できるみたいですね。

 XIAO ESP32C3で制御できたので、基板を小型にできそうです。RumiCarでは衝突を避けるのに測距センサーを使うので、さらに動作検証をしようと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です