10.サーボバラシアンプの強制停止プログラム
サーボバラシアンプの停止位置 前進後進用に、左右のモーターを別々のアンプでスピードコントロールしてますが、停止するときは二つのアンプに中間点の150を送って止めてます。
逆に、アンプ側でも、150でモーターがピッタリ停止するようにポテンショメーターで調整しておく必要があります。

厄介なのは、サーボバラシのアンプを走行用に使った場合、停止位置の調整がピンポイントで微妙なうえ、せっかく調整しても、走行中に若干ずれてきます。
走行用アンプが一つの時は、それでも何とかなりますが、左右2つ使用していると、2つのうちどちらかが走行中にずれてくると、停止させたつもりが片側だけ微妙に動いてしまう状態になります。
こうなると、ショッチュウ2つのアンプの停止位置を調整しながら走らせなければならなくなります。
これが結構面倒なので、プログラムで何とかならないか....と、考えたわけですが....

プログラムでは不可能? アンプのセンター位置を150に調整して、走らせているうちに、センター位置がずれて、150.5とか151とかで停止するようになっても、パルスを送るだけのPIC側からは、アンプのセンターがどれだけずれたかなんて調べようがありません。

結局ズレが出て来た時点で、キットをばらして、アンプのポテンショメーターを手動で調整しなおすか、砲塔旋回サーボのセンター位置を記憶させたように、最初に電源を入れたとき片側ずつセンター値を調べて、ROMに書き込むか...
どちらにしても、面倒な操作になります。

結局、アンプのセンター(停止)のズレをプログラムで簡単に調整するのは不可能!?

と、ほぼ諦めかけていたのですが、ふとひらめいたのが、「アンプにパルス自体を送らなければ、アンプは停止し、モーターも停止するのでは....!!」
ち..ちょと....強引な方法ですが...(^^ゞ

アンプ停止プログラム 今まで、アンプを中間(モーター停止位置)にするには、中間のパルス150を送っていましたが、停止のときはまったくパルスを送信しないようにプログラムを改造しました。

実際に作ったプログラムはこれ→「t1b.asm

なんと、予想通り、パルス信号を送らないと電源が繋がっていてもアンプは動作せず、モーターも回転しない!!
もちろん、すべてのアンプでこの方法が使えるかどうかは疑問ですが....

ついでに、砲塔旋回サーボの停止も、この方法(パルスカット?)で停止するように変更しました。

戻る

更新日2000.10.19