G-Tune ハードウェア | ||||||
G-Tuneで使用している、マイコン及びI/F回路について説明します。基本的にマイコンに接続されているものは、「ラジコン受信機」、「サーボ信号振り分け回路」、「DIP SW」の3つです。本当は、もっといろいろ考えていたのですが、製作時間の都合上、捨てました。うーん、こうやって考えると、I/Oの数だけならばH8/3664なんかでも十分っぽいですね…。考え直そうかなぁ。
■SH7047F
Best
Technology社のSH7047Fボードをコアとしています。理由は…小さくてSRAMのついたCPUが欲しかったからです。処理能力などを特に考慮したわけではありません。
左の写真で、左の緑色のボードがSH7047Fです。右上の「GWS」というラベルがついているのはラジコン受信機、右下のほうには3端子レギュレータによる電源安定化回路がついています。
なかなか消費電力の多いCPUで、ボード全体で約400mA流れるそうです。結果的には単4NiMH電池を6本実装することになり(5本でも良かったんですが、足首に実装したため、3本づつ載せてバランスを考慮しました)、重くなってしまいました。しかし、パワーはなかなかのようで、処理速度に泣かされた事は一度もありません。どのような処理をさせているかは「G-Tune ソフトウェア」の方で見てください。
また、開発環境のインストールなども非常にスムーズで、開発時間の短縮には非常に役に立ちました。さて、使い勝手の方ですが…他のマイコンを使った事がないのでわかりません。
ただ、初のマイコンプログラミングという事で、SRAMがついているのを条件に選んだのは正解でした。というのも、マニュアルを読んでも意味がさっぱりで結構、勘違いとかが多く、プログラムが全然動かなかったりして、何度プログラムをロードしなおしたか、数え切れません。そういった意味で、マイコンが初めてで、一からプログラムを作るのであれば、大きなRAMがついているボードというのはお勧めです。使ってみると分かるのですが、かなり発熱します。でも熱暴走らしき状況にはなったことはありません。
■ベースボード
なんと呼んでいいのか分からないのですが、SH7047FとG-Tuneのインターフェースとなるボードです。ごらんのようにぎちぎちと配置されている割に、DIP-SWの横はがらがらだったりします。
3つ並んでいる14PのICが74HC08です。左側の少し長いICが74HC541になります。中央付近からでている黒くて太いケーブルがサーボ制御信号になります。このケーブルの接続は、コネクタらしいコネクタは使用していなくて、ピンヘッダを切ってケーブルを直接ハンダ付けして使っています。安上がりでいいのですが、オス側の方は、プラスチック部分と金属ピンの部分を接着剤等で固定しないと、ピンがぐらぐらしてきたりします。本当は小さい基板を作って、基板経由でケーブルをハンダ付けするのが、コスト、強度の面でもよいかと思います。
■74HC08によるサーボI/F
サーボパルスは、SH7047FのMTU(タイマ)を使用して生成しています。これだと、SRAM接続時、最大8本しか作れないので、6本使用して、これをAND回路で振り分けします。サーボパルスは、20msecに一度、最大2.5msecのパルスを送ればいいので、分割しても問題ないのです。そういった意味では、回路さえ追加すれば、6本×8(8は20msec/2.5msec)で、48サーボまでコントロールできるかもしれません。振り分け回路にはFPGAとかの利用も考えたのですが、使い方が全然わからなかったので、素直にロジックICで組んでいます。テストでは10msec周期で出すモードも作ったのですが、PARK
HPX-BBでは発振してしまいました。
■回路図
これが回路図です。非常に簡単です。SH7047Fに、74HC08によるサーボI/F回路と、74HC541によるバッファ、後はDIP-SWが抵抗プルアップによって付いているだけです。これ以外に、電源回路やそれぞれのICの電源端子間に0.1μFのコンデンサがついています。
■ラジコン受信機信号取り込み回路
ラジコン受信機の信号は、割り込み端子に入力しています。ラジコン受信機とマイコンの間にバッファICを入れていますが、実は無くても動きます。ただ、万が一のことがあってマイコンが壊れると懐が痛いので、保護の意味で入れてあります。今回でこの受信機は大丈夫ということがわかったので、次に作り直す事があれば、きっと入れないと思います。バッファICを入れている理由は、他にLED等も接続しようと考えていたので、これのドライブ用という意味もありました。で、あまっていたので保護用に入れた、ということもあったりなんかします。
■DIP-SW
これはI/Fボード上についているDIP-SWに接続されています。G-Tuneの動作モードを設定するときに使用します。また、後部についているスライドSWとも一部並列接続していて、自動動作モード時のスタートやパターン選択に使用しています。デモのときは、自動動作モードにしておいて、デモスタート時に後部スライドSWをONにして行いました。
■予定では…だった
お気づきのようにアナログ入力、一切使っていません。本当は足の裏に反射タイプの赤外線センサをつけて浮き上がりチェックを行うつもりでした。しかし、時間の都合上、全然できませんでした。またSH7047Fのアナログ入力、いまいち使い方がよくわかりません。とりあえずテストでボリュームによる入力プログラムとかは作って動いてはいるのですが、なんか再起動するたびにアナログ入力できたりできなかったり。DI入力と兼用になっているんですが、明示的に切り替えるレジスタが無いようなんですよね。うーん、うーん。さらにLEDも接続して動作モードの表示というのも考えていたのですが、これもまた時間の都合で泣く泣く却下しました。今でも端子だけはあります。
Back to G-Tune Index