MDC2018のデータ量を削減したプログラムのマスタ側(メインマイコン)のプログラム
モータドライバコントローラ2018(MDC)
モータドライバコントローラ(MDC2018)は、2018年に開発されたモータドライバを制御するためのドライバ回路です。
基本データ
分類 | 名称など |
CPU | STM32F303K8T6 |
主用途 | 3ピン型MDの駆動とABZ相出力型インクリメンタルエンコーダの読み取り |
製作年 | 2018年 |
通信方式 | I²C(Slave)・UART |
使用方法
- ST-LINK V2にmdc_simpleのソースコードを書き込むか、main.cppを参考にしてオリジナルのファームウェアを作成して、書き込みます。
- I²Cコネクタ経由でメインマイコンから制御します。
- 5V駆動インクリメンタルエンコーダとモータドライバ(2018年)制御端子を接続します。
詳しくは、readme.txtを参照してください。
Diff: mdc.cpp
- 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];