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

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

H8TinyでKHR-1HV制御


H8Tiny(3664)で二足歩行ロボット(KHR-1HV)制御

表題の通り,やってみました.
こんな感じです↓
DCF_0050.JPG

秋月のH8タイニーマイコンのI/OボードのCN2からシリアル信号(ADM232につながる前)を引き出します.
TXD:19番
GND:26番

KHR-1HVの低速シリアルポートへの入力は,スタートビット(H),ストップビット(L)とも通常のシリアル信号とは反転しているようです.
データも負論理なので,H8のシリアルポートの信号を単純に反転してKHR-1HVの低速シリアルポートへ接続すればよいようです.
基板を組むのも面倒なので手元にあったトランジスタと抵抗で立体的に回路を作成しました.

DCF_0051.JPG

回路図はこちら.これまた適当な回路図ですみません.
I/Oボードに直付けなので,ちょっと大き目の抵抗(20k)で簡単な回路を組んでます.

DCF_0057.JPG

低速シリアルポートに接続↓

DCF_0052.JPG

プログラムは,GDLのH8/3694用のシリアル通信のサンプルプログラムから1文字送信の部分だけを利用させてもらいました.
ボーレートを2400bpsに設定,後はrs_putc()関数で1文字ずつ,2文字送信.
2文字送ったら間隔をあけないといけないようなので,2重のループで時間稼ぎを入れてます.
前進のモーションを1番に入れてますので,送る文字コードは,

rs_putc(0xf0)   //送信機のシフトキーなしの場合
rs_putc(0x01)   //押したキー(左側の↑ボタン)

としました.

DCF_0056.JPG

RCB-3の低速シリアルポートを使うには,KHR-1HVのアプリケーション(HeartToHeart Part3)のオプションで,KRC1から制御にチェックを入れないといけません.(これを忘れれて無駄に時間を使ってしまいました)

DCF_0054.JPG

KHR-1HVをONにし,その後H8Tinyの電源を入れると,H8Tinyの信号でロボットが前進を始めました.


--------------------------------------------

H8Tiny(3664)で二足歩行ロボット(KHR-1HV)制御 その2

マイクロマウスの出場に向けていろいろ試してみました.
以前,シリアルポートで動動かせることだけは確認したのですが,
その再確認とプログラムによる動作制御を試しています.
低速シリアルの動作モードは,2通りあるらしく,
HeartToHeartのKRC-1を使うにチェックを入れない場合は7バイトモード,
KRC-1を使うにチェックを入れると2バイトモードになるらしく,
ここでは2バイトモードで使っています.
1バイト目は送信機のシフトキーの信号,2バイト目が方向ボタンに割り当てられています.
ノーマルHレベル,キーを押したとき信号がLレベルになるようになります.
TTLレベルで2400bps8バイトのシリアル信号を,通常Lレベル,スタートビットHレベル,ストップビットLレベルで2バイト連続で送ればよいらしく,2バイト送った後は17msec以上あける必要があります.
H8から信号を作るときは,H8のTTLレベルのシリアル信号は通常HレベルでスタートLレベル,ストップHレベルとなっているので,トランジスタで反転し,反転したときにつじつまがあうように信号を作ってKHR-1HVに送ります.
信号を読み損ねる場合があるようなので,数回送る必要があります.
いったんモーションを始めると連続して行うようなので,ストップのモーションを送る必要がありそうです.
次の動画は約5秒前進と約5秒後退を繰り返しています.
プログラムでは5秒間モーションを送り続け,5秒後にモーション切り替え,を繰り返しています.

DSC00874.JPG

5秒前進と約5秒後退を繰り返す動画


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