木工職人リーダです。急にバトンパスをさせられていきなりCortexを動かす私。制御プログラムを考えていて一番面倒なのが個人的にモータ制御が一番かなと思います。IO出力が間違えたらFETが飛びますし(保護回路内蔵する羽目に)何か制御文を入れたら1クロックずれますしその補正のためのタイマの使用も面倒です。IOいじってばかりのプログラムなら全部ハードウェアで制御しても問題ない。じゃあ、CPLDを使おうかということになりました。これなら同時処理も簡単なので(シングルタスクのマイコンだと5つ目のモータ制御には20クロック位遅れるかもしれない)制御面においてかなり正確になります。そういうわけでCPLD内部の回路をさっそく設計して開発環境を少しいじってみました(私にとって一番面倒なのは開発環境です)。それだけでは何かもったいないのでほかの機能も付けることにしました。グラフィック表示回路と赤外線センサの最大値をとるコンパレータも内蔵してCortexを軽量化することにしました。おかげで、Cortexのコード容量はさらに減り初期の5分の1くらいになりました(現在20KB)。Cortexの出番がどんどんなくなっていきますねぇ。128KBには簡単に収まりそうです。
RSS feed for comments on this post. TrackBack URL
なんでそんなにモーター制御が難しいかなぁ
タイマーのPWMってつかうよね?
コメント by chibiegg — 2009年12月18日 @ 09:38