一种实用的开关磁阻电机控制器的设计
张桂玉,魏召刚
(山东工业职业学院电气工程系,淄博256414)
摘要:将微控制器与可编程逻辑器件相结合,提出了一套实用开关磁阻电机控制器的设计方案。其中,mcu采用51系列的8位混合信号微控制器,逻辑电路采用max7000系列的cpld。根据设计方案制作出的样机经过调试改进后运行效果良好。
关键词:开关磁阻电机控制器;微控制器( mcu);可编程逻辑器件(cpld)
中图分类号:tm352 文献标志码:a 文章编号:1001-6848(2010)05-0093-04
0引言
开关磁阻电机调速系统,简称为srd,具有高效节能、调速范围宽、适用范围广、简单可靠及成本低等一系列优点[1-3]。本文致力于一种通用开关磁阻电机控制器的研制,可驱动三相开关磁阻电机,可与电机一起组成宽调速范围、高效节能的开关磁阻电机调速系统,应用于各种通用调速场合,具有成本低、控制灵活、自适应能力强及适用范围广等优点。
1硬件设计方案
控制电路采用嵌入式微处理器(mcu)可编程逻辑器件( cpld)外围电路昀设计方法。在通用调速场合,一般对系统的性能指标要求不是很高,因此采用现在大量使用,且性价比很高的增强型5l系列8位mcu。该51芯片带有高速a/d输入,且带有rs232、i2c及spi总线,不用选择另外的驱动芯片。
为了存贮参数,采用一片带串行接口的eep-rom芯片。cpld可选用带有jtag接口的芯片。d/a转换采用12位的转换芯片,与mcu的接口方式为串行通讯方式,总线为spi。开关量输入采用光耦隔离输入。开关量输出采用继电器输出方式。数码管驱动电路采用带串行通讯接口的芯片,可驱动至少5个数码管。键盘输入采用spi总线接口的i/o扩展芯片。控制器的硬件总体设计方案如图1所示。
2软件设计方案
mcu选用增强型51系列8位芯片。主体编程语言选用基于标准c的c51语言,对于实时性要求很高的程序段,则采用汇编语言编写,内嵌到c程序中进行编译链接,以增加程序执行的速度。
mcu的程序采用结构化程序设计方法,包含初始化模块,键盘处理模块,显示模块,转子位置检测模块,转速计算模块,闭环控制模块,制动控制模块,pwm驱动模块,角度调制模块,简易plc控制模块,通讯模块,放障检测模块及中断处理模块,这些模块可设定优先级,在主程序中进行调度,形成完整的开关磁阻电机控制程序。
mcu复位或上电后,程序先经初始化过程,然后再进入主循环程序,该主循环程序包括故障检测状态、等待电机运行状态、电机运行状态、电机制动状态等。每一个运行状态又运行多种任务,如键盘读取、显示、读取开关量与模拟量、输出开关量与模拟量、串行通讯、电机控制等任务,不同的状态运行不同的任务。主程序的流程图如图2所示。
在程序初始化模块,控制器上电或复位后,首先执行初始化程序,初始化寄存器ram、变量对显示进行初始化,读取eeprom中存贮的参数、初始化外围接口寄存器等。在键盘处理模块,cpu接收到键盘中断后,读取按键编码,然后经过软件消耗,根据读取的按键编码执行相应的操作,包括电机起动停止,运行数据显示,参数设置等。
在显示模块,上电或复位后,数码管将显示电机的转速。为了进行转速计算,在每一台电机的转子上都安装一个齿盘,固定在定子上的位置传感器根据转子的转动产生周期性的位置编码脉冲,通过这些位置脉冲来计算转速。选用的silabs公司的c8051f120 mcu进行角度调制,根据前一个脉冲的宽度和时刻确定哪一相开通,哪一相关断,及牙通角和关断角的数值,然后通过定时器控制hso的输出。采用转矩作为切换条件,若系统在****电流斩波值情况下无法输出设定转矩,则在保持****电流斩波值的情况下,开始调节开通角及关断角,以达到设定转矩输出;若负载转矩减小,则先调节开通角及关断角,若输出转矩仍大于设定转矩,则关闭开通角及关断角的调节,转入电流调节模式。
在软件上实现容错功能,若干扰脉冲的宽度小于1s,cpu进入位置 |