3台目のレースロボット

今回作成するレースロボットも前回作ったものと同様に2輪操舵方式に します。つまり左右のモータの回転数を変えて旋回する方式です。 以前に作った2台はともにモータの回転数の検出を行わないオープンループ 方式の制御でした。それでは十分な速さは得られないので、今回はフィード バックをかけてモータの回転数を制御できる方式にします。

センサは浜松ホトニクスのものを使って簡単な構造にするとともに 以前より小型化したいと考えています。

CPUはH8を使用します。安いこととレースロボットではそれほどの処理 能力は要らないだろうということでH8 Tiny の3664 を使うことにします。 価格から秋月のAKI-H8/3664Fに しました。なんと言っても1600円ですから、PICの高いのとあまり差が ありません。しかし、実際に使ってみると、I/Oポートが変な区切り方で 8bit単位でなく、ポート数が足りなかったり、カウンタがもっと欲しいと 感じたりいろいろ不満は出てきました。

さて作成ですが、まず足回りをつくりました。いつかはDCモータをやろうと 中古で売っているのを見つけて購入しておいたescap のモータを使います。 品番は「23L21 215E」ですが、古いのかしっかりした資料を見つけられて いません。 とりあえず実寸を測ってギヤをどうするか考えました。モータにはすでに ピニオンギヤが付いていたのでこれをそのまま使うことにしました。 千石電商協育歯車のギヤを 購入してつかいました。ギヤの歯の形や大きさには規格があるようで同じ 位のものを選んだらぴったりあいました。(0.3だったかな)

機械工作はそれほど得意ではないので、簡単な構造にしました。車輪のつく 軸にギヤを付けてこれをモータのギヤで直接まわします。一段なので ギヤ比は小さくなるのであまり力は出ないと思われます。 いろいろ考えた末に、車輪の軸を支えるのに2点必要なので、アルミの 角棒を使うことにしました。四角形の中空の棒を切り出してそこにモータと 車軸を固定します。車軸はベアリングで支えて、これに協育歯車のギヤと 車輪を取り付けます。

部品の選定ですが、アルミの角棒は日本橋の部品屋で購入しました。 ベアリングはラジコン用のものを使いました。3mmの軸を通すもので 4つで1200円ほどでした。もう少し高いものもありましたがそれほど 精度はいらないだろうと安いものを選びました。ただ価格は高いですが、 ハブ付きのベアリングであれば取り付けはかなり楽だったと思います。

いままでなら、適当にアルミの角棒を切り出して現物合せで作っていたで しょうが、今回はちょっとまじめに設計図を作ってそれにあわせて切り出し 穴あけを行いました。フリーのCADソフトを使って描いた図面をプリント アウトして両面テープで貼り付けて図面の線に合わせて切ったり、穴を あけたりしました。やってみるといままでのように現物合せで作るより ずっとスムーズにいきました。結果的に図面を描く時間を含めても早かった ように感じます。不器用なのでできは今ひとつですけどね。

CADソフトは 森永さんに教えてもらった。 鍋CADを使いました。 私のような素人が使うには十分な機能です。ただ、お絵かきソフトに なれている身としては線の引き方とかかなり勝手が違って最初は戸惑い ました。

こんな感じで、図面を貼り付けました。
このアルミの角棒ですが、電子部品のお店にありました、なんに使う目的で うられていたのでしょうかね。丸棒やパイプなどのアルミ部材がいろいろ ありましたので、それなりに使う人がいるのでしょう。

切断途中

完成、ぜんぜん綺麗にできていないです。
でも、軸とモータの位置関係さえしっかりしていれば、とりあえず スムーズに車輪は回ります。

モータとベアリングを付けたところ

部品をつけると

ギヤ部分の外枠が出来上がったら、ここに車軸を取り付けるベアリングを 取り付けます。いろいろ悩んだのですが、安易に瞬間接着剤でベアリングを 取り付けました。たれないゲルタイプを使いました。瞬間接着剤は衝撃に 弱いなどと聞いていますので少し不安はあったのですが、今のところ大丈夫です。

次にセンサを作りました。こちらは簡単にできる浜松ホトニクスのs7136 を使いました。このICは内部に変調回路やコンパレータなどが入っていて 外に発光用のLEDをつなぐだけで外乱に強い反射型のセンサーを作ることが できます。小型にしたかったので、発光用の赤外線LEDも3mm径の東芝の TLN103Aを使いました。ただこのLEDは光軸が絞られていないので、光の 回り込みが起きてしまい、すぐに検出状態になってそのままでは使えません でした。そこでLEDに黒の熱収縮チューブを被せてドライヤーで収縮させて 光の回り込みを防ぐようにしました。

