ステッピングモーター駆動関連のアルゴリズム マウス制作関連 2015年09月15日 0 こんばんは今回も,何時に更新してるんだよっていう時間の更新です。「フレッシュマンに出場できそう」という人たちから,東北大会に行けそうな人たちがハードウェアを完成させ,ソフトウェアに入ってきはじめ,一生懸命,指導してきた副部長としてはうれしい限りのですが,教える労力も半端ないのと,つまずきやすいパターンがわかってきたので,当分,ソフトウェア編をスタートさせて,多いミス,アルゴリズム,等について解説して,「俺のブログ見て」と言って,仕事をサボろう効率化しようと思いました。 ①e2 studioの機能に頼りすぎ問題これは結構厄介です。まず,みなさん,意味も分からず,テキトーにレジスタの設定をするのはやめましょう。候補を出せるからと言って,PEポートに関する設定をすべて0xffffにするとかやめてください。あと,「○○がやってたから,書きました」,論外です。○○君が正しく書いているとは限りません。自分で調べましょう。②関数を実行しない問題これは,initなどを関数化しようと試みて,関数にするところまでは正しいんです。でも,それをmain文で使っていないために,動作がしないという人が多すぎます。関数はキチンと実行しましょう。③MTUのTGRAの書き換えMTUのTGRAの書き換えは,必ず,MTUの割り込み関数内でやってください。それ以外で書き換えていると,モーターがカタカタ回ったり,動作が不安定になります。理由は,動作説明でも読んでください。あと,TGRAの値はTGRBの値を下回ってはいけません。これは,TGRAを周期レジスタ,TGRBをdutyレジスタとした場合,明らかですよね?あと,TGRBがコンペアマッチしたときに割り込むように設定しているのに,TGRAがTGRBより小さい値で,TGRAがコンペアマッチしたときにカウンタをクリアした場合,TGRAの値を書き換えることができなくなり… PR