
专业版
总线直流电机驱动模块
569
0
0
0
简介
基于STM32主控的A4950双路直流减速电机驱动。通过IIC或UART指令进行电机控制。
简介:基于STM32主控的A4950双路直流减速电机驱动。通过IIC或UART指令进行电机控制。开源协议
:GPL 3.0
创建时间:2025-04-17 13:26:34更新时间:2025-06-03 15:54:45
描述
项目简介
本项目是一个基于STM32G031G6U6芯片的直流减速电机控制系统,使用A4950驱动芯片实现对直流减速电机的精确控制。该系统可以实现电机转速控制、速度闭环和位置控制等功能,可以应用于各种需要精确控制的应用场景。
硬件配置
主控制器
- MCU:STM32G031G6U6 - ARM Cortex-M0+内核,64MHz主频,32KB Flash,8KB RAM
- 封装:UFQFPN28封装,体积小巧,适合空间有限的应用场景
电机驱动部分
- 驱动芯片:A4950,双H桥DMOS全桥PWM电机驱动器
- 工作电压范围:8V-40V
- 最大输出电流:3A
- 电源电压不超过15V(参考原理图注释)
- 控制方式:PWM控制,频率1000Hz,分辨率1000
编码器接口
- 支持两路增量式编码器(ENCODER_A1/A2, ENCODER_B1/B2)
- 使用LPTIM1和TIM3实现编码器计数
- 实时获取电机转速和位置信息
通信接口
- UART:通过USART2实现串口通信(PA2/PA3引脚)
- SPI:SPI2接口(PA0/PA4/PA5引脚),用于驱动OLED显示
显示接口
- OLED显示器接口(SPI通信)
- OLED_CS, OLED_DC, OLED_RES等控制信号
- 显示电机目标速度(target_speed)和当前速度(current_speed)
- 通过OLED_ShowString和OLED_ShowNum函数实现数据显示
电源部分
- 5V转3.3V电路
- 12V转5V电路
- 电源指示LED
软件架构
基础驱动
- STM32G0 HAL库驱动
- 外设驱动(GPIO, SPI, UART, TIM, LPTIM等)
控制算法
- PID控制:
- 速度环PID控制:比例系数Kp=0.7,微分系数Kd=0.1
- 位置环PID控制:比例系数Kp=0.7,积分系数Ki=0.01,微分系数Kd=0.1
- 双环位置环PID控制:比例系数Kp=0.3,积分系数Ki=0.01,微分系数Kd=0.1
- 双环速度环PID控制:比例系数Kp=0.5,微分系数Kd=0.08
- 控制模式:
- PWM输出范围:-1000~1000
- 支持正转、反转、惯性滑行、制动刹车等多种控制模式
- 支持开环控制、速度闭环控制、位置闭环控制、位置速度双环控制
通信协议
- 串口通信:
-
支持电机状态查询
-
支持参数设置
-
支持实时数据监控
-
命令格式示例:
- PWM控制命令:
Set PWM:,- 电机ID:1或2,对应两个电机
- PWM值:-1000~1000,正值表示正转,负值表示反转,0表示停止
- 示例:
Set PWM:1,500- 设置电机1以50%占空比正转 - 执行效果:设置PWM值,并且通过Set Mode命令切换到开环控制模式
- 速度控制命令:
Set Speed:,- 电机ID:1或2
- 速度值:目标速度,单位为脉冲/秒
- 示例:
Set Speed:2,300- 设置电机2的目标速度为300脉冲/秒 - 执行效果:设置目标速度,并且通过Set Mode命令切换到速度环控制模式
- 位置控制命令:
Set Position:,- 电机ID:1或2
- 位置值:目标位置,单位为编码器计数值
- 示例:
Set Position:1,1600- 设置电机1的目标位置为1600个脉冲 - 执行效果:设置目标位置,并且通过Set Mode命令切换到位置环控制模式
- 双环位置控制命令:
Set PS Position:,- 电机ID:1或2
- 位置值:目标位置,单位为编码器计数值
- 示例:
Set PS Position:2,2000- 设置电机2的目标位置为2000个脉冲 - 执行效果:设置双环控制的目标位置,并且通过Set Mode命令切换到位置速度双环控制模式
- 控制模式切换命令:
Set Mode:,- 电机ID:1或2
- 模式:
open- 开环控制模式speed- 速度环控制模式position- 位置环控制模式ps- 位置速度双环控制模式
- 示例:
Set Mode:2,ps- 设置电机2为位置速度双环控制模式
- PWM控制命令:
-
命令处理流程:
- 接收串口命令
- 解析命令字符串,识别命令类型
- 提取参数(电机ID、目标值等)
- 更新电机控制参数
- 根据控制模式执行相应的控制算法
-
数据存储
- Flash参数存储区
- 支持PID参数的保存和加载
- 电机配置保存
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。









