2017-02-06 11:53 | カテゴリ:PIC応用回路
PFM方式で手動での制御ができるようになったので、自動で回転数を維持すべく、SWを考えてみました。

(オシロの写真例)
MTC20.jpg


続きはこちらです、、、


自動速度制御の考え方を整理してみました。

(1)手元のVRで模型の速度を指定します。(走行の電圧をVRにて得たのち、AD変換して与える)
(2)最低のPFM信号が創出され、モーターか回転を始める。
(3)PFMパルスが創出された直後から、レール上の電圧を監視し、AD変換して取り込む。
(4)取り込んだ電圧値を基準値として、指定速度の電圧値と比較する。
(5)比較の結果、指定速度電圧より、レールから得られた基準電圧が高ければ、速度超過として、PFM信号の周期を下げる。低ければ速度不足として、周周期を上げる。
(6)これを繰り返して、列車速度(厳密には、モーターの大まかな回転数)を指定した速度に保つ。

と、まあこんな感じです。(うまくいけばの話ですが)(笑)

予備実験として、上記のアルゴリズムで、基準電圧と速度指示電圧を一パルス毎に比較して、PFMのパルス間隔(2047カウント。タイマー割り込みを一定時間で発生させて、その都度カウントし、出力をON/OFFして、パルスを出している)をプラスマイナス1づつ変更するSWを組んでテストしてみました。

(動作ビデオ)






御覧のように結果は散々でした。

* 速度指定のVRを最大に回しても、モータ回転速度が一向に増加しません。数十秒経過後、徐々に上がってきたと思いきや、あっという間に最高回転数に。
* モーター回転が微妙に安定しません。早くなったり、遅くなったりをランダムに繰り返します。



理由を考えてみました。

(1)まずは、モーターからの起電力の電圧が、モーターの回転によってどのくらい生じている(BEMF)のかわからない。したがって、Speedと比較して、どの程度の差が出ているかが不明・
(2)BEMF自体がどの程度の安定性なのか?ばらつきがどうなのか?わからない。
(3)PFMの制御は、周波数を周期で制御している(2047カウントをプラスマイナス1づつ制御)ので、周期カウントが大きな場合は、効果が小さいが、小さくなる毎に、周期が加速度的に小さくなる。(直線性がない)

あー、こりゃなかなか大変です。
一筋縄ではいきそうもありません。(笑)

まだまだ努力が続きます、、、


【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(4)

管理者のみに表示する