自分用QEI

Dependents:   FourOmniMecha

エンコーダの回転方向はデフォの状態の反対を正としたいならrotReverce()を呼び出すと反対になる.

22020/3/6 移動平均を使ってパルスを平滑化し,RPSを算出している. useAvePRS()を書くことで,エンコーダのパルスを時間平均しそのままRPSを算出する関数MoveAve_pulse_to_RPS()がタイマー割り込みで呼び出される.移動平均を使うことでエンコーダのパルスのばらつきを無くし,平均をとらないとガタガタになるRPSがそこそこ綺麗になる.3000usごとの割り込み.この時間が長いほど精度は高い.あとclass内で配列の格納数をconst int で定義しているため黄色いエラーが出るけど無視. この方法でとったRPSの呼び出しはgetRPS()を使う.

Revision:
5:01e1a1dfbd5e
Parent:
4:13f78735242e
--- a/QEI.h	Mon Apr 13 05:57:14 2020 +0000
+++ b/QEI.h	Mon Apr 13 06:10:36 2020 +0000
@@ -12,6 +12,8 @@
 
     //初期設定
     void init();
+    
+    void Setting_ABstate_Table();//エンコーダの参照表に代入
 
     //MoveAve_pulse_to_RPSを使う場合に記述.3333usごとの割り込み
     void useAvePRS();
@@ -66,6 +68,7 @@
     double rps;
     int8_t NrotDIR;
     double pre_time;   //修正1:関数内staticからグローバルへ
+    int ABstate_Table[15];
 };
 
 #endif
\ No newline at end of file