嵌入式系统论文DSP设计ARM7ARM9学习通信技术GPS论文DSP学习ARM开发板DSP开发板CPLD开发板实验板SL200学生专用单片机实验板SL200套件销售量已超过两千套,经过两千名客户验证的超值产品!!购买联系方式:0756-8559296成功三号单片机学习套件函盖单片机学习的绝大部份实验,当你完全学会成功三号学习套件的所有功能后,你的单片机已达中级水平了!!!在线咨询客户:SL480+单片机学习实验仪此实验仪函盖了成功三号的所有功能,并在成功三号的基础上增加了更多直接面向产品开发的功能模块,是一款即适合于学习也适用于产品开发的多功能实验仪!!!Atmega16在开关磁阻电机调速系统中的应用作者:刘扬超孙…文章来源:国外电子元器件点击数:106更新时间:2006-3-2322:43:22摘要:针对开关磁阻电机调速系统的设计要求,提出了以Atmega16作为CPU,并利用该单片机硬件和软件上的优点来提高系统处理速度,简化外围电路和提高性价比的设计方法。关键词:电机调速;开关磁阻电机;标准单脉冲数;Atmega161引言目前,随着汽车工业的发展,能源短缺问题日趋严峻。为此,国家科技部启动了“863电动汽车重大专项”,而开关磁阻电机(SwitchedReluctanceMotor,简称SRM)以其启动转矩大、调速范围宽等优点被作为未来电动汽车的理想驱动电机之一。开关磁阻电机是一种必须在控制器协调控制下才能运转起来的电机,因而控制器性能的好坏直接影响电机的运转性能。以往控制系统所采用的CPU主要有三种类型:一是采用51系列8位单片机,这种处理器处理速度相对缓慢,功能简单,外围电路比较复杂。二是采用196系列16位单片机,这种处理器处理速度比较快,但由于内部外设模块不够丰富,因而外围电路仍相对复杂。三是采用240系列DSP,这种处理器处理速度快,内部外设模块丰富,但芯片价格昂贵,所以不能得到较广泛的应用。本文选用Atmel公司出品的Atmega16作为CPU来控制开关磁阻电机,大大提高了性价比。2AVR系列单片机24小时购买热线:0756-8559296NPLC-15单片机工控板一款自带程序下载接口,同时可以与上位机或其它控制系统做通信实验的9入6出的专业级单片机工业控制板,目前已有几百套产品在客户控制系统中使用,性能稳定,专业的PLC外壳彰显专业!!!在线咨询客户:NPLC-14单片机工控板8入6出,输入输出完全光电隔离,适合于机械设备生产企业配套在生产设备中,同时也适用于工业设备的控制系统改造!!!24小时购买热线:0756-8559296AVR单片机是目前最新的单片机系列之一,具有速度高、片内硬件资源丰富等优点,可作为真正意义上的单片机使用。它的最大特点是低功耗和高速度,其掉电方式、闲置方式至工作方式下的耗电约为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,5sbispinb,6retabout:sbicpinb,4;开通a相sbicpinb,6;开通b相sbispinb,5sbispinb,7retbcout:sbicpinb,5;开通c相sbicpinb,6;开通b相?sbispinb,7sbispinb,4retcdout:sbicpinb,5;开通c相sbispinb,7;开通d相?sbispinb,4sbispinb,6ret5.2速度采集显示子程序示例.includem16def.inc.org$001crjmpadcint.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~$69adcin:ldichannel,$04;从4通道开始outadmux,channelldir16,$ee;自由运行方式outadcsr,r16;启动转换clrxh;建立sram指针ldix1,$60incchannel;通道号增1outadmux,channel;选通道4sbiadcsr,3;开启ad中断ldir28,$03;转换次数adhere:rjmpadhere;等待中断adcint:inlresult,adcl;读转换结果inhresult,adchstx+,lresultdecr28brneadnextcrjmpadretadnextc:ldir28,$03;转换次数incchannel;通道号加1outadmux,channel;选下一个通道cpix1,$70;转换的是通道7吗brmeadret;否,返回cbiADCSR,7;是,停止转换adret:reti6结束语实际使用证明:Atmel公司出品的Atmega16系列单片机具有处理速度快,内部外设功能模块丰富等优点,是一种性价比较高的单片机,特别适用于电池供电、便携式以及电机驱动等系统。本文的开关磁阻电机充分利用了该单片机丰富的内部外设模块,因而简化了外围电路,大大提高了性价比。