私の電動ラジコン飛行機の動画、製作を紹介
まず、今回使用しているTurnigy Smart ギアドアシーケンサーについて、ギアアップしてから、かなり時間が経ってから閉まり始めます。その動画をまずご覧ください。
この待ち時間は固定なので、このギャに合わせたギアドアシーケンサを作成しました。
ドアが空いているとかなり抵抗があるようで、離陸してスピードを早くつけたいので、早くドアを閉めたいんです。
ギヤダウンした時にランディングライト(LED)を付けられるようにしました。
機体に載せるためのものを作成しました。
Turnigy Smart ギアドアシーケンサーと比較
プログラムコードはGitHubにアップしました。(2015/2/19)
今回のプログラムコードはリバーサープログラムの応用になるのですが、結構な量があります。久々にプログラムしました。頭の思考がJavaのようなオブジェクト指向になっていて、昔懐かしいBasic言語の手続き型にちょっと戸惑いました。あーっ!classが作りたい〜と何度思ったことやら。
このプログラムライセンスはフリーソフトウエア GPL License V3としました。
基本的な調整な為の値は定数化してあります。
注意ですが、
川崎T4ブルーインパルス 64mm EDF twinギアドア・シーケンサの製作でも、このチップを使用してより複雑な制御して製作しています。(ソース等も公開)
ギアドア・シーケンサの製作とプロトタイプで動作確認【動画】
受信機からのパルス入力ができたので、今度はサーボへの出力シグナルを反転して出力することに挑戦します。
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