磁気式エンコーダ その1
こんにちは。エヌがのです。
今回は、今年さんざん苦労させられた磁気式エンコーダについて書きたいと思います
エンコーダは、角度を計測するセンサーで、マイクロマウスではタイヤの回転数を計測するためによく使用され、重要な要素となっています。タイヤの回転数から、マウス自身がどれだけ進んだか、また、どれほどの速度で走行しているかが分かります
一般的に、エンコーダには、光と機械的な特性を用いた光学式と磁石の磁力線の特性を用いた磁気式という2つの方式があります。マイクロマウスではよく小型化されやすい光学式のエンコーダを用いることが多いのですが、本当に小型なものは値段が高く、入手も難しいです。しかし、近年では磁気式エンコーダ用の磁気を読み取る小型のICが安価で入手できるようになりました。このため、磁気式エンコーダを自作するマウスが多くなりました
私もこの流れにのっかり、磁気式エンコーダを使ってみました
使った感想としては、ちゃんと使わないと痛い目を見る。ということです。やはり既製品はよくできていて、自作するとボロがたくさんでます
さて長々と書きましたが、磁気式エンコーダをどのように作製したか、問題点どこだったか、どのように解決したのかというのを書いていきたいと思います
まず、設計 左:組立図 右:分解図
左から磁気式IC、鉄製スペーサ、磁石、スペーサ、シャフト、ベアリング、モータマウント、スペーサ、ギアです。
磁石をリング型にして、固定を楽に、さらにシャフトと磁石の回転中心をできるだけ合わせようという狙いでした。
使用した磁石はネオマグというところのリング型ネオジム磁石内径1.2外径2.6です。
実際に作ったものがこちら
鉄製スペーサは鉄ネジを旋盤で加工して作製、シャフトの磁石固定部分の径落としも旋盤で加工しました
まず問題になったのがICとのSPI通信です
今回、磁気式エンコーダICはAS5047を選択し、SPI通信で角度の情報を読み取るという方式を取っていました。その際、マイコンのピン数削減のために、MPU6500と一部を共通配線にしました。
このせいで、めんどくさい問題がでました。MPU6500とAS5047とは通信の方式が同じSPI通信でも少し違っていて、一括で同じ設定で通信ができません。具体的には以下の2つの仕様が違いました。
○MPU6500
・8bit data / frame (一回の通信が8bit毎のデータ量)
・SCLKの基準電圧がhigh
○AS5047
・16bit data / frame
・SCLKの基準電圧がlow
RX631のRSPIには一つの通信毎にこのような設定を変更する機能があったので今ではなんとか通信出来ていますが、設定するのにずいぶんと時間がかかりました。できれば配線を分けたほうがいいと思います。
次に問題になったのが、磁石がモータと引き合うというものでした。
実は当初は上で公開しているような設計ではなく、もう少し大きめの外径6くらいの磁石を使用していました。さらに、モータも比較的大きいものを用いているため、このような問題がおこりました。主観的な説明になりますが、かなり強力に引きつけていました。100度くらい磁石を意図的に回しても、手を離した瞬間にすぐ戻ってしまうほどには。
この問題を解決すべく、磁石の径を上で説明しているものに落とし、鉄製のスペーサで囲いました。こうすることによって、改善しました。手で意図的に回しても、引きつけられているとは感じないまでになりました。
さて、肝心のエンコーダからの取得データですが、このようになりました。
左:速度mm/sに直したもの 右:取得角度(最大14bit)
これはモータにduty10%?ほどかけて空転させたときのデータです。これを見たときは少し絶望しました。ここまでブレるのか・・・と。
ここからは次回書くことにします。
長文になりましたが、ここまで読んでくださり、ありがとうございました。
2015年全日本大会
こんにちは。エヌがのです。
2015年の全日本大会が終わりました。今年も進行はスムーズに進み、気持ちの良い大会でした。大会の運営に関わった皆様に感謝致します。
私の大会の成績はといいますと、
競技名 | 順位 | タイム |
---|---|---|
クラシックエキスパート予選 | 16位 | 8.789秒 |
クラシックエキスパート決勝 | 16位 | 17.779秒 |
ハーフエキスパート決勝 | 16位 | 1:14.177秒 |
とりあえず今年は16に縁があるようです。全部16位・・・
今年のクラシック決勝の迷路はかなりおもしろい迷路でした。私のシミュレータではこのような結果がでました。
近年では、長い直進がトレンドになっていた全日本のクラシックエキスパート決勝迷路ですが、今回も長い直線が豊富で左回りの経路が最速かと思いましたが、なにやらターンが多い右回りの経路が一番速いようです。大会の上位陣もこちらの経路を選んでいる人が多かったため、やはりこちらの経路なんでしょう。一応、ターン速度を下げて、直進速度と加速度の設定を上げてシミュレーションしましたが、同じ結果がでました。
今年は斜め走行は5走目にしか行えず、ターン速度も600mm/sと全然だせない上に走行失敗という結果になりましたが、次はもっと速度を出したいと思います。
ハーフエキスパートは、初めての32×32大迷宮に挑戦しましたが、やはりでかい。前日に慌てて対策しましたが、なんとか問題なく走行できた模様。とりあえず当初の目標であった、フル迷路の完走は果たせたので良しとします。ハーフには今年かなり力を入れましたが、まだまだ満足には走行してくれません。
今年の反省点はこの4点で、
・ハード開発期間が長い
・マウス開発を始めるのが遅い
・ソフトウェア開発をもっと落ち着いて行う
・評価をもっと詳細に行う
です。
とりあえず毎年のことながら、ハードに構いすぎて時間をとられ、ソフト開発が急ぎ足になり全然進歩しない。さらに、評価が甘く、あとあとで欠点や欠陥に気づくというのもたびたびあった。
研究でもそうだが、問題認識と改善策とその裏付けと評価というのがちゃんとできてないせいでなかなか前に進まない、または間違った方向へ進んで道に迷うというのがよくある。時間がないというのはただの言い訳で、ひとつひとつやれば結果的に最適解へは短い時間で到達できるはず。どうしても思考がズレてしまい、なかなかこれらを正確に行うことができないでいて、どうして良いか悩み中です。根深い問題・・・
とりあえず、来年のマウスについては
・始動を早くする
・ハードにいらんことせずシンプルなものを作る
というのを行おうと思います。
2015年クラシックマウスver2
こんにちは。エヌがのです。
2015年のクラシックマウスver2の詳細を報告します。なんとか全日本の1週間前に完成しました。一応良好に動いています。
回路、ハードの構成自体はほとんど変わっていませんが一応
名前 | OpenerBurst |
サイズ | 縦:75mm 横:70mm 高さ:25mm |
重量 | 60g |
電源 | Hyperion Lipo 2cell 120mAh |
Motor | Maxon DCX10L |
モータドライバ | DRV8835 |
CPU | RX631 |
壁センサ | TPS601 & SFH4550 |
ジャイロ&加速度 | MPU6500 |
エンコーダIC | AS5047 |
足回り | ホイール径:22mm ギア比:3.46 |
リスペクトこじまうす10ということで、前部分のセンサ配置を中心に寄せて、機体の慣性モーメントを下げています。そのせいで、後ろ重心になり、加速性能がすこし落ちましたが、減速では安定しています。
重心を下げるための裏側のおもりは加工が間に合わなかったため今回は載せていません。重心のバランスはこのおもりでなんとか中心に近づけることができると考えていて、加減速もすこし改善できるはずです。
ハードに関してすこし試みたのが、ピニオンギアです
刃径0.3のエンドミルでギアを削り、イモネジ挿入の穴をボール盤で空け、タッピングしました。
結果は予想していましたが、イモネジ部分の締まりがあまり良くなく、ゆるみやすい。さらに、外力で穴が拡張されてギアの中心が振れてしまいました。やはりイモネジ付きのピニオンギアは金属で作ったほうが良さそうです。
2014年度クラシックマウス
こんにちは。エヌがのです。本日3つめです
2015年のクラシックマウスを書いてる時に、そういえば去年のマウスの詳細情報晒してなかったぞと気がつきました。これは2014年度クラシックマウスです
機体スペックはこちら
名前 | OpenerAccel |
サイズ | 縦:100mm 横:75mm 高さ:30mm |
重量 | 90g? |
電源 | Hyperion Lipo 2cell 120mAh |
Motor | FAULHABER 1331T |
モータドライバ | LTC4449 & IR8910 |
CPU | RX62T |
壁センサ | TPS601 & SFH4550 |
ジャイロ&加速度 | MPU6000 |
エンコーダ | mes-6-500 (MTL社) |
足回り | ホイール径:26mm ギア比:2.8:1 材質:A7075(超々ジュラルミン) |
このブログでもチラっとは全日本前に晒している気がしますが、このマウスはこんな機構になってます
モータの出力を内歯車で受け、それを外歯車でエンコーダを介してもうひとつのタイヤとつなげています
私は2013年にDC2輪マウスを製作し、2014年はDC4輪にしました。ですが普通の1717モータを使用したマウスを作るのはつまらないと思い、この変な内歯車を使ったマウスを思いつき、作製しました。要はなんか面白そうなものを作ってみたかっただけです
作るのにはだいぶ時間がかかりました。まずホイール
これが一番作製に時間がかかりました。およそ3,4ヶ月くらい?いろいろ加工方法を変えた結果こんなものができあがりました。ギア部は大学の放電加工機、追加工は旋盤、フライス盤の手加工です。内歯車付きのほうはこんなかんじにPEEKを削ったものを圧入して使用
モータマウントもCNCで切って、フライス盤で手加工と少し手間がかかりました。そしてこれはギアのバックラッシの調整のためにたくさん切りました
まだまだあったはず。
ピニオンギアも、2013年度にさんざん苦労させられたので、イモネジで固定できるように自作
横から見ると足回りはこんな感じに
回路もモータドライバに手を加えたり、コンデンサに凝ってみたり色々試行錯誤しました。
今思い返してみるとえらい色々やってんなと思いますが、肝心なソフトが全然できてなかったので、まあ当たり前だと納得です。
今年もハードで唸っているのでそろそろぬけだしたいところ。
2015年全日本マイクロマウス学生大会とその他大会
こんにちは。エヌがのです。本日2つ目です
つい先週、全日本学生大会がありました。クラシック、ハーフ、サーキットと3競技出場しましたが、なかなかの成績を残せました。
学生大会 | ||
種目 | 順位 | タイム |
---|---|---|
クラシック | 6位 | 10.186秒 |
ハーフ | 優勝 | 15.771秒 |
サーキット | 6位 | 10.487秒 |
中でもハーフ優勝は2年ぶりの入賞ということで、とても嬉しいです。シード取得は初!学生のハーフはまだ平和ですね。たぶん某Mi○eがあまりいないからでしょう。クラシックは急増の新作をなんとか動かし、危うい走行ではありましたが完走してくれたので十分です。後に、あと0.02秒はやければシードだったというのを知って少し後悔しましたが。
思うところはクラシックの迷路ですが、あれは面白い迷路ではあったと思います。ほとんど両壁のあるところがなく、横壁制御が効かない。また、柱のみの場所が多く、壁切れを読むのが困難。探索に関して言えば、袋小路は嫌というほどあるため、時間があれば完走は難しくはないと思います。ただ、初心者は、特にジャイロのないステッパマウスは直進に関しては横壁制御に頼らざるを得ないため、ターンの角度が少しでも甘いと壁にぶつかっておしまい・・・。なかなかターン角度の重要性を知るいい機会ではあったのかもしれません。個人的はこのくらいの難易度でバッチコーイなんですが、今回うちの後輩たちがほとんど完走できてないという現状をみるとなんだか複雑です。
長々と物申してしまいましたが、他の大会の記録もここに上げときます
中部地区大会 | ||
種目 | 順位 | タイム |
---|---|---|
クラシック | -- | R |
ハーフ | 10位 | 13.273秒 |
サーキット | -- | R |
東日本地区大会 | ||
種目 | 順位 | タイム |
クラシック | 5位 | 9.478秒 |
ハーフ | 6位 | 36.360秒 |
サーキット | -- | R |
関西地区大会 | ||
種目 | 順位 | タイム |
クラシック | 7位 | 53.452秒 |
ハーフ | 6位 | 14.132秒 |
順位だけみるとなかなか良さそうに見えますが、そもそもハーフは母数が少ないのでほとんど最下位近くの順位です。中には最短すらできなかったものも。ハーフはやはり社会人が強い。学生はあまりやってる人がいなくそこそこ平和。今年は関西方面へ遠征にいきましたが、なかでもIsysの成長が目覚しく、うちでは歯が立たないのではないか・・・。特にIsysはトレーサ、クラシック、ハーフと幅広くやってるのがすごく良い。
東のMice、西のIsys??ロボメカももうちょいがんばりたいところ。
2015年クラシックマウス
こんにちは。エヌがのです。お久しぶりです
なんだかんだでもう11月になりました。シーズン中は時間が過ぎるのがはやいです。今年はずっとハーフにつきっきりでしたが一応クラシックにも出るつもりなので、新作を作成しました。
空中に浮遊して固定されているものはモータドライバです・・・。もともとのモータドライバは、機体作成後に動作させてみるといろいろ具合が悪かったため使用を断念し、別のものを無理やり増設させた結果、残念なことになってしまいました。繋がっている配線が細いため、壁にぶつかると即切れます。走らせるとヒヤヒヤします。ハンダごてが手放せない
機体スペックは以下になります
名前 | OpenerBurst |
サイズ | 縦:100mm 横:75mm 高さ:25mm |
重量 | 78.5g |
電源 | Hyperion Lipo 2cell 120mAh |
Motor | Maxon DCX10L |
モータドライバ | L6205 |
CPU | RX631 |
壁センサ | TPS601 & SFH4550 |
ジャイロ&加速度 | MPU6500 |
エンコーダIC | AS5047 |
足回り | ホイール径:22mm ギア比:3.46 |
今回のクラシックの特徴は低重心です。モータの径を小さくしさらに底に真鍮板を取り付けております
この真鍮板が10gほどあり、機体の総重量の1/8を占めています。このため、随分と重い機体になってます
重心が低くなることで、加減速時のピッチ回転方向の力や、旋回時のロール軸方向の力が抑えられるため、幾ばくか効果はあると思いますが、どの程度なのかがまだわかっていません。個人的に期待していますが、吸引勢に対抗できるほどではないだろうとは思ってます
一応いつ切れるかわからない配線のまま全日本には望みたくないので、ver2を作成中
初ハーフマウス完成
こんにちは。エヌがのです
8月こそはハーフ完成させるぞと意気込んだ矢先に艦これの夏イベントにかかりっきりになり、始動が遅れに遅れ、とうとう9月になってしまいましたが、とりあえずハーフマウスのハードが完成しました
名前 | MercesAgressive |
サイズ | 縦:60mm 横:37mm 高さ:13mm |
重量 | 17.5g |
電源 | Hyperion Lipo 1cell 70mAh |
Motor | Didel MK07-1.7 |
モータドライバ | DRV8836 |
CPU | RX631 |
壁センサ | SEP8705 & LTR-4206 |
ジャイロ&加速度 | MPU6500 |
エンコーダIC | AS5047 |
足回り | ホイール径:13mm ギア比:3.375 |
マウスの名前ですが、自分はスネークケース(get_valueみたいな表記)を好んで使っているのですが、今回の大会のテクニカルデータでは15文字制限がかかり、泣く泣くキャメルケース(GetValueみたいな表記)で書くということがありました
今回のテクニカルデータの登録は、気になってたセンサー辺りや開発者等の項目が改善されていて、すごく書きやすいと感じたのですが、文字制限だけは残念だと思いました
今回のハーフサイズマウスですが、初ということで目標は全日本の予選で完走です。なので、スペックはあまりこだわらず、とりあえず作りたいものを作ってみました。
やはりこだわりはこの足回りで、特に大きなメリットはでかいモータを使った変則4輪機構ができるということくらいですが、パワーisジャスティスという思想を掲げ、組み込みました
また、マウスの重心も少しばかり下げる努力をしてみました
↑裏面
重量は17.5gほど
ハーフマウスの中では重い部類でしょうか
重心はおおよそ真ん中くらいのようで、とりあえずまともなマウスになりそう。ソフトウェアは今からなので、9月後半の関西大会までにはなんとか探索ができれば良いなと思ってます
クラシックも製作予定なのですが、もう元気が残ってない・・・