当前位置:文档之家› 基于单片机ATS控制步进电机正反转

基于单片机ATS控制步进电机正反转

基于单片机A T S控制步进电机正反转The latest revision on November 22, 2020目录步进电机 (7)附件A 源程序 .......................................... (12)附件B 仿真结果 (15)致谢 (18)摘要能够实现步进电机控制的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异更新。

本文介绍一种用AT89S52作为核心部件进行逻辑控制及信号产生的单片机技术和汇编语言编程设计的步进电机控制系统,步进电机背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅对步进电机的原理有了深入的了解,也对单片机的设计研发过程有了更加深刻的体会。

本控制系统采用单片机控制,通过人为按动开关实现步进电机的开关,复位。

该系统还增加了步进电机的加速及减速功能。

具有灵活方便、适用范围广的特点,基本能够满足实践需求。

关键词: AT89S52 步进电机 ULN2003第一章系统分析框图设计根据系统要求画出基于AT89S52单片机的控制步进电机的控制框图如图2-1所示。

图2-1基于AT89C52单片机的控制步进电机的控制框图系统主要包括单片机、复位电路、晶振电路、按键电路、步进电机及驱动电路几部分。

晶振电路AT89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。

石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。

晶振模块自带振荡器、提供低阻方波输出,并且能够在一定条件下保证运行。

最常用的两种类型是晶振模块和集成RC振荡器(硅振荡器)。

晶振模块提供与分立晶振相同的精度。

硅振荡器的精度要比分立RC振荡器高,多数情况下能够提供与陶瓷谐振槽路相当的精度。

图2-2为晶振电路。

图2-2 晶振电路第二章系统设计硬件连接图根据图2-1,可以设计出单片机控制步进电机的硬件电路图,如图3-1所示。

图3-1硬件连接图按键功能按键采用3个功能键,K1、K2和K3按键开关分别接在单片机的~引脚上,用来控制步进电机的转向,作为控制信号的输入端键。

按K1时,步进电机正传;按K2时,步进电机反转;按K3时,步进电机停止转动。

单片机At89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

At89C52主要技术参数如下:与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33MHz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器图2-2 At89C52引脚图图2-3ULN2003驱动电路单片机的输出电流太小,不能直接与步进电机相连,需要增加驱动电路。

对于电流小于的步进电机,可以采用ULN2003类的驱动IC。

ULN2003技术参数如下所示。

最大输出电压:50V。

最大连续输出电流:。

最大连续输入电流:25mA。

功耗:1W。

如图2-4所示为2001/2002/2003/2004系列驱动器引脚图,图3-3左侧1~7引脚为输入端,接单片机P1口的输出端,引脚8接地;右侧10~16引脚为输出端,接步进电机,引脚9接电源+5V,该驱动器可提供最高的电流。

ULN2003 的每一对达林顿都串联一个的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。

ULN2003 采用DIP—16 或SOP—16 塑料封装。

方框图方框图封装外形图ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。

它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。

ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。

用户输出口的外接负载可根据以上参数估算。

采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

作用:ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

该电路的特点如下: ULN2003的每一对达林顿都串联一个的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

图2-4-1ULN2003芯片引脚图ULN2003芯片引脚介绍引脚1:CPU脉冲输入端,端口对应一个信号输出端。

引脚2:CPU脉冲输入端。

引脚3:CPU脉冲输入端。

引脚4:CPU脉冲输入端。

引脚5:CPU脉冲输入端。

引脚6:CPU脉冲输入端。

引脚7:CPU脉冲输入端。

引脚8:接地。

引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。

用于感性负载时,该脚接负载电源正极,实现续流作用。

如果该脚接地,实际上就是达林顿管的集电极对地接通。

引脚10:脉冲信号输出端,对应7脚信号输入端。

引脚11:脉冲信号输出端,对应6脚信号输入端。

引脚12:脉冲信号输出端,对应5脚信号输入端。

引脚13:脉冲信号输出端,对应4脚信号输入端。

引脚14:脉冲信号输出端,对应3脚信号输入端。

引脚15:脉冲信号输出端,对应2脚信号输入端。

引脚16:脉冲信号输出端,对应1脚信号输入端。

参考电路接法如图2-4-2图2-4-2参考电路接法步进电机步进电机的特点:1)一般步进电机的精度为步进角的3-5%,且不累积。

2)步进电机外表允许的温度高。

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3)步进电机的力矩会随转速的升高而下降。

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。

在有负载的情况下,启动频率应更低。

如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

步进电机的工作原理:步进电机是一种用电脉冲进行控制 ,将电脉冲信号转换成相位移的电机 ,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比 ,每一个脉冲信号可使步进电机旋转一个固定的角度.脉冲的数量决定了旋转的总角度 ,脉冲的频率决定了电机运转的速度.当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

本次设计采用的电机STEPPER-MOTOR型号步进电机,如图图 STEPPER-MOTOR型号步进电机第三章软件设计软件流程图程序设计流程图如图4-1所示,主要包括键盘扫描模块、步进电机正转模块、步进电机反转模块和步进电机定时模块。

图4-1程序设计流程图激磁方式二相步进马达的激磁方式有下列两种:(1).全步激磁全步激磁方式又可分为1 相激磁与2相激磁两种方式,说明如下:1相激磁每次只激磁一相线圈,每输入一个脉波,便产生一步级的转,如图11所示,由图中可知,当激磁依A→B→A→B→A……相顺序,则马达顺时针方向旋转;若依B→A→B→A→B……相顺序激磁,则马达依逆时针方向旋转。

此种激磁方式之优点为线圈消耗功率小,角精确度良好,但其转距小,加上阻尼特性不良,易失步。

图4-2-12相激磁每输入一个脉波,将有二相线圈激磁,如图12所示,由图中可知,若依AB→BA→AB→BA→AB……相顺序激磁,则马达顺时针方向旋转:若依BA→AB→BA→AB→BA……相顺序激磁,则马达转向为逆时针方向。

此种激磁方式由于同时有两组线圈激磁,输出转距较大,加上阻尼效果良好,故能追踪较高的脉波率,但其缺点为耗电较大,容易发热。

图4-2-2(2)半步激磁此种激磁方式又称1-2相激磁,激磁一相线圈和二相线圈交互进行,每加入一数字脉波所转动之角度为原步进角的一半,因此分辨率可提高一倍,且运转时相当平滑,故与2相激磁方式同受广泛使用。

图13为二相步进马达采用1-2相激磁方式之时序图,由图中可知,若依照A→AB→B→BA→A→AB→B→BA→A→AB……相的顺序激磁,则步进马达将以顺时针方向旋转;但如果依照BA→A→AB→B→BA→A→AB→B→BA……相顺序激磁,则马达逆时针方向旋转图4-2-3附录附件A 源程序#include <>sbit p00 = P0^0;sbit p01 = P0^1;sbit p02 = P0^2;unsigned char codeForward[4]={0xFC,0xF9,0xF3,0xF6};Main单片机C语言程序设计实训100例.北京航空航天大学出版社,2010,5[9]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2007[10]郭天祥.新概念51单片机C语言教程——入门、提高、开发、拓展、全攻略[M].电子工业出版社,2011,2致谢在单片机课程设计的学习过程中,在陈老师和各位同学的帮助下,我把老师以前教导的内容反馈到实践中来,在实践中验证了学习到的理论,同时也对理论知识进行了巩固。

相关主题