当前位置:文档之家› 单片机控制的步进电机毕业设计论文

单片机控制的步进电机毕业设计论文

单片机控制的步进电机毕业设计论文
单片机控制的步进电机毕业设计论文

引言

步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用设备等等。因此,设计出高精确度、实时监控、语音提示的步进电机具有重要的现实意义和实用价值。基于单片机的步进电机控制系统,能够有效地对步进电机转速、方向等进行控制。

本设计采用16位单片机AT89S52对步进电机进行控制,通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过驱动芯片驱动步进电机;同时,用按键来对电机的状态进行控制,并用数码管显示电机的转速,

1 课题背景

步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越练越大。

随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所未有的挑战。但近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动步进电机的发展,为步进电机的应用开辟了广阔的前景,近几年来,步进电机需求量一直呈现出较快的增长速度,其中扫描仪、打印机、传真、DVD-ROM/CD-ROM驱动器、空调及多功能自动化办公设备等应用对步进电机的需求增长最强。此外由于USB2.0的日益流行促进了高分辨率扫描仪的销售,步进电机向着小型、薄型和更小的步进角度发展。

步进电机有着方方面面重要应用,如何对其进行有效控制,使其能够发挥最大的优势是各个行业技术开发人员所共同关注的,本次设计了一套简单的通用控制系统,对步进电机的转速、方向实行手动控制,并能通过数码管显示其转速。

2 设计要求

本设计主要研究单片机控制步进电机,对步进电机的转速、方向进行控制和显示。

该系统的主要技术参数

(1)系统供电电源:电压:12V、5V;额定电流:0.5A。

(2)驱动电源输出:四相八拍方式。

(3)步踞角:0.9°。

该系统要实现的主要功能:

(1)能实现步进电机的正转、反转控制。

(2)能实现步进电机的转速控制。

(3)扩展功能:实现步进电机点动的转动控制及正反转控制。

3 方案论证

3.1 步进电机选择

由于本系统是基于单片机的步进电机系统,实际上是设计步进电机的驱动电路,而设计步进电机的驱动电路有一个必须遵循的原则:先选择步进电机后进行驱动电路设计。所以在此先介绍步进电机的选择,而这个问题的又分为步进电机在理论上的选用以及理论联系实际对步进电机的选用。

3.1.1理论上对步进电机的选用

步进电机作为本系统的主要组成部件,它的参数选取以及电机的性能指标直接影响到系统控制精度及运行可靠性。步进电机和一般直流电机不同,它的性能指标与驱动电源及测试条件关系很大。同样一个步进电机,当驱动电源或测试方法改变了,其性能会千差万别。不同厂家制造的步进电机,只有在相同的控制电源以及测试条件下进行比较才有意义。因此只有对步进电机的参数和特性有比较深刻的了解,才会更好地选用和使用步进电机。

(1)步进电机的主要参数

①步距角

在电机内不带任何减速装置的情况下,输入一个脉冲信号,步进电机所转过的机械位移即为步距角。电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36°/0.72°(五相电机)、0.9°/1.8°(二相、四相电机)、1.5°/3°(三相电机)等。鉴于在本市购买步进电机的困难以及目前市场上广泛应用的是二相、四相混合式电机,所以本系统采用的是步距角0.9°四相混合式步进电机。

步距角为0.9度,通过计算:360°/0.9°=400,则步进电机转一圈需要400步。

②步进电机的相数

步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。每相都包括电机绕组以及和绕组串联成一个支路的其他元件。在没有细分驱动器时,主要靠选择不同相数的步进电机来满足自己步距角的要求。

③额定电压

指步进电机各相绕组主回路上的直流电压。电压波纹系数不宜过大,一般情况下应小于5%。为了步进电机及其配套电源的标准化,国家标准GBn113-81规定步进电机的额定电压为:

单电压驱动:6,12,27,48,60,80(V);

双电压驱动:6/12,80/12(V)。

④功率

步进电机典型功率范围从几百微瓦(用于较小电机)直到几瓦(用于大型电机)。步进电机的最大功耗受绕组中温度限制。出于本系统设计的考虑只须选择功率范围在十瓦以内的小功率电机即可。

⑤最高运行转速

确定步进电机的最高运行转速。转速指标在步进电机的选取时至关重要,步进电机的特性是随着电机转速的升高,扭矩下降,其下降的快慢和很多参数有关,如:驱动器的驱动电压、电机的相电流、电机的相电感、电机大小等等,一般的规律是:驱动电压越高,力矩下降越慢;电机的相电流越大,力矩下降越慢。在设计方案时,电机的转速控制可以参考厂家提供的矩频特性图。

(2)步进电机动态指标:

①步距角精度

即为步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。

②失步

电机运转时运转的步数,不等于理论上的步数,称之为失步。

③失调角

转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。

④最大空载起动频率

电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。

⑤最大空载运行频率

电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。

3.1.2实际对步进电机的选用

以上是出于理论上对步进电机的选用,实际上由于本系统只须简单地控制步进电机正反转、点动正反转,而没有涉及到使用步进电机拖动负载,因此诸如静力矩和动力矩、转子的转动惯量、失调角、力矩负载、惯性负载这些因素就不需要考虑了;其次由于本设计采用的是小功率的步进电机,因此也不需要过分考虑步距角精度这个因素;再则在本市购买步进电机存在着少选择且价格昂贵的客观因素,所以最终只购买到如下图所示这款价格低廉,型号老旧的二手步进电机,该电机型号太古老且没有说明书,因此现有的参数如下:该电机为二相四相混合式步进电机,步距角为0.9°,相数m为4,额定电压Ue值为12V,相电阻值为34Ω,电机引出线数目为6,分别为红、红、黄、橙、

灰、黑六色。

