APM32F035是极海半导体针对电机控制推出的专用芯片,本设计基于 APM32F035设计了双电阻采样有感矢量控制方案。具体设计规格如下表所示:
| 参数 | 说明 | 设定值 |
|---|---|---|
| 控制方式 | 霍尔传感器磁场导向控制(FOC) | |
| PWM调制方式 | SVPWM | |
| 角度估测 | 霍尔插值补偿算法 | |
| PWM频率 | 8KHz | |
| 电机转速 | 400~3000RPM(2对极) | |
| 保护功能 | 过压,欠压,软件过流,硬件过流 | |
| 代码大小 | 11Kbytes | |
| 开发软件 | Keil C(V5.23版本及以上) |
APM32F035是一款基于 Arm Cortex-M0+内核,集成 FOC算法中常用的数学运算加速器(Cordic,Svpwm,硬件除法器等),并且集成了运放、比较器等模拟外设,以及 CAN控制器的高性能电机控制专用 MCU。
整体硬件系统采用外部 24V电源供电,并经过相应的电源降压电路转换后输出稳定的 12V、5V、3.3V电压,其中 12V电压输出给到 Gate driver IC、3.3V电压输出给到 APM32F035系列微处理器,而功率开关管则直接使用 24V电源。同时,该方案采用可变电阻旋钮调节 0~3.3V的电压输入作为速度命令的输入端,以此调节电机转速。用户实际使用可直接通过转动可变电阻旋钮以此调节输入电压,同时当输入电压值超过起动阈值时,电机将会启动运行,而当电压值低于阈值时电机将会关闭运行。
通过六次霍尔跳变,计算出转子角速度 We。以霍尔区分六个扇区,采用插值补偿算法估算出转子位置以及电机转速。当电机启动后,APM32F035处理器通过内置的运算放大器并经由相应的采样电路可获取三相的相电流 Iu、Iv与 Iw,并将该数据经过坐标轴的转换后进而控制电机的力矩电流大小及相位;通过 FOC控制计算环节后调节 TMR1外设输出相应的三路互补的 PWM波控制逆变器的开关元器件。
整个项目整体代码架构主要可划分为 4层,用户层、外设驱动层、电机控制驱动层以及电机算法层。用户层负责主函数入口、中断处理和参数初始化配置;外设驱动层主要负责 APM32F035芯片的外设驱动函数及配置,包括 GPIO、PWM、ADC、OPA、COMP、M0CP协处理器等;电机控制驱动层主要负责电机的控制运行逻辑及核心处理算法调用;电机算法层包括坐标变换、矢量控制等相关函数,数学库,角度估算等库函数。
233
