マイクロマウスの機体です。
第37回全日本マイクロマウス大会のクラッシック競技フレッシュマンクラスに出場しました。
予選を通過し、決勝では11位のタイムで完走しました。
マイコン | STM32F405RGT |
6軸センサ | MPU6500 |
モータドライバ | DRV8835 |
フォトダイオード | SFH213FA |
赤外線LED | VSLY5850 |
モーター | Faulhaber 1717+IEH2-1024 |
バッテリー | Hyperion 1cel 120mA × 2 |
- pcb/ : kicadの基板データ
- firmware/ : stm32のファームウェア(eclipseのプロジェクトファイル)
↓の画像のような構成になっています。
FreeRTOSを利用しています。
上の画像の緑の色のついている部分がFreeRTOSのタスクになっています。
だいたいこんな感じです。
以前作ったものを使用しています。
壁センサは少し工夫したので説明しておきます。
ロ技研内での技術交流のために作成したまとめ文章も置いておくので、よかったら見てください
研究報告書
外乱を防ぐために赤外線LEDを変調して使っています。
受光した信号は直交復調に基づいて復調しています。
計算自体はDFTをとある周波数についてだけ計算することと同じです。
受光した信号を
、サンプリング周波数を
とします。
ここでは
から周波数
成分の強度を計算するとします。
まず
を計算します。
次に
の絶対値を計算することで
に含まれる周波数
の振幅を得ることができます。
- 基板の外形はinventorで作成 -> dxfで出力
- 回路図・アートワークはKiCad 4.0.4-stableで作成
- コンパイラ : GCC 4.9.3 (arm-none-eabi)
- デバッガ : GDB 7.8.0.20150604-cvs (arm-none-eabi)
- OpenOCD 0.9.0
- IDE : Eclipse
- CDT
- GNU ARM Eclipse plugin
- eclipseのプロジェクトの雛形はGNU ARM Eclipse pluginから自動生成されるものを使用
- STM32のStandard Peripheral Libraryを使用