野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 342|回复: 0

【野火】第二期瑞萨RA MCU创意氛围赛 AgileModbus控BDC电机

[复制链接]
发表于 2024-11-2 10:48:25 | 显示全部楼层 |阅读模式
本帖最后由 wangkai7 于 2024-11-13 21:28 编辑

AgileModbus控BDC电机,有刷直流电机。使用立创EDA绘制24V有刷直流电机驱动板原理图和PCB。在瑞萨e2studiu上实现电机控制需要的PWM和UART外设。移植AgileModbus协议站,初始化相关保持寄存器。实现Modbus控制电机。

绘制电机驱动板原理图和PCB
设计可以驱动24V的的驱直流电机动板。采用格式驱动,这样设计对MCU部分没有干扰,并对MCU部分电路起到保护作用。通过全桥的方式控制电机,可以方便的实现电机的速度和方向控制。
隔离式驱动电路
采用集成式的半桥驱动芯片,简化驱动设计。
image1.png
PWM隔离电路
隔离芯片两边的5V电源相互隔离。原边V5_MCU由MCU上的5V电源提供,副边V5电源为MCU上的5V电源经过隔离电源模块产生。
image2.png
12V电源电路,给驱动芯片供电。
驱动芯片供电为12V,驱动板输入电压为24V。
image3.png
5V隔离电源电路,给PWM后级供电。
5V隔离电源采用隔离模块生成。
image4.png
电流采样电路
电流采样电路采样霍尔电流芯片。
image5.png
24V电压采样电路
24V电压采样电路采用隔离运放方式。
image6.png
PCB 3D image7.png image8.png
焊接好的PCB图
因没有24V的直流电机,所以用5V就能驱动的小电机测试,并在电枢回路上串接了限流电阻,避免烧坏电机。
image9.jpeg
驱动程序编写
在e2studio上配置PWM模块。注意需要配置互补的双通道PWM。
image10.png

image11.png

image12.png
配置好后PWM的初始化非常简单
image13.png

PWM占空比控制函数
image14.png
同样在e2studio上配置一个UART模块
image15.png
image16.png image17.png
UART初始化
image18.png
UART接收回调函数
image19.png
Agile Modbus移植
将协议栈添加到工程中
image20.png
初始化协议栈相关的变量
image21.png

image22.png

当UART接收完1帧数据后,将数据送到协议栈,并更新PWM的占空比。电机控制采用2个半桥都是互补PWM的控制方式,因此,PWM的占空比为50%时,电机是停止状态,占空比高于50%,电机正转,占空比低于50%,电机反转。

image23.png
MODBUS测试。0地址为PWM占空比设置值放大10000倍后的值
image24.png
实物连接图
image25.jpeg


视频链接:
https://www.bilibili.com/video/B ... a9e6e56535941f81d7d

例程:基于野火的例程修改
001_GPIO_LED_BEEP_242027.rar (1.43 MB, 下载次数: 0)


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-12-4 00:48 , Processed in 0.133960 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表