私の電動ラジコン飛行機の動画、製作を紹介
受信機からのパルス入力ができたので、今度はサーボへの出力シグナルを反転して出力することに挑戦します。
PICAXEのコマンドでは、サーボへの出力コマンド(servo)があるのですが、パルス入力(pulsin)コマンドと一緒に使うことができません。PICAXEの内部のタイマーの制約でしょうか。
今回は後でプロトタイプを作成して、実際に使いたいので、友人に聞いて、保護の為の部品を付けたりしています。無くとも動きますが、念のために。
オシロを使って、入力パルスが反転されて出力されるか確認しました。
このコードについては、いろいろ調べたら、Reversing pwmout [Archive] - PICAXE Forumにありましたので、これを使いました。とてもシンプル、パルス周期は入力側を使ってそのパルス値を単純に変換しているだけです。このコードに一部、ニュートラルを合わせる為の調整値(太字)が入っています。
' Reverser Program
#Picaxe 08M2
#No_Data
symbol OFFSET = 85 ; adjust neutral postion
Setfreq M32
Pause 100
do
pulsin C.3,1,w0 'wait for pulse from receiver
w0 = w0 max 1760 min 560 '2.2ms to .7 ms
w1 = 1760 - W0 + 560 + OFFSET 'Do The Math for reverse
pulsout C.2, w1 'Output to Servo
Loop
This program is copied from Reversing pwmout [Archive] - PICAXE Forum