2013年2月18日月曜日

遅延付きグロープラグヒーター(その4)

やっと製作したプロトタイプボードに合わせて、テストプログラムを作成です。



とりあえず、基本動作として以下を確認

①シリアルポートを使ったブートローダーの動作。
CCS-Cからサンプルで提供されているブートローダーは16F1825などのエンハンスト・ミッドレンジ向けでコンパイルすると出力されるHEXのファイルサイズが大きくコンパイルエラーになるので、領域をいじって動くようにしました。これで、pickit2を接続しなくても簡単に新しいファームウェアがPICにダウンロードできます。

②シリアルポートを使ったデバック
ブートローダーが動いているので当たり前ですが、printfを使用したデバックは有効です。特にpickit2は新しいPICのインサーキット・デバッグができないので・・・・そろそろICDかpickit3を買わないといけないですね。





③プッシュボタンからの入力
これもブートローダーの起動スイッチ(電源ONの時に押されていればブートローダーが起動する。)として使用しているので、ちゃんとON-OFFが読めます。トリガーとして使用するだけなのでチャタリング防止の回路は入れていません。必要ならプログラムで遅延掛けて読むようにします。

④LEDの点灯
システムの状態表示で使用する予定です。アイドリング時は点灯、ヒートの遅延中はゆっくり点滅、ヒート中は速く点滅など。

⑤ADC入力
アナログ→デジタル変換です。今回は10ビットの精度なので、0~5V(または基準電圧4.096V)を0~1023のデジタルデータに変換します。

⑥PWM出力
必要な電圧を得るためにパルスでMOSFETをON-OFFします。今回は3セルリポ(12.6V)から1.2V~1.5Vを生成するので、デューティー比は9.5%~12%くらいになります。

早速デュティー比を設定するためにパラメータをボリュームを使って104に設定。分解能が1024なので、104/1024=10.2%。 PWMの周期は256us(3.9KHz)で、そのうちHighの部分は27us。27/256=10.5%の結果に。VRもそれほど精度良いものではないし、ロジアナの読み取りも誤差があるのでこんなものかな?

注)コロイド電池は1.5Vと思っておりましたが、2Vなんですね。K口さん、アドバイスありがとう。



2013年2月15日金曜日

遅延付きグロープラグヒーター(その3)

とりあえず、今日は半田付けです。テスターでチェックしましたが、とりあえずブリッジはないようです。




2013年2月13日水曜日

遅延付きグロープラグヒーター(その2)

先週末は久々に基盤をエッチング。

4.8V ~ 13Vのバッテリーからの入力電圧に応じ、PWMのデューティー比を替えてプラグヒートする回路製作中。もちろん、スタートボタン押してから5秒のディレーがかかってからヒート開始し、30秒経過すると自動で止まるような仕様です。

目標電圧は1.2Vをデューティー比で制御します。12Vなら10%のデューティー比で1.2V相当になるはず。でも、条件によって電圧を高低させたい場合を想定して、ボリュームを付けました。抵抗値を読んで、1..1V~1.4Vくらいまでデューティー調整できる仕組みもいれました。

ところが、こんな特許が出てます。ヒート中のプラグの電圧をみて、電流を変更するらしい。

http://patent.astamuse.com/ja/granted/JP/No/3873307/

2013年2月11日月曜日

遅延付きグロープラグヒーター

ずっとガソリン機と電動機しかやらないと言っていたのに、最近はグローの飛行機とヘリがメインとなってしまいました。グロープラグヒーターもOK模型のものが調子よく動いていたので、そんなにニーズはなかったけど、最近頻繁に充電が必要になってきました。近くYS110もまわしてみたいのでヒートの遅延もほしいし・・・
というわけで、2010年12月に構想立ててから、やっと回路設計、ファームウェア設計に着手してプロトタイプ基盤までできました。

構想で大きく違うのは、以前は4.8Vを前提としていたのですが、今回はメインのソースバッテリーを3セルLipo。みなさんのところにもパワーの落ちた3セルLipo転がってますよね? でも、今回はバッテリー電圧を計測して、それにあわせてPWMのデューティー比を変えますので、4.8V~12.6V対応。

いま悩んでいるのは、
①4.8Vだとマイクロコントローラーの電圧。レギュレータで5V作るようにしていますが、4.8Vを使ったときに正常に動作するか?
②Lipoの最低電圧をチェックする仕組みを入れたいのだけど、3セルLipoなら9V。他のNIMHなどはもっと電圧低いし・・・・ディップスイッチでユーザーが選択?

まあ、プロトタイプで動かしながら改良かな。

基盤はエッチング完了したもので、穴あけ前のものです。


2013年2月2日土曜日

「RX3S OrangeRX 3-Axis Flight Stabilizer」改造

今日は昼には雨があがったので、飛行場に行ったらダンプが河川の土砂を運び出し中~ というわけであきらめて帰宅です。

そこで、先日からテスト中だったホビキンの飛行機用三軸ジャイロのファームウェアを先週みつたので早速人柱に。飛行機用3軸ジャイロ($14.99) V1はディスコンで今はV2が発売中。こちらはAUX入力、DELTA、V-tailにすでに対応済み。

http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=25448

このファームウェアではTxのAUX(2Pまたは3Pスイッチ)からの信号でゲインを変更できます。これだと、通常フライトはゲイン0で着陸だけ ONなんてもできます。さらにDELTAとV-Tailにも対応。もちろんオープンソースでソースプログラム(C言語)もあるので、自分で機能を変更でき るし。

マイクロコントローラはATMEL ATmega168PAのようで、手持ちにあった、USBWASP(ISPモード)+フリーソフトの「eXtreme Burner - AVR」を使います。

githubの説明通り、READ ALLでフラッシュの内容確認~フラッシュ消去~新ファームウェア書き込みと無事終了です。さて、どんな動きになるか明日テストしてみましょう。