图3-1-3 步进电机实体图

3.2 步进电机驱动的几种方案论证与比较

本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相八拍制的步进电机。

3.2.1使用分立元件驱动步进电机

以往步进电机控制系统采用分立元件或者集成电路组成的控制回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就得重新设计电路。随着微电子和计算机技术的发展,对步进电机的控制变得非常灵活方便,可以通过软件来控制步进电机。因此,用微电脑控制步进电机已经成为了一种必然的趋势,也符合数字化的时代趋势。

3.2.2 使用多个功率放大器件驱动电机

通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。

3.2.3使用CH250芯片驱动电机

在这种形式里,脉冲分配器(CH250)、驱动电路由硬件完成。单片机只提供步进脉冲和正、反转控制信号,步进脉冲的产生与停止、步进脉冲的频率和个数都可用软件控制。但相比于用软件代替脉冲分配器的方式来说,硬件一旦确定下来,不易更改,更主要的是此种芯片已经在世面上买不到了,所以不采取该方案。

3.2.4使用L298N芯片驱动电机

L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,每相电流达2 A。可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;电路简单,使用方便。

3.2.5使用ULN2003高压大电流达林顿晶体管阵列驱动电机

ULN2003承受高达50V工作电压和0.5A工作电流,而本设计电机也仅需要0.35A

相电流驱动即可。由此芯片构成的驱动电路简单,驱动功率大且成本低,且由软件完成脉冲分配工作,不仅使线路简化,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。

3.3 驱动芯片的选择

本系统是用单片机来实现的,单片机种类繁多,不过又以MCS—51/52系列的单片机使用最广泛,而且本系统的主要功能和51/52系列的单片机用途很合适,所以选用了ATMEL公司的51/52系列芯片。AT89S52是A典型代表,使用相当的多,应用资料很多,价格便宜,是初学51/52的首选芯片,该单片机还有一个优点就是在板子上加上下载电路就可以在线下载了,使用调试起来很是方便。所以本系统的单片机采用AT89S52。由于设计要求用L298N驱动芯片,所以本次设计使用L298N芯片驱动电机。

3.4步进电机与单片机的连接形式:

3.4.1 由硬件完成脉冲分配的功能

在这种形式里,脉冲分配器、驱动电路由硬件完成。单片机只提供步进脉冲和正、反转控制信号,步进脉冲的产生与停止、步进脉冲的频率和个数都可用软件控制。单片机输出步进脉冲后,再由脉冲分配电路按事先确定的顺序控制各相的通断。一般来说,硬件一旦确定下来,不易更改,这种方案,硬设备成本高,它的应用受到了限制。硬件环形分配器由门电路和双稳态触发器组成的逻辑电路构成。

3.4.2 由软件完成脉冲分配工作

所谓软件完成脉冲分配就是用软件改变单片机与步进电机接口输出值,进而达到控制步进电机绕组的通电顺序和通电方式之目的。由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。硬件的主要任务是完成驱动功能。

一般微机系统需要进行如下设置:设置输出接口;设计环形分配子程序,在存储器中建立环形分配表;设计延时子程序,设计延时子程序来控制步进频率。

本电路是以单片机为基础,主要通过软件实现脉冲发生器功能,因此外围电路的设计得到了简化。

电路工作过程: 接电源+5V和+12V, 从正反转及点动控制模块里选择电机工作方式按钮,比如选择正转控制按钮, 单片机AT89S52接收到响应信号后产生脉冲信号,经过接口的上拉电阻后稍微加大输出引脚的驱动能力、提高输出电平,使输出电流变大。接着就是通过L298N芯片驱动电机来给予电机启动电流。步进电机四个相分别为A、B、C、D,本系统步进电机工作于四相八拍的工作方式。

通电绕组顺序: A-AB-B-BC-C-CD-D-DA-A

这样电机转子便顺时针方向一步一步地转动;

相反要使电机自动反转则各相绕组的通电绕组顺序为:

通电绕组顺序: A-AD-D-DC-C-CB-B-BA-A

注意这里的正反转和点动控制的通电绕组顺序的输出状态是一致的。

4 系统主要芯片介绍

4.1 AT89S52

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。

片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图4-1 AT89S52芯片图

4.2 L298N

L298N采用由达林顿管组成的H型PWM电路。PWM电路由四个大功率晶体管组成H 桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作

在开关状态,根据调整输入控脉冲的占空比,精确调整电动机转速。这种电路由于管子工作只在饱合和截止状态下,效率非常高。H型电路使实现转速和方向的控制的简单化,且电子开关的速度很快,稳定性也极强,是一种广泛采用的PWN调整技术。

L298N是SGS公司的产品,常见的是15脚Multiwatt封装,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含双H桥高电压大电流集成电路。由图4-2可见L298N的内部结构,每个H桥的下侧桥臂晶体管发射极连在一起,其输出脚(SENSEA和SENSEB)用来连接电流检测电阻。Vss接逻辑控制的电源。Vs为电机驱动电源。IN1-IN4输入引脚为标准TTL 逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。

图4-2 L298N芯片图

4.3 7805

集成稳压器是指将不稳定的直流电压变为稳定的直流电压的集成电路。在电子制用中应用较多的是三端固定输出稳压器。图4-3-1所示为应用最广泛的串联式集成稳压器内部电路方框图,其工作原理是:取样电路将输出电压Uo按比例取出,送入比较放大器与基准电压进行比较,差值被放大后去控制调整管,以使输出电压Uo保持稳定。

H7805系列为3端正稳电压电路,TO-220封装,能提供多种固定的输出电压,应用范围广。内含过流,过热和过载保护电路。带散热时,输出电流可达1A。虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。

主要特点

输出电流可达1A

输出电压有5V

过热保护

短路保护

