- ベストアンサー
カウンタボードと角度計測プログラムの違いとメリット
- カウンタボードとは、エンコーダで角度計測をする際に使用される装置です。カウンタボードを介する方法とプログラムで計測する方法にはいくつかの違いがあります。
- カウンタボードから出力される信号は、エンコーダの回転角度に対応して変化します。一方、プログラムで計測する場合、デジタル入力ピンの状態を読み取り、それに基づいて角度を計算します。
- カウンタボードを使用すると、特定の状態の信号の変化に応じて角度を自動的に計算することができます。そのため、プログラムの記述や計算式の管理が簡単になります。カウンタボードの使用は、角度計測の正確性や安定性を向上させるメリットもあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ハードウェアのカウンタを使うなら割込みは要らないのか、週刊誌の技術解説記事的に理解するならそういうことですが、プログラムを書く当事者ならば、なぜ割込みが欲しかという要求はプログラマの側にあるはずです。俺は何が何でもエンコーダのA相B相の立ち上がり立下りをプログラムで拾うんだという人にはハードウェアカウンタは要らず、ポーリングでやってのけるという人には割込みすら要りません。処理速度が苦しいから少しだけ時間を稼ぎたいと言う人は4ビットだけのハードウェアカウンタを持ってそのオーバーフローで割り込ませてプログラムのカウンタでbit4以上を実現する人もいるし、角度が物理的に読めるカウンタを持ってポーリングで読みに行こうと言う人もいるし、カウンタの出力にハードウェアのコンパレータとレジスタを持って設定した角度になったら割り込ませたいという人もいるでしょう。やり方はプログラマの頭の中にあるので、ハードウェアのカウンタを持つことは選択肢の増にすぎません。
その他の回答 (2)
書き忘れました。 【誤】1秒1回転のロータリーエンコーダのA相、B相それぞれの立ち上がりと立ち下がりをプログラムで見張るには694μS毎の処理が必要です。 【正】1秒1回転のロータリーエンコーダのA相、B相それぞれの立ち上がりと立ち下がりを【1度ステップで】プログラムで見張るには694μS毎の処理が必要です。 すみません。
処理速度です。1秒1回転のロータリーエンコーダのA相、B相それぞれの立ち上がりと立ち下がりをプログラムで見張るには694μS毎の処理が必要です。694μSのイベントを見張るとは、最低でもこの2倍以上の頻度でポートを監視する必要があるので、非力なCPUには負担になります。特にその結果から台形制御を計算しようなどというと、最低でもエンコーダ監視専用CPUを独立させるか、普通はハードウェアのカウンタを使うことになります。プログラムでこれができるのはよほど低速な回転か、または角度の要求が粗い場合です。エンコーダ専用みたいなICもあるし、クロック入力とUP/DOWN入力があるカウンタなら使えます。ラジコンのサーボモーターのようにポテンショメーターで角度を測るのは電気的に常時できますが、ロリータエンコーダで角度を測るには起動時に実際に原点まで移動してカウンタをリセットする必要があり、用途によってはこれが容認できない場合もあります。
お礼
教えて頂き大変ありがとうございます。一点だけ確認したいのですが、つまりカウンタボードを使うと、エンコーダのために外部割り込みを使う必要が無いという理解でよろしいでしょうか?
お礼
詳しく教えて頂き本当にありがとうございました。とても勉強になりました。