センサーの数は全部で10個です。内8個がラインをセンスしてレースロボットの 方向をコントロールする物です。外側の左右に1個づつゴールセンサーと コーナーセンサーをおきます。これらはレースの規格で、ラインから4cm離れた 左右にスタートマーカー、ゴールマーカーとコーナーマーカーあり、こられを 使ってゴール時に停止したり、カーブに合わせて速度を調整したりすることが できるのです。

8個のラインセンサーの配置ですが、内側2個でラインを挟んで絶えずラインを 検知する方式にしました。それで、左右対称に4個づつセンサを配して計8個と しました。8個と言う数字はポート一つ分という理由で決めました。 センサの間隔は均等ではなくて、内側の2個とその外側のセンサの間隔は 短くして、さらにその外側は広めにしています。このあたりはいろいろ試して 決めるべきなのでしょうが、かなり適当に決めました。 内側のセンサの間隔を狭くしたのは、その方が、ラインからずれた時に早く 検知できると考えたからです。ただ、センサの間隔が均等でない場合に モータの制御にどのような配慮が必要かよく分かっていません。単純に 均等にした方が良かったのかもしれません。

中央に1個のセンサを置いてラインに乗っている時はこのセンサのみ検知を していて他のセンサはラインからロボットがずれた時に検知するやり方も あります。2代目のレースロボットはこの方式で7個のセンサを使っていました。

組立て途中と残りの部品

ライン検知のセンサ取り付け終了時点。

次に車体を作りました。車体はホームセンターで買ってきた1mm厚の アルミを使用しました。大きさは、車輪の幅が広い方がコントロールが 楽だろうと考えてちょっと大きめにしています。といっても規格一杯 (25cm)の大きさでは持ち運びが大変なので中間あたりということで 車輪の中心の間隔が16cmになるようにしました。実際は車輪の幅がある ので18cmくらいになっています。

二輪操舵方式なので、前輪はただ車体を支えるだけです。前輪には 田宮のボールキャスター型のものを使いました。これは高さが調節 できて便利です。これを使うためにはギヤを車体の下につけて車高を 高くする必要がありました。ギヤを車体の上につけて車高を低くした 方が高速走行には有利に感じましたが、今回は工作のやり易さを優先 しました。

キャスターは一つなので、三輪のレーサーということになります。 今まで作った2台も車輪の形式は全て同じです。初代は前輪がソリ でしたが。

車体もCADソフトで図を書いてプリントアウトしたものをのりで アルミ板に貼り付けて、カットと穴あけを行いました。カットは 直線のみなので、定規を当ててカッターでスジをいれてから、 曲げを繰り返して折る方法をとりました。曲げる時に木の板を 当ててまっすぐに曲げると予想以上に綺麗に切り取ることが できました。

穴は全て3mmネジ用なので、ポンチを打って3.2mmのドリルで あけています。同時に前のセンサーボードを支える金具も 作りました。これも長方形なので、CADの図を貼り付けて切り出した のちにネジ穴をあけて、万力に挟んでまげて作りました。今回は 曲げ角度もあらかじめ計算して、図を書いておいてその角度に 合うようにまげました。やっぱり現物合せで曲げるより綺麗に 出来上がりますね。今回のようにあまり幅がないアルミ板なら 万力を使えば綺麗に曲げることができることも分かりました。 もっと幅の広いアルミも曲げられるように折り曲げ機が欲しく なりました。

図面をのりではって穴をあけたところ
最初に作ったギヤとキャスターの穴だけのものです。キャスターは 位置調節が出来るようにと、余分に穴があけてあります


出来上がった車体にギヤやキャスターをつけたところ
穴がまだ空いていない部分があります


センサーボードやコントロール基板をとりつけるとこんな感じになります。 車体の下に電池を電源基板をとりつけます。

最後にコントロール基板です。前述したとおりCPU基板にはAKI-H8/3664Fを 使用しました。この基板にモータドライバーをつければ基本機能は満たされ ます。モータドライバーは東芝のTA7291Fを使いました。PWMでのコントロール がやり易いように、入力信号にCPU基板からのPWM出力信号をANDしています。 実は手持ちのICの関係で負論理になっています。 後は、サーボモータのエンコーダの出力を増幅するOPアンプと、表示用のLED、 機能設定に使うDIPSWとスタートSWとリセットSWがついているだけです。 これだけでもポート数がぎりぎりで割り振りに苦労しました。表示用のLEDが 12bit使っているのが大きいです。また、ポートが8bit単位になっていないのにも 泣かされました。おかげで表示用LEDのデータは2つのポートにまたがっています。 機能追加するためにはこのLED部分を外付けICでも使って使用ビット数を減らす 工夫が必要です。

