000000 ランダム
 HOME | DIARY | PROFILE 【お気に入りブログ登録】 【ログイン】

CPUを作ろう ~計算機教材とマイコンと電子工作~

制御の自動切換

H8による制御の予備実験.
今日の実験は,受信した信号をH8でモニタしながら同様の信号をH8から出力してサーボをコントロールするプログラムを動作させてみました↓

DSC02553.JPG

送信機から信号が来ている時は,通常通りラジコン.
送信機から信号がない場合に,マイコン操作に切り替えようと思っています.
送信機の電源を切って受信機からの信号をモニタしてみたら,ノイズを拾いやすいらしく,でたらめな信号が出てます.
ということは,単に信号があるなしだけを見ようとしてもだめで,正常な信号が受信できたらラジコンに制御を移す,としなければならないようです.

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が上手く動かなかったことから,特徴的な機能を使わず単に適当な速さのタイマー割り込みでソフト的に処理するプログラムを作り始めました.移植性を考えるとこれはこれで意味がありそうなので,このまま製作を続けます.





Copyright (c) 1997-2018 Rakuten, Inc. All Rights Reserved.