3. 驱动与控制架构:主控芯片选型、驱动拓扑与三环控制

好,咱们进入第三个章节。这一章可以说是整个CT机架旋转控制的骨架。选什么芯片、用什么拓扑、怎么搭控制环路、走什么总线——这些决定了你的系统能不能转得稳、转得准、转得安全。

我个人习惯,做这类高精度运动控制项目,第一步不是画原理图,而是先把架构想清楚。架构对了,后面都是填细节。架构错了,后面全是坑。

3.1 主控芯片选型:STM32 vs TI C2000

先聊芯片。CT机架旋转控制,主控芯片要干三件事:

  • 实时计算:电流环、速度环、位置环,每个环都要在微秒级完成
  • 外设管理:编码器接口、PWM输出、ADC采样、通信总线
  • 安全监控:过流、过温、位置超限等故障处理

目前主流方案就两个:STM32和TI C2000。我两个都用过,说说我的感受。

对比项 STM32 (如H7系列) TI C2000 (如F28379D)
主频 最高480MHz (Cortex-M7) 最高200MHz (C28x + CLA)
浮点运算 单精度FPU 单精度FPU + 三角函数加速器
PWM分辨率 16位 16位,支持高分辨率模式(150ps)
ADC 3个12位ADC,最高5Msps 4个12/16位ADC,最高3.5Msps
编码器接口 需要外部电路或定时器模拟 内置eQEP模块,直接接编码器
开发成本 较低,HAL库成熟 较高,但有MotorControl SDK
生态 社区庞大,资料多 工业控制领域更专业

我的建议:

  • 如果做原型验证小批量,STM32 H7系列足够了,成本低、上手快
  • 如果做量产医疗器械,我建议用TI C2000。为什么?它的eQEP模块和HRPWM是专门为电机控制设计的,可靠性更高。我在一个项目中遇到过STM32的定时器捕获编码器信号偶尔丢脉冲的问题,排查了三天,最后换了C2000就解决了。

一个小技巧:不管选哪个芯片,记得留出至少20%的算力余量。CT机架控制算法后期会不断迭代,你肯定不想因为算力不够而换芯片。

3.2 驱动拓扑结构

驱动拓扑说白了就是功率电路怎么搭。CT机架的电机通常是永磁同步电机(PMSM),驱动拓扑主要有两种。

3.2.1 三相全桥逆变器

这是最经典的拓扑。6个MOSFET或IGBT组成三个半桥,每个半桥驱动电机的一相。控制方式就是咱们常说的六步换向或FOC(磁场定向控制)。

  • 优点:技术成熟,成本可控,适合中小功率(几百瓦到几千瓦)
  • 缺点:母线电压利用率只有86.6%(SVPWM可以提升到100%)

3.2.2 三电平NPC拓扑

这个拓扑在高端CT机架上用得越来越多。它用12个开关管,输出三个电平(+Vdc、0、-Vdc)。

  • 优点:谐波小、EMI低、电压应力小——说白了就是更安静、更稳定
  • 缺点:成本高、控制复杂

嗯,这里要注意:CT机架旋转时对振动和噪声要求极高,因为任何微小的抖动都会影响图像质量。所以如果你做的是高端CT,我建议直接上三电平拓扑。我曾经在一个项目中为了省钱用了两电平,结果图像重建时总出现环形伪影,最后发现是电机转矩脉动导致的。换了三电平拓扑后,问题就消失了。

3.3 三环控制:电流环、速度环、位置环

这是电机控制的核心。CT机架旋转控制用的是经典的三环串级结构:最内层是电流环,中间是速度环,最外层是位置环。

为什么会这样设计?你想想看:

  • 电流环最快:响应时间在几十微秒级别,直接控制力矩
  • 速度环次之:响应时间在毫秒级别,控制转速
  • 位置环最慢:响应时间在几十毫秒级别,控制角度

