为了便于DSP程序的编写、查错、调试和维护,无位置传感器控制程序采用了模块化设计。控制系统软件设计框图如图1所示,软件上包括系统初始化模块、起动加速模块、换相控制模块、速度计算模块、I/O控制模块。
系统初始化模块分配存储器空间和各个程序变量,主要完成DSP的一些基本配置、时间管理器模块参数的设定、A/D采样参数的设置、电机换相表数组设置等,尤为关键的是为无刷直流电机制定起动阶段的换相时间表。图2所示为初始化模块的主要内容。根据仿真和实验的计算结果,将电机从固定相位起动过程中每次换相的时间间隔计算转变成DSP中CPUTimer0的计数值,存进一个开环起动的时间数组。
图1 控制系统软件设计框图
图2 初始化模块
起动加速模块把起动时间数组中的值,作为DSP中定时器CPUTimet0的计数值,每次在DSP换相之前将值存入定时器。当定时器计时到一定时间后,进人CPUTimet0的中断程序内进行无刷直流电机的换相,使得电机能够逐步加速到一个较高的速度,以便于切换至闭环控制状态。
换相控制模块是在电机运行过程中,根据起动起始位置以及不导通相的比较信号,进人CAP中断后,延时进行换相的程序模块。
速度计算模块是对由无位置传感器模拟检测电路产生的反电动势信号进行检测,从而得到当前电机转速的程序模块。由于比较信号是方波,随着转速的增加,可以通过CAP端口计算出当前电机的速度,以作为延时30°电角度进行换相的依据,并可以将所测定的电机转速作为速度控制环的输人。
I/O控制模块根据当前的电机换相状态,通过内部DSP的换相标志位情况来决定输出6路占空比受到调制的PWM电机逆变桥驱动信号,2路不导通绕组的多路模拟开关选择的GPIO信号,以及用于使能过零点比较信号输出的D触发器的上升沿GP10信号。
以上4个软件模块在DSP主程序中实现,基于如图3所示的软件模块结构,形成了整个无位置传感器的控制程序。
图3 DSP主程序软件模块结构
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。