基于AVR单片机的步进电机驱动设计与应用
2011-01-29吴震
吴 震
(江阴职业技术学院 电子信息工程系,江苏 江阴 214405)
步进电机[1-2]是一种将电脉冲信号转换成直线或角位移的执行元件,能快速起停、间歇运动及小角度转动,其转角和转速不受电压波动和负载变化的影响,也不受环境条件如温度、气压、冲击、振动等的影响,但与驱动脉冲频率有关.此外,在一般情况下(不丢步的情况下),其步距误差不会长期积累.正因为步进电机有快速起停、精确的小步距转动及可直接由脉冲驱动等优点,所以在精密运动系统和自动控制系统中被广泛运用.
笔者在进行彩色放大机、电子印像机等研发过程中,设计了基于AT90S8535单片机的步进电机驱动控制硬软件,为步进电机的驱动提供相应的驱动脉冲,通过软件实现步进电机的正反转、单步转及定步等不同的功能.其中步进电机的驱动将通过AT90S8535口线实现多个电机的驱动控制,存储步进电机的角位移,并可快速返回.
1 系统设计方案
1.1 AVR单片机的选择
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(reduced instruction set CPU) 精简指令集高速8位单片机[3-4].本次设计采用的AT90S8535单片机是AVR系列单片机中内部接口丰富、功能齐全且性价比高的一个品种,主要特点为:①累加器多,有32个通用工作寄存器,均可用作累加器,克服了51系列单一累加器造成的瓶颈效应;②速度快,每个时钟周期执行一条指令,当主频为12时,大多数指令仅需约80 ns;③驱动能力强,I/O口灌电流可达40 mA,能直接驱动LED、继电器等器件;④设有看门狗定时器,抗干扰能力增强;⑤开发平台丰富,除可使用汇编语言外,它还可使用C语言编程,易学、易写、易于移植.
1.2 步进电机的选择
一般步进电机控制必须使用专用设备—步进电机驱动器,是有一个变频信号源—脉冲频率从几赫到几十千赫可以连续变化的信号发生器,它为环形分配器提供脉冲序列.环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动.环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器(本设计采用);另一类是用硬件构成的环形分配器,通常称为硬环形分配器.功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的.软环形分配器可以根据系统需要,通过软件编程的方法,任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态.这样可简化控制电路,降低生产成本,提高系统的运行效率和灵活性.
四相八拍步进电机正转励磁顺序如表1所示.正转方向的环形分配器编码为A→AB→B→BC→C→CD→D→DA→A,旋转方向相反,取相反通电顺序,则反转环形分配器编码为A→DA→D→CD→C→BC→B→AB→A(八拍).为提高工作效率,步进电机返回时采用高转速,环形分配器编码可以为AB→BC→CD→DA→AB(四拍),旋转方向相反,取相反通电顺序.
本设计中选用的步进电机是35BYJ-46四相八拍步进电机,工作电压为DC12 V,减速比为1/42.5,步距角为3.75°/42.5,驱动方式为四相八拍,牵入转矩≥700 gfcm,自定位转矩≥1 500 gfcm,空载牵入频率≥450 Hz,空载牵出频率≥550 Hz.
表1 步进电机励磁顺序
2 系统设计
2.1 硬件设计
步进电动机在这个硬件接口电路中有着举足轻重的地位,在彩色放大机的设计中,它主要控制着三滤色片进与出,从而完成最终图片所需要达到的颜色要求.步进电动机的工作是经过AT90S8535单片机的PA与PC两个双向I/O口编程输出步进电机的环形分配器编码给驱动芯片ULN2803,由ULN2803驱动步进电机,从而最终让电动机转动一定角度,完成对黄、品、青三滤色片的进与出控制,实现校色功能.步进电动机零位是有黄、品、青三滤色片的进出零限位开关,即3个步进电机有3个位置开关来告诉单片机3个滤色片的零位,即滤色片全退出.图1是其接口原理图[5-9].
ULN2803是八路NPN达林顿连接晶体管阵列,特别适用于低逻辑电平数字电路和较高的电流/电压要求之间的接口,ULN2803的驱动负载电流为500 mA,驱动电压为50 V.COM脚的作用是,当使用ULN2803驱动电感类负载时,可以将COM脚接到电源正,利用ULN2803内部的反向二极管充当保护器件,消除电感类负载闭合时产生的感应电压,来削减冲击电压低到二极管压降加电源电压的幅度—可以使得内部的三极管受到最小的正电压冲击,不易击穿器件.
2.2 软件设计
笔者在彩色放大机的设计中,AT90S8535软件包括串行接收、发送数据;步进电机驱动;升降、对焦电机驱动;保护等.软件主流程如图2所示.图中校色(青、品、黄)就是对3个步进电机的控制;通道号是对3个步进电机不同角位移的存储,即不同的通道号存储着3个步进电机不同的角位移,读出时,就把上次存储在对应通道号上的三滤色片旋转的角度恢复了,清除时,就把步进电机带动的三滤色片返回到零限位点.升降和对焦是由软件控制继电器通断,改变接到直流电机的直流电源的极性,从而改变直流电机的转向.
图1 AT90S8535单片机硬件接口原理图
图2 基于AT90S8535控制器的流程(负责电机驱动、继电器控制、串口部分)
3 测试结果
在彩色放大机的设计中,测试过程是通过另一上位机(MCU1)与AT90S8535串行接收、发送数据来完成的.上位机面板及AT90S8535单片机硬件PCB板如图3所示.
1) 机头升降:按“升降”键,再按“+”或“-”键,能完成电动升降功能,并设有极限保护,防止机头从轨道上掉下.
2) 清零:按“清零”键,黄、品、青三干涉膜滤色片全部退出光路,3只步进电机都能反转到零限位处.
3) 对焦:按“调焦”键,再按“+”或“-”键,直到清晰为止,能完成电动调焦功能,并设有极限保护.
4) 校色:用减色法校色,插入黄、品、青三干涉膜滤色片,为无级校色.按“黄”键,再按“+”或“-”键,对应步进电机能在0~260度范围内转动,对应示值在0~130 cc之间.品、青校色与黄校色相类同(黄、品、青经反复校色,能得到标准照片).
5) 存储通道:可存储50个通道,按“通道”键,再按“+”或“-”键,选通道号,再按存储键,能把三滤色片的旋转角度存储到该通道号,下次要印相同的底片(放大纸、显影条件相同)时,选相应的通道号,再按“读出”键,能把上次存储的三滤色片旋转的角度恢复.
图3 上位机面板及AT90S8535单片机硬件PCB板
4 结 论
采用AVR单片机AT90S8535编程产生激励脉冲,ULN2803驱动步进电机的驱动设计已经成功应用于彩色放大机、 电子印像机等控制系统中,使其具有定位精度高、可快速返回和较高的智能性—角位移存储.实践表明,步进电机驱动电路配合单片机软件编程的方法使复杂的控制过程简单化,有效地降低了成本,能够实现步进电机的长时间稳定运行;同时,它具有操作简单、性能稳定、数据通讯抗干扰能力强等特点.
[1] 雷海波.用微机和单片机控制步进电机的走动[J].微计算机信息,2000,16(5):30-32.
[2] 王鸿钰.步进电机控制技术入门[M].上海:同济大学出版社,1990:1-60.
[3] 宋建国.AVR单片机原理及应用[M].北京:北京航天航空大学出版社,1998:8-260.
[4] 马潮.AVR单片机嵌入式系统原理与应用实践[M].桂林:广西师范大学出版社,2008:5-80.
[5] 朱宇光.单片机应用新技术教程[M].北京:国防工业出版社,1999:268-285.
[6] 徐淑华.单片机微机原理及应用[M].哈尔滨:哈尔滨工业大学出版社,1994:198-224.
[7] 杨志忠.数字电子技术[M].北京:高等教育出版社,2003:94-124.
[8] 胡宴如.模拟电子技术[M].北京:高等教育出版社,2004:28-117.
[9] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,1996:106-142.