电机控制是工程师绕不开话题,合格的工程师在设计之前,一定对整个电机控制拥有丰富的心得体会。本文从同步、定时和软件三方面,详细梳理电机控制的流程及组成,并分享工程师在实际工作中的经验。
同步和定时
每个实时应用程序的首要任务是适当的定时、同步和确定性的系统响应,设计电机控制软件时必须特别注意这些方面。 从本质上讲,该过程听起来非常简单:系统读取传感器值、处理控制算法、监控系统安全并通过调整 PWM 输出的占空比来管理输出级。
微小的时序错误可能会导致严重的系统响应错误、运行不稳定和性能不佳。 为了确保一切按预期运行,保持同步并确保系统的确定性至关重要。 在这里,我要强调的是,我们正在处理一个"硬实时系统",在严格的期限内完成任务绝对至关重要。
电机控制器软件可以使用合适的 RTOS(实时操作系统)作为没有操作系统的裸机解决方案来实现,或者作为多核混合解决方案来实现,其中一些 CPU 内核在裸机模式下运行,而其他内核则使用一个操作系统。 裸机解决方案始终基于中断驱动设计,其中中断处理时间关键型任务,确保一切都以精确的时间间隔发生。
无论是裸机、RTOS 还是混合解决方案,都必须执行时序分析、任务优先级划分和安全分析,以确保高效可靠的系统性能。
时序分析可确保所有任务均按时完成。 这包括考虑每个任务的最坏情况执行时间。 电机控制中的一些主要关键任务包括传感器数据采集、通过 PWM 信号生成执行控制算法、故障检测和处理、紧急停止和安全功能、与其他系统组件的实时通信以及与外部系统的同步。
锁相环
如前所述,锁相环 (PLL) 无论是集成到 MCU/DSP 硬件中还是作为 FPGA 中的 IP 核实现,对于同步关键事件都至关重要。PLL 的主要功能是将 MCU/DSP/FPGA 的内部时钟与外部时钟源或信号同步。 这对于保持实时应用中的计时精度至关重要。PLL 有助于减少时钟抖动,这对于精确定时至关重要,在控制电机的速度和位置时尤其重要。PLL 可确保反馈信号采样(例如转子位置和电流测量)与控制算法执行之间的精确时序对齐,从而确保最佳同步和精度。 在多核系统中,PLL 可用于同步这些内核的操作。通过锁相环 (PLL) 将脉冲宽度调制 (PWM) 与电流测量和模数转换 (ADC) 同步对于电机控制应用中确保精确高效的系统性能至关重要。 通过同步时钟,PLL 可确保所有系统组件(包括 PWM 发生器、ADC 和其他处理元件)在同步时钟上运行。 控制输送到电机的功率的 PWM 信号是根据该同步时钟生成的。 这些信号的时序直接影响电机性能。 电流传感器测量电机的电流。这些测量的时机至关重要,特别是在磁场定向控制 (FOC) 等系统中,其中电流反馈用于控制电机扭矩和速度。 使用 ADC 将电流传感器的模拟信号转换为数字值。PLL 有助于将 ADC 采样与 PWM 周期同步。 这种同步可确保 ADC 在相对于 PWM 信号的最佳时间(通常是在 PWM 既不完全开启也不完全关闭的点)对电流进行采样,以获得准确的电流。 然后将数字化的电流测量值输入控制算法中。PLL 确保以相对于 PWM 信号一致的间隔进行测量,使控制算法能够根据状态变量的变化精确修改 PWM 占空比,从而确保最佳电机性能。 通过将 ADC 采样与 PWM 同步,可以最大限度地减少开关噪声和失真的影响。 这在高功率电机控制应用中尤其重要,因为 PWM 信号可能会产生显着的噪声。