4.3.4 模拟差分放大电路
模拟放大电路实现电流采样电路电压小信号的放大,高精度运算放大器通过+3.3VA进行供电,借助+1.65VA偏置电平,实现双向电流的检测。图 20所示为模拟放大电路示意图。
R5R1IN_negOpAmp1U2AOUTPUT-C1R2IN_posR6+1.65V_REFGNDAR423R3+3.3VA8图 20 模拟差分放大器
输入电阻R1/R2及电容C1构成高频输入滤波器,消除电路中的高频噪声。电阻R5/R6以及R1~R4的值,决定了模拟放大器的放大倍数。模拟放大器的输出通过一个RC滤波电路(靠近DSC放置),接入DSC的ADC输入端口。
4.3.5 SCI与USB 转换接口
Freescale DSC带有SCI控制器,用于系统的在线调试或与外部系统进行串行通信。为了便于与PC通信,电机控制功率板设计了USB端口与PC进行连接,采用Silicon Labs公司的标准USB串口通信转换芯片(能够通过PC的USB端口进行供电),同时借助Analog Devices公司的ADUM2201数字隔离器,实现功率板SCI与PC USB通信转换的电气隔离。
4.4 DSC控制子卡
DSC控制子卡是整个系统控制板的核心,装配Freescale公司64脚 LQFP封装的MC56F82748数字信号控制器 。图 21所示为DSC控制子卡的系统框图。
36
基于MC56F82748 DSC的单电阻采样三相交流感应电机的矢量控制设计参考手册, Rev. 0, 10/2014
Freescale Semiconductor
+4
+3.3V+3.3VA+5 to +30VDC/DC+3.3VINPUTFILTERSANALOGINPUTSCONTROLDSCMC56F82748JTAGSCI/USBPWMOUTPUTSGPIOUSBGNDGNDA
图 21 DSC控制子卡框图
电机控制板采用PCI 64针标准接口实现功率板与DSC控制子卡的电气连接。除了JTAG调试端口,DSC上所有IO均与PCI接口有相互连接。正常工作时,DSC控制子卡由功率板直接供电。当调试、程序烧录或其它独立使用时,为了电气安全,DSC控制子卡也能够通过板载的Buck DC-DC电源独立供电。
板载模拟信号输入滤波器为简易的RC低通滤波器,可以消除DSC ADC采样的部分高频干扰。 DSC输出的PWM信号直接连接IPM/MOSFET驱动芯片,PCI接口引脚也包括了其它的GPIO信号。 在电机控制板中,DSC的SCI通信端口用于FreeMASTER工具的在线调试,可以通过UART USB转换电路,直接连接PC的USB端口,同时也可以连接其他的外部系统;当使用控制板中的USB端口时,不需要额外的电气隔离装置。
基于MC56F82748 DSC的单电阻采样三相交流感应电机的矢量控制设计参考手册, Rev. 0, 10/2014 Freescale Semiconductor
37
5 软件设计
本应用的软件开发环境使用飞思卡尔的集成开发工具CodeWarrior10.5,整个软件是用C 语言实现的,并调用了飞思卡尔的嵌入式软件库(FSLESL)。该软件库包括各种数学运算库、电机控制算法库、观测器库、信号滤波器库等。这些库和对应的文档可以从飞思卡尔网站freescale.com/fslesl直接下载 。想获得更多有关如何在CodeWarrior的工程中使用这些库,请从freescale.com下载参考文档AN4586: Inclusion of DSC Freescale Embedded Software Libraries in CodeWarrior 10.2。 本章主要描述系统的软件设计。首先讨论如何用归一化的定点小数格式来表示控制器中的各个物理量,然后详细介绍如转速和电流采样等特殊的问题,最后简单介绍控制软件的实现。
5.1 定点小数表示
应用程序中涉及到的电压、电流、角度和速度等物理量都是用定点小数表示的。飞思卡尔的数字信号控制器的硬件支持归一化定点小数运算。程序和算法库通过将物理量表示成归一化小数形式的定点数,充分利用DSC硬件指令特点提高计算速度。
对于一个N比特位的有符号数字,其归一化的定点小数表示形式为1.[N-1]。其中最高一位是符号位,剩余N-1位是小数位。它表示的有符号小数值(SF)的范围为:
–1.0 ≤ SF ≤ + 1.0 – 2 –[N – 1]
对于字型和长字型的变量,其可以表示的最小负数为-1,内部表示格式分别为0x8000和0x80000000。字型变量可以表示的最大正值是1.0 – 2-15,对应的内部格式为0x7FFF;长字型变量可以表示的最大正值是1.0 – 2-31,对应的内部格式为0x7FFFFFFF。
5.2 应用概述
应用软件就是实时运行的中断驱动,在本文档的电机控制软件进程中有五个中断服务进程(如 图 24所示)。
PIT中断服务程序产生一个1 ms一次的计时器中断,用来执行慢速速度控制环。
QTimer中断由测速发电机信号经ACMP比较后的方波信号的上升沿和下降沿触发,用于计算电机实际转速。
PWM 重载中断服务程序每两个PWM周期执行一次重载中断(200us),用来执行快速电流环控制。 ADC EOS中断服务程序在一个PWM周期内执行三个重要的母线电流采样值的读取。
PWM Fault中断服务程序在过流故障情况发生时处理过流故障。只有当故障发生时,此中断才会被触发。
系统主循环在mian函数中执行,用来处理一些与时序关系不大的任务,例如状态机和FreeMASTER轮询函数。
38
基于MC56F82748 DSC的单电阻采样三相交流感应电机的矢量控制设计参考手册, Rev. 0, 10/2014
Freescale Semiconductor
图 22 算法架构
5.2.1 ADC EOS中断和PWM重载中断
快速电流控制环在PWM重载中断中执行,通过PWM_reload_sync信号进行同步。在PWM重载中断执行之前,三个母线电流的采样值在ADC EOS中断中被读取出来。ADC采样结束后,PWM重载中断被使能和执行。
PWM模块配置为中心对称模式,开关频率设定为10 KHz,总线时钟频率50 MHz(PWM周期100 us),每2个PWM周期产生一个PWM_reload_sync信号(200 us),ADC触发信号与PWM SUBMODULE相关联,PWM Sub_Module3的0、2、4通道的value值被用做触发ADC母线电流采样时刻点。最后一次ADC采样结束后进入ADC EOS中断,ADC EOS中断完成后,执行PWM重载中断。ADC母线电流采样和PWM重载中断时序图如图 25所示:
1 输出PWM重载同步信号,此时PWM周期寄存器的值由MOD值变为INIT值。 2 PWM重载同步信号触发PWM Sub_Module3, PWM Sub_Module3计时器开始计时。 3 PWM Sub_Module3计数器计时到达PWM Sub_Module3的0、2、4通道值时,触发ADC采样转换。 4 三次ADC采样转换结束后ADC EOS中断标志位置1,进入ADC EOS中断,读取ADC结果寄存器的值。 5 禁止ADC EOS中断,使能PWM重载中断。
6 进入PWM重载中断,运行三相电流重构和快速电流环控制,最后禁止PWM重载中断,使能ADC EOS中断。
基于MC56F82748 DSC的单电阻采样三相交流感应电机的矢量控制设计参考手册, Rev. 0, 10/2014 Freescale Semiconductor
39
PWM Period 100 usPWM Modulo CounterPWMA Sub-Module3 CH4 TriggerPWMA Sub-Module3 CH2 TriggerPWMA Sub-Module3 CH0 TriggerPWMA Sub-Module3 CounterADC ConversionADC End-of-Scan ISRPWM Reload ISR 图 23 ADC EOS中断和PWM重载中断时序图 5.2.2 三相电流重构
矢量控制算法需要采样电机的三相电流,一种标准的方案是通过电流互感器或者采样电阻直接对相电流进行采样,本方案为了降低设计的成本,电机的三相电流通过一个母线电流采样电阻来采样并重构,如图 26所示。
图 24 直流母线电流采样电阻
采样电压经带1.65V电压偏置的高精度运算放大器处理后,电流采样转换电压范围为+/-1.65V,对应电流范围+/-4A。见图 27。
40
基于MC56F82748 DSC的单电阻采样三相交流感应电机的矢量控制设计参考手册, Rev. 0, 10/2014
Freescale Semiconductor