制御の自動切換
H8による制御の予備実験.
今日の実験は,受信した信号をH8でモニタしながら同様の信号をH8から出力してサーボをコントロールする
プログラムを動作させてみました↓
送信機から信号が来ている時は,通常通りラジコン.
送信機から信号がない場合に,マイコン操作に切り替えようと思っています.
送信機の電源を切って受信機からの信号をモニタしてみたら,ノイズを拾いやすいらしく,
でたらめな信号が出てます.
ということは,単に信号があるなしだけを見ようとしてもだめで,
正常な信号が受信できたらラジコンに制御を移す,としなければならないようです.
3664のTimerVを使って,サーボをコントロールする簡単なプログラムを作りました.
送信機の信号(受信機のch1)をモニタし,正常な信号ならそのままサーボにつたえる.
信号のモニタは,パルス幅と間隔が規定値内に5回連続で入っていれば受信中と判断.
送信機が切れていれば,とりあえず固定値をサーボに出力.
処理間隔を短くすれば制御が滑らかになるのですが,CPU負荷を軽減するため間隔を
できるだけ長くし,送信機による制御は危険回避に必要な程度としました.
ラジコン送信機とH8マイコンによる自動制御切替えの動画
ソースはこちら
--追記--
検索したらちゃんとしたGPSロボットカーの製作記事が,エレキジャックのHPにありました.
ソースも公開されてます.
http://www.eleki-jack.com/KitsandKids2/2008/09/gps1gps.html
でもtimerの機能を駆使してあって違うCPUに移植するのは大変そうですね.
自分も最初TimerWを駆使して作ろうとしたのですが,たまたま手元に3694がなくて3664が
あまってたのと,手持ちのGDLのバージョンが3664のTimerWが上手く動かなかったことから,
特徴的な機能を使わず単に適当な速さのタイマー割り込みでソフト的に処理するプログラムを
作り始めました.移植性を考えるとこれはこれで意味がありそうなので,このまま製作を続けます.
ESP32 Wifi Bluetooth開発ボード |
Arduino Nano Every |
Raspberry Pi pico |
FPGA XILINX Artix-7 |