水暖之家讯:1引言
目前,随着汽车工业的发展,能源短缺问题日趋严峻。为此,国家科技部启动了“863电动汽车重大专项”,而开关磁阻电机(SwitchedReluctanceMotor,简称SRM)以其启动转矩大、调速范围宽等优点被作为未来电动汽车的理想驱动电机之一。开关磁阻电机是一种必须在控制器协调控制下才能运转起来的电机,因而控制器性能的好坏直接影响电机的运转性能。以往控制系统所采用的CPU主要有三种类型:一是采用51系列8位单片机,这种处理器处理速度相对缓慢,功能简单,外围电路比较复杂。二是采用196系列16位单片机,这种处理器处理速度比较快,但由于内部外设模块不够丰富,因而外围电路仍相对复杂。三是采用240系列DSP,这种处理器处理速度快,内部外设模块丰富,但芯片价格昂贵,所以不能得到较广泛的应用。本文选用Atmel公司出品的Atmega16作为CPU来控制开关磁阻电机,大大提高了性价比。2AVR系列单片机
AVR单片机是目前最新的单片机系列之一,具有速度高、片内硬件资源丰富等优点,可作为真正意义上的单片机使用。它的最大特点是低功耗和高速度,其掉电方式、闲置方式至工作方式下的耗电约为1μA~2.5μA。该系列单片机采用现代微处理器流水管线预取指令技术,淘汰了机器周期的概念。它以时钟周期为指令执行的基本时间单位,每个时钟周期可执行一条指令。时钟频率通常采用4MHz~8MHz,故最短的指令执行时间为250ns~25ns。在12MHz频率下,指令的吞吐量为12MIPS,这是一般MCS-51单片机速度的12倍。AVR系列片内含有模拟比较器,与输入捕捉功能配合可进行多种模拟控制和转换。它借鉴了某些机型的高速输入输出HSIO和可编程计数阵列PCA的概念,实现了本身的输入捕捉、输出比较和脉冲宽度调制输出功能,从而成为脉冲信号测量、开关量按时控制及某些直流马达调速的得力工具。在软件开发方面,AVR单片机内含容量不等的闪速程序存储器(FlashMemory,简称Flash),可反复擦写至少1000次,极大地方便了产品开发和软件修改。Flash存储器中的程序可由PC机串行下载,亦可在通用写入器上以并行方式写入。
3开关磁阻电机工作原理
所谓磁阻电机是指电机各磁路的磁阻随转子位置而改变,因而电机的磁场能量也将随转子位置的变化而变化,并将磁能变换成机械能。这种结构与步进电动机相似,开关磁阻电动机的运行亦遵循“磁阻最小原理”,即磁通总是沿着磁阻最小的路径闭合。而具有一定形状的铁心在移动到最小磁阻位置时,必使自己的主轴线与磁场的主轴线重合。图1为四相开关磁阻电机结构图,当定子D-D‘极励磁时,所产生的磁力会力图使转子旋转到转子极轴线1-1’与定子极轴线D-D’重合的位置,并使D相励磁绕组的电感最大。若以图1中定、转子所对的位置作为起始位置,然后依次给D-A-B-C相绕组通电,转子会逆着励磁顺序以逆时针方向连续旋转;反之,若依次给B-A-D-C相通电,则转子会沿顺时针方式转动。可见,开关磁阻电动机的转向与相绕组的电流方向无关,而仅取决于相绕组通电的顺序。
4系统设计要求及结构实现
对于额定功率为0.75kW、转速为50~2000r.p.m的8/6极SRM,在低速时可采用PWM方式来控制,而在高速时则应采用单脉冲控制。电机转子每转过15°,位置传感器PIA和PIB会发生变化并产生一次相中断,之后MSP430依据外部操作要求(如正传或反转)及当前状态来决定下一次输出状态并送给数字比较器,当与下一次中断信号一致时,它会向CPU发送一次中断,并输出相信号给逻辑电路,最后驱动电动机。同时依据此中断信号计算转速,以作为高速单脉冲工作状态的参考点(对于高速单脉冲,由于在高速时没有足够时间精确计算开关角的大小,因而本设计采取每相固定导通30°的控制方式,其实现方法待后详述)。
当转速给定后,即可采用调节电位器输出模拟量送给Atmega16的A/D模块。系统中的LED用于显示转换速等信息,键盘用于设定各参量(如方向等)。其控制结构框图如图2所示。
4.1PWM控制
AVR的T/C1除具有定时、计数、输入捕捉和输出比较功能外,还可构成两个脉冲宽度调制PWM输出通道。由于经缓冲的PWM输出可驱动电机,且其转速正比于OCR1A或OCR1B寄存器的内容。因此,可以利用OCR1A输出PWM波,再将该信号与各路相输出信号相与后输出,从而实现控制各路相信号以及低速调速之目的。
4.2高速单脉冲控制
采用高速单脉冲控制方式时,可使关断角保持不变,从而使开通角在较宽的范围内进行调节,最终实现高速高速。由于AVR系列单片机具有输入捕捉功能,因此可将PIA或PIB信号送给ICP脚,然后让ICP1寄存器首先捕捉脉冲上升沿发生的时间,接着再捕捉下一次上升沿发生的时间,然后用这段时间除以相间隔的角度15°就可得到标准单脉冲数。当然,由于中断处理需要一定的时间,所以要通过软件修正。这样就可以高精度控制高速运转时的开通角和关断角,从而实现高速单脉冲的软件控制。
5软件示例
5.1相输出子程序示例
;正转相输出
.defxiin=r16;相输入信号寄存器
;====================
xinoutz:inxiin,pind;将相输入信号送给寄存器
andixiin,$03;相与只剩下相信号
cpixiin,$01;是否da输出
brbc1,daout;相等,da输出
cpixiin,$03;是否ab输出
brbc1,about;相等,ab输出
cpixiin,$02;是否bc输出
brbc1,bcout;相等,bc输出
cpixiin,$00;是否cd输出
brbc1,cdout;相等,cd输出
;====================
;反转相输出
;====================
xinoutf:inxiin,pind;将相输入信号送给寄存器
andixiin,$00;相与只剩下相信号
cpixiin,$01;是否da输出
brbc1,daout;相等,da输出
cpixiin,$02;是否ab输出
brbc1,about;相等,ab输出
cpixiin,$03;是否bc输出
brbc1,bcout;相等,bc输出
cpixiin,$01;是否cd输出
brbc1,cdout;相等,cd输出
;====================
daout:sbicpinb,4;开通a相低电平有效
sbicpinb,7;开通d相?
sbispinb,5
sbispinb,6
ret
about:sbicpinb,4;开通a相
sbicpinb,6;开通b相
sbispinb,5
sbispinb,7
ret
bcout:sbicpinb,5;开通c相
sbicpinb,6;开通b相?
sbispinb,7
sbispinb,4
ret
cdout:sbicpinb,5;开通c相
sbispinb,7;开通d相?
sbispinb,4
sbispinb,6
ret
5.2速度采集显示子程序示例
.include"m16def.inc"
.org$001c
rjmpadcint
.defchannel=r29;模拟通道号
.deflresult=r2;转换低字节
.defhresult=r3;转换高字节
.deftemp=r16
.equsample=$0060;采样数据1缓冲区首地址
.equsample2=$0063;采样数据2缓冲区首地址
.defround=r17;显示回合计数器
.defouter=r19;存放外环计数器
.definner=r18;存放内环计数器
.equslabel=$0400;字符码首地址
.defhxian=r2;存放预显示高字节
.deflxian=r1;存放预显示低字节
;采集显示速度占用系统资源r1r2s3r4r16,$60~$69
adcin:ldichannel,$04;从4通道开始
outadmux,channel
ldir16,$ee;自由运行方式
outadcsr,r16;启动转换
clrxh;建立sram指针
ldix1,$60
incchannel;通道号增1
outadmux,channel;选通道4
sbiadcsr,3;开启ad中断
ldir28,$03;转换次数
adhere:rjmpadhere;等待中断
adcint:inlresult,adcl;读转换结果
inhresult,adch
stx ,lresult
decr28
brneadnextc
rjmpadret
adnextc:ldir28,$03;转换次数
incchannel;通道号加1
outadmux,channel;选下一个通道
cpix1,$70;转换的是通道7吗
brmeadret;否,返回
cbiADCSR,7;是,停止转换
adret:reti
6结束语
实际使用证明:Atmel公司出品的Atmega16系列单片机具有处理速度快,内部外设功能模块丰富等优点,是一种性价比较高的单片机,特别适用于电池供电、便携式以及电机驱动等系统。本文的开关磁阻电机充分利用了该单片机丰富的内部外设模块,因而简化了外围电路,大大提高了性价比。
水暖之家是专注于电气,电气工程,水暖,电气设备等装饰材料的各种新闻资讯和电气,电气工程,水暖,电气设备各十大品牌的装修效果图与网络营销服务,敬请登陆水暖之家http://m.ju31.com/