《基于ARM芯片S3C4510的步进电机加减速控制.docx》由会员分享,可在线阅读,更多相关《基于ARM芯片S3C4510的步进电机加减速控制.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于ARM芯片S3C4510的步进电机加减速控制wangtao导语:本文介绍了基于ARM芯片S3C4510的步进电机加减速控制的设计。随着工业的开展,嵌入式技术应用日益广泛和成熟。ARM嵌入式处理器作为一种32位高性能、低功耗的RISC芯片,支持多种操纵系统、主频高、运算处理才能强,并可兼容8/16位器件,还能带海量低价的SDRAM数据存储器。得到各行各业的青睐,已经显示出强大的功能和宏大的贸易价值。尤其在控制领域获得了越来越为广泛的应用。利用以ARM为内核的嵌入式微处理器进展运动控制系统的开发,有着广阔的开展空间。在一些要求低本钱的运动控制系统中,经常用步进电机做执行元件。步进电机在这种应用
2、场合下最大的上风是:可以开环方式控制而无需反应就能对位置和速度进展控制。但也正是由于负载位置对控制电路没有反应,步进电机就必须正确响应每次励磁变化。假如励磁频率选择不当,电机不可以移到新的位置,那么实际的负载位置相对控制器所期待的位置出现永久误差,即发生失步现象或者过冲现象。因此步进电机开环控制系统中,怎样防止失步和过冲是开环控制系统能否正常运行的关键。步进电机加减速控制原理失步和过冲现象分别出如今步进电机启动和停顿的时候。一般情况下,系统的极限启动频率比拟低,而要求的运行速度往往比拟高。假如系统以要求的运行速度直接启动,由于该速度已超过极限启动频率而不能正常启动,轻那么可能发生丢步,重那么根
3、本不能启动,产生堵转。系统运行起来以后,假如到达终点时立即停顿发送脉冲串,令其立即停顿,那么由于系统惯性作用,会使步进电机转子转到接近终点平衡位置的下一个平衡位置,并在该位置停下,进而产生过冲现象。因此,在步进电机启动或者停顿时就需要进展加、减速控制。加减速控制多采用软件来实现,分为加速、匀速和减速三个阶段。其控制曲线如图1所示。图1步进电机加减速控制曲线加减速控制方法采用微处理器对步进电机进展加减速控制,实际上就是改变输出脉冲的时间间隔,升速时脉冲频率逐渐加快,减速时脉冲频率逐渐变慢。采用恒加速度算法,易操纵性强,效果也很好。如图2所示,tm时间内相邻脉冲变化完成时,即步进电机转过一步,所以
4、,图2中阴影局部面积为1。图2步进电机加减速时脉冲频率变化图设电动机的加速时的第m步频率为Fm,第m-1步频率为Fm-1。加速度是F的斜率,设为a,那么aFmFm-1/tm;另有Fm+Fm-1tm/2=1;由以上两式可推出:A=fmax-f0fmax+f0/2trans;采用定时器中断方式控制电机变速时,实际上是不断改变定时器装载值的大小。控制脉冲由ARM芯片S3C4510的定时器发出,那么定时器的溢出频率应为二倍的控制脉冲频率。实现函数如下:voidpulseREG16f0,REG16fmax,REG16tran,REG16steepUINT16I,A;SysDisableIntINT_TI
5、MER0;SysSetInterruptINT_TIMER0,OnTimer2;trans=tran;A=fmax-f0fmax+f0/2trans;fori=0;i=sqrt_162Ai+f0f0;f0+=f0;/2f0TMOD=0x00;/disabletimer0andtimer1TDATA0=0x2FAF080/f0;/f0=50,000,000/TDATA0TMOD=0x03;/enabletimer0andtimer1inintervalmodestep=steep+steep;/2steptrans=trans+trans;tempstep=0;/thenumberofpulse
6、output=0;status=0;/thestateofpulse,highorlowSysEnableIntINT_TIMER0;其中f0为起始脉冲频率,fmax为到达匀速运行状态时的最大脉冲频率,tran为加速或者减速时的过渡脉冲步数,steep为该程序段总的脉冲步数。采用以ARM为内核的微处理器主频高、指令执行速度快,能输出较高的脉冲频率,并采用加减速控制方法控制步进电机能平稳高速的运行,因此非常合适用于经济型数控机床中,代替原来基于PC机的数控机床,降低本钱。另外需要留意的是,嵌入式数控系统的开发一般都是基于嵌入式实时操纵系统的,比方UC/0S-II。而操纵系统的本身都要依靠于定时中断作为调度的根底,在移植操纵系统和选择控制步进电机的定时器时要十分小心,两者不能产生冲突和影响,否那么整个系统将会崩溃。0