日々の記録

ほどよく書いてきます。

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でシェアする