自作DMDユニット

 

 タミヤが新たに発売したM4シャーマンやキングタイガーには、戦車専用アンプのDMDを採用しています。これはここを見てるような人ならご存知、通常のレーシングカーのようにアクセルとハンドルで戦車を操縦出来るようにするアンプです。
 戦車は左右のキャタピラの動く速度をズラせて向きを変えるため、クルマとは操作が変わってしまいます。そこで、アクセルとハンドルの操作を自動的にキャタピラの動きに変換するのが、ここで自作するDMDユニットです。
 タミヤのDMDは信号変換だけでなくアンプもくっついていますが、ここではアンプは市販品を使用します。

 

自作するメリットは?

 DMDラジコン戦車が売られているのに、敢えて自作するメリットとは何か?
 これは大きく分けて2つあり、1つは強力なモーターを使用可能なこと。タミヤDMDは容量が20A*2であり、ノーマル540までしか駆動出来ない。しかし市販アンプを使用すれば、スポーツチューンや更に強力なストックモーターなど、モーターが選びたい放題となります。
 市販ラジコン戦車を素組みするなら別にノーマル540まで対応出来れば十分ですが、改造すると大抵は重くなります。そういう場合に強力なモーターが選択出来るのはメリットです。
 また、同じモーターを使ってもレース用のアンプは損失が少なくパワーあるいは燃費で有利。
 もう1つの理由は、動きの変換方法を自由に設定出来ること。
 タミヤDMDを使えば、タミヤが決めた変換に従って使うしかありません。例えば止まってる状態で左右にハンドル切った時には超信地旋回して欲しい!など個人的趣味を通そうと思っても、市販品では無理です(レオパルド2A6で可能となった)。でも、自作DMDならば幾らでも自分の好きなようにスティック操作とそれに対応した動きを設定出来るのです。

 

使用機材

PIC16F84 + A-07R

 自作DMD基板と市販アンプ。基板はワンチップマイコンPIC16F84によりコンパクトにまとめ、アンプはキーエンスのA−07Rを採用した。運用時はA−07Rを2個必要とするが、それでもタミヤDMDより小さなサイズに収まる。
 DMD基板には入力ソケットが2つ、出力ソケットが2つある。根元はホットボンドで補強。入力ソケットは受信機のアクセルとハンドルに差し込む。基板の電源も受信機からいただく。使用プロポがJRのX−3810なので、実際はスロットルとエルロンであるが(汗)
 ここからサーポパルスを読み取ってそれをキャタピラの左右の動きに演算変換し、出力ソケットに接続したアンプ2つを制御する。

DMD基板表 DMD基板裏

 自作基板の裏表。たったこれだけの基板でサーボパルスのデコードとエンコード、変換処理、入力信号調整、アンプ調整信号出力・・・などなど全部出来てしまうのである!
 これがワンチップマイコンの威力なのだ。処理の複雑さに比べて使用ICはたった1個PICだけ。言うまでもなく基板中央にあるのがそれである。18ピンICソケットは実は2段重ねになっており、容易にPICを抜き差し出来るようになっている。PIC16F84はフラッシュROM内蔵であり、何度でも内蔵プログラムを書き換え可能。完成後でも微調整が容易に出来る。
 PICはこの手の制御用に特化しており、周辺装置を簡略にする数々の特徴を持つ。その気になれば外付け回路はセラロック1個だけで動かせる。
 まず、I/Oポートから20mA以上の電流を出せるので、トランジスターを使うことなくLEDを直接駆動出来る。また、I/Oポートにプルアップを設定出来るため、スイッチ類は端子とGNDに接続するだけで読めるようになる。
 電源も2Vから6Vまで対応している上に極めて消費電力が少ないため、受信機から電源をいただいて動かせる。
 PICの左上に2つのLED。最近流行の超高輝度のではなく10mAのノーマルタイプ。左下に赤いプッシュスイッチ。右上の水色のは10MHzのセラロック。殆どの命令は0.4μsで実行される。右中に3点スライドスイッチ。右下が3点トグルスイッチである。
 PICの下に接しているのは電子回路お馴染みのコンデンサー。

 

操作仕様

 この自作DMDには3つのモードがある。
 1つ目は通常にDMDとして動作するモード。2つ目は標準パルスを出力してアンプの調整を行うためのモード。そして3つ目はプロポのスティックを動かして入力パルスを覚え込ませるモードである。
 市販アンプでも入力調整はお馴染みだが、市販品はパーツを減らしてサイズを小さくしている。しかし自作品では若干冗長にして操作性をアップさせることにした。

