tattaka/ぐだぐだcoder

アクアリウムとかマイクロマウスとかアリュージョニストとかそのへん

今年度機体バグ備忘録(順次追加予定)

  • モータ・モータドライバ発熱

いらないクソデカコンデンサを撤去して解決

  • 右側エンコーダが読めない

未解決

手で回すと正しい値が取れるが直進方向に制御をかけると読み取れなくなりおおよそ値が1/4.5くらいになる

全然わからん

  • stm32に書き込めない

参照:OpenSTM32 Community Site | Connect to custom board STM32L053 - STLINK-V2 - SWD

/open-ocd/0.9.0/share/openocd/scripts/board/st_nucleo_f4.cfgの最終行の

reset_config srst_only srst_nogate   を reset_config srst_nogate   に書き換えたら書き込めるようになった

再出現は警戒

  • if文の挙動がおかしい

 

正しく動くなら半周回転して止まるはず

これをループで回してるけど1回目の処理で角度(ジャイロで積分されている値)にM_PI(任意の数字)が代入されてるっぽい

機体をマイナス方向に回すと初期位置に戻る力が加わる

わけわかんね

この機体の中では180°(3.14[rad])が360という数値に近いらしい

ifの条件文を(角度<360)にすると意図通りの挙動をする

おそらくターン速が決まらなかったのもこれが原因

ただしモータに制御をかけず半周機体を回すと180°は3.14[rad]という正しい値を出力する

わけわかんね

  • 減速が明らかにおかしい

減速が明らかに強い

距離を読み違えている?

加速は(おそらく)問題なし

 

総括