这种结构的好处是:内环的扰动可以被外环抑制,系统稳定性好。

3.3.1 电流环

电流环是基础。它控制的是电机的d轴和q轴电流。说白了,q轴电流控制力矩,d轴电流控制磁场。

在CT机架中,电流环的带宽通常设置在1-2kHz。太高了容易振荡,太低了响应慢。

// 电流环PI控制器示例(简化版)
typedef struct {
    float Kp;       // 比例系数
    float Ki;       // 积分系数
    float integral; // 积分项
    float limit;    // 输出限幅
} PI_Controller;

float PI_Update(PI_Controller *pi, float error) {
    pi->integral += pi->Ki * error;
    // 抗积分饱和
    if (pi->integral > pi->limit) pi->integral = pi->limit;
    if (pi->integral < -pi->limit) pi->integral = -pi->limit;
    
    float output = pi->Kp * error + pi->integral;
    // 输出限幅
    if (output > pi->limit) output = pi->limit;
    if (output < -pi->limit) output = -pi->limit;
    return output;
}

避坑指南:我曾经在调试电流环时,发现电机低速运行时抖动厉害。查了半天,发现是电流采样和PWM不同步导致的。解决办法:在PWM载波周期的中间点触发ADC采样,这样采样到的电流最准确。

3.3.2 速度环

速度环在电流环外面。它根据目标速度和实际速度的误差,计算出需要的q轴电流。

CT机架旋转时,速度环的带宽通常设置在100-200Hz。为什么比电流环慢?因为速度反馈来自编码器,编码器信号本身就有延迟。

这里有个关键点:速度估算。你不能直接用编码器脉冲数除以时间,那样噪声太大。我一般用M/T法测速:高速时用M法(测脉冲数),低速时用T法(测脉冲周期),中间平滑切换。

3.3.3 位置环

位置环是最外层。CT机架对位置精度要求极高——通常要求角度误差小于0.01度。为什么?因为CT扫描时,X射线源和探测器要精确对准,差一点点图像就糊了。

位置环的带宽通常只有10-30Hz。它输出的是速度指令,给到速度环。

关键参数总结:

控制环带宽采样频率反馈源
电流环1-2 kHz10-20 kHz电流传感器
速度环100-200 Hz1-2 kHz编码器
位置环10-30 Hz100-500 Hz编码器/光栅尺

3.4 通信总线:CAN vs EtherCAT

CT机架不是孤立的系统。主控芯片要和上位机通信,要和各个传感器通信,还要和X射线控制系统同步。这就需要一个可靠的通信总线。

3.4.1 CAN总线

CAN总线在医疗设备中用了很多年。它的优点是:

  • 实时性好:优先级仲裁机制,高优先级消息不等待
  • 可靠性高:差分信号,抗干扰能力强
  • 成本低:CAN收发器很便宜

但CAN也有缺点:带宽只有1Mbps(CAN-FD可以到8Mbps),对于大数据量传输有点吃力。

3.4.2 EtherCAT

EtherCAT是近年来工业控制领域的热门。它的特点是:

  • 超高速:100Mbps,延迟微秒级
  • 分布式时钟:多个从站之间的同步精度可以达到纳秒级
  • 拓扑灵活:线型、星型、树型都可以

我个人建议:如果CT机架是单轴控制(就一个旋转电机),CAN总线足够了。如果是多轴协同(比如还有升降床、倾斜架),那就得上EtherCAT。我记得有个项目,客户要求机架旋转和病床升降同步运动,用CAN总线总是有几十毫秒的延迟,换成EtherCAT后延迟降到了微秒级,问题就解决了。

选型建议:

  • CAN:适合中小型CT,成本敏感,单轴或双轴控制
  • EtherCAT:适合大型CT,多轴协同,对同步精度要求高

好了,这一章的内容就到这里。架构选型是基础,但也是决定成败的关键。下一章咱们聊聊具体的电机选型和传感器配置,到时候见。