日々の記録

ほどよく書いてきます。

DCモーター回転数制御のトライ

2020年05月02日 22時35分04秒 | AVR

さて、モーター回転中の電圧から回転数をセンシングしようというものだが、まずはモーターを別のモーターで回転させながら発生電圧を調べる。

一定電圧ではないので、山あり谷ありの波形だが、最大電圧はこのような感じになっている。6600rpmくらいで2Vくらいの起電力が発生するようだ。
マブチのRE-140RAは3スロット2ブラシなので、1回転6パルスを前提として回転数を算出しています。

電圧波形について、次のPWM回路で調べると、V1とGNDの間の電圧は

このような感じです。波形がギザギザするのはモーターの整流子の都合かと思います。上記の回転数の電圧変化はボトムの電圧を見ています。

マイコン側のプログラムとしては

MOSFETがONのときはADC読まない(読んでもそのまま捨てる)。MOSFETがOFFのタイミングでADC実施をいう方法が良さそう。
図にすると、下のようにPWMのカウンタ(TCNT0)が0-255までカウントする間に、PWM用のOCCR0Bレジスタと、OCCR0Aレジスタの値を少し変更しておき、
OCCAR0AとTCNT0が一致したらADC開始、TCNT0のリセットでADC終了というようなものがいいかと思っている。

OCCR0AはADCを開始したら250などに設定し、TCNT0のオーバーフローを待たずにADC変換やめてもいいと思う。

電圧は上記のようにフラフラ不安定なので上記の回路のようにLPFを使うか、デジタルでフィルタを入れるかして最小値を読むような方法がいいかなと思っている。


コメント (4)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« DCモーター回転数制御について | トップ | MOSFETのVg »

4 コメント

コメント日が  古い順  |   新しい順
整流子 (いち)
2020-05-06 18:31:24
3極モーターだと整流子による起電圧の乱れがかなり大きいですね。
やはりフィルター欲しいですね。

ブラシレスモーターの場合だとすごくきれいな波形になるのですが。
もちろんブラシレスモーターにすると位相制御が、めちゃ面倒です。(^^;)
返信する
いっそのこと、 (いち)
2020-05-06 18:38:19
電流を検出してモーターの特性に合わせた係数をかけて、PWMに正帰還かけちゃう手もあります。
係数を上げすぎると発振するので、発振しないギリギリぐらいに設定すると、負荷変動してもかなり一定した回転になります。
返信する
正帰還 (まこち)
2020-05-08 16:58:35
整流子の位置と磁力の位置と磁束が割と偏っているのが原因かもしれません。
ブラシレスの位相制御は一回本で見たことありますが、指摘のように面倒くさそうなのでだめです。

モーターへの正帰還ですか。一晩負帰還で考えてみましたがだめっぽいので、やはり正帰還・・・

キモは負荷が無くなったときに回転数が上がりすぎるのを抑えることができればいいので、そこをどうするかですね。
電流センサを入れると一つアイテム増えるので、電圧帰還でなんとかしてやりたいです。
返信する
電流検出 (いち)
2020-05-10 23:32:33
FETのソースに0.1~1Ωぐらいのシャント抵抗入れて、ON最後の電圧読むだけでいけるかも?
電流検出による正帰還方式でも、係数を合わせれば低回転で結構なトルクが出ると思うよ。
返信する

コメントを投稿

AVR」カテゴリの最新記事