メイン | 2004年10月 »

2004年09月30日

HDDブラケットを作る

tphd-3s.jpg
先日、HOZANの板金折り曲げ機K-130を購入したのと、姪っ子のThinkPad570のHDDブラケットが破損したので、1mmのアルミ板で、作ってみた。
直線の折り曲げは、すごくいい!
ただ、曲げた後の出来上がりの寸法は、経験が必要だなと思った。
最後に、黒のラッカーで塗装して、出来上がり。(すぐはげそうだけど)

(HDDを装着した写真)
tphd-4s.jpg

投稿者 hiranoy : 00:34 | コメント (0)

2004年09月28日

俺サーボ

os-1s.jpg
ROBO-ONE 用に、俺サーボを作る準備を開始している。

・MP4212(DCモータを回すフルブリッジに必要な4個のFETが入ったIC)
・PIC16F684(フルブリッジ用PWM回路が入ったPIC)

PICF684の情報は http://www.oyajin.gr.jp/~toko/pic/0067/index.html で見つけて、Microchipの直販サイトで入手。
MP4212は「FET フルブリッジ」とかで検索していたらいくつかのサイトで使った記事が書いてあり、サトー電気の川崎店で入手。店の人が、「最近よく売れている」といっていた。

今日の実験は、ロジック電源、モータ電源を共通の4.8V(単3NiMHx4)にして、FETのゲートは、スイッチでON-OFFさせるだけ。モータは、マブチ130。

MP4212はHighサイドがPch、LowサイドがNch、が2こずつ。最初、HighサイドとLowサイドにH、L逆のゲート信号を入れたところ、石がメチャメチャ熱くなった。よく考えてみると、PchとNchで片方ONしたいのだから、同相の信号でよかったのだ。っていうか、さっき熱かったのは、電源とGNDがFETを介して短絡していた訳で、非常に危なかった。

ゲート信号を正しくしたところ、モータが勢いよく回り出した。SWを逆にすると、逆転もきちんとできた。

今後は、
・モータ電源と、ロジック電源を別電圧にする。
・PICでPWMを使って速度制御。
・PICのアナログ入力を使ってサーボ。
といったことをやるつもり。

投稿者 hiranoy : 01:16 | コメント (0)

2004年09月26日

最短経路走行完成!

遅まきながら、最短経路走行が完成。
スラロームは、探索走行から行っているので、
クオーターマウス競技なら、「エキスパートマウスクラス」レベル。

今後の課題は、
・最適化した探索走行を作る
・スラローム走行の安定化
・斜め走行への挑戦

全国大会予選より前に、16x16の迷路で試してみたいので、中部などの地区大会に出場してみたい。

投稿者 hiranoy : 04:54 | コメント (0)

2004年09月25日

競技開始

東日本地区大会当日、9月23日。(続き)

最初の競技は、クォーターマウス競技。
最短径路の計算はできていないものの、探索走行はうまくいくつもりだった。
が、単純左手法なのに、左に左折しない箇所が何箇所か...。
さらに、前に壁があるのに激突する箇所が何箇所か...。
最初は、自作迷路と反射率が違うためのセンスミスだと思っていたので、リタイヤせずに何回か走らせる。
そして、激突しつつ走行するうちにゴールに到着。(内部のマップはグチャグチャと十分想像できる走り)
とりあえずジュニアマウス認定。探索走行時からのスラロームがうまくいったのはうれしかった。

昼休みに、試走ができたので、走行後にログをPCに転送してみたところ、センスはうまくしているのに、次に行く方向の処理を間違えているということが分かった。ソースを追いかけたところ x と y の変数が間違えているところを2箇所発見。これで、探索走行はOKと考え、最短径路の計算ルーチンを作り始めた。しかし、ルーチンのテストを始めたあたりで、時間切れ。それでも、探索はうまくいくと思って、マイクロマウス競技に望んだ。

午後の最初はマイクロマウス競技。
スタートして順調に進むが、直線で壁もあるのに姿勢制御をまったくしないで、かべに激突。
4回ほどトライしたが、姿勢制御なしでは、完走は無理なのでリタイヤした。
昼休みに、センサのパラメータをいじったのが敗因。

