本帖最后由 wangkai7 于 2024-11-13 21:28 编辑
AgileModbus控BDC电机,有刷直流电机。使用立创EDA绘制24V有刷直流电机驱动板原理图和PCB。在瑞萨e2studiu上实现电机控制需要的PWM和UART外设。移植AgileModbus协议站,初始化相关保持寄存器。实现Modbus控制电机。
绘制电机驱动板原理图和PCB 设计可以驱动24V的的驱直流电机动板。采用格式驱动,这样设计对MCU部分没有干扰,并对MCU部分电路起到保护作用。通过全桥的方式控制电机,可以方便的实现电机的速度和方向控制。 隔离式驱动电路采用集成式的半桥驱动芯片,简化驱动设计。 PWM隔离电路隔离芯片两边的5V电源相互隔离。原边V5_MCU由MCU上的5V电源提供,副边V5电源为MCU上的5V电源经过隔离电源模块产生。 12V电源电路,给驱动芯片供电。驱动芯片供电为12V,驱动板输入电压为24V。 5V隔离电源电路,给PWM后级供电。5V隔离电源采用隔离模块生成。 电流采样电路电流采样电路采样霍尔电流芯片。 24V电压采样电路24V电压采样电路采用隔离运放方式。 PCB 3D图
焊接好的PCB图因没有24V的直流电机,所以用5V就能驱动的小电机测试,并在电枢回路上串接了限流电阻,避免烧坏电机。 驱动程序编写在e2studio上配置PWM模块。注意需要配置互补的双通道PWM。
配置好后PWM的初始化非常简单
PWM占空比控制函数 同样在e2studio上配置一个UART模块
UART初始化 UART接收回调函数 Agile Modbus移植将协议栈添加到工程中 初始化协议栈相关的变量
当UART接收完1帧数据后,将数据送到协议栈,并更新PWM的占空比。电机控制采用2个半桥都是互补PWM的控制方式,因此,PWM的占空比为50%时,电机是停止状态,占空比高于50%,电机正转,占空比低于50%,电机反转。
MODBUS测试。0地址为PWM占空比设置值放大10000倍后的值 实物连接图
视频链接:
https://www.bilibili.com/video/B ... a9e6e56535941f81d7d
例程:基于野火的例程修改
001_GPIO_LED_BEEP_242027.rar
(1.43 MB, 下载次数: 0)
|