ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:141.62KB ,
资源ID:20173954      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20173954.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(步进电机控制及驱动电路的方案设计书Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

步进电机控制及驱动电路的方案设计书Word文档下载推荐.docx

1、指导教师签名: 年 月 日系主任(或责任教师)签名:1.步进电机原理.21.1步进电机简介.21.2步进电机原理及控制技术.21.3 步进电机驱动方法.21.4总体设计方框图.31.5设计原理分析.31.5.1元器件介绍.31.5.2方案论证.52硬件设计.62.1控制电路.62.2最小系统.62.3驱动电路.72.4显示电路.72.5总体电路图.83软件设计.94程序编写.95实验心得及体会.17参考文献.171.步进电机原理及硬件和软件设计1.1步进电机简介步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲

2、数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.2步进电机基本原理通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转

3、速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。1.3 步进电机驱动方法步进电机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如下图所示。它由脉冲发生控制单元、功率驱动单元、保护单元等组成。图中点划线所包围的二个单元可以用微机控制来实现。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。1.4总体设计方案框图1.5设计原理分析1.5.1元器件介绍(1)步进电机步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片

4、机控制。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度或前进、倒退一步。步进电机旋转的角度由输入的电脉冲数确定。1 四相步进电机的工

5、作原理该设计采用了20BY-0型步进电机,该电机为四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。2 步进电机的静态指标及术语相数:产生不同队N、S磁场的激磁线圈对数,常用m表示。拍数:完成一个磁场周期性变化所需脉冲用n表示,定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成

6、的)。静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热及机械噪音。3 四相步进电机的脉冲分配规律对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。各种工作方式在电源通电时的时序与波形分别如图所示。本设计的电机工作

7、方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。(2)89C51单片机89C51单片机是一种低功耗、低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中

8、断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。1.5.2方案论证从课程设计要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度,由于设置八个键盘功能,采用P1口间接八个独立按键。系统的输出线与步进电机的绕组数有关。这里选5线4相步进电机制。该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。步进电机的四相绕组用P1口的P1.0P1.3控制,由于P1口驱动能力不够,因而用一片2803增加驱动能力。用P0口控制液晶显示转动状态及速度。2硬件设计本设计的硬件电路只要包括控制电

9、路、最小系统、驱动电路、显示电路四大部分。最小系统只要是为了使单片机正常工作。控制电路只要由开关和按键组成,由操作者根据相应的工作需要进行操作。显示电路主要是为了显示电机的工作状态和转速。驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。2.1控制电路据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、K3、K4、K5、K6、K7、K8,控制电路如下图所示。通过K1、K2、K3选择单相、二相、一二相驱动;通过K4、K5选择正转、反转;通过K6、K7控制转速,K8控制系统回复初始状态或重置状态。根据步进电机的工作原理可以知道,步进电机转

10、速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过K6、K7的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。2.2最小系统 单片机最小系统或者称为最小应用系统,素质用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。2.3驱动电路通过ULN2803构成驱动电路,电路图如下图所示。通过单

11、片机的P1.0P1.3输出脉冲到ULN2803的1B4B口,经信号放大后从1C4C口分别输出到电机的A、B、C、D相。2.4显示电路在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。在显示电路中,主要是利用了单片机的P0口,采用1602液晶作显示。第一行根据键盘控制显示“Mode:Single +”/ “Mode: Single ” /“Mode: Double +” / “Mode: Double _”/ “Mode: Mixed +”/ “Mode: Mixed -

12、”,分别代表一相正转/一相反转/二相正转/二相反转/一二相正转/一二相反转。第二行根据键盘控制显示“Speed:10”,初始数字为10,数字代表速度等级,共有20级,即数字可显示从0到20,数字越小即周期越短速度越快。2.5实物电路图各个部分的电路图组合成失误电路图,如下图所示。3软件设计通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成2个部分的工作才能满足课题要求,即主程序部分、定时器中断部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分

13、控制脉冲频率,它决定了步进电机各个状态确定设置。下面分析主程序与定时器中断程序及外部中断程序。(1)主程序设计主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断,液晶屏。当上电时,液晶屏第一行显示“Mode:”,第二行显示“Speed:”,由于未设置步进电机工作状态,步进电机未工作,且液晶未显示步进电机有关状态。(2)定时中断设计步进电机的状态设置由键盘的按下松开确定。K1K8的按下就会对数组进行赋值,通过对数组的判断确定我们所设置的工作状态。由于我们需要实时地调节步进电机的转速,因此采用

14、定时中断程序,每当扫描键盘时,K6、K7的按下会对数组的值进行加减,通过数组值的大小的改变控制步进电机的转动频率从而调节步进电机的转速,数字值最大为20最小为0,超出范围时数组值不可改变。由于对每一按键定义了一种功能,当按下某些按键组合时会产生一些错误的设定,对于这种情况我们设定了K8作为初始化/复位按键,按下K8会使系统回到初始状态,这时我们可以对系统进行重新正确的设定或者转换另一种工作状态。4程序编写#include #define KeyPort P3#define LCD P0 sbit rs=P24。 /定义液晶使能控制端口sbit rw=P25。sbit en=P26。sbit A

15、1=P10。 /定义反向驱动端口sbit B1=P11。sbit C1=P12。 sbit D1=P13。unsigned char n5。unsigned char T=10,Y=0。unsigned char mode=mode:,speed=speed:,one=Single,two=Double,mixed=Mixed,re=Reset ,er=Error。#define Coil_AB1 A1=1。B1=1。C1=0。D1=0。 /对步进电机进行编码#define Coil_BC1 A1=0。C1=1。 #define Coil_CD1 A1=0。B1=0。D1=1。#define

16、Coil_DA1 A1=1。#define Coil_A1 A1=1。#define Coil_B1 A1=0。#define Coil_C1 A1=0。#define Coil_D1 A1=0。#define Coil_OFF A1=0。void DelayMs(unsigned char t) /定义延时 int x,y。 for(x=t。x0。x-) for(y=110。yy-)。void write_com(unsigned char com)/液晶显示状态控制程序 rs=0。 rw=0。 en=0。 LCD=com。 DelayMs(5)。 en=1。void write_date(

17、unsigned char date)/液晶数据显示程序 rs=1。 LCD=date。void init_LCD()/液晶初始化程序 int a。 write_com(0x38)。 write_com(0x06)。 write_com(0x01)。 write_com(0x0c)。 write_com(0x80)。 for(a=0。a1|e=2) init_LCD()。 write_date(era)。unsigned char KeyScan(void)/键盘扫面 unsigned char keyvalue。 if(KeyPort!=0xff) DelayMs(10)。 keyvalue

18、=KeyPort。 while(KeyPort!=0xff)。 switch(keyvalue) case 0xfe:return 1。break。 case 0xfd:return 2。 case 0xfb:return 3。 case 0xf7:return 4。 case 0xef:return 5。 case 0xdf:return 6。 case 0xbf:return 7。 case 0x7f:return 8。 default:return 0。 return 0。void danxiang_0()/步进电机单相正转 Coil_A1 DelayMs(T)。 Coil_B1 Coil_C1 Coil_D1void danxiang_1()/步进电机单相发转 void erxiang_0() /步进电机二相正转 Coil_AB1 Coil_BC1 Coil_CD1 Coil_DA1 void erxiang_1()/步进电机二相反转void yi_er_0()/步进电机一二相正转void yi_er_1()/步进电机一二相反转void run()/步进电机控制程序n3=1& danxiang_0()。n3=0& danxiang_1()。 if(n1=1& erxiang_0()。 erxiang_1()。 if(n2=1& yi_er_0()。n3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1