4、控制核心选型:主控MCU选型与最小系统设计
车门电机驱动控制,说白了,大脑就是主控MCU。选对了,后面顺风顺水;选错了,调试起来能让你怀疑人生。我个人习惯,在项目启动前,先把MCU的选型框架搭好,再动手画板子。
4.1 主控MCU选型:STM32F103 vs TI C2000系列
这两个系列,是我在轨道交通车门项目里用得最多的。它们各有各的脾气,我分别说说。
4.1.1 STM32F103系列
这个芯片,大家太熟了。Cortex-M3内核,72MHz主频。说实话,对于大部分车门电机控制场景,它够用了。
- 优势:生态好,资料多,成本低。你随便搜一下,例程一大把。
- 劣势:没有专用的PWM死区插入硬件,需要软件配合。另外,它的ADC是12位的,精度一般。
- 我遇到过的情况:有一次做一款低速车门,用的就是STM32F103。电机运行平稳,但遇到急停指令时,PWM关断响应有点慢。后来我查了,是中断优先级没配好。嗯,这里要注意,STM32的嵌套中断优先级一定要仔细设置。
4.1.2 TI C2000系列(如TMS320F28035)
C2000系列,是TI专门为电机控制设计的DSP。说白了,它就是为干这活而生的。
- 优势:内置硬件PWM模块(ePWM),支持死区时间自动插入、故障捕获。ADC是12位,但采样率更高,而且有硬件过采样。CAN模块也是标配。
- 劣势:开发环境CCS比较重,上手门槛高一点。价格也比STM32贵。
- 我的建议:如果你做的是高速车门,或者对实时性要求极高的安全门,我建议直接上C2000。它的PWM硬件逻辑,能帮你省掉很多软件上的麻烦。
选型总结:
预算敏感、功能简单 → STM32F103
性能优先、安全要求高 → TI C2000
4.2 MCU资源需求:你得算清楚这笔账
选型不是拍脑袋。你得先算清楚,你需要哪些外设资源。我一般会列个清单,一项一项核对。
4.2.1 PWM定时器
车门电机驱动,通常用H桥或三相桥。每个桥臂需要一对互补PWM信号,还要带死区时间。
- 需求:至少2对互补PWM(控制一个直流电机)。如果是三相无刷电机,需要3对。
- 我踩过的坑:曾经我选了一款MCU,PWM定时器数量够,但它的PWM输出引脚和CAN引脚冲突了。没办法,只能改PCB布局。所以,选型时一定要看引脚复用表,别光看数量。
4.2.2 ADC
你需要采集电机电流、电压、温度。一般需要3-4个ADC通道。
- 需求:至少2个独立ADC模块(一个采电流,一个采电压),采样率不低于1Msps。
- 注意:STM32F103的ADC是12位,但实际有效位数可能只有10位左右。如果你需要高精度电流采样,可以考虑外挂ADC,或者用C2000的硬件过采样。
4.2.3 GPIO
车门控制少不了各种传感器信号:门锁到位、防夹条、限位开关、紧急解锁按钮等等。
- 需求:至少预留8-12个GPIO,其中一半要支持外部中断。
- 我的习惯:我会多留4个备用GPIO,万一后期加功能,不用改板子。
4.2.4 CAN
轨道交通里,CAN总线是标配。车门控制器需要和列车网络通信。
- 需求:至少1路CAN接口,支持CAN 2.0B。
- 避坑指南:我曾经遇到过CAN收发器选型不对,导致通信距离不够。后来换了带隔离的收发器,问题解决。所以,CAN接口一定要加隔离,别省这个钱。
| 资源类型 | 最低需求 | 推荐配置 |
|---|---|---|
| PWM定时器 | 2对互补PWM | 3对互补PWM + 死区硬件 |
| ADC | 3通道,12位 | 4通道,硬件过采样 |
| GPIO | 8个 | 12个(含4个中断) |
| CAN | 1路 | 1路,带隔离 |
4.3 最小系统设计:让MCU跑起来
选好芯片,接下来就是画最小系统。这部分看着简单,但细节决定成败。我见过太多板子,因为最小系统没做好,MCU死活不工作。
4.3.1 晶振电路
MCU的心脏是时钟。晶振选不好,系统就不稳定。
- 推荐:8MHz无源晶振,配两个20pF负载电容。
- 注意:晶振走线要短,远离大电流走线。我习惯在晶振下方铺地铜,减少干扰。
- 我遇到过的问题:有一次,晶振起振不稳定,时好时坏。查了半天,发现是负载电容焊错了容值。换成22pF后,一切正常。
4.3.2 复位电路
复位电路,说白了就是让MCU在上电时能正确启动。
- 推荐:10kΩ上拉电阻 + 0.1μF电容到地。简单可靠。
- 高级用法:如果环境干扰大,可以加一个复位监控芯片(如MAX809)。
- 避坑指南:我曾经为了省成本,没加复位芯片,结果在强电磁干扰下,MCU偶尔死机。后来加了复位芯片,再也没出过问题。
4.3.3 电源电路
MCU需要稳定的3.3V供电。车门系统里,通常有24V或48V电源,需要降压。
- 推荐:用DC-DC(如LM2596)降到5V,再用LDO(如AMS1117-3.3)降到3.3V。
- 注意:MCU的每个VDD引脚旁边,都要放一个0.1μF去耦电容。这个不能省。
- 我的习惯:我会在电源入口加一个TVS管,防浪涌。轨道交通环境,电源波动大,这个保护很有必要。
4.3.4 调试接口
调试接口,是你和MCU对话的窗口。没有它,你只能靠猜。
- STM32:SWD接口(SWDIO、SWCLK、GND、VCC)。只需要4根线,省空间。
- C2000:JTAG接口(TMS、TCK、TDI、TDO、GND、VCC)。
- 我的建议:不管用哪种,一定要把接口引出来,哪怕不焊排针,也要留焊盘。我见过有人为了省空间,没留调试接口,结果程序烧不进去,只能飞线,那叫一个痛苦。
小技巧:调试接口旁边,加一个复位按键和两个LED(电源指示、运行指示)。调试时能省不少事。
警告:最小系统画好后,先别急着焊其他电路。只焊MCU、晶振、复位、电源、调试接口。上电后,先确认MCU能正常工作,再焊其他部分。这是血的教训——我曾经一次焊完所有器件,结果MCU不工作,排查了三天,才发现是电源去耦电容焊错了位置。
好了,这一章就到这里。MCU选型和最小系统设计,是车门控制器的根基。根基不稳,后面全是白搭。下一章,我们聊聊功率驱动电路的设计,那才是真正出力的地方。