您好,欢迎来到锐游网。
搜索
您的当前位置:首页atmega16 步进电机

atmega16 步进电机

来源:锐游网
第33卷第6期2007年11月

中国测试技术

CHINAMEASUREMENTTECHNOLOGY

Vol.33No.6Nov.2007

基于ATmega16单片机的步进电机加减速控制

丽,韩震宇,李龙,李虹霖

(四川大学机械电子工程系,四川成都610065)

要:步进电机是一种易于精确控制的电机。本系统中步进电机用于绕线机排线机构的驱动,要求步进电机应反

复快速启动和停止并且定位准确,因此选用指数加减速方式。采用爱梅尔公司的单片机ATmega16控制步进电机,步进电机的速度大小与ATmega16产生的PWM波的频率成线性正比关系。由单片机计算加减速阶段的频率值比较复各阶段频率值利用倒推法根据指数函数得到。系统软件部杂,而且所需周期较长,因此将频率值储存在数组或表中。分采用C语言编程实现。

关键词:步进电机;ATmega16;加减速;PWM中图分类号:TP391.9

文献标识码:A

文章编号:1672-4984(2007)06-0106-03

Controllofstepmotorspeed-upandspeed-downwithATmega16

LIULi,HANZhen-yu,LILong,LIHong-lin

(DepartmentofMechanicalandElectronicEngineering,SichuanUniversity,Chengdu610065,China)

Abstract:Stepmotorisakindofmotorthatcanbecontrolledaccurately.TheSpeed-upandSpeed-downcurveofthestepmotorwasexponentialandstepmotorwasusedtodrivethebusmechanismofwinder,whichneededthestepmotorspeedupandspeeddownfast.TocontrolthestepmotorwiththeATmega16,whichgeneratedPWM,itsfrequencywasproportionalwiththespeedofthestepmotor.Itwouldcostalongtimeandwouldbecomplex,iflettingtheATmega16tocalculatethefrequencyineveryinterruptserviceroutineintheperiodofSpeed-upandSpeed-down.Soitwasbettertosavethefrequencyvaluesinanarrayortableinordertogetthefrequencyvaluesbytheexponentialfunction.DesignofprogramwithClanguagewasalsointroduced.Keywords:StepMotor;ATmega16;Speed-upSpeed-down;PWM

1引言

现过冲现象。因此,合理的设计步进电机的加减速曲线对于系统稳定可靠的运行十分重要。

步进电机是一种易于精确控制的电机,是自动控制系统和数字控制系统中广泛应用的执行元件。步进电机是一种由电脉冲控制的特殊同步电动机,将脉冲电信号转换成相应的角位移。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机具有惯量低、定位精度高、无累积误差、控制简单等特点,广泛应用于机电一体化产品中。

由步进电机的矩频特性可知,脉冲频率与电磁转矩成反比。启动频率超过一定值,步进电机就会出现失步或堵转现象。加速过程中,若角加速度越大,系统的惯性转矩也越大,同样会出现上述现象。步进电机在高速运行状态下若突然停止,由于惯性,会出

收稿日期:2007-04-30;收到修改稿日期:2007-07-13作者简介:刘式控制技术。

丽(1982-),女,硕士研究生,专业方向:嵌入

2.1

加减速曲线

加减速曲线的选择

步进电机的加减速曲线常用的有:直线加减速

指数加减速曲线,如图1所曲线、S型加减速曲线、示。直线加减速曲线适用于控制系统处理速度较慢且对加速过程要求不高的场合;S型和指数加速曲线适用于控制系统处理速度快且对加速过程要求较高的场合。

图1(1)直线加减速曲线;(2)S型加减速曲线;

(3)指数加减速曲线

第33卷第6期刘丽等:基于ATmega16单片机的步进电机加减速控制

107

本系统中的步进电机用于驱动绕线机的排线机构,因此要求步进电机的运行速度范围较宽,还要求步进电机快速换向。考虑到以上要求和实现的难易程度,系统选用指数加速曲线,如图2所示。步进电机减速阶段电磁力矩增大,减速曲线要求较加速曲线低,但排线要求对称性,因此本系统减速过程是加速的逆过程。由步进电机的动态方程并假设转速从零开始加速,可得加速曲线方程:

(ft)=fm-fme

-t/τ

化,即每次中断的时间都跟随频率而变化,跟频率成反比。由式(1)可知,得由t的值来计算(ft)的值,但

t是由上次频率值的上升时间tk-1加上本次频率变

化的时间1,即:

fk

fk=fm-fme-(

tk-1+1/fk)/τ

直接计算很复杂,且还有指数函数的运算,这样要花费很多个机器周期,势必会影响产生的PWM波的准确性。本控制系统采用查表法,将各阶段的频率值储存在表里或存储在数组里,而各个阶段的频率值可以采用倒推法计算得到,从大频率值计算到小频率值,即先由fk计算出tk值,再由tk-1计算fk-1值,

(1)

上式中,fm为步进电机的最高连续频率。τ是决定加速快慢的时间常数,可由实验来确定。

加速曲线由两部分构成,即突跳频率(启动频率)和指数曲线,如图2所示。

fk

依次计算下去。

3软件设计

软件采用C语言编程。C语言编程效率高,可读

性好,虽然生成的代码文件会比汇编语言占用的空间大5%~20%,但现今芯片的容量和速度都有大幅度的提高,占用空间大小的差异已经不是很关键,而更注重程序的稳定性和开发时间。

加减速控制程序放在T1溢出中断程序里处理,通过改变计数器记数最高值OCR1A和比较匹配值

OCR1B来控制输出PWM波形频率的大小和占空比。

定义全局变量

图2

指数加速曲线

volatileunsignedintstep_Totle;//每个行程所

