FC2ブログ
2018-07-12 13:30 | カテゴリ:PIC応用回路

やっとの事で、タイマーや割り込みが動作することが確認できましたので、いよいよ本題のプログラムの政策にかかりました。

この回路のハードは、PICのピン(RA2)をソフトでON/OFFするとその信号が、CLC(内蔵論理回路)の入力として接続され、PWMの出力信号と論理和をとったものが、12V電源の出力をスイッチング(TrとFFTで)します。
PWMのテストができましたので、一応、このPICのピンでの出力制御を確認します。
簡単なパルスをRA2ピンから出力します。
オシロで12Vのパワー出力を観察します。、、、、、、
何も出ていません。(笑)

RA2が出力ということは、以前のプログラムで確認しましたので、間違いありません。
仕方がないので、ハード基盤を確認したら、RA2ではなく、RA5ピンからCLCへ接続されていました(笑)
プログラムを再確認したら、#define で定義されていた名前が違っていて、正しい定義では、ちゃんとRA5になっていました。
お恥ずかしい!!

で、気を取り直して、まずは簡単なパルスを発生させて、BEMFを観測することにしました。

例のDD51ミニ機関車からモーターを取り出して、直接駆動回路の電源を接続しました。

(NG303-01)
NG303-01.jpg


続きは、、、



テストプログラムは、

1)VRで電圧を指定して、それをAD変換し、送出する駆動パルスのパルス長にします。
  100usec刻みで、送出パルスの幅(時間)を変更できます。

2)パルスを1秒間隔くらいで単発で送出して、その結果、起電されるBEMFのパルス(2回分計測して)パルス間隔を表示させました。



10msec幅のパルスを一個送出すると、BEMFとして2個以上のパルスが検出され、その時間間隔が約1msecでした。

(NG303-02)
NG303-02.jpg

実は、送出パルス幅を1msecくらいから徐々に広げていったのですが、パルス幅が小さいときは、モーターの回転子を一回転以上廻すのに十分な電力とはならず、回転子が一つ分、コクっとするだけで、BEMFを得る事が出来ませんでした。
徐々にパルス幅を広げて、約3msecくらいで、ようやく1回転くらい回りました。
パルス間隔が広い(1秒)ので、回転を維持できないと思います。

その時のビデオです。
初めのうちは、回転子が少し動く程度ですが、パルス幅を広げていくとクルクルを廻ります。

(NG303-03)


実際には、パルス幅を約3msecくらいにして、パルス間隔を徐々に短くして、連続回転ができる様に調整して各種データを計測します。

オシロでの波形観測結果です。
メモリは、下から1メモリ目を0V、メモリの単位は2Vレンジです。
時間軸では、単位は2msecです。

(NG303-04)
NG303-04.jpg

基本の出力パルスです。
パルス幅3msecの12Vの波形です。

(NG303-05)
NG303-05.jpg

連続回転し始めて、小さなBEMF波形が観測できます。

(NG303-06)
NG303-06.jpg

徐々にパルス間隔を短くして、モーターの回転を上げていきます。
BEMF波形の高さ(電圧)が徐々に増加し、BEMFパルスの間隔も短くなってきました。
約2msecの間隔です。
このモーターにはコアが3極ありますので、この時のモーターの回転数は、

1000msec÷2msec÷3=166回/秒でしょうか。

さて、BEMFパルスが確認できましたので、そのパルスの間隔を測定すればよいのですが、オシロの波形をシゲシゲと観察すると、結構な問題をはらんでいることがわかります。

1)BEMFパルスは、直前の駆動パルスのエネルギーに応じて起電されますので、モーターの回転し始めた、低速回転時には、当然、小さなBEMF(電圧)となります。

2)次第に回転を上げるとそれにつれて、BEMF電圧も大きくなり、数Vから5-6V程度になります。

3)BEMF電圧は、回転子の位置が磁石の位置を通過する際に起こりますが、回転パルスの終了タイミングによってBEMFが途中からのパルスとなる場合がある。

4)BEMFの波形に多数のスパイク状のノイズが発生している。


などがわかりました。

(NG303-07)
NG303-07.jpg

(NG303-08)
NG303-08.jpg

そこで、OPアンプを使用して、

1)BEMF波形の交流増幅

2)シュミット回路による波形成形


を試みました。

(NG303-09)
NG303-09.jpg

これがOPアンプでの交流増幅(反転増幅回路)とシュミット回路です。

波形を観察してみると、サチってはいますが、増幅されています。(下が入力信号、上が増幅後)

(NG303-10)
NG303-10.jpg

また、シュミット回路をと降りた後の波形では、一定の出力信号以上がパルス信号に成形されています。

(NG303-11)
NG303-11.jpg

反転出力です。
しかし、ノイズ成分で多数のスパイク状の波形が出ています。

ロジアナでアナログ波形を観察してみても、スパイクノイズの為に、まともなBEMF信号を検出できていません。
アナログ波形の電圧ではなく、パルスの時間間隔を計測するので、余計なノイズのパルスが入っては役に立ちません。
これでは、時間間隔を正確に計測することはできそうにありません。

(NG303-12)
NG303-12.jpg


************************************************************************

結論

BEMFの時間軸のタイミング解析による速度制御は困難である。


1)BEMFの発生は、直前の起動パルスの大きさと、繰り返し周波数に依存するため、低速度回転の場合、BEMFの電圧が非常に小さい。(0-0.数V程度)
2)高速回転になると4-7V程度まで増大する。
3)波形はサイン波形状であるため、ピークや立ち上がりをとらえにくい。
4)シュミットトリガー回路を通しても、スレッシュホールド電圧に対して、速度によるBEMF電圧が一定ではなく、トリガーをかけても時間計測に意味がなくなる。
5)BEMFの電圧に着目した、現在の制御方法の方が理にかなっていて、動作が安定している。


BEMF電圧波形の交流成分を除去後、OPアンプを使用して、ピークを検出し、トリガーを出して時間計測すれば、おそらくは制御可能と思われたのですが、あいにくOPアンプの知識が無いので、ちょっとした交流増幅とシュミット回路と付加したくらいではだめでした。

まぁ、言い訳をしますと、現在の電圧をAD変換して、平均する方法でBEMFを検出し、パルス幅とパルス間隔を両方制御する方法が、「やっぱり良かった!」という事でしょうか。

お後がよろしいようで(笑)

関連記事

管理者のみに表示する