忍者ブログ

東京に帰還した店は経営してない人のブログ

マウスを制作している大学生のブログです (店は経営してないです)

ステッピングモーター駆動関連のアルゴリズム

こんばんは

今回も,何時に更新してるんだよっていう時間の更新です。

「フレッシュマンに出場できそう」という人たちから,東北大会に行けそうな人たちがハードウェアを完成させ,ソフトウェアに入ってきはじめ,一生懸命,指導してきた副部長としてはうれしい限りのですが,教える労力も半端ないのと,つまずきやすいパターンがわかってきたので,当分,ソフトウェア編をスタートさせて,多いミス,アルゴリズム,等について解説して,「俺のブログ見て」と言って,仕事をサボろう効率化しようと思いました。


①e2 studioの機能に頼りすぎ問題
これは結構厄介です。まず,みなさん,意味も分からず,テキトーにレジスタの設定をするのはやめましょう。

候補を出せるからと言って,PEポートに関する設定をすべて0xffffにするとかやめてください。

あと,「○○がやってたから,書きました」,論外です。○○君が正しく書いているとは限りません。自分で調べましょう。

②関数を実行しない問題

これは,initなどを関数化しようと試みて,関数にするところまでは正しいんです。

でも,それをmain文で使っていないために,動作がしないという人が多すぎます。

関数はキチンと実行しましょう。

③MTUのTGRAの書き換え

MTUのTGRAの書き換えは,必ず,MTUの割り込み関数内でやってください。

それ以外で書き換えていると,モーターがカタカタ回ったり,動作が不安定になります。

理由は,動作説明でも読んでください。

あと,TGRAの値はTGRBの値を下回ってはいけません。

これは,TGRAを周期レジスタ,TGRBをdutyレジスタとした場合,明らかですよね?

あと,TGRBがコンペアマッチしたときに割り込むように設定しているのに,TGRAがTGRBより小さい値で,TGRAがコンペアマッチしたときにカウンタをクリアした場合,TGRAの値を書き換えることができなくなり…
PR