要走的总步数

2.2加减速曲线的实现

ATmega16是ATMEL公司的一款性价比非常

高的单片机。AVR采用了Harvard结构,具有的数据和程序总线,指令通过一级流水线运行,实现了指令的单时钟周期运行。用16位的定时器T1来产生PWM波形,可获得较宽频率的脉冲波。T1工作于相位和频率修正PWM模式,可以产生高精度的、相位与频率都准确的PWM波形。相频修正PWM模式基于双斜坡操作,其对称性十分适合于电机控制。输出的PWM频率可通过如下公式计算得到:

volatileunsignedintstep_totle;//此行程已经运

行的步数

volatileunsignedintstep_acde;//已运行的加

减速步数

volatileunsignedintFreq;//步进电机需要达到

的频率值

volatileunsignedintFtemp;//当前实际的频率值

并定义两个标志,一个标志是匀速还是非匀速,另一个标志是加速还是减速。程序流程如图3所示。

单片机ATmega16每产生一个脉冲中断一次,进入中断响应程序,首先记录步进电机已经走的步距角个数(一个脉冲走一个步距角),即(若step_totle++,然后再根据所走步数决定是否换向

f-I/OfOCnxPFCPWM=clk

2*N*TOP(2)

式中fOCnxPFCPWM为输出频率,fclk-I/O为CPU频率,N为预分频因子(1、8、64、256或1024),TOP为T1记数的最高值。通过改变TOP值就可改变频率,本系统采取在T1发生溢出中断时的中断程序里改变

step_totle>=step_Totle则步进电机换向),并判断是

否到达减速阶段。接着根据匀速、加减速标志进入相应的匀速、加速、减速处理子程序。如果是在加速或减速阶段,则根据加减速的步数值step_acde作为下

TOP值,从而达到改变频率的大小。

在加速或减速阶段,由于TOP值在不断的变

108

中国测试技术2007年11月

中的参数fm和τ要反复做实验,根据具体的工作环加速和减速阶段的频率境和性能得到,并运行检验。

值序列,可以用VC编个小程序计算得到,并且将计算结果保存到文本文件里,然后直接拷贝到AVR的经过实验证明,本系统所设计的C语言程序里即可。

升降速曲线能够使步进电机在不发生失步、堵转、超步的情况下快速的正反转,并且能够满足排线要求。

参考文献

[1]

李海波,何雪涛.步进电机升降速的离散控制[J].北京化工大学学报,2003,30(1):92-94.

[2]孙建忠,白凤仙.特种电机及其控制[M].北京:中国水利水

电出版社,2005:147-149.

[3]姜[4]沈

平.CNC系统中指数升降速控制曲线的算法[J].微特文,Eaglelee,詹卫前.AVR单片机C语言开发入门

电机,2003(5):16-17.

指导[M].北京:清华大学出版社,2003.

[5]ATMEL公司.ATmega16中文手册20.[6][7]

佟长福.AVR单片机GCC程序设计[M].北京:北京航空航天大学出版社,2006.

陈隆昌.控制电机[M].西安:西安电子科技大学出版社,(5):232-236.2000

[8]佟冬云.ATmega128单片机原理与开发指导[M].北京:机

械工业出版社,2006.

图3

步进电机速度控制流程图

[9]李忠科,李福宅,李勤.通用步进电机升降速控制器设

(3):287-289.计[J].沈阳工业大学学报,2004,26

标或地址得到下一阶段的频率值,并由频率值计算得到计数器的记数最高值OCR1A和比较匹配值

[10]陈文涛,朱志坚.微机控制步进电机研究[J].电子与封装,

(8):36-37.2005,5

OCR1B,重新装载计数器T1。

[11]李仁定.电机的微机控制[M].北京:机械工业出版社,

1999.

[12]李发海,朱东起.电机学[M].北京:科学出版社,2001.

4结束语

步进电机升降速曲线的设计是关键,对于式(1)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第92页)

良好的人机界面便于测试人员操作使用。

参考文献

[1]郑崇勋.数字系统诊断和综合[M].西安:西安交通大学出

版社,1987.

试验证明:Word2000-ActiveX服务器同样也可适用于Word2003。Word2000-ActiveX的应用,方便实现了检测报告的自动生成,

充分发挥了

LabWindows/CVI和Word软件的强大优势,克服了

传统测试时手工记录中随意修改数据的现象,也便于文档的管理。

[2]程明学,侯祖伟,等.军用飞机液压泵计算机辅助测试系

(1):47-48.统[J].计算机自动测量与控制,2000,8

[3]庞湘萍.飞机综合罗盘自动测试系统设计[J].计算机自动

测量与控制,2000,8(2):43-45.

6结束语

基于VXI总线技术和计算机测控技术的机载

[4]游志刚,张剑云,等.基于软件无线电技术的电台自动测

试系统[J].电子技术,2004,31(2):37-39.

电子设备的自动化测试,有效地提高了机载电子设备的测试效率,减轻了维护人员劳动强度。同时,测试系统的智能化避免了测试结果受人员心理、技术和经验等诸因素的影响,满足了现代航空装备好用、管用、实用的要求。分布式硬件结构便于系统维护,

[5]陈遵银,杨建新,欧阳寰,等.鱼雷发射控制系统测试设备

的设计与实现[J].航空计算技术,2006,24(1):13-16.

[6]路辉,孙宝江.基于机载通信自动测试系统的智能手动

测试系统设计[J].中国测试技术,2006,32(3):65-67.

[7]彭代慧,祝诗平,余建桥.虚拟仪器及其远程测控中的应

用[J].中国测试技术,2006,32(3):113-115.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ryyc.cn 版权所有 湘ICP备2023022495号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务