输出晶体管SOA保护

极限值(Ta=25℃)

V1——输入电压(Vo=5~18V)……………………………………35V Rojc――热阻(结到壳)……………………………………5℃/W RojA――热阻(结到空气) ……………………………………65℃/W TopR——工作结温范围……………………………………0~125℃TstG――贮存温度范围……………………………………-65~150℃

功能框图:

图4-3-1 7805的功能图

图4-3-2 7805实物图

4.4 光电耦合器

基本的光电耦合器包括发光二极管(LED)、光检测器和光学透明、电气绝缘电介质。电流启动LED 后,该二极管发光,并通过电介质与光电探测器耦合。光检测器产生的电流与耦合光成正比。该电流可以通过不同的电路来操纵,以进行不同的功能。光电耦合器的主要功能是防止电路一侧出现过高的电压,或快速变化的电压损坏元器件或扭曲另一侧的传输。具体方法是使需要的信号以光学的形式通过,同时在两个系统之间保持电性隔离。

本设计选用TLP521-2型光电耦合器,如图4-4所示TLP521-2中由两个隔离通道TLP521-4组成的DIP 包装。

图4-4 TLP521-2芯片图

5 系统主要硬件电路设计

5.1 单片机控制系统框图

图5-1 单片机控制系统原理框图

5.2 步进电机基本原理

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

5.2.1步进电机的特点

(1) 输出转角大小与输入脉冲数严格成比例,即来一个脉冲,转一个步距角,且在时间上与输入脉冲同步。

(2) 电机转子转速随输入信号的脉冲频率而变化。即控制脉冲频率,可控制电机转速。

(3) 借助控制线路,易于获得正反转、间歇运动等特殊功能。即改变脉冲顺序,改变方向。

(4) 转子的转动惯量小,启动、停止时间短。一般在信号输入几毫秒或几十毫秒后,即能使电机转动或达到同步转速。信号切断后,电机立即停止转动。

(5) 输出转角精度高,无累积误差。

(6) 步进电机的工作状态对各种干扰因素不敏感。

(7) 控制特性好。

(8) 步距值不受各种干扰因素的影响。

(9) 总位移量取决于总的脉冲数

5.2.2步进电机换相、转向及加/减速控制方案

(1) 控制换相顺序

通电换相这一过程称为脉冲分配。四相步进电机的八拍工作方式,其各相通电顺序为 A-AB-B-BC-C-CD-D-DA-A. ,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D 相的通断。

(2) 控制步进电机的转向

如果给定工作方式正序通电,步进电机正转,如果按反序通电换相,则电机就反转。

(3) 控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。

5.2.3步进电机的选择

电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。根

据设计要求需要步进电机的步距角为0.9度所以选择四相步进电机。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图5-2-2.a、b、c所示:

a. 单四拍

b. 双四拍 c 八拍

图5-2-3 步进电机工作时序波形图

5.2.4应用中的注意点:

(1) 步进电机应用于低速场合---每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,此时电机工作效率高,噪音低。

(2) 步进电机最好不使用整步状态,整步状态时振动大。

(3) 由于历史原因,只有标称为12V电压的电机使用12V外,其他电机的电压值不是驱动电压伏值,可根据驱动器选择驱动电压(建议:57BYG采用直流24V-36V,86BYG 采用直流50V,110BYG采用高于直流80V),当然12伏的电压除12V恒压驱动外也可以采用其他驱动电源,不过要考虑温升。

(4) 转动惯量大的负载应选择大机座号电机。

(5) 电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。

(6) 高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。

(7) 电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。