モード選択

 右中にあるスライドスイッチでモードを選択する。
 電源を入れた時 (電源は受信機から来る) のスライドスイッチの位置で切り替わり、起動後にスライドスイッチを動かしてもモードは変化しない。
 スライドスイッチが上にあれば出力調整モード、中にあれば通常動作、下にあれば入力調整モードとなる。これは、入力ソケットが下にあって出力ソケットが上に付いていることに対応させてある。

出力調整モード

 スライドスイッチを上にした状態で受信機の電源を入れると、出力調整モードとなり上のLEDだけが点灯する。
 この状態でトグルスイッチの位置を切り替えると、プロポのスティックを動かした時のような信号が出力される。これでA−07Rの調整を行う。トグルスイッチを上にすると、プロポのスティックを上一体に倒した時と同じ信号が出る。トグルスイッチを中にすると、スティックはニュートラル、下ならスティックを下一杯に倒したのと同じである。アンプではなくサーボを接続して動きを見ることも可能。
 ニュートラルのパルス長は1.5msであり、プラスマイナス0.56msとしてある。
 出力は2チャンネルあるが、どちらにも同じパルスが出る。
 出力調整モードではプッシュスイッチは使用しない。

入力調整モード

 スライドスイッチを下にした状態で受信機の電源を入れると、入力調整モードとなり下のLEDだけが点灯する。
 トグルスイッチを下にした状態でプロポのスティックを左下一杯に倒してプッシュスイッチを押すと、その時の信号が記憶される。トグルスイッチを上にした状態でプッシュスイッチを押すと、プロポのスティックが右上一杯に倒されているものとして信号を記憶する。
 トグルスイッチが中だと、言うまでもなくニュートラルの信号として記憶する。
 3つの状態を全部覚え込ませずに運用してしまう危険はあるが、ゆっくり落ち着いて調整出来るので人間は楽である。
 記憶がうまく行くとLEDが点滅して知らせる。プッシュスイッチを放すと通常点灯に戻る。
 容量上の問題からエラーチェックしていません。

通常モード

 スライドスイッチを中にした状態で受信機の電源を入れると、通常モードとなり上下のLEDが両方点灯する。スライドスイッチもトグルスイッチも使用しない。
 下のLEDはスロットルがバックに入っている時と、減速している時のみ点灯する。これは最終的にこのLEDを尾灯に転用するためである。

 

配線の実際

 シンプルな基板で簡単に製作できたように思えるかもしれないが、実際は製作中に失敗してPICを3個も壊してしまいました (;_;)
 最初はLEDを3つ付けてあった。3つ目のLEDはRA4に取り付けたんだけど、実はRA4は入力専用なのであった。
 そこで、RA4ではなくRB0に接続変更。パターンカットとジャンパーを飛ばした挙げ句、PICが異常発熱して壊れた。原因はBポートにプルアップを設定していたからで、この状態でBポートを出力に使用したのがアウトだった!
 

RA2 OUT 上LED 左キャタ出力 OUT RA1
RA3 OUT 下LED 右キャタ出力 OUT RA0
RA4 未使用 セラロック
10MHz
CLK
リセット +直結 CLK
GND −直結 +直結 VDD
RB0 未使用 3点スライド
スイッチ
IN RB7
RB1 IN プッシュスイッチ IN RB6
RB2 IN スロットル入力 3点トグル
スイッチ
IN RB5
RB3 IN エルロン入力 IN RB4

 

