お久しぶりです。R.K.です。
「次からは念願のDCマウス設計について書ければ、と思います。」
と今年の2月に書きながら結局書かないでいました。というのも、自分の機械設計、回路設計に欠陥があると後々まずいだろうと思い、ちゃんと走らせて走る保証ができてから書いた方がいいと思い、また開発に余裕がなさすぎて、まともに反省記事書くことができず、今に至ります。(言い訳)
代わりに頻繁にXで進捗を報告してきたつもりなので、大目に見てください、、、。
次の全日本大会に向けてマイルストーンということで一旦、記録を今後のスケジュールを書き残そうと思い、この記事を書くことにしました。書くことは以下の通りです。
大会の感想
結果から言うと今回はとりあえずDCマウスはちょっと直進しました。前回の東日本(ジャイロ、モタドラ、エンコーダ、センサー無しでデコピンさせてスタートした)と比べるととりあえずペリフェラルは大方チェックできた、という感じです。本当は、走らせて探索をさせたかったのですが、全然計画通り進まないですね。悔しい。感想は以上です。
学生大会までやってきたこと、反省
前回の全日本からだいぶ投稿してなかったのでざっくり月毎にやってきたことを列挙します。(基本Xに投稿してきたことを振り返っているだけです。()内はマウスと関係ないことなので気にしないでください。)
- 月 マウス進捗(本業とマウス以外での活動)
- 2~5月 機械設計(他課外活動で地獄状態)
- 6月 マウス合宿に行っただけ(他課外活動が終了する)
- 7~8月 マウス進捗0(研究と進路関係に全振り)
- 9月 マウス進捗0(他課外活動が一旦落ち着く)
- 10月 機械発注、回路設計、発注、基板到着、DC開始、ステッパーで切符を得るための帰り探索と最短をやってみる(研究そこそこしんどい)
- 11月 DCペリフェラル、中部地区でDC棄権、ステッパーで切符ゲット()、DCペリフェラル(研究しんどい)
- 12月 DCペリフェラル、台形加速もどき爆誕(12/10)(研究メガしんどい)
DCペリフェラルでやったことと、トラブルシューティング
10月から12月10日までにやったきたことと、トラブルシューティングについて簡単に記載します。これからDC始める人には参考になるかもしれません。ちなみにXで投稿した内容なので知っている人はぜひ読み飛ばしてください。
10月
- 基板とモータマウントの接続部分を取り付ける際に、基板の矩形穴の直角の角がエンドミルの切削関係か何かで丸みを帯びていたため入らない
- →3Dプリント品側をやすって入れられるようにした。
- (本当は基板外形設計の段階で角にあえて丸穴を作って余計に削らせるべきです。)
- 横スライドスイッチを付けても付けなくても電源がONになる
- 横スライドスイッチの金属部分が基板のパターンと接触していた
- →横スライドスイッチを少し浮かせて付けることで解決
- マイコン書き込めない
- →最もな原因は90°つける角度を間違えていたこと。ノリで文字がこうやって書いてあるからデータシートに記載されている向きで付けよう、と思ってはいけない。1番ピンの●マークのようなものを頼りにつけること。傾いていて変だなあ、という感覚になる方がたぶん正解です。これで2週間つぶれました。(ちなみに90°間違えて書き込もうとすると、入力されていけないところに電源回りから来た電圧が入力されて即死する原因となるのでこれだけは本当に気を付けるべき)
- →もしマイコンを一度ヒートガンではずす必要ができたときは、基板表面をはんだ吸い取り線、アルコール等ではんだ付けの痕をきれいにするべき。ヒートガンで溶けた分、はんだが変なところに残っていたりして、導通する可能性がある(自分は導通した、これが書き込めない副次的な原因となりうる?)
11月
- ジャイロ読み込めていない
- 読み込めない場合はエラーを吐き続けるようにするコードのループを一旦外すと、ジャイロの値自体は読み込めていた。エラーを吐く原因は、冒頭のレジスタ読み込みが1回だけだとうまくいっていなかったからだった。読み込めなかった後にもう一度読み込もうとすれば無事にできた
- モータコネクタとマイコン書き込みピンが干渉する
- →マイコン書き込みピンを長いピンヘッダに取り換えてなんとか解決
- モータがTIMの設定で回らない
- →モタドラの仕様でコードがかなり変わる。RTさんのブログを読んで解決。
- モータの確認したあと、ジャイロが読めなくなっていた
- →モタドラのはんだ付けの時にジャイロ(3V3がつながっておらず、ポリウレタン線でモタドラの3V3のパターンに繋げていた)につなげるポリウレタン線が接続不良になっていた。
- MPU6500(ジャイロ用とか)の加速度の値が極端になっていた
- →変換するときに整数型で割ってしまったことで小数部分が消えてしまったから
- エンコーダの片方が取れていない
- →初期化してなかった
- モータとエンコーダ用のTIMが同じものでやろうとしたができなかった
- →またもやポリウレタン線で空中配線してモータのTIMを別のTIMに変更した
- これがマイコンの脚に直接空中配線したのでかなり大変だった
- 割り込みがうまくいっていないので修正した
- バッテリー電圧がうまく測れない
- バッテリー電圧を図るところがかなり苦戦した。バッテリー電圧が安定しないので、平均化して出すようにしていたのをやめてすぐ出せるようにしたら改善した。これはなぜうまくいくようになったのかよくわからなかった。
- スピーカーでSTARWARSのOPのあの部分を演奏できるようにした(自己満)
12月
- センサー値読み込みが一部うまくいかない
- 値が一定になっている
- →センサー値は平均化して取るようにしているのですが、センサー値個数をステッパーマウスの時の4つから5つに変えたのでプログラムも変わり、それに伴ってのバッファーの配列を増やしていなかった
- 値が小さすぎる
- →はんだ付けを改めてやり直したらしっかりとれるようになった
- 値が一定になっている
- PCを一つに絞り、開発を効率化
- エンコーダの値がおかしい
- 型の扱い方が違った
- 時間の概念がコードの中になかったので、うまくプリントできていなかった。HAL_Delayとかを使って時間の要素を入れるとうまくいった。
- ※(いまだに)にしてもパルス数とインクリメンタルエンコーダの特性、ギア比を考慮しても変な値が出ているような気がするので今後さらに検討が必要
- FB制御とFF制御の違いを何となく理解して、FF制御用コードを書いたが台形加速をやらせようとすると暴走する
- FB制御で台形加速やらせようとするも暴走が止まらない。
- →最終的にはTIMの割り込みがうまくいっていなかった
- →計算等を行う割り込みと同じ場所にモータのdutyを代入するコードを書いたら暴走は止まった。台形加速もどきができた。(12/10 走る30分前くらい)
以上です。ダラダラと書いてしまい、申し訳ないです。ログとして残しておきます。
にしても、こうやってみると、自己満要素で開発を自分で遅らせている愚かさがにじみ出ているので滑稽ですね(自虐)
研究と他の課外活動との兼ね合いもあるので、現実的なマイルストーン的には、今大会までにPID制御ができたところまでは行きたかったのですが、表面実装が慣れなかったり、ペリフェラルについての理解が不足していたり、ここ数年で形成された固定観念に苛まれたりして、かなり時間がかかったことでなかなか進みませんでした。DC初心者なのでもう少し計画に余裕を持って開発すべきでした。
とはいえ、もうどうしようもない!というほど現在の基板がやばいわけではないので、探索まではこの基板で何とかならないかなあと思ったり、たくさん調べたり、お勉強をしたことでだんだんと知識がついて成長したなあと思ったりしました。これを糧に今後も苦しみながら作っていきたい思います。
大雑把な今後の開発計画
- 月 マウス予定(本業とマウス以外での活動)
- 12月 PID制御、FF制御、探索(研究メガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
- 1月 最短をとりあえず走らせてみたい、機械、回路の再発注(研究ギガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
- 2月 再発注機体作成、ペリフェラル、探索、制御、(研究テラしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
終わりに
大会運営をしてくださった皆様、そして、一緒に大会に出場した皆様、ありがとうございました!!来年の学生大会も無事に出場できたら嬉しいです。(来年度からは本業の拠点が変わるので、調整に苦労する未来が見える、、。)
最近思うのは、本業でやっている研究は当然ながら創造性があって面白いなあと思うのですが、決まりきった手法で物を作るということに楽しみを感じることに違和感が生じるようになってきました。もちろん、初心者はキットや先輩のやり方を一度は真似をして作ったほうが勉強になると思うので良いと思うのですが、慣れてきてしまうと新しいものを作りたくなってくるものなのかなと思ったりします。(もちろん初心者にとってはハードルは上がってしまうのですが)
我らが創造神の案件の方は、創造神のおっしゃる通り、陳腐になっているマイクロマウス競技に創造性を与えるものだと思うので、やってみたら面白いんじゃないかなぁと思っています。あくまで一意見です。
(最近別件でブログを書くことがあったので、前回の記事よりは読みやすくなったかな。。?)
次のブログは全日本大会後になると思います。読んでいただき、ありがとうございました。