(8) 电机在600PPS(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。

(9) 应遵循先选电机后选驱动的原则。

5.3 时钟电路

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高

增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图5-3所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图3-3中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选12MHz

图5-3 时钟电路原理图

5.4 电源部分:

因为电路中的AT89S52单片机的工作电压是+5V,而步进电机的工作电压是+12V ,根据稳压电源的设计要求及其技术指标,结合本系统的功率要求及安装方便实用,本实验用电容整流滤波再经集成稳压管7805/7812后得到直流 +5V和+12V电压。提供给AT89S52芯片、步进电机及其他外围电路。其硬件电路如下示:

图5-4-1 输出+5V电压

图5-4-2 输出+12V电压

5.5 复位电路

为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,要保证单片机可靠地复位,接个电容就是为了这个时间,即可引起系统复位。但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。

图5-5 复位电路原理图

5.6 步进电机驱动电路

驱动电路集成化成为一种趋势。目前,已有多种步进电机驱动集成电路芯片,它们大多集驱动和保护于一体,作为小功率步进电机的专用驱动芯片,广泛用于小型仪表、计算机外设等领域,使用起来非常方便。本设计采用L298N芯片。L298N芯片适用于四相步进电机的驱动。它最大能输出2A电流、46V电压。内部集成有驱动电路,上电自行复位,可以控制转向和输出使能。

图5-6-1 驱动电路原理图

本设计在单片机与步进电动机驱动器的连接电路间利用三个8引脚光电耦合器件TLP521-2组成如图5-6-2所示的隔离电路。其作用是切断了单片机与步进电动机驱动回路之间电的直接联系,实现了单片机与驱动回路系统地线的分别联接.防止处于大电流感性负载下工作的驱动电路产生的干扰信号以及电网负载突变产生的干扰信号通过线路串入单片机,影响单片机的正常工作

图5-6-2 隔离电路图

5.7 LED显示电路

由于系统显示的内容比较简单,显示量不多,所以显示选用数码管既方便又经济。LED有共阴极和共阳极两种。如图5-7-1所示。

符号和引脚共阴极共阳极

图5-7-1 LED数码管结构原理图

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。静态显示是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。动态显示是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。为节省端口及降低功耗,本系统采用动态扫描显示方式。本电路的“段控”和“位控”分别由P1口和P0口控制,P0选中哪个数码管,哪个数码管就亮,P1口控制显示数字。

5-7-2 数码管连接图

5.8 下载线介绍:单片机ISP下载线 (51AVRISP) 3

AVR和ATMEL的AT89S系列单片机可以使用ISP下载线在线编程擦写,即不必将IC 芯片拆下,直接在电路板上进行程序修改、下载等操作。这样对程序的调试和升级都很方便。目前支持芯片有AT89S51,AT89S52,AT89S53,

下载线引脚定义:

图5-8-1 ISP原理图

图5-8-2 下载线实物图

6 电子电路的调试与运行

6.1 WAVE系列仿真软件及其软件调试

本次设计的程序是用C语言编写的,原本想用汇编语言编写,但汇编语句太多太长,看起来很麻烦没有C语言简洁,比如一些循环语句比汇编写出来简单很多,短很多。

程序用仿真软件进行仿真,我用的是WAVE仿真软件,它是集编辑、编译/连接、加载、调试等为一体的集成开发环境(IDE)。用户可以在同一界面环境中完成所有任务。它是利用宿主机上丰富的资源及良好的开发环境开发和仿真调试目标机上的软件。然后通过串行口将编译生成的目标代码传输下载到目标板上,并用调试器在调试软件支持下进行实时分析和在线仿真调试。最后,目标板在特定环境下编程脱机运行。

我们用仿真器主要是检查程序是否有错,并且在没烧入单片机前可以对其进行仿真对程序是否实现所要求的性能进行检测。

在程序输入后对其进行编译,由于我的程序有些是从网上下载的,编译没出现多少错误,主要是变量总是漏了忘记定义,我把在程序中没定义的除了是局部变量的,我会在该程序前对它进行定义,其他我都是在最前面进行全局变量定义。我把程序分为几部分,每部分都实现的功能不同,把所要用的全局变量在其中一部分进行统一定义,如bit on_off;//运行与停止标志,bit dir;//方向标志,unsigned char motor_mode;//运

行模式选择等。还有for循环和while循环的跳出调入我经常弄不懂,我就用WAVE仿真器的单步跟踪看它的跳转。最让人郁闷的是明明觉得程序没错,可编译显示有错。有时看半天就是找不出来,后来跟同学讨论,很多是没有正确调用语句,想调用别的语句没有加以说明。其实在程序方面由于部分是从网上下的,错误并不是很多。可通过WAVE 仿真器对程序进行仿真时就出了很多问题。

在进行仿真时首先出现的是程序和我设计的按键连接管脚不符,我的按键接法是K1接P1.3;K2接P1.7;K3接P1.5;K2接P1.4,它们和程序的按键接口不符,我就在全局定义中把按键定义成全局变量如下sbit KEY1=P1^3;//-> K1;sbit KEY2=P1^7;//-> K2 ;sbit KEY3=P1^5;//-> K3 ;sbit KEY4=P1^4;//-> K4 这样在下面的程序中就直接引用KEY变量就可以了。

还有就是显示部分我按照自己的设计用RUN1、RUN来显示工作的两种功能,我对显示程序的寄存器地址进行了修改,还有我把4个数码管的个、十、百、千位用自己的算法进行了修改。

要注意的是显示中断和步进中断要处理好它们的协调,开始我设计它们的中断是同一个,但经过仿真发现问题就对他们使用了不同的中断,而且输入的频率不能太高,步进电机的每拍的间隔时间不能太短,否则电机来不及响应。

这程序最主要的部分是主程序,我设计的步进电机加电后只要有脉冲就可以运行,但要对它进行控制就要在主程序中对它进行编程,其中主要的是对它的按键情况判断来实现相应的功能。

按键程序的主要功能是:通过不同的按键控制步进电机的运行状态。

本设计有3个功能模块:

模块1:实现步进电机转数的控制如加速或减速。

按K1数码管显示RUN1,进入模式1。

按K3 每按一次速度加1,K4 每按一次速度减1。

长按K3 每次速度加10,长按K4每次速度减10。

长按K2 推出

功能2:实现步进电机转数的正反转控制。

按K1数码管显示RUN1,进入模式2.

再按K1 正转

再按K1反转

长按K2 推出

模块3:实现步进电机的点动。

按K1 看到数码管显示RUN2,再长按K1显示RUN就进去模块3,进行点动。

6.2硬件调试:

我的电路板分为两部分控制部分和驱动部分,中间用光电耦合器进行隔离,用AT89S52单片机输出脉冲并通过驱动器控制步进电机的转动。

我这次的毕设第一次尝试用贴片电阻和双面板。由于设计时电阻太多如果用普通插件电阻的话,我要打很多孔而且在布线上增加了一定难度,电路板的面积也一定不小。因此我用贴片电阻可以不用打孔,板子做出后看起来器件较少比较整洁,所占面积也不大。但问题也出来了,在印刷PCB时底面和顶面容易对不齐,那打孔时造成底面和顶面不能互连。我采取的方法是在双面敷铜板擦洗干净,先用针将打印在敷腊纸上的顶层镜像铜膜走线图的四角的定位过孔中心钻个小孔,再将顶层镜像铜膜走线图复盖在敷铜板上,四周用小片透明胶纸暂固定,用台钻将四个定位小孔钻透。再将打印在敷腊纸上的底层铜膜走线图小心地复盖到另一面敷铜板上,注意对准定位过孔位置,四周仍用小片透明胶纸暂固定,最后再用电熨斗进行两面轮流热压,冷却后敷腊纸掀起,底层铜膜走线图和顶层镜像铜膜走线图就准确地转印到双面敷铜板上了。这样就解决了双面板布线的问题。总的来说布线还挺成功,就是在布局方面要加强下。焊好后看PCB图仔细对照板子看是否有漏焊的地方,我还在阳光下对太阳看了下是否有虚焊,总体来说板子没出现什么问题。有几个过孔我用铁丝插入过孔焊死整个孔。

在我的调试过程中,我想调试电源部分,我用7805和7812来提供电源,但刚工作没多久就发现7812出现发热并可以闻到烧焦的闻到,当时还以为7812烧掉了,理论我是用7805输入+7.5V输出+5V,7812输入+15V输出+12,但由于步进电机没买到合适的就在二手市场买了个二手步进电机,上面没有表明参数,它的输入电压我就不能按设计加入。经过实际调试,我发现7812输人电压的电压要在7~12V范围内,输入输出电压差控制在3V以内,要不然7812会很快发烫,并给7812加了块散热片。

在检测我设计的上电复位时,我发现虽然没什么问题,但可以在设计好点。在实际工作中我给电路板通电后显示的是我设置的初始状态。本来我可以使用按键复位这样可以手动控制复位方式,这样运行中复位可以不断开电源,由于设计时没想到那么多,这是我设计的一个不足。

我检测AT89S51的20和40引脚之间的电压为+5V,单片机可以正常工作。其他器件连接没错能正常工作,而L298N没有控制功能所以我检测它的引脚焊接。在都没问题后,给电路板接电后通过控制4个键让步进电机按程序设计的状态运行。经过测量在电压不变的情况下,当步进电机转速为2时电流为0.7A,当转速为50时电流为0.4A,转速越快电流越小,因为当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,供电电源电流一般根据驱动器的输出相电流来确定,当转速大于50后步进电机的运动基本看不出来,尽量把转速设置在2到50范围内。。

6.3程序部分

程序分成以下几部分:

(1)判断键号部分:判断是否有键按下。

(2)显示部分:使用动态扫描方式,显示工作模式和转速。。 (3)通电方向部分:控制步进电机的正、反转的判断。

(4)步进电机控制部分及主程序:控制步进电机的各项工作模式。

按键程序流程图:(按键键号说明:K1、K2、K3、K4长按时键号为K5、K6、K7、K8)

延时10MS

判断建号

为长按 按键键号加4

按键扫描

延时20MS

N

Y

Y

N

Y

N

按下超过200ms

有键按下

有键按下

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

基于单片机的步进电动机控制器的设计

第一部分培训软件简介 Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 第二部分培训项目实例 培训项目一:基于单片机的步进电动机控制器的设计 项目要求: 采用单片机对步进电机进行控制,包括正转、反转、加速、减速和停止,同时采用液晶显示屏显示步进电动机的运行情况。 培训目的: 1.掌握步进电机的工作原理;

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

基于单片机控制的步进电动机调速系统设计

论文题目:基于单片机控制的步进电动机调速系统设计 摘要 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。在本设计方案中采用AT89C51型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。 关键词:步进电机,单片机,调速系统

Abstract: Step-by-step electric motor is the ring opening gating element changing electricity pulse signal into angular displacement or line displacement. Under the situation of must overload, the electric motor rotation rate , discontinuous location depend on pulse signal frequency and pulse number only , make free from being loaded with the effect changing ,but be that being added a pulse signal , the electric motor by electric motor is to have rotated a step spur angle. This gleam of the sexual relationships existence, adds step-by-step electric motor characteristics such as only having the cyclicity error but there being no accumulative error.Feasible simplicity controlling a field using step-by-step electric motor to come to control changeable extraordinary in speed , location etc.Step-by-step electric motor speed regulation general be change import step-by-step electric motor pulse frequency come true step-by-step electric motor speed regulation, because of step-by-step electric motor every be given to a pulse right away rotate one fixed angle, such right away not bad pass under the control of step-by-step electric motor a pulse arrive at next pulse period come to change pulse frequency,Come to control the speed regulation , realizing step-by-step electric motor thereby to come to change the electric motor rotation rate step-by-step angle concretely the deferred length. Frequency adopt the internal timer of AT89C51 type monolithic machine to change CP pulse in the design plan in realizes the speed regulation controlling , realizing an electric motor and the function that the positive and negative rotates being in progress to step-by-step electric motor rotation rate thereby. Key words:Step-by-step electric motor , monolithic machine , speed regulation system

基于单片机的步进电机控制系统

编号: 综合智能电子 实训 (论文)说明书题目: 院(系):使用科技学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 2010年 1 月 6 日

目录 引言 第1章简介 1.1 步进电机 第2章步进电机原理 2.1 步进电机的工作原理 2.1.1结构及基本原理 2.1.2 电机的步进顺序 第3章系统的硬件设计 3.1 系统设计方案 3.2 主从机硬件部件介绍 3.2.1A T89S51简介 3.2.2 TGI2864E简介 3.2.3MAX485 串行通信 3.2.4TIP122 3.2.5 MOC70T2 3.3 LCD显示电路设计 3.4 电机驱动模块设计 第4章系统的软件实现 4.1 系统软件主流程图 4.2 系统初始化流程图 4.3 部分子程序 第五章总结 致谢 参考文献 摘要:本文使用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的使用实例。

关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真 In this paper, microcontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, the stepper motor control system application examples.

基于单片机的步进电机控制器 毕业设计论文

基于单片机的步进电机控制器毕业设计论文 目录 第1章绪论 (3) 1.1引言 (3) 1.2步进电机常见的控制方案与驱动技术简介 (5) 1.2.1常见的步进电机控制方案 (5) 1.2.2步进电机驱动技术 (7) 1.3本文研究的内容 (9) 第2章步进电机概述 (10) 2.1步进电机的分类 (10) 2.2步进电机的工作原理 (11) 2.2.1结构及基本原理 (11) 2.2.2两相电机的步进顺序 (11) 2.3 步进电机的工作特点 (14) 2.4本章小结 (16) 第3章系统的硬件设计 (17) 3.1系统设计方案 (17) 3.1.1系统的方案简述与设计要求 (17) 3.1.2系统的组成及其对应功能简述 (17) 3.2单片机最小系统 (19) 1

3.2.1AT89S51简介 (19) 3.2.2单片机最小系统设计 (24) 3.2.3单片机端口分配及功能 (25) 3.3串口通信模块 (25) 3.4数码管显示电路设计 (26) 3.4.1共阳数码管简介 (26) 3.4.2共阳数码管电路图 (27) 3.5电机驱动模块设计 (28) 3.5.1L298简介 (28) 3.5.2电机驱动电路设计 (29) 3.6驱动电流检测模块设计 (31) 3.6.1OP07芯片简介 (31) 3.6.2ADC0804芯片简介 (33) 3.6.3电流检测模块电路图 (36) 3.7独立按键电路设计 (37) 3.8本章小结 (37) 第4章系统的软件实现 (38) 4.1系统软件主流程图 (38) 4.2系统初始化流程图 (39) 4.3按键子程序 (40) 结论 (44) 2

基于单片机的步进电机驱动控制

基于单片机的步进电机驱动控制 一、步进电机概述 1.步进电机的定义 步进电机指的是以数字脉冲信号作为电机线或教位移的控制信号,并以数字脉冲频率对电机的转速进行控制的动力控制系统。 在负载正常范围的情况下,步进电机的运行状态只和数字脉冲发生器提供的信号的频率和脉冲占空比有关,一般情况下,电机的状态不受负载的影响。电机的运行角度只和每次所给予的脉冲信号强度有关,而电机的运行速度也只和脉冲信号的频率有直接关 系。这种采用弱点控制强电的控制方式使得步进电机在速度、位移等控制领域有着普通电机不能比拟的优势。 2.驱动控制系统框图 步进电机控制系统有着精确控制、运行稳定的特性,这一其他电机不能比拟的优势使得步进电机得到了广泛的应用。而一般对步进电机控制系统的驱动必须要包含脉冲信 号发生部分,功放部分和驱动控制部分等几个模块电路,我们根据这些通过的模块电路,可将步进电机控制系统的通用框图绘制如下: 在上图的步进电机驱动控制系统方框图中,控制步进电机运行状态的脉冲信号一 般由集成芯片产生,可以是单片机、等智能芯片,也可以是一般的数字电路集成芯片。信号分配环节则要根据步进电机的型号来选择,如四相步进电机有四相四拍和四相 八拍种信号分配的方式;两相步进电机有两相四拍和八拍等脉冲加载形式。功放部分 在驱动环节上显得尤为重要。动态平均电流是步进电机转矩大小的决定因素,前提条件 是电机的速度。电机力矩与平均电流成正比,驱动系统对电机的反电势消弱越多,则平 均电流就越大。 我们一般可以用恒压和恒压串电阻的方法来驱动,或者在条件允许的情况下我们可以用高低压驱动、恒流和细分数等方法来驱动实际的应用过程种,多采用数字集成驱 动芯片作为步进电机的驱动手段。 二、现阶段国内外步进电机驱动的常用方式 1.变频器控制方式 使用变频器对步进电机进行驱动控制时,可以很好的解决步进电机在启动和停止时 容易失步的问题,提高了系统的控制精度。但是变频器的应用成本较高,结构和操作也 比较复杂,无形中提高步进电机的控制难度。 2.PLC控制方式 使用ABB、西门子、欧姆龙等国际知名生产制造商研发的系列产品可以 实现对步进电机的理想化控制,但是基于核心的步进电机控制系统成本高昂,且 难以实现精确控制,在本系统中不太适合。 3.单片机控制方式 随着嵌入式系统在工业控制领域中的广泛应用,以单片机特别是系列单片机 作为控制核心的步进电机控制电路在生产生活领域得到了普及,单片机有着大规模数字

基于单片机的步进电机控制毕业设计论文

基于单片机的步进电机控制 江宁校区08机电二姓名周峰 指导教师丁红 【摘要】当今社会发展的脚步愈变愈快,科学技术也是日新月异。同时,对于生活工作要求简单化、智能化、系统化。对于各个领域的应用设备要操作简单,功能齐全应用自如等等苛刻的要求。在众多条件的促使下,引入了步进电机,而且使之被系统化操作。现今已有如步进电机控制器和驱动器为一体的步进电机控AT89C51 和脉冲分配器PMM8713 完成步进电机的各种运行控制。 整个系统采用模块化设计,结构简单,可靠,通过人机交互换接口能设置,操作简单,易于掌握。该系统可应用于步进电机在机电一体多数场合。 更多的实践证明,基于单片机控制的步进电机比传统的步进控制器具有更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最器件——步进电机。 【关键词】步进电机,单片机,正反转控制,加减速控制,XY工作台

目录 第一章绪论 (3) 1.1 步进电机的发展 (3) 1.2 本文研究内容............. ............. ............. (3)

第二章步进电机的工作原理、分类、特性及指标 (3) 2.1反应式步进电机原理 (4) 2.2感应子式步进电机特点: (4) 2.3分类 (5) 第三章步进电机的驱动............. ............. .. (5) 3.1 脉冲信号的产生 (5) 3.2 信号分配 (5) 3.3 功率放大 (5) 3.4 细分驱动器 (6) 第四章步进电机的单片机控制 (7) 4.1 步进电机控制系统组成 (7) 4.2 步进电机控制系统原理 (7) 4.3 脉冲分配 (7) 4.4 步进电机与微型机的接口电路 (9) 第五章步进电机的运行控制............. ............. (10) 5.1 步进电机的速度控制 (10) 5.2 步进电机的位置控制 (10) 5.3 步进电机的加减速控制 (10) 第六章步进电机的XY工作台............. ............. .. (12) 6.1 设计目标 (12) 6.2 X、Y工作台的传动方式 (12)

完整的单片机控制步进电机程序

#include "reg52.h" #include "INTRINS.H" #include #include #define uint unsigned int #define uchar unsigned char void check_addr(void); /*地址核对*/ uchar code slave_addr[4]={00, 01, 02, 255}; /*从机地址*/ uchar idata T0low, T0high,common_count,input_order,cmd_in_permit,interval; uchar sent_ok,speed_change,start_up,start_end,address_true,i; uint y1; uint code add[100]={60006,62771,63693,64154,64430,64614,64746,64845,64922,64983,65033,65075,651 11,65141,65167,65190,65211,65229,65245,65260,65273,65285,65296,65306,65315,65323,65331 ,65339,65345,65352,65358,65363,65368,65373,65378,65382,65387,65390,65394,65398,65401,6 5404,65407,65410,65413,65416,65418,65421,65423,65425,65428,65430,65432,65434,65435,654 37,65439,65441,65442,65444,65445,65447,65448,65450,65451,65452,65453,65455,65456,65457 ,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65469,65470,6 5471,65472,65472,65473,65474,65475,65475,65476,65477,65477,65478,65478,65479,65480,654 80,65481}; sbit P2_0=P2^0; /*作输入步进电机的脉冲信号发送口*/ sbit P2_2=P2^2; /*作输入步进电机的旋转方向信号发送口*/ sbit P1_0=P1^0; /*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/ sbit WD=P1^7; /*看门狗*/ main() { P2_0=0; P2_2=0; /*步进电机的旋转方向待试验后确定*/ P1_0=1; /*开机时需要关断,串口发送功能,需要时再接通*/ WD=1; /*看门狗先为1,电平翻转为喂狗*/ i=0; common_count=0; cmd_in_permit=0; input_order=0; interval=0; address_true=1; speed_change=0; start_up=0;

毕业设计论文 基于单片机的步进电机控制器

第1章绪论 (2) 1.1引言 (2) 1.2步进电机常见的控制方案与驱动技术简介 (4) 1.2.1常见的步进电机控制方案 (4) 1.2.2步进电机驱动技术 (6) 1.3本文研究的内容 (8) 第2章步进电机概述 (9) 2.1步进电机的分类 (9) 2.2步进电机的工作原理 (10) 2.2.1结构及基本原理 (10) 2.2.2两相电机的步进顺序 (10) 2.3 步进电机的工作特点 (13) 2.4本章小结 (15) 第3章系统的硬件设计 (16) 3.1系统设计方案 (16) 3.1.1系统的方案简述与设计要求 (16) 3.1.2系统的组成及其对应功能简述 (16) 3.2单片机最小系统 (18) 3.2.1AT89S51简介 (18) 3.2.2单片机最小系统设计 (23) 3.2.3单片机端口分配及功能 (24) 3.3串口通信模块 (24) 3.4数码管显示电路设计 (25) 3.4.1共阳数码管简介 (25) 3.4.2共阳数码管电路图 (26) 3.5电机驱动模块设计 (27) 3.5.1L298简介 (27) 3.5.2电机驱动电路设计 (28) 3.6驱动电流检测模块设计 (30) 3.6.1OP07芯片简介 (30) 3.6.2ADC0804芯片简介 (32) 3.6.3电流检测模块电路图 (35) 3.7独立按键电路设计 (36) 3.8本章小结 (36) 第4章系统的软件实现 (37) 4.1系统软件主流程图 (37) 4.2系统初始化流程图 (38) 4.3按键子程序 (39) 结论 (43) 1

第1章绪论 1.1引言 步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulse motor或Stepper servo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点[1]。 正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用[2]。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。虽然与发达国家相比,我们我国的数控技术方面整体发展水平还比较低,但已经在我国占有非常重要的地位,并起了 2

三相步进电机驱动器毕业设计论文

毕业设计(论文) 题目:三相步进电机驱动器设计学院:机电工程学院 专业班级:机械工程及自动化03班指导教师:职称: 学生姓名: 学号:

摘要 步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,具有快速起动和停止的特点。其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度, 并能实现正反转和平滑速度调节。它的运行速度和步距不受电源电压波动及负载的影响, 因而被广泛应用于数模转换、速度控制和位置控制系统。本文在分析了步进电机的驱动特性、斩波恒流细分驱动原理和混合式步进电机驱动芯片ULN2003AN的性能、结构的基础上,结合AT89C52单片机,设计出了混合式步进电机驱动电路。 关键词:步进电机,AT89C52单片机,ULN2003AN驱动

Abstract Stepping motors is a kind of will convert angular displacement or electrical impulses signal line displacement of precision actuator, have fast start and stop characteristics. The driving speed and instructions pulse can strictly synchronization, which has high repositioning precision, and can realize the positive &negative and smooth adjustable speed. Its operation speed and step distance from supply voltage fluctuation and load effect, which have been widely applied in analog-to-digital conversion, speed control and the position control system. Based on the analysis of the stepper motor driving characteristics, a chopper constant-current subdivided driving principle and hybrid stepping motor drive chip ULN2003AN the performance, structure in the foundation, the union AT89C52 single chip computer, designed a hybrid stepping motor driver circuit. Key words:Stepping motor,AT89C52 single chip computer,ULN2003AN driver

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.doczj.com/doc/1b188977.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

步进电机论文初

步进电机论文 前言 何为步进电机 步进电机是一种专门用于位置和速度精确控制的特种电机。步进电机的最大特点是其“数字性”,对于控制器发过来的每一个脉冲信号,步进电机在其驱动器的推动下运转一个固定角度(简称一步),如下图所示。如接收到一串脉冲步进电机将连续运转一段相应距离。同时可通过控制脉冲频率,直接对电机转速进行控制。由于步进电机工作原理易学易用,成本低(相对于伺服)、电机和驱动器不易损坏,非常适合于微电脑和单片机控制,因此近年来在各行各业的控制设备中获得了越来越广泛的应用。 步进电机的种类和特点 1.1步进电机的分类 步进电机在构造上有三种主要类型:反应式(Variable Reluctance,VR)、永磁式(Permanent Magnet,PM)和混合式(Hybrid Stepping,HS)。 * 反应式 定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。 * 永磁式 永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15°)。 * 混合式 混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。 2.按输出转矩的大小分类: 2-1快速步进电机 电动机的输出转矩一般为0.07-4nm,可以控制小型机床的工作台,列如线切割机床。

