BASIC FOC 电机控制 SW 是基于明确定义的分层结构库开发的。该架构的设计方式是将库分成特定的组。这样就可以更换特定层中的不同模块,而不会影响其他模块的性能以及整个系统的结构
1.MCTRL解决方案(“FOC解决方案”)
MCTRL解决方案(MS-BAS)包含主要的“FOC解决方案”状态机和速度控制器。该库利用BASIC SW中的所有可用模块,提供两种驱动电机的控制模式:磁场定向控制(FOC模式)和电压-频率控制(VToF控制模式)。
2.MCTRL驱动算法
MCTRL 驱动算法(MDA-BAS)模块根据定子电压和电流估算转子磁通的电气位置和电气频率。该模块包含多个模块,具体描述如下
- 磁通估算器:该软件组件根据定子参考框架(alpha-beta)中的定子电压和定子电流估算转子磁通的电气位置和电气频率。转子磁通的角度根据电机的数学模型估算,并通过锁相环进行处理。角速度(电角速度)通过使用平均微分和低通滤波器从角度中计算得出。
FOC 控制器:输入为 alpha-beta 格式的电流、直交和正交参考电流以及转子磁通角。然后,它使用两个 PI 控制器执行电流控制,并输出极性格式的电压指令。
电流频率(IToF):该软件组件生成参考直轴和交轴电流以及旋转电压矢量的角度,以便对旋转磁场机器进行电流频率控制。当控制方法为开环时,IToF 模块用于启动阶段。
电压频率控制(VToF):根据输入的参考转速,在阿尔法-贝塔坐标系中产生旋转电压指令。VToF 控制模式是一种开环控制结构,因此没有来自电机的反馈,如电机位置或电机电流。
控制角识别(起始角识别):用于估计静止时的电转子角度,误差为60度。
3.MCTRL执行器传感器
MCTRL 执行器传感器 (MAS-BAS) 包含调制器模块及其不同的技术,为模式发生器(用于产生 PWM)和电流重建模块提供信号。
空间矢量调制(SVM)是任何一种无刷直流电机控制应用的基本功能。
调制器包含数学算法和计算,在电流控制回路中执行。
4.MCTRL硬件抽象层
MCTRL 硬件抽象(MHA-BAS)由管理 TLE987x 硬件模块(如电桥驱动器和 ADC 测量)的 SW 组件组成。该层允许从 ADC 中读取电流、生成 PWM 并检测桥接驱动器的故障。
- 模式发生器:设置驱动电桥驱动器开关的硬件模块所需的定时器比较值,以及触发电流测量的硬件模块所需的定时器比较值。定时器比较值由调制器计算和提供。模式发生器可配置为设置 PWM 频率、设置系统死区时间,还可配置为对陷阱故障做出反应。
桥接驱动程序:用于管理 BDRV 硬件模块检测到的硬件故障。
测量ADC:它从硬件测量模块(电流感测放大器)读取直流链路电压和相电流,消除电流测量偏移,并根据相应的基准值对值进行缩放。除此之外,它还可用于在初始化阶段校准电流偏移。
5.MCTRL数学
MCTRL Math(MAS-BAS)通过多个头文件和源文件提供优化的数学函数。
每个头文件都包含一个特定函数,例如clark变换,或一组类似运算,例如 16 位和 32 位变量的乘法运算(带或不带饱和)。
函数的静态配置通过配置向导工具完成。
算术函数提供简单的算术运算,如加法、减法、乘法,可带或不带饱和度。
BASIC SW 中的三角函数包括以下运算:
- Atan:小数输入值的余切值
- Atan2:计算 x(腹坐标)和 y(纵坐标)的四象限余切值的函数
- Sin:角度的正弦值
- Cos:角度的余弦值
- SinCos:角度的正弦值和余弦值
在 SW 中使用了查找表(例如 Lut_Atan、Lut_SinCos)来存储特定函数的值。查找表的大小可在配置向导中设置(8 位、10 位或 12 位)。
专门用于电机控制并在BASIC SW中提供的数学函数如下:
•CartToPolar:计算笛卡尔(α,β)到极坐标(振幅,角度)变换的函数
•PolarToCart:执行极坐标到笛卡尔变换的函数,计算从极坐标(幅度,角度)系统到笛卡尔坐标(α,β)系统
•Clarke:计算三相输入的Clarke变换的功能
•InvClarke:用于计算双轴正交输入的逆Clarke变换功能
•Park:用于计算Park变换功能
•InvPark:用于计算Park逆变换功能
•电流重建:用于计算三相电流基于两个单分路测量电流和扇区号
•DqDecoupling:在磁场定向控制器中实现DQ电流的解耦
•SpeedPreControl:实现速度预控制的功能(也称为前馈速度控制
此外,MCTRL Math还由软件组件组成,这些组件提供高级数学运算,如线性插值,控制算法的元素,如PI控制器、低通滤波器、PLL、速率限制器。
- PI 控制器: PI 控制器:具有防倒转功能和不同离散化方法的 PI 控制器功能
- PLL:锁相环 (PLL) 功能,将角度作为输入,计算速度并过滤输入角度
- 加速度限制(AccelerationLimit):限制输入速度信号的加速度和减速度的函数
- Interp1DLUT:通过线性插值计算已知点(在一维查找表中提供)之间的中间值的函数
- Limit:在设定的最大值和最小值之间限制输入变量的函数。
- RateLimiter:限制信号变化率的函数
- LowPass1st:通过一阶低通滤波器过滤输入信号的函数
6.MCU硬件外围设备
MCU硬件外设(或iLLD–低级驱动程序)在TLE987x的SDK中提供,它们由TLE987x外设的所有硬件寄存器设置组成,如ADC、CCU6、UART、桥接驱动程序、看门狗等。配置在配置向导工具中完成(图39)。