マイクロマウス競技がだめなら、支部サーキットをがんばろうと、ソフトを修正開始。
しかし、スピードを上げると、変な挙動となることが判明。割り込み処理がいまいち?
結局、ほとんど加速しない動作で、望むことに。

そして、支部サーキット競技。
安定した動作ではあったが、ダントツのビリで完走。

準備不足、ソフトの完成度不足などの割には、うまくいったと思う。
ソフト次第で、まだまだ完成をがあげられそうなので、全国大会の予選にむけがんばろう。

投稿者 hiranoy : 13:14 | コメント (0)

2004年09月24日

電車でDebug!

東日本地区大会当日、9月23日。

みむめも-5のソフトは、3つのタスクが並行に動いている。
マルチタスクのOSは積んでないので、1つが通常のプログラムで、2つが割り込みによって起動されるプログラム。
これらのタスク間での情報のやり取りは変数を使って行っていたが、大会当日の出発直前になって、これがうまくいかないところが出てきた。
とくにメインプログラム側で、while()で変数の変化を待つ動作をさせると、変数が変化してもメインプログラムが、ループから抜けないというもの。
デバッグをするが原因不明。朝の8時が来て、時間切れ。次男と一緒に会場の科学技術館に向け出発。

小田急線で湘南台→中央林間、東急線・地下鉄で中央林間→九段下。
この間、祝日ということもあり、座れたので、PCとマウスを取り出し、デバッグを続ける。途中、不具合回避策が見つかった。while() で待つときに、H8/OSのシステムコール sleep(1) を入れたらうまくいった。
引き続き、バグのせいで中断していた探索走行の作成を続行する。モータの線をはずして、マウスの側面センサが反応するようにして走行動作をさせると、まっすぐ16区画走って、折り返してスタート地点に戻る動作となる。数回のテストで、ここまでの動作が完成。最短径路の計算はまだまったく作っていない。そんなところで九段下に到着。

投稿者 hiranoy : 08:48 | コメント (0)

2004年09月23日

あと4時間...

いよいよマイクロマウス大会関東地区予選当日。あと4時間後には、家を出発しないといけない。
現時点で、加減速+姿勢制御ができたところ。1区画の移動時間約0.4秒。
これから迷路探索ソフトにとりかかる。時間がないので、最適化はなしで、単純な左手法を作ろうと思う。

投稿者 hiranoy : 04:07 | コメント (0)

2004年09月22日

パルスモータのシャフトを切る

パルスモータのシャフトが、車輪より飛び出していたので切断した。
衝突センサのマイクロスイッチが押される前に、フレームが当たってしまう場所があったので、削った。
まだ、探索プログラムは手付かず...。

投稿者 hiranoy : 02:55 | コメント (0)

2004年09月21日

電池は大丈夫そう

m5-loop1s.jpg
電池が長持ちするように、パルスモータの励磁をON/OFFするようにし、また、壁に激突したらすぐ止まるように、マイクロスイッチを取り付けた。
4x4の迷路の外周を姿勢制御しながら走行するソフトができた。速度は直線1区画0.75秒。この速度で、100周壁にぶつからなかった。(写真は、100周走行中のもの)
調子に乗って、1区画0.5秒をためしたが、これは3周くらいで壁に激突。
長時間走行のソフトができたので、電池の持ちを見てみたが、満充電で15分間以上動作した。十分。

投稿者 hiranoy : 04:17 | コメント (0)

2004年09月18日

電池がもたないかも...

現在、電池は、GP製単4、850mAH を10本直列にしている。
昇圧回路のおかげで、3Vくらいまで使えているが、2~3分くらいしかもたない感じ。
予備で、単3x10も搭載できるように買い物に行くことにする。
単3は単4の約2.5倍の容量があるので、競技時間は持つと思われる。

投稿者 hiranoy : 13:20 | コメント (0)

2004年09月17日

オーバーラン

