リレー(のみ)式の欠点
小型ローバーロボット向けに単なるリレー式のHブリッジを作って搭載してみて、その欠点も色々浮かび上がってきた。
・単なるHブリッジなので、前進と後進しか出来ない。1輪だと大した問題は無いのだが、並行2輪だと操作が増えるので、カクカクした動作が目立つだろう。
・効率のよい進路調整には、PWM駆動がほしい。
特に、3~5V駆動のモーターを制御しようとするとき、電子工作の小遣いで入手できるものはTAシリーズ位なのだが、入手性が落ちてきたし、無理やりPWMしてる形なのであまり効率が良くなさそうだ。 ということで自作してみることにした。 ただし、小心者なのでロジックを間違えると燃えるディスクリートHブリッジは今後の課題ということにする…。
FET
FETは今までに搭載機器の電源ONOFF程度にしか使っていなかったので、色々と搭載候補を物色。
安い定番ということでNchの2SK2232を使うことにする。サーボに入ってるパッケージでも要求を満たすみたいだ)
リレーは従来の仕様だと、2個のab接点リレーで前進と後進にそれぞれ1ch割り当てていた。
これは初期状態では電池が解放で、モーターが短絡になり、モーターに電磁ブレーキを欠けた状態になる。やたらvividに停止するのはこのせい。 小さくて安いリレーなのでこの形式で頑張ってきた。
C接点のリレーを使えば、前進と後進の切り替え(Hブリッジ操作)が1chで済むようだ。駆動電流のON/OFFを制御するのにもう1ch必要なので、ここをリレーではなくFETで制御することになる。
C接点を使う利点は、ローバーみたいに前進ばっかりするロボットの場合、デフォルトで導通する側を前進方向とすれば、後退したいときだけリレーを通電することになる。つまりリレーを動作させるのに必要な電流が削減できる。
方向転換をカーブで行い、PWM駆動に任せれば、リレーを通電する区間はかなり減らせる。 あれ、FETひとつだけでいいんじゃないか・・・と重大なことに気づいた気がする。 まあいいか…
リレーの選定は大きさとコイルの消費電流とで選んだ。オムロンのG6K-2P-Yは少々高いが小さくて使いやすく、マルツで入手できる。 webで見つけた作例でも使われていますね。
ハイブリッドモータードライバ
端子形式は従来を踏襲。制御線が2chから据え置きなのでコネクタも変えなくて済んだ。
入出力ピンは、制御コネクタ4ピン(電源GND含む)と、モーターへのコネクタ2ピン モーター電源コネクタ2ピンで構成される。
動作確認
リレー式のものと論理的には一部互換性があるので、ソフトウェアはそのままでで回転を確認できた。プログラム的には片方を通電するだけなので…その片方がFETであれば100%出力で駆動される。
実際の動作ではFETの動作速度に比べてリレーのレスポンスが遅いので、例えば片方前進、片方後進にしたときに回転が終わる位置に違いがでたりする。(無負荷の場合)
単純な解決策として
リレーのロジック(右、左)
遅延(データシートから、20msくらい? 個々のリレーに依る);
FET_ON (デューティ比(右、左))
を施してみたり。
リレーが動作し終わるまでは通電させないことで、モーターの突入電流対策にもなる。
ローバーは移動できればいいのです
追記: 制御系とモーターの電源が共通な場合は結構大変なのでおすすめしません。あと、GNDは共通なので、クリティカルであれば、制御配線の絶縁処理(フォトカプラ、磁気カプラICなど)、モーターの発生ノイズ対策コンデンサなどをつけましょう。
2基あるせいか、最大出力でモーターに負荷がかかると、乾電池やニッケル水素電池などは大丈夫だが、工作用のリチウムイオン電池をつないでいると、保護回路働いて電源が落ちる。(入れ直すと復活する) そのため定格でデューティー比8~9割のPWMをかけて防いだ。 ダイセンのギヤモーターは負荷時に3Wあたりまでピークがあるので、けっこう電源には負担がかかる。
参考文献
PWMによるモータ制御
http://badmojo.web.fc2.com/PLARAIL/PR_ENO_PWM.html
モータードライブ編
http://srd.s43.xrea.com/circuit_learning/motordrive.shtml#FET-sp
小型ローバーロボット向けに単なるリレー式のHブリッジを作って搭載してみて、その欠点も色々浮かび上がってきた。
・単なるHブリッジなので、前進と後進しか出来ない。1輪だと大した問題は無いのだが、並行2輪だと操作が増えるので、カクカクした動作が目立つだろう。
・効率のよい進路調整には、PWM駆動がほしい。
特に、3~5V駆動のモーターを制御しようとするとき、電子工作の小遣いで入手できるものはTAシリーズ位なのだが、入手性が落ちてきたし、無理やりPWMしてる形なのであまり効率が良くなさそうだ。 ということで自作してみることにした。 ただし、小心者なのでロジックを間違えると燃えるディスクリートHブリッジは今後の課題ということにする…。
FET
FETは今までに搭載機器の電源ONOFF程度にしか使っていなかったので、色々と搭載候補を物色。
安い定番ということでNchの2SK2232を使うことにする。サーボに入ってるパッケージでも要求を満たすみたいだ)
リレーは従来の仕様だと、2個のab接点リレーで前進と後進にそれぞれ1ch割り当てていた。
これは初期状態では電池が解放で、モーターが短絡になり、モーターに電磁ブレーキを欠けた状態になる。やたらvividに停止するのはこのせい。 小さくて安いリレーなのでこの形式で頑張ってきた。
C接点のリレーを使えば、前進と後進の切り替え(Hブリッジ操作)が1chで済むようだ。駆動電流のON/OFFを制御するのにもう1ch必要なので、ここをリレーではなくFETで制御することになる。
C接点を使う利点は、ローバーみたいに前進ばっかりするロボットの場合、デフォルトで導通する側を前進方向とすれば、後退したいときだけリレーを通電することになる。つまりリレーを動作させるのに必要な電流が削減できる。
方向転換をカーブで行い、PWM駆動に任せれば、リレーを通電する区間はかなり減らせる。 あれ、FETひとつだけでいいんじゃないか・・・と重大なことに気づいた気がする。 まあいいか…
リレーの選定は大きさとコイルの消費電流とで選んだ。オムロンのG6K-2P-Yは少々高いが小さくて使いやすく、マルツで入手できる。 webで見つけた作例でも使われていますね。
端子形式は従来を踏襲。制御線が2chから据え置きなのでコネクタも変えなくて済んだ。
入出力ピンは、制御コネクタ4ピン(電源GND含む)と、モーターへのコネクタ2ピン モーター電源コネクタ2ピンで構成される。
回路図
リレー式のものと論理的には一部互換性があるので、ソフトウェアはそのままでで回転を確認できた。プログラム的には片方を通電するだけなので…その片方がFETであれば100%出力で駆動される。
実際の動作ではFETの動作速度に比べてリレーのレスポンスが遅いので、例えば片方前進、片方後進にしたときに回転が終わる位置に違いがでたりする。(無負荷の場合)
単純な解決策として
リレーのロジック(右、左)
遅延(データシートから、20msくらい? 個々のリレーに依る);
FET_ON (デューティ比(右、左))
を施してみたり。
リレーが動作し終わるまでは通電させないことで、モーターの突入電流対策にもなる。
追記: 制御系とモーターの電源が共通な場合は結構大変なのでおすすめしません。あと、GNDは共通なので、クリティカルであれば、制御配線の絶縁処理(フォトカプラ、磁気カプラICなど)、モーターの発生ノイズ対策コンデンサなどをつけましょう。
2基あるせいか、最大出力でモーターに負荷がかかると、乾電池やニッケル水素電池などは大丈夫だが、工作用のリチウムイオン電池をつないでいると、保護回路働いて電源が落ちる。(入れ直すと復活する) そのため定格でデューティー比8~9割のPWMをかけて防いだ。 ダイセンのギヤモーターは負荷時に3Wあたりまでピークがあるので、けっこう電源には負担がかかる。
最新の構成(2015) |
参考文献
PWMによるモータ制御
http://badmojo.web.fc2.com/PLARAIL/PR_ENO_PWM.html
モータードライブ編
http://srd.s43.xrea.com/circuit_learning/motordrive.shtml#FET-sp