查看大功率 电机驱动GP36的源代码
←
大功率 电机驱动GP36
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
[[File:MD01-GP36.jpg |350px|thumb|right|MD01-GP36]] == 产品简介 == MD01是一款由4个分立MOSFET组成的H桥高功率电机驱动器,H桥的每条支路由一个N沟道的MOSFET组成;核心的电机驱动芯片用来处理外围输入信号和控制MOSFET的打开与关闭。MD01高功率电机驱动器支持6-30V宽电压输入,较高的电压可能永久的损坏驱动器。 该驱动器适用于多种电机驱动场合,它可以提供高达17A的持续电流,而不需要额外安装散热片。模块的尺寸为4.6cm*4.6cm,支持1.8-5V范围内的控制信号,只需要控制两个IO口即可实现电机的正反转以及速度控制。电机驱动器集成了电流检测功能,IC内部集成了PWM电流调节功能,可以通过改变外部电阻值将电机电流限制在配置的阈值范围内。SLP引脚置为低电平时可以使MD01驱动模块进入低功耗模式,进而实现较低的静态电流损耗,约为9uA。 == 参数规格 == * 工作电压:6V-30V(推荐24V以下) * 工作电流:17A持续 * 逻辑输入:1.8V,3.3V,5V(max) * PWM频率:100kHz * 电流检测:50mV/A (仅在H桥工作时有效) * 欠压保护:有 * 短路保护:有 == 功能与接线 == [[File:MotorDriver17A GP36 pinout w.png|800px]] 注:模块右侧引脚VCC,GND,E1,E2为编码器连接转接端口,需要外接电源输入,不接编码器时不接线。多个电源时需共GND。 '''频率''' MD01电机驱动器支持高达100KHZ的PWM频率,有一点值得注意的是,驱动电路的开关损耗也将正比PWM频率,因此建议正常的PWM频率为20KHZ左右。 PWM引脚上的脉冲信号宽度必须持续大概0.5us以上(小于0.5us的输入脉冲不会在输出端产生变化),因此较低频率的占空比在高频时不可用。如当使用100khz时,脉冲周期为10us,可实现的最小非零占空比即为0.5us/10us,也就是5%。 '''电流检测''' MD01电机驱动器的CS引脚可用来检测输出端的工作电流。该功能仅在H桥正常工作时才有效(制动模式、缓慢衰减模式,启动、停止瞬间都是无效的),CS引脚的输出电压大概为50mV/A+50mV的偏移值。如果负载端工作电流为10A,那么CS引脚的输出电压值则为50mV/A *10A+50mV=550mV。 电机频繁的启动与停止的瞬间,电流瞬时值可达到正常工作时的5-7倍。默认状态下,电机的极限电流值设定为30A。 === Arduino 扩展库 === Arduino library : https://github.com/YFROBOT-TM/Yfrobot-Motor-Driver-Library == 示例代码 == 接线说明:SLP连接arduino UNO数字端口2,PWM连接数字口5,DIR连接数字口4,GND连接arduino UNO的GND。 <source lang="c"> /*************************************************** Motor Test - MD Motor Drive MD_01 , MD_02 , MD_03 , MD_04 , MD_GB36 motor driver library: https://github.com/YFROBOT-TM/Yfrobot-Motor-Driver-Library YFROBOT ZL 10/14/2020 ****************************************************/ #include <MotorDriver.h> #define MOTORTYPE YF_MD // these constants are used to allow you to make your motor configuration // line up with function names like forward. Value can be 1 or -1 const int offseta = 1; const int offsetb = 1; // Initializing motors. // MotorDriver motora = MotorDriver(MOTORTYPE, YF_MD04_ADIR_PIN, YF_MD04_APWM_PIN, offseta, YF_MD04_ASLP_PIN); // MotorDriver motorb = MotorDriver(MOTORTYPE, YF_MD04_BDIR_PIN, YF_MD04_BPWM_PIN, offseta, YF_MD04_BSLP_PIN); MotorDriver motora = MotorDriver(MOTORTYPE, YF_MD04_ADIR_PIN, YF_MD04_APWM_PIN, offseta, YF_MD04_ACS_PIN, YF_MD04_ASLP_PIN); MotorDriver motorb = MotorDriver(MOTORTYPE, YF_MD04_BDIR_PIN, YF_MD04_BPWM_PIN, offsetb, YF_MD04_BCS_PIN, YF_MD04_BSLP_PIN); void setup() { Serial.begin(9600); Serial.println("Motor Drive test!"); } void loop() { motora.setMotor(255); // 电机M1全速正转 motorb.setMotor(255); // 电机M2全速正转 delay(500); motora.setMotor(0); // 电机M1停止 motorb.setMotor(0); // 电机M2停止 delay(500); motora.setMotor(-127); // 电机M1 50%速度反转 motorb.setMotor(-127); // 电机M1 50%速度反转 delay(500); motora.setMotor(0); // 电机M1停止 motorb.setMotor(0); // 电机M2停止 delay(500); motora.setMotor(255); // 电机M1全速正转 motorb.setMotor(255); // 电机M2全速正转 delay(500); motora.getMotorCurrent(); // 获取电流检测口的模拟值 - 输出电压与电流电流成正比(50mV/A),电流为零时电压为0.05V } </source>
返回
大功率 电机驱动GP36
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息