1区画の移動を1秒(1950Hz)でプログラムを作ったところ、ほぼ計算どおりの移動距離となった。
ところが、倍の3900Hzで動かすと、+16mmのオーバーラン。
さらに、3倍の5850Hzで動かすと、+47mmのオーバーラン。
割り込みの処理が間に合っていないと思われる。
そうなると、駆動する周波数を落とすしかない。現在、1/8ステップ駆動しているので、これを、1/1か1/2ステップ駆動にしてみよう。

投稿者 hiranoy : 06:17 | コメント (0)

2004年09月15日

取り扱ってない商品

当研究所では、「プチキャノン」「ヤマトザムライ」「メカボンビーRX」は取り扱っておりません。
これらの商品のお問い合わせは、こちらへどうぞ

投稿者 hiranoy : 19:03 | コメント (0)

いろいろ計算

keisan.jpg
今日はいろいろ計算。

90度ターンのあと、同じ回転半径で45度回ると、斜め走行のライン上にくる回転半径を計算してみた。
(まだ探索走行も出来上がってないのに、斜め走行を考えるやつ...)
図を書いてみると、

・x + y = 90
・x * tan(22.5) = y

のxが求めたい回転半径となることが分かった。
解を求めると、x = 63.64 mm となった。

つまり、90度ターンで1区画を抜ける場合、以下の動作となる。
(1)区画の入り口で 26.36 mm 直進
(2)半径 63.64 mm で90度ターン
(3)区画の出口に向かって 26.36 mm 直進

また、90度ターン後に斜め走行に移る場合は、以下の動作となる。
(1)区画の入り口で 26.36 mm 直進
(2)半径 63.64 mm で135度ターン
(3)斜め走行のライン上になるので、斜め走行開始

上記は、車体の中央のラインの回転半径なので、5号機の車体の値を当てはめる。

・両輪の間隔(中央値) 73 mm
よって、
・回転半径外側 63.64 + 73 / 2 = 100.14 mm
・回転半径内側 63.64 - 73 / 2 = 27.14 mm
・90度ターン時の外側の道程 100.14 * 2π / 4 = 157.30
・90度ターン時の外側の道程 27.14 * 2π / 4 = 42.63
・45度ターン時の外側の道程 100.14 * 2π / 8 = 78.65
・45度ターン時の外側の道程 27.14 * 2π / 8 = 21.315

さらに、上記をパルスモータのパルス数に換算する。
・車軸1周が1600パルス(東芝TA8435Hを使用して、1/8ステップ駆動を行っている)
・車輪の直径 47.5 mm
・車輪の外周 147.65 mm
・1パルスでの移動距離 147.65 / 1600 = 0.092284 mm
・180mm直進 180 / 0.092284 = 1950 パルス
・26.36mm直進 26.36 / 0.092284 = 286 パルス
・90度ターン時の外側の道程 157.30 / 0.092284 = 1705 パルス
・90度ターン時の外側の道程 42.63 / 0.092284 = 462 パルス
・45度ターン時の外側の道程 78.65 / 0.092284 = 852 パルス
・45度ターン時の外側の道程 21.315 / 0.092284 = 231 パルス

90度ターンのときは、1705 パルスと 462 パルスが同じ時間で出力できるようにすればいい。
例えば、ターンに 0.5 秒かけるとすると、
・外側になる車輪に 0.5 / 1705 = 0.00029326 秒周期のパルス
・内側になる車輪に 0.5 / 462 = 0.0010823 秒周期のパルス
を与えると良いことがわかる。

まあ、あくまでも机上の計算なので、実際に走らせるとずれが出てくるでしょう。
明日は、これを実際にプログラムして、微調整を行おうと思う。

投稿者 hiranoy : 02:49 | コメント (0)

2004年09月14日

16bitタイマー割り込みで加減速

16bitタイマー割り込みで加減速ができた!
同じスピードのときは、右のモータと左のモータとで同じ時間に割り込みが入っているはずだが、割り込み回数をカウントしたところ、同じ回数となった。割り込みの取りこぼしはないようで安心した。

投稿者 hiranoy : 02:30 | コメント (0)

2004年09月13日

H8/OSとタイマー

