第2章:硬件平台选型:主控芯片选型与驱动方案

说实话,做数控系统这么多年,我见过太多人一上来就纠结「用STM32还是FPGA」。其实这个问题没有标准答案,关键看你做什么档次的产品。今天我就把这几年的经验摊开来聊聊。

2.1 主控芯片选型:三足鼎立的局面

目前主流的数控主控方案,说白了就三条路:STM32、FPGA、ARM+FPGA。我分别说说它们的脾气秉性。

2.1.1 STM32方案:小作坊的性价比之王

如果你做的是3轴雕刻机、小型激光机,STM32F4或H7系列完全够用。我早期有个项目,用STM32F407做了个4轴联动的小铣床,脉冲频率跑到200KHz,稳得很。

优点:

  • 开发门槛低,CubeMX一键生成代码
  • 成本控制好,一片H7不到100块
  • 生态成熟,网上资料一抓一把

缺点:

  • 纯软件做插补,精度受中断响应影响
  • 多轴联动时,脉冲输出容易抖动
  • 实时性天花板明显,超过4轴就吃力
我的经验: 如果你做的是教学机或原型验证,STM32是最快出活的选择。但量产前一定要做「脉冲抖动测试」,我曾经吃过这个亏——机器空跑没问题,一上刀就振纹。

2.1.2 FPGA方案:硬实时才是王道

FPGA做数控,说白了就是用硬件逻辑直接生成脉冲。我参与过一个高速点胶机项目,要求每轴独立200KHz脉冲,还要做S形加减速。用STM32算到死也做不到,换了XC6SLX9,轻松搞定。

优点:

  • 脉冲输出是硬件级的,零抖动
  • 并行处理,8轴12轴随便加
  • 可以做硬件插补器,速度翻倍

缺点:

  • 开发周期长,Verilog调试到崩溃
  • 价格偏高,一片Spartan-6就要200+
  • 外围电路复杂,DDR配置麻烦
注意: 别以为FPGA万能。我见过有人用FPGA做UI界面,结果资源不够,最后还得外挂MCU。记住:FPGA只适合做「确定性的、重复的、高速的」任务。

2.1.3 ARM+FPGA方案:工业级标准配置

这是目前中高端数控的标配。ARM跑Linux做界面和通信,FPGA做实时控制。我去年做的五轴联动系统,就是用的Zynq系列,一片搞定。

典型架构:

  • ARM侧:Linux系统,负责HMI、文件解析、网络通信
  • FPGA侧:裸机逻辑,负责脉冲生成、编码器采集、IO控制
  • 通信方式:AXI总线或SPI,延迟在微秒级
选型建议:
  • 3轴以下、低速:STM32 + 步进驱动
  • 4-6轴、中速:STM32 + FPGA + 伺服驱动
  • 6轴以上、高速:ARM + FPGA + EtherCAT

2.2 驱动方案:步进 vs 伺服

这个问题其实不复杂。你想想看,步进电机是开环控制,伺服是闭环控制。区别就在这。

2.2.1 步进电机方案

步进电机说白了就是「给一个脉冲,转一个角度」。我刚开始做数控时,觉得步进电机又便宜又好用,直到有一次做雕刻机,丢步了都不知道。

适用场景:

  • 负载变化不大的场合(如3D打印机)
  • 对成本敏感的消费级产品
  • 低速运行(< 500RPM)

避坑指南:

  • 选型时留30%扭矩余量
  • 加减速时间不要小于200ms
  • 驱动器细分不要超过32,否则高频振动
我曾经踩过的坑: 有次做激光切割机,用了57步进电机,细分设到128。结果机器低速时抖得像筛子,换了32细分就好了。记住:细分不是越高越好。

2.2.2 伺服电机方案

伺服电机自带编码器,实时反馈位置。说白了就是「你说去哪,它告诉你到了没」。我做过一个对比测试:同样走100mm,步进误差±0.1mm,伺服误差±0.01mm。

关键参数:

参数 步进 伺服
控制方式 开环 闭环
最高转速 1000RPM 3000RPM
定位精度 ±0.05mm ±0.005mm
价格
调试难度 简单 复杂

2.3 通信总线:EtherCAT vs Modbus vs 脉冲

通信方式的选择,直接决定了系统的实时性和扩展性。我见过有人用Modbus做运动控制,结果一跑起来就卡顿。嗯,这里要注意:不是所有总线都适合做实时控制。

2.3.1 脉冲方向控制

最传统的方式,每个轴需要3根线(脉冲+方向+使能)。优点是简单,缺点是线多、距离短。适合3轴以内的小型设备。

2.3.2 Modbus总线

Modbus RTU用RS485,Modbus TCP用以太网。我建议:别用Modbus做运动控制。为什么?因为它是主从轮询机制,延迟不确定。我试过用Modbus控制4轴,周期抖动达到5ms,根本没法用。

2.3.3 EtherCAT总线

这才是工业级的方案。EtherCAT的「飞读飞写」技术,说白了就是数据包在从站之间传递时,每个从站只取走自己的数据,同时插入反馈数据。延迟在微秒级。

我的建议:
  • 3轴以下、低速:脉冲控制,成本最低
  • 4-6轴、中速:EtherCAT,性价比最高
  • 6轴以上、高速:必须EtherCAT
  • Modbus只适合做IO控制和参数读写

2.4 知识体系总览

下面这张图,是我自己总结的选型逻辑。你照着这个思路走,基本不会跑偏。

数控系统硬件选型决策树 确定轴数和精度要求 3轴以下 / 低速 4轴以上 / 高速 STM32 + 步进 STM32 + 伺服 ARM+FPGA+EtherCAT FPGA+脉冲 脉冲方向控制 脉冲 / Modbus EtherCAT 脉冲 / EtherCAT 核心原则:精度决定驱动,轴数决定主控,速度决定总线 选型时先定轴数 → 再定精度 → 最后选通信

这张图我画了好几个版本,最后发现还是这个最实用。你把它打印出来贴在墙上,选型时对着看就行。

最后说一句: 硬件选型没有绝对的对错,只有合不合适。我见过用STM32做6轴雕刻机的,也见过用Zynq做3轴点胶的。关键是你对成本和性能的权衡。记住:先跑起来,再优化。

专注资料整理