1. 项目背景与核心目标
这个项目源于工业自动化领域一个经典需求——如何实现直流电刷电机的精确转速控制。我手头正好有普中科技的DSP28335开发板和一台50W直流有刷电机,于是决定搭建一个完整的闭环控制系统。不同于简单的开环PWM调速,闭环控制需要考虑编码器反馈、PID算法实现、PWM死区设置等关键技术点。
直流电机在工业现场应用广泛,从传送带到机床主轴都能见到它的身影。但开环控制存在明显缺陷:负载变化时转速波动大,启动瞬间容易过冲。通过增量式编码器获取实时转速,配合PID算法动态调整PWM占空比,可以将转速误差控制在±2%以内。这正是本项目的核心价值所在。
2. 硬件系统搭建
2.1 关键器件选型
主控采用TI的DSP28335,这是一款专为数字控制设计的32位浮点DSP,主频150MHz,自带16通道PWM模块和QEP正交编码器接口。相比普通单片机,其PWM分辨率可达150ps级,特别适合电机控制场景。
电机选用50W直流有刷电机(额定24V/2A),配套1024线增量式编码器。这里有个细节:编码器供电必须与DSP共地,否则QEP模块无法正确捕获脉冲。我曾因疏忽这点导致转速读数异常,排查了半天才发现是地线未接。
驱动电路采用IR2104半桥驱动器+IRF540N MOSFET组成的H桥。注意要在MOSFET栅极串联10Ω电阻,并在GS间并联10kΩ下拉电阻,防止误导通。开发板上的PWM信号经过74HC245电平转换后送入驱动电路。
2.2 硬件连接要点
- PWM输出:使用EPWM1A/1B引脚,通过跳线连接到H桥输入端
- 编码器接口:QEP1_A/B连接到编码器差分输出,注意A/B相序不能接反
- 电流检测:在H桥下端串联0.1Ω采样电阻,接入开发板ADCIN0
- 保护电路:在电机两端并联1N5819续流二极管,PWM频率设为20kHz以避免可闻噪声
重要提示:上电前务必用万用表检查H桥无短路!我曾因MOSFET焊接不良导致上电瞬间冒烟,损失了两片IRF540N。
3. 软件架构设计
3.1 主程序流程图
系统以10ms为控制周期,采用中断驱动架构:
code复制主循环
├─ 初始化外设(PWM/QEP/ADC)
├─ 配置中断定时器
└─ 空闲时刷新LCD显示
中断服务例程
