自分用QEI
エンコーダの回転方向はデフォの状態の反対を正としたいならrotReverce()を呼び出すと反対になる.
22020/3/6 移動平均を使ってパルスを平滑化し,RPSを算出している. useAvePRS()を書くことで,エンコーダのパルスを時間平均しそのままRPSを算出する関数MoveAve_pulse_to_RPS()がタイマー割り込みで呼び出される.移動平均を使うことでエンコーダのパルスのばらつきを無くし,平均をとらないとガタガタになるRPSがそこそこ綺麗になる.3000usごとの割り込み.この時間が長いほど精度は高い.あとclass内で配列の格納数をconst int で定義しているため黄色いエラーが出るけど無視. この方法でとったRPSの呼び出しはgetRPS()を使う.
Diff: QEI.h
- Revision:
- 3:4f69bb55ab4a
- Parent:
- 2:98811a31580a
- Child:
- 4:13f78735242e
--- a/QEI.h Thu Mar 12 16:37:16 2020 +0000 +++ b/QEI.h Fri Mar 20 14:33:11 2020 +0000 @@ -47,6 +47,7 @@ double pulseAve; double rps; int8_t NrotDIR; + double pre_time; //修正1:関数内staticからグローバルへ }; #endif \ No newline at end of file