バックリミッター外し

 戦車用アンプが必要な理由は他にもあります。それはバック制限です。
 市販アンプはレーシングカーを対象にしているため、戦車には向きません。その大きな理由がバックに関する制約です。そもそもバック無しアンプが多く、バック付きアンプの多くが性能の低い機種になっている。これはバック禁止レースが多く、バックを使うのは練習で失敗を良くする初心者であるという考えによるらしい。
 バックが付いていても前進に比べて容量が小さいとか、バックに入れてもすぐにはバックしてくれないお節介機能とか、戦車に使おうとすると散々となる。この理由で仕方なくタミヤDMDを買った人もいるんじゃなかろうか?
 キーエンスのA−07Rはかなり高性能でありながら前進とバックの容量が同じという特徴を持ち、バックレースだって出来ると宣伝しています。サイズもコンパクト。だから採用したけど、惜しむらくは他のアンプ同様、バックに入れてもすぐにバックしてくれる訳ではなく、バックに入れると一定時間モーターが停止し、それからバックします。
 このタイムラグをブレーキングタイムと呼び、A−07Rは可変です。無限大にすればバック無しアンプとして使えるし、3秒から0.5秒まで調整出来るけど、0.5秒以下には出来ないのです。
 バックから前進はタイムラグ無しに切り替わるので回路保護の役には立たないし、謎な仕様です。
 このブレーキングタイムはA−07R内蔵タイマーで見ているらしく、通常のハード改造では短く出来ません。
 しかし、トリセツには突破口となりそうな一文があります。

 <ブレーキングタイム設定後、より速くリバースさせたい場合>
 スロットルレバーをフォワードからリバースに入れてブレーキさせた後、一旦ニュートラルに戻して再度リバースにします。

 やってみると、ついニュートラルを行き過ぎて前進まで戻してしまい、なかなかうまく行きません・・・人間がやっても。
 じゃあ、PICにやらせたら?
 バックに入れた最初の時に、PICを使って超高速かつ正確に一度ニュートラルに戻してまたバックに入れたらどうなるか?
 実験の結果、ブレーキングタイムを約0.01秒にすることに成功!
 人間が見ても全くタイムラグは分からず、瞬時に前進と後退が切り替わります★
 これだけでも、PICを使う十分な価値がありますよ。

 

加速度制限

 バック制限を外すとモーターやギアボックスに負担がかかる。試しに全速前進から全速後退に一気にプロポを操作すると、モーターが派手な火花を吹く。
 そこで、左右のキャタピラの動く速度の変化(=加速度)に上限を設けてある。全速前進から全速後退に入れても1秒ほどかけて速度が変化し、モーターは殆ど火花を出さない。
 A−07Rオリジナルのブレーキングタイムも同様の安全弁を狙ったと思われるが、後退から前進に入れた時は遅延なく電流が逆転するためモーターが火花を吹いてしまう。
 レーシングカーならば全速後退からいきなり全速前進させたりすることはないだろうが、戦車となると話は別だ。だから、ラジコン戦車に使う場合はA−07Rオリジナルの保護機構より安全性が高いはず。
制約するのは加速度であって、前進と後退の切り換え自体は何ら制約しない。
 また、プロポを無茶苦茶に操作しても戦車が急激な動きをしないため、安心して他人(特に子供)に操作させられるってのも大きい。
 更に、巨大な鉄のカタマリである戦車が急な動きをしてはスケール感がブチ壊しになってしまう。加速度制限は動く模型としての動きのリアルさをアップさせる役にも立つと期待している。

 ただし、ラジコンでは緊急時(わっ溝に落ちそう!)なんて場合に機敏な操作が出来ないと困ることが多い。加速度制限は隠し味程度にした方が良さそうだ。

 

信号変換

 一体何でしょう、これ?
 正解は信号変換を視覚的に分かりやすくしたものです。縦軸はアクセル(スロットル)操作で、横軸はハンドル(エルロン)操作です。それぞれの操作を行った時に、左右のキャタピラの移動ベクトルがどうなるかを黄色の線で表しています。
 PIC内部演算ではキャタの動きについて、停止を128、最大前進を255、最大後退を1として8ビットで表現しています。そしてこの図の9*9=81個所の点のキャタ移動量をテーブルとして持っているのです。1個所につき左右2バイト必要なので162ワードを消費しますが、1Kワードあるので大丈夫です。代償として、後で動きを容易に変更可能となります。
 アクセルとハンドルの位置がこの図のどの位置に来るかを見て、近傍4個所の値から内挿してキャタの移動量を計算します。
 

 この図は最初の予定で、アクセルニュートラルでハンドルを切った時に超信地旋回するということと、スティックを少し動かした場合に動き方が急変することなく滑らかに動き方が変わるという特徴を持ちます。
 しかし重大な欠点があり、バックではハンドル操作と移動の向きが逆になってしまう!
 でも、前記の通りテーブル方式なので後からの動きの変更は容易。そこで、取りあえずこのまま作ってしまうことにした。

 

PICソースリスト dmd1.lzh

 実際に16分の1キングタイガーに搭載した自作DMD用のPIC16F84用のソースリストです。
 秋月電子のキットを前提にしているため、他のアセンブラではうまくアセンブル出来ません。
 キングタイガーで動作確認はしていますが、例によって保証はありません。利用は個人の責任でお願いします。また、ソースリストの内容に関する質問はお受け出来ません。

 2004年になり、タミヤが16分の1レオパルド2A6を発売。これは極めて操作し易く、戦車ラジコンの決定版ともいうべきシロモノです。
 このタミヤレオパルド互換の操作を実現したPICプログラムも製作したので、280用の方もご覧下さい。

 

戻る