MotorDriver IIC:修訂版本之間的差異
第 33 行: | 第 33 行: | ||
创建对象: | 创建对象: | ||
+ | |||
MotorDriver_PCA9685 motorDirver = MotorDriver_PCA9685(); | MotorDriver_PCA9685 motorDirver = MotorDriver_PCA9685(); | ||
− | Methods: | + | |
+ | '''方法 Methods:''' | ||
+ | |||
初始化 | 初始化 | ||
+ | |||
motorDirver.begin(); | motorDirver.begin(); | ||
+ | |||
设置单个电机反向,参数:0-默认,1-反向 | 设置单个电机反向,参数:0-默认,1-反向 | ||
+ | |||
motorDirver.setMotorDirReverse(0, 1, 0, 1);// M1/M3 默认方向 M2/M4反向 | motorDirver.setMotorDirReverse(0, 1, 0, 1);// M1/M3 默认方向 M2/M4反向 | ||
+ | |||
设置所有电机反向, 0-默认,1-反向 | 设置所有电机反向, 0-默认,1-反向 | ||
+ | |||
motorDirver.setMotorDirReverse(0); // 所有电机默认方向 | motorDirver.setMotorDirReverse(0); // 所有电机默认方向 | ||
+ | |||
驱动单个电机,参数:电机序号 M1,M2,M3,M4;电机速度 -4096~4096 | 驱动单个电机,参数:电机序号 M1,M2,M3,M4;电机速度 -4096~4096 | ||
+ | |||
motorDirver.setSingleMotor(M1, 4096); // M1电机全速正转 | motorDirver.setSingleMotor(M1, 4096); // M1电机全速正转 | ||
+ | |||
motorDirver.setSingleMotor(M1, 0); // M1电机停止 | motorDirver.setSingleMotor(M1, 0); // M1电机停止 | ||
+ | |||
驱动4路电机,参数:电机速度 -4096~4096 | 驱动4路电机,参数:电机速度 -4096~4096 | ||
+ | |||
motorDirver.setMotor(0, 4096, 2048,1024); // 电机M1停止,电机M2 全速正转,电机M3 50%正转,电机M4 25%正转 | motorDirver.setMotor(0, 4096, 2048,1024); // 电机M1停止,电机M2 全速正转,电机M3 50%正转,电机M4 25%正转 | ||
+ | |||
motorDirver.setMotor(0, 0, 0, 0); // 电机M1/M2/M3/M4停止 | motorDirver.setMotor(0, 0, 0, 0); // 电机M1/M2/M3/M4停止 | ||
+ | |||
电机刹车/急停 | 电机刹车/急停 | ||
+ | |||
motorDirver.stopMotor(M1); // 电机M1 刹车 | motorDirver.stopMotor(M1); // 电机M1 刹车 | ||
+ | |||
motorDirver.stopMotor(MAll); // 电机M1/M2/M3/M4 刹车 | motorDirver.stopMotor(MAll); // 电机M1/M2/M3/M4 刹车 |
2020年8月28日 (五) 11:16的修訂版本
簡介
IIC-四路電機驅動模塊是採用堆疊式設計,可直接插於Arduino UNO主控板或其兼容板上的電機驅動模塊。它集成了PCA9685芯片(一個I2C總線控制的16通道PWM控制器)、2片TB6612電機驅動芯片,只佔用Arduino IIC端口(A4-SDA/A5-SCL)即可控制4路電機,IIC地址0x40。
IIC-四路電機驅動模塊可直接連接M1、M2、M3、M4,4路電機,接口順序:電機正極、電機負極、編碼器負極、編碼器正極、A相、B相;兼容本店多款電機:25、37、N20;且擴展5路IIC接口、1路VGTR串行通信接口、 6路3PGVS標準傳感器接口、1路串行通信接口,擴展性強。
參數
- 邏輯供電電壓:5V DC
- VIN電機供電電壓:2.5V~13.5V DC(推薦6V~12VDC)
- VS供電電壓:跳線帽短接則為5V,不短接可外接4.8V~6V
- IIC協議控制電機(IIC地址:0x40)
- 5路IIC擴展口(V/G/D-sda/C-scl)
- 1路UART串口通信擴展口(V/G/T-txd/R-rxd)
- 6路GVS I/O擴展口(V由VS供電,通過跳線帽選擇如何連接電源)
- 4路電機接口(電機正極/電機負極/編碼器負極/編碼器正極/A相/B相)
- 電源指示燈x1
功能
Arduino 擴展庫
Arduino library : https://github.com/YFROBOT-TM/Yfrobot-Motor-Driver-Library
Arduino 擴展庫使用方法
調用庫:
#include <MotorDriver_PCA9685.h> // 包含头文件
創建對象:
MotorDriver_PCA9685 motorDirver = MotorDriver_PCA9685();
方法 Methods:
初始化
motorDirver.begin();
設置單個電機反向,參數:0-默認,1-反向
motorDirver.setMotorDirReverse(0, 1, 0, 1);// M1/M3 默認方向 M2/M4反向
設置所有電機反向, 0-默認,1-反向
motorDirver.setMotorDirReverse(0); // 所有電機默認方向
驅動單個電機,參數:電機序號 M1,M2,M3,M4;電機速度 -4096~4096
motorDirver.setSingleMotor(M1, 4096); // M1電機全速正轉
motorDirver.setSingleMotor(M1, 0); // M1電機停止
驅動4路電機,參數:電機速度 -4096~4096
motorDirver.setMotor(0, 4096, 2048,1024); // 電機M1停止,電機M2 全速正轉,電機M3 50%正轉,電機M4 25%正轉
motorDirver.setMotor(0, 0, 0, 0); // 電機M1/M2/M3/M4停止
電機剎車/急停
motorDirver.stopMotor(M1); // 電機M1 剎車
motorDirver.stopMotor(MAll); // 電機M1/M2/M3/M4 剎車