先楫电机库简介
简介
先楫电机库(HPM_MCLV2)是由先楫半导体开发的一个专门用于电机控制的软件库,它支持广泛的电机控制应用,包括基于传感器和无传感器的永磁同步电机(PMSM)、无刷直流电机(BLDC)以及步进电机的控制。该库旨在帮助工程师简化电机控制系统的设计与实现过程,并提供高性能、高效率的电机控制解决方案。
SDK版本
- sdk v1.8
特性支持
- FOC算法支持
先楫电机库提供了先进的场定向控制(FOC, Field Oriented Control)算法,能够优化电机运行性能,减少能耗,提高效率,同时确保平滑且快速的扭矩响应。
- 六步控制支持
六步控制,也称为梯形波控制或方波驱动,是一种简单而有效的无刷直流电机(BLDC)控制方法。它基于电机的六个基本换向状态,在每个状态中,两个绕组被激活而第三个绕组处于高阻抗状态。
- 多环路控制
包括电流环、速度环和位置环,支持硬件电流环,以实现对电机更精确的控制。
- 无传感器控制
采用滑模观测器、过零检测或高频注入等方法进行转子位置估算,适用于无传感器的电机控制场合。
- SVPWM调制
实现了空间矢量脉宽调制(SVPWM),可以产生更接近理想的正弦波形输出,提高电机效率和降低噪音。
- 死区补偿和角度补偿
改善了电机在低速时的表现,并减少了由于功率器件导通延迟引起的非线性影响。
- 步进电机矢量控制
对于步进电机应用,提供了矢量控制方案,提升了动态响应速度和定位精度,降低步进电机噪声。
- 电机参数辨识
先楫电机库还提供了电机参数离线辨识功能,这是一个非常重要的特性,尤其是在实际应用中,因为不同的电机可能有不同的电气和机械特性。离线辨识过程通常在电机不运行时进行,通过施加特定的激励信号并测量相应的响应,从而准确地确定电机的关键参数,如电阻、电感、磁链的参数。
- DQ轴解耦
先楫电机库提供了DQ轴解耦功能,在电机控制中,特别是采用场定向控制(FOC, Field Oriented Control)时,DQ轴解耦是一个关键的技术点。其目的是将电机的磁通(d轴)和转矩(q轴)分量分离,使得两者可以独立调节。
- PLL锁相环滤波器
在电机控制应用中,特别是涉及到无传感器控制时,锁相环(PLL, Phase-Locked Loop)是一个非常重要的组件。它用于同步参考信号与反馈信号之间的相位差,并且在某些情况下还用于估算转子位置或速度。先楫电机库(HPM_MCL)不仅支持传统的FOC、六步控制等特性,还集成了对PLL锁相环滤波器的支持,具体包括I型和II型PLL。
-
IIR滤波器
在电机控制中,IIR滤波器主要用于以下几个方面:
- 电流信号滤波:
消除电流采样过程中引入的高频噪声,确保电流环路控制更加稳定和平滑。
- 速度估计:
通过对编码器反馈的速度信号进行滤波,可以减少测量误差,提高速度控制精度。
- 位置估算:
对于无传感器控制,IIR滤波器可以帮助平滑位置估算结果,减少因传感器噪声或机械振动引起的波动。
-
PID控制器转换为3p-3z控制器
将PID控制器转换为具有三个极点和三个零点(3P-3Z)的控制器可以提供更多的灵活性和更好的性能。先楫电机库(HPM_MCLV2)不仅支持标准的PID控制,还提供了将PID控制器转换为3P-3Z控制器的功能。同时3p-3z控制器是先楫硬件电流环支持的控制器。
- 硬件电流环
先楫电机库(HPM_MCL)不仅支持传统的软件实现的电流环,还特别提供了对硬件电流环的支持。
- 1us软件环路
先楫电机库(HPM_MCL)特别支持了1μs软件环路,并可以通过先楫提供的例程复现。
硬件兼容性
先楫电机库兼容多种先楫开发板型号,如HPM6750evk、HPM6300evk、HPM6200evk、 HPM6E00evk等支持电机接口的开发板,同时需要特定的电机驱动板(如DRV-LV50A_MP1907)。为了确保最佳性能,建议使用官方推荐的设备配置,但用户也可以根据自己的需求设计定制化的电机驱动板,只需遵循相应的引脚定义。
环路带宽
结合之前提到的1μs软件环路和高速硬件环路,高带宽的环路设计变得更加可行:
-
快速响应:
- 定义:环路带宽是指控制系统能够有效跟踪或抑制的频率范围。更具体地说,它是从直流(0 Hz)到某一频率之间的频段,在此频段内,系统的增益下降不超过一定限度(通常为3 dB)。超过这个频率后,系统的增益会迅速衰减。
- 意义:高带宽意味着控制系统可以更快地响应输入信号的变化,并且能够处理更高频率的扰动。然而,过高的带宽可能会导致系统不稳定或对外界噪声更加敏感;而过低的带宽则可能导致响应迟缓和控制精度不足。
1μs级别的环路更新速率使得控制系统可以在极短的时间内完成一次完整的控制周期,这为实现更高的环路带宽提供了可能。通过调节bldc_foc例程中的宏MOTOR0_CURRENT_LOOP_BANDWIDTH
来改变环路带宽。
环路速度
1. 1μs软件环路的意义
- 极高的实时性:1μs(微秒)级别的环路更新速率意味着系统可以在非常短的时间内对输入信号的变化做出反应。
- 提高控制精度:更快的环路更新速率允许更频繁地调整控制输出,从而减少误差积累,提高整体控制精度。
- 增强动态响应:快速的环路能够更好地处理快速变化的工作条件,如突变负载或高速运转情况下的瞬态响应。
- 适应复杂算法:对于一些复杂的控制策略,如非线性控制、自适应控制等,高频次的环路更新可以确保这些算法的有效实施。
2. 在先楫电机库中的实现
先楫电机库通过以下几个方面实现了1μs软件环路的支持:
- 高性能MCU平台:基于高性能的微控制器,它们拥有足够的处理能力和丰富的外设资源来满足1μs环路的要求。
- 优化的底层驱动程序:针对各个外设编写了高度优化的驱动程序,减少了数据传输过程中的延迟。
- 精简的控制算法:对常用的控制算法进行了优化,确保在1μs内能够完成所有的计算工作。
- 合理的内存分配:提供了专门的fast空间用来将算法放在紧耦合内存中,提高数据读取效率。
3. 在Demo中复现1μs软件环路
要在demo中成功复现1μs软件环路的效果,建议按照以下步骤操作:
-
准备开发环境:
- 确保使用的是支持1μs环路的先楫MCU型号,因为不同MCU的主频不同,所以部分低主频MCU可能无法实现严格的1us。根据经验主频在600M以上的先楫MCU可以保证1us的软件环路。
- 安装最新的先楫电机库和配套工具链。
-
加载示例工程:
- 打开提供的官方demo工程文件
bldc foc
,该工程已经预先配置好了1μs环路的相关设置
- 打开提供的官方demo工程文件
-
检查硬件连接:
- 确认所有传感器和电机正确连接,并且通信正常。
-
调整参数:
- 并根据readme中的配置,适当关闭一些复杂的算法,比如死区补偿,解耦,以获得最佳性能。
-
运行测试:
- 编译并下载工程到目标板上。
- 使用调试工具监控系统运行状态,特别是关注电流环路的更新频率是否稳定在1μs级别。