H8/OSはやめると先日書いたが、RAMで実行する部分が便利なので、「できるだけH8/OSの機能を使わずにプログラムを書く」というふうに方針変更。
パルスモータを回すため、内臓のタイマー割り込みが使いたいので、H8/OSのソースを見てみた。すると、timer1_regist() 等のH8/OSの関数で使用しているタイマーは、8ビットタイマーであることがわかった。
SH2の経験しかなかったので、「タイマー」といえば16ビットタイマーだとばかり思っていた。
パルスモータの回転で使いたいのは16ビットのタイマーなので、タイマーの設定と、割り込みベクタをH8/OSの関数で定義すれば動きそう。よかったよかった。

投稿者 hiranoy : 17:49 | コメント (0)

A/D変換ができた

壁センサの入力や、バッテリの電圧をモニタするための、A/D変換のプログラムが完成。
パルスモータも、I/OのビットをソフトでON/OFFする方法では回ることを確認した。最終的にはタイマユニットのトグル出力でモータを回したい。
まあ、いまだにそんな状況なんで、マイクロマウス委員会東日本支部の試走会には参加できず。関東地区大会(2004年9月23日)の前なので、今度の土曜(18日)も試走会がある。これにはなんとしても参加したい。

投稿者 hiranoy : 01:07 | コメント (0)

2004年09月12日

調整用迷路を作る

maze.JPG

900mm×900mm×12mmの600円のコンパネを買って、4×4の迷路を作ってみた。
塗装はラッカースプレー(つや消し黒、白)

ベースの黒は、うまくいった。
壁は両面を白で塗らないといけないのだが、片面が乾ききらないうちに、ひっくり返して反対の面を塗ったので、敷いていた新聞紙とくっついて悲惨な結果に...。(外周の壁は片面塗りでいいので、これが問題なかったのでせめてもの救い)
競技用迷路は、上部が赤で塗られているが、今回のマウスは側面センスなので、塗装せず。

投稿者 hiranoy : 16:51 | コメント (0)

2004年09月11日

LED点灯、でもH8/OSが...

プログラムからLEDの点灯OK。
液晶表示もOK。
さて、本格的にソフトを作ろうかと、まずは、LED点灯とLCD表示を行うソフトを作ったところ、メモリ不足。
秋月のH8/3069Fボードに付属のH8/OSでRAMに転送してプログラムを作っていたのだが、内蔵メモリしかH8/OSが使わない設定になっている?
OSの機能はほとんど不要なので、明日は、OSに頼らないでプログラムを組んでみよう。
12日の試走会に間に合うのか?>俺

投稿者 hiranoy : 03:40 | コメント (0)

2004年09月09日

基板のはんだ付け終了

m5-allbd1s.jpg
基板のはんだ付け作業が終わった。(チェックはまだ)

今作ってるマウスは、通算5号機、今までの名前は「MI.MU.ME.MO.」のあとに号数の番号を付けていたので、今回は、「MI.MU.ME.MO.-5」とするところ。でも読みにくそうなので、「みむめも-5」とした。
今後は、基板をチェックして、ソフトの作成に入る。

投稿者 hiranoy : 03:49 | コメント (0)

2004年09月08日

三角ロボット研究所について

「三角」は「さんかく」ではなく、「みすみ」と読みます。
私の生まれ故郷、熊本県の中央、海の方にある、三角町(みすみまち)にちなんでつけました。
(その町の名前も、2005年から、宇城市(うきし)に変わってしまうのですが。)

ロボットに関しては、高専1年のときに「マイクロマウス」というロボットを作り始めて、早22年(歳がバレます)、ブランクも17年ありますが、久々にマイクロマウスを作り始めました。その製作過程を書いていこうと思ってます。
そして、来年あたりには、ROBO-ONEにも挑戦したいと考えています。

はじめた当時は、マイクロマウス大会くらいしか、コンテストが無かったホビーロボットの世界ですが、今では、ロボコン、ロボット相撲、ROBO-ONE、ROBO-CUPなど、多彩なコンテストが開催されていて、うれしい限りです。

投稿者 hiranoy : 02:58 | コメント (0)