以前
PWMでモーターの速度制御を行いました。
ここで、モーターの速度制御を行うのにPWMの周波数はいくつが良いのかという問題があります。
「周波数は可能な限り高い方が良い」
という意見と
「周波数が高いとトルクが小さくなる」
という意見があります。
今までロボットを作ってきた限りでは「周波数が高いとトルクが小さくなる」事が多々あるため、周波数はいつも低めに設定しています。
アルプスEC10Eをツインギヤボックスに付ける事ができたので、PWMの周波数を変えるとモーターの特性がどの様に変化するのかを試してみました。
実験機材・モーター:FA130+ツインモーターギヤボックス
・ドライバ:TB6612
・CPU:SH7125
・センサー:EC10E
・モーター電源:松定プレシジョン(型番メモするの忘れた)
こんな感じでEC10Eを付けてます。
エンコーダのシャフトはミニ四駆用の物を
4cm3cmにカットして使用しています。
ギヤは4速パワーギヤボックスHEの余ったピニオンを使用しました。
ミニ四駆のシャフトにピニオンギヤと外径3mmの真鍮パイプを接着剤でとめてあります。
エンコーダが回らないようにツインギヤボックス付属のハトメを半田付けしました。
※2019/02/26追記書くのを忘れていたのですが、エンコーダはクリック力を低下させるために、クリック用バネの突起をラジオペンチで押しつぶして平らにしてあります。
ラジオペンチが無ければ太めのマイナス精密ドライバーで押しつぶしてもいけます。
エンコーダを取り付ける
もう少しいい方法がありました。
電圧に対する回転数の変化
とりあえず素の状態の特性をとりました。
供給電圧を0mVから3000mVまでスイープさせました。
とても素直な特性です。
機械的な負荷があるため、必ず不感帯があります。
外部からの負荷の大きさで不感帯の大きさは変わります。
無負荷状態で試験したので不感帯はかなり小さくなりました。
500mV以下でヒステリシスがあります。
これはモーターとギヤの静止摩擦やコギングトルクにより、ある一定以上エネルギーを供給しないと回り始めないためです。一度回り始めると惰性で回るので、そこから電圧を下げても回ります。
PWM周波数を変えた場合
いよいよここからが本番です。
供給電圧は3V固定、PWM周波数を6.1kHzから38.3Hzまでの範囲に設定し、デューティー比を0%から100%までスイープさせました。デューティー比0%で0mV、100%で3000mVに相当します。
ON(電圧供給)→OFF(端子開放)→ON(電圧供給)→OFF(端子開放)となる様に設定しました。
PWM周波数が高いとデューティー比と回転数が比例関係になりますが、強いヒステリシスが生じます。特に6.1kHzの設定は低速域ではデューティー比が一定でも動いたり止まったりするので速度制御がきちんと行えません。動き始めても少し負荷をかけるとすぐ止まります。
「
周波数が高いとトルクが小さくなる」とはこの現象の事です。
一方、周波数を低くするとヒステリシスが小さくなるものの、比例関係が崩れます。デューティー比25%程度で定格速度の50%ぐらいになります。
ちなみに、元の波形はこんな感じで
モーターの端子間電圧はこんな感じになります。
波形を見る限り、電圧を供給していない時も回生の影響で1V以上電圧が出ています。
また、かなり大きいサージ(逆起電力)が発生しています。
回生ブレーキを使用した場合
続いてON(電圧供給)→OFF(両端短絡)→ON(電圧供給)→OFF(両端短絡)となる様に設定しました。
電圧供給していない間は常に回生ブレーキがかかっている状態となります。
回生ブレーキを使用した場合では周波数の変化に対する特性の変化が小さくなり比例関係になりました。PWM周波数が低い場合でも比例関係は崩れず、周波数が高い場合でもヒステリシスが非常に小さくなります。
回生無し6.1kHzではデューティー比60%でやっと回り始めたのに、回生ブレーキを行うと10%付近から回るようになります。理由は良くわかりません。
383Hzでは0.3rpsと0.6rps付近でヒステリシスが見られます。回生ブレーキを使用しない場合でもこの傾向があったので、モーターまたはギヤがPWM周波数と共振している可能性があります。
モーター端子間の電圧波形はこんな感じ。
サージがなくなりました。
低いデューティー比で回るようになったのはサージがなくなったからかもしれません。
回生ブレーキを使用する場合、デューティー比が低い範囲では供給した電力を回生ブレーキで消費するため、回生ブレーキを使用しない場合に比べてエネルギー効率が悪くなります。また、回路やギヤ等への負荷も大きくなります。
負荷が変動する場合
(2018/11/22追記)
回生ブレーキありで負荷を変動させるとどうなるか試してみました。
出力軸の先に棒とウェイト(モーター)を取り付けて回します。
ウェイトが持ち上がるときは負荷が大きくなり、ウェイトが下がるときは負荷が小さくなります。持ち上げで水平になるときが一番負荷が大きくなります。
回生ブレーキを使用するとPWM周波数が高い方が負荷変動に強く(トルクが強く)なりました。
最大負荷から回転が始まる電圧と回転が停止する電圧をグラフにすると以下となります。
周波数を高くするとトルクが大きくなり、ある周波数で最大となるまたは周波数を上げると飽和する様です。
また、ある程度周波数が高いとアナログ電圧を供給した場合よりトルクが大きくなることも確認できました。
今回12.2kHz以上は試していません。24.4kHzは今後試してみたいと思います。
まとめ
今回の組み合わせ条件では
・回生ブレーキ無しでPWM周波数を上げると、ヒステリシスが大きくなる
・回生ブレーキ無しでPWM周波数を上げると、トルクが小さくなる
・回生ブレーキ無しでPWM周波数を下げると、比例関係が崩れる
・回生ブレーキありだと、ヒステリシスが小さくなる
・回生ブレーキありだと、比例関係が崩れない
・回生ブレーキありでPWM周波数を上げると、トルクが大きくなる。
回生ブレーキありと無しで周波数に対する特性が大きく変わるのはおもしろい結果です。
今回は供給電圧一定の条件で試験を行いました。
実際にロボットを動かすと、「負荷が変動する」、「消費電流に応じて電源が電圧降下する」等条件が変わります。
もちろん使用するモーターやギヤボックスでも条件が大きく変わります。
使用する環境に合わせてPWM周波数や回生の有無を設定する必要がありそうです。