電源についてですが、単四のニッケル水素電池を5本使用しています。 これで6V(1.2Vx5)です。ロジック用の5Vはここから低ドロップタイプの 三端子レギュレータで作っています。サーボモータの電圧が9Vなので、 昇圧して9Vを作っています。サーボモータの電圧は可変抵抗で変更できる ようにしてあります。まだテストを行っていませんが、ドライバーICによる 電圧降下などあるようですので、十分な性能にするためには高めの電圧を かけることができるように考えました。

昇圧はTL1170というリニアテクノロジーのICを使っています。これは 外付け部品も少なく、5Aの電流を取り出すことができるという便利な ものです。ちょっと価格が高い(CPUボードより高価)のが欠点です。

今回電源基板をコントロール基板と別にしたのですが、そのために 少しイレギラーな配線をしています。AKI-H8/3664Fはローカルで電圧を 5Vにレギュレートしているので、そのためにロジックの5Vと別にもう 一つ電源ラインが必要になってしまったからです。結局安直にモータの 電源をつなぎましたが、私の設計ポリシーとしては気に入りませんでした。

電源基板にはスイッチもつけて、電池からの配線を直接入り切りします。 基板上で5Vと9Vを作ってコントロール基板に配線しています。コントロール 基板との配線は太目のリード線でコネクタを使わないで半田付けで配線 しています。半田付けしたのは振動による瞬断を防ぐためです。電池と 電源基板のコネクタもこの瞬断対策と接触抵抗の低下を狙って2つの コネクタ端子をGNDと正極にそれぞれ割り当てています。

電源基板は、別に組んで車体の下に取り付けました。電池はその隣に 収納部分を0.3mmのアルミ板をまげて作りました。薄いアルミ板なので 斜めの部分もカッターで傷をつけるだけで簡単に切り取ることができました。 TL1170は発熱があり放熱板が必要なため、車体にシリコンマットで絶縁して 取り付けてました。車体全体を大きな放熱版として使うわけです。

電源基板と、電池収納部分。

全体を組み立てたところ、センサー基板とコントロール基板もフラット ケーブルで接続してある。センサー基板への給電は別ケーブル。

さて、このハードができあがったのが大会の大体2週間前です。そんな わけで安直なソフトを作って何とか動くレベルで大会に参加しました。 今回初めて、大会前日の試走会にも参加して調整したのですが、残念 ながら予選でリタイアとなりました。

今回感じたのがセンサの感度の問題です。センサ感度は抵抗の値で 調節可能なのですが、今回は可変抵抗を使わないで固定抵抗を使って います。s7136は高感度で検出範囲も広いので固定でも大丈夫と考えた からです。何種類かの抵抗値で検出距離や感度を試して抵抗値を決めて 後はそのままで使っていました。

ところが会場に用意されていた試走用のコースの一つがかなり反射率が 悪くて、上手くラインを読み取れないことが頻発しました。試走用の コースは2つあって片方は問題なしでした。他の参加者の人達と話して いて、どうもライン用の白色ビニールテープの貼り方の違いではないかと いうことです。予選用のコースも反射率が悪い方に近い状態だったようです。

やはり感度は調整できるようにしておいた方が良いようです。今回私の対応は センサーボードを支える金具をエイやっと力ずくでまげてセンサと地面の 距離を短くする方法で感度を上げました。十分な感度が得られたか不明ですし、 コースに引っかかる可能性も増して決して良い方法ではありませんでした。

いろいろ調整ができるように作っておいた方が、競技コースや会場の条件に 合わせて調整ができるのでトラブル可能性は低くなると思います。ただ、 ごてごてと可変抵抗を並べるのは最近は抵抗があります。小型でシンプルと 行きたいからです。ソフト的に調整できるように作っておく方法もありますが、 多少の違いは吸収できるシステムに仕上げたいものです。

さて今回(2003年)はリタイヤに終わりましたが、ソフトウエアは未完成 のままの出場なので、次はソフトをもっと充実させて臨みたいと思います。


ホーム 一つ戻る