MDC2018のデータ量を削減したプログラムのマスタ側(メインマイコン)のプログラム

Dependents:  

モータドライバコントローラ2018(MDC)

モータドライバコントローラ(MDC2018)は、2018年に開発されたモータドライバを制御するためのドライバ回路です。

基本データ

分類名称など
CPUSTM32F303K8T6
主用途3ピン型MDの駆動とABZ相出力型インクリメンタルエンコーダの読み取り
製作年2018年
通信方式I²C(Slave)・UART

使用方法

  • ST-LINK V2にmdc_simpleのソースコードを書き込むか、main.cppを参考にしてオリジナルのファームウェアを作成して、書き込みます。
  • I²Cコネクタ経由でメインマイコンから制御します。
  • 5V駆動インクリメンタルエンコーダとモータドライバ(2018年)制御端子を接続します。

詳しくは、readme.txtを参照してください。

Revision:
7:6d3ea87a81c7
Parent:
6:6b81003405dd
Child:
8:f62e19b0c76e
diff -r 6b81003405dd -r 6d3ea87a81c7 mdc.cpp
--- a/mdc.cpp	Tue Oct 09 18:56:10 2018 +0000
+++ b/mdc.cpp	Tue Oct 16 09:58:03 2018 +0000
@@ -9,6 +9,8 @@
     data[1] = 0;
     data[2] = 0;
     data[3] = 0;
+    data_reset[0] = 0xff;
+    data_reset[1] = 0;
     val = 1;
 }
 
@@ -34,6 +36,11 @@
     int val = i2c.write(address,md_data,2,false);
     return (val);
 }
+
+void motor::reset_enc(){
+    i2c.write(address,data_reset,2);
+}
+
 int motor::count_e(){
     val = i2c.read(address,data,10,false);
     count = ((data[COUNT_MINUS])?(-1):(1))*data[COUNT_SPIN];