2-2功率步进电机 电动机的输出转矩一般为5-40nm,可直接驱动机床的移动部件。 此外按励磁相数可分为三相,四相、五相、六相等,相数越多,步距角越小,但结构复杂。;按运动方式分为旋转运动、直线运动、平面运动等;按定子排列方式还可以分为径向单段式和纵向多段式,轴向式的转动惯性小,快速性和稳定性好,功率步进电机多为轴向式。 按定子上绕组来分,共有二相、三相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。该种电机的基本步距角为1.8°/步,配上半步驱动器后,步距角减少为0.9°,配上细分驱动器后其步距角可细分达256倍(0.007°/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。 步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为执行原件,是电器自动化的最关键的产品之一,广泛应用在各种自动化控制系统和精密机械等领域。例如,在仪器仪表,机床设备以及计算器的外围设备中(如打印机和绘图仪),凡是需要对转角进行精确控制的情况下,使用步进电机最为理想。随着微电子和计算器技术的发展,步进电机的需求量与日剧增,在各个国民经济领域都有应用。 上个世纪就出现了步进电机,它是一种可以自由回转的电磁铁,动作原理和今天的反应试步进电机没有什么区别,也是依靠气隙磁导的变化来产生电磁转矩。在本世纪出,由于资本主义列强争夺殖民地,造船业发展很快,同时也使得步进电机的得到长足的发展。到了80年代后,由于廉价的微型计算器一多功能的姿态出现,步进电机控制系统采用分立原件和集成电路组成的控制回路,不仅调试安装复杂,要消耗大量的元器件,而且一旦定型后,要改变控制方案就一定要重新设计电路。计算器则通过软件来控制步进电机,更好的挖掘出电动机的潜力。因此,用计算器控制步进电机已经成为了一中必然的趋势,也符合数字化的时代趋势。 步进电机和普通电机的不同之处是步进电机接受脉冲信号的控制。步进电机靠一种环形分配器的电子开关器件,通过功率放大器使励磁绕阻按照顺序轮流接通直流电源。由于励磁绕阻在空间中按照一定的顺序规律排列,轮流和直流电源接通后,就会在空间形成一种越阶变化的旋转磁场,使转子步进式转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、转子齿轮数有关。步进电机广泛应用在生产的各个领域。他最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将脉冲信号转化成角位移,所以被认为是理想的数控机床的执行元件。早期的步进电机输出的转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。随着步进电机技术的发展,步进电机已经能够单独在系统上进行使用,比如,步进电机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电机可以同时完成两个

51单片机控制步进电机程序及硬件电路图

#include static unsigned int count; //计数 static int step_index; //步进索引数,值为0-7 static bit turn; //步进电机转动方向 static bit stop_flag; //步进电机停止标志 static int speedlevel; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; //步进电机转速参数计数 void delay(unsigned int endcount); //延时函数,延时为endcount*0.5毫秒 void gorun(); //步进电机控制步进函数 void main(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许 TH0 = 0xFE;

TL0 = 0x0C; //设定时每隔0.5ms中断一次TR0 = 1; //开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do{ speedlevel = 2; delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0; }while(1); } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFE; TL0=0x0C; //设定时每隔0.5ms中断一次count++; spcount--; if(spcount<=0) { spcount = speedlevel; gorun(); } } void delay(unsigned int endcount) { count=0; do{}while(count

51单片机驱动步进电机的方法(详解)

51单片机驱动步进电机的方法2019.02 这款步进电机的驱动电压12V,步进角为7.5度. 一圈360 度, 需要48 个脉冲完成!!! 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。 采用51驱动ULN2003的方法进行驱动。 ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。 ;****************************************************************************** ;*************************步进电机的驱动*************************************** ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19

;--------------------------------------------------------------------------------- ; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!! ; 本步进电机步进角为7.5度. 一圈360 度, 需要48 个脉冲完成!!! ;--------------------------------------------------------------------------------- ; A组线圈对应P2.4 ; B组线圈对应P2.5 ; C组线圈对应P2.6 ; D组线圈对应P2.7 ; 正转次序: AB组--BC组--CD组--DA组(即一个脉冲,正转7.5 度) ;---------------------------------------------------------------------------------- ;----------------------------正转-------------------------- ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R3,#144 正转3 圈共144 脉冲 START: MOV R0,#00H START1: MOV P2,#00H MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START 对A 的判断,当A = 0 时则转到START MOV P2,A LCALL DELAY INC R0 DJNZ R3,START1 MOV P2,#00H LCALL DELAY1 ;-----------------------------反转------------------------ MOV R3,#144 反转一圈共144 个脉冲 START2: MOV P2,#00H

相关主题
文本预览
相关文档 最新文档