SERVOモータのコントロール
SWで最小、最大角をSWで切り替え使っていましたが、VRで動かしてみたいとA/D変換を追加して見ました。10Kohmの抵抗と0.01uFのコンデンサの積分によるA/D変換で簡単な物です、直線性はあまり良くありませんがこのようなおもちゃには使えます。
次の段階としてDATAを読み込ませました。ここから大きくコントロール方法が変るので、Ver3としました。
これで角度位置が色々と自由に設定出来るので一つ作ればコピーして色々な所に使えるのではと思います。
まだ改善すべき事があるかもう少し様子を見たいと思います。写真は[前の項目 PIC-36]を見て下さい(ボタンを一つ追加した)。
Ver 2 Ver 3 VRを付ける。
A/D Converterを付け、VRで自由に回転角度を設定したい。
・・でCR式の簡単なA/D変換回路を付け、これでSERVOをコントロールしょうというもの。
ICにA/D Converterが付いたICを使っても良かったのですが、以前以前作ったA/D変換を使ってみたくなり使いました。10Kohmとコンデンサ0.01uFを使いました、以前の実験では 8steps程度だったと思うのですが今回の実験ではこの組み合わせで22Stepsになりました。
使い道として
10KohmのVRはSERVOをゆっくり回転をさせる事が出来ます。当然VRを回すと止まる位置をずらす事が出来自由な方向に向けられます。
但し、A/D変換の精度が取れてないので細かく調整出来ません(約20度)。ここでの応用は、カメラの回転とかミニアンテナの回転、船や自動車の舵やハンドルなどに使えそうです。
A/D Converter ;VR Control(Center Position) movlw d'13' ;0.05x(13+1)=7mSec movwf S_TIME ;Start Position+A/D bsf PORTA,3 ;charge MA_ADCON incf S_TIME,F btfss PORTA,4 goto MA_ADCON bcf PORTA,3 ;end to dis_charge---------------------------
Ver3は
SWにレジスタを割り当て、これでSERVOをコントロールする物がVer3です。またEEPROMを使ってVRの角度を保存し、電源を切っても次回読み出して再利用出来る用にしました。
Ver 3.0
次としてレジスタのDATAを読み込ませました、当然同じDATAなので見た目変わりません(Softは変っている)。Ver 3.1
それをEEPROMから読み出させてみました、これも動きは同じで見た目も変りません。Ver 3.2
次に、VRの値をSWのレジスタに置き換え、VRの位置をSWに移してみました(メモリーSWを追加した)。これでSERVOの可変幅は自由に設定出来るようになります。SWを押さない時はVRで決めた位置に戻ります。
回路的にはRB3にSWを付けそこが押されたかを判定しています。Ver 3.3
SWに書き込んだ時にEEPROMにも書き込み、次回電源を入れた時にはそれを読み出しSWのDATAとして使います。つまり、一度設定すれば何回でもその状態を維持して使えるのです。Ver 3.4
コンデンサ103から223に変更しステップを約20度から10度に変更した(全部で45 Steps)。これにより細かい角度の設定が出来るようになった(GWS Servoの場合)。
ジャンパは通常はショート、誤動作を防ぐ為使わない時は回路を切っています(ピンを外す)。:020000040000FA :100000002620332005090339031D14281A30A200C5 :100010008515A20A051E0928851150302202031CED :1000200013285030A2001928051C2508851C260815 :10003000A200861D3A2005156220A20B1C2805117E :100040001430A2006720A20B222802288501073065 :100050009F0083160313FF30860013308500811341 :1000600083128511080001304E20A50002304E2079 :10007000A60008006720861D3A282208A709271C29 :10008000A500271844200800A6002508F00001302C :1000900054202608F00002305420080083169B00EC :1000A0001C141A088312080083169B0070089A001B :1000B0001C1555309D00AA309D009C149C185E288C :1000C000831208000730A300A30B64280800F8304F :1000D000A4000000A40B6928000000000000080034 :02400E00513F20 :044202001A0050004E :00000001FF2008/FEB/11
もどる [MAIN MENU