发作品签到
标准版

stm32最小系统板的拓展板(电机舵机驱动)

工程标签

1.6k
0
0
0

简介

华中科技大学机甲大师校内赛RM启动队(3队)拓展板开源项目,经过比赛验证,搭配淘宝stm32f103c8t6最小系统板食用。MPS电源芯片可以免费申领~

简介:华中科技大学机甲大师校内赛RM启动队(3队)拓展板开源项目,经过比赛验证,搭配淘宝stm32f103c8t6最小系统板食用。MPS电源芯片可以免费申领~

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-01-28 13:20:57更新时间:2024-10-14 03:58:43

描述

扩展功能:四路有刷电调+编码器连接+8路舵机

基本信息:

xt30电源输入,推荐电压7.4~20V。

电机驱动电压为电源直供,电流达5A每路(理论)。

舵机由5V5A降压模块供电。推荐使用MP2482降压模块,可通过后文链接免费申领。同时可以直接购买MP1584模块,但电流可能较小。

所有板内电机和舵机均使用A11、A12的I2C总线调制,空闲引脚引出。

详细介绍:

焊接说明:没3D图的部分MP2482模块用2.54排针向上,stm32部分用排母向上,stm32SWD下载引脚朝外插在排母上

电源部分:电机驱动为电源直供。舵机的5V由MP2482供电MP2482降压模块,最大5A电流。SPX5205为3.3V的LDO芯片,给STM32供电。注意电机线序,注意模块不要焊反,其他没什么好说的。

信号部分:使用PCA9685的I2C转PWM芯片,支持每个输出IO都有自己的12位分辨率(4096步)固定频率单个PWM控制器,以典型的24 Hz至1526 Hz的可编程频率工作,占空比从0%到100%可调。芯片可扩展实现PWM舵机的控制和有刷电机正反转及调速。I2C地址可调,A0~A5为可调地址位,不焊为0,拉高为1。

特别注明,使用arduino扫描或使用本芯片,未考虑读写位,地址为7位(默认为0x40,二进制1000000);使用stm32时,一般考虑读写位,地址位为8位(默认为0x80,二进制10000000)。但是网上资料几乎没有,导致电路组和嵌软组怀疑人生好几天。

电机驱动部分:使用RZ7899双向马达驱动电路,经典中等功率电机驱动芯片。真值表见数据手册。

控制逻辑:电机驱动芯片输入IO同低输出为高阻态,一高一低输出为一高一低,一低一高输出为一低一高,同高输出为都接入VCC,表现为电机刹车。

当一路为PWM,另一路为低时,电机即可按照PWM占空比调速。建议PWM频率为500HZ以上。舵机控制逻辑太简单了省略。

代码实现:推荐使用软件模拟I2C

主要寄存器及功能:

Mode1寄存器各位状态对应的功能:

使用步骤:

1.  设频率

先给一个初始模式,

根据要设的频率确认频率寄存器应写入的值

公式参考(等式左边就是写入寄存器的值,分母即为目标频率)

进行写入频率寄存器操作时,需先进入sleep模式

2:确定占空比:

即写这些寄存器

Pca9685内部有一个12位的计数器,取LED0_ON_L作为低八位,取LED0_ON_H的低4位作为高4位,由此组成一个12位的数记为ON,当计数器计数值达到ON时,输出为高电平。同理能组成一个12位的数记为OFF,当计数器计数值达到OFF时,输出为高电平。

常把ON置为0,这样0FF/4096就是占空比。

具体代码如下:

再结合此前所说的控制逻辑编写代码即可实现对舵机和电机的控制。

在校大学生免费申领MPS芯片(例如电源小板上的MP2482):

MPS中国大学计划开启于2018年,紧跟国家“新工科建设”的战略方向,从前沿技术出发,致力于高等教育理论与实际应用的有机结合,投身中国“卓越工程师培养”大计。目前MPS已在全国多所高校开展了各项教学科研及竞赛支持活动,深受教师与同学的好评。

若需要MP2482DN/DS测试样品可以再填一下【MPS大学计划】免费样品申请单:

MPS中国大学计划

请备注推荐人:电源练习生

感激不尽

设计图

原理图
PCB

BOM

暂无BOM

附件

序号文件名称下载次数
1
202401282135.mp4
11
2
C2688894_LED驱动_PCA9685PW,112_规格书_NXP(恩智浦)LED驱动规格书.PDF
13
3
C92373_电机驱动芯片_RZ7899_规格书_RZ(睿智微)电机驱动芯片规格书.PDF
15
4
PCA9685源码.zip
38
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航