步进电机控制系统设计.docx
《步进电机控制系统设计.docx》由会员分享,可在线阅读,更多相关《步进电机控制系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
步进电机控制系统设计
设计题目
步进电机控制系统设计
设计要求
1.基本要求:
控制步进电机转动,要求转速1步/1秒;设计实现接口驱动电路。
2.提高要求.
改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3挡);
设计过程
(包括:
设计方案、上机设计与仿真结果、硬件实验方案及实验结果、收获和体会)
成绩评定
指导教师评语
课程设计等级
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速
启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。
本设计运用了8086CPU芯片以及74273芯片、8255A芯片和步进电机以及7位小功率驱动芯片ULN2003A、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。
绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。
该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速。
关键词:
步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统
1、课程设计任务书
1.1任务和目的4
1.2设计题目4
1.3内容和要求4
1.4列出使用元器件和设备清单4
2、绪论4
3、步进电机的总体方案6
4、步进电机的硬件设计7
4.1总体设计思路7
4.2电路原理图10
4.3线路连接图11
5、步进电机软件设计12
5.1流程图12
5.2控制程序14
&调试说明19
6.1调试过程19
6.2调试缺陷19
7、总结收获19
8、参考文献20
附录:
元器件及设计清单
1.课程设计任务书
1.1任务和目的
掌握微机硬件和软件综合设计的方法。
1.2设计题目
步进电机控制系统设计
1.3内容和要求
1.基本要求:
控制步进电机转动,要求转速1步/1秒;设计实现接口驱动电路。
2.提高要求:
改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少
3挡);
1.4列出使用元器件和设备清单
8086cpu可编程并行接口8255指示灯键盘74LS138译码器驱动模块步
进电机
2.绪论
步进电机又称脉冲电动机或阶跃电动机,国外一般称为Stepmotor或Steepingmotor、StepperservoSteppe,等等。
目前,随着电子技术、控制技术以及电动机本体的发展和变化,传统电机分类间的界面越来越模糊,这是机电一体化元件组件的必然趋势。
就传统的步进电机来
说,步进电动机可以简单的定义为,根据输入的脉冲信号,每改变一次励磁状态就前进一定角度(或长度),若不改变励磁状态则保持一定位置而静止的电动机。
从广义上讲,步进电动机是一种受电脉冲信号控制的无刷式直流电动机,也可看
作是在一定频率范围内转速与控制脉冲频率同步的同步电动机。
步进电动机的机理是基于最基本的电磁铁作用,其原理模型起源于1830年至
I860年间。
步进电机是工业过程控制及仪表中的主要控制元件之一。
例如,在机械结构中,可以用丝杠把角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。
在数字控制系统中,由于它可以直接接受计算机来的数字信号,而不需要进行数/模转换,所以用起来非常方便。
步进电机角位移与控制脉冲间精确同步,若将角位移的改变转变为线性位移、位
置、体积、流量等物理量变化,便可实现对它们的控制。
步进电机作为执行元件的一个显著特点,就是具有快速启停能力。
如果负载不超过步进电机所提供的动态转矩值,就能够在“一刹那”间使步进电机启动或停转。
一般步进电机的步进速率为200~1000步/秒,如果步进电机是以逐渐加速到最高转速,然后再逐渐减速到零的方式工作,其步进速率增加1~2倍,仍然不会失掉
步进电机的另外一个显著特点是精度高。
在没有齿轮传动的情况下,步距角(即每步所转过的角度)可以由90o低到每步0.36Q另一方面,无论是变磁阻式步进电机还是永磁式步进电机,它们都能精确的返回到原来的位置。
如一个24步
(每步为15o的步进电机,当其向正方向步进48步时刚好转两转。
如果再反向转48步,电机将精确地回到原始的位置。
正因为步进电机具有快速启停,精确步进以及能直接接受数字量的特点,所以使其在定位场合中得到了广泛的应用。
如在绘图机、打印机及光学仪器中,都采用步进电机来定位绘图笔,印字头或光学镜头。
特别是在工业过程控制的位置控制系统中,由于步进电机精度高以及不用位移传感器即可达到精确地定位、应用越
来越广。
3.步进电机的总体方案
步进电机总体方案流程图
总体方案说明:
系统采用8086cpu,选用普通5V六线四相步进电机,以开关键盘为输入,以ULN2003作为驱动器,可编程并行接口8255来扩展接口实现步进电机的起停、正反转、调速。
4.步进电机的硬件设计
4.1总体设计思路
4.1.1硬件流程图
4.1.2步进电机的工作机理
步进电机工作机理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可以改变步进电机的转速。
微机控制步进电机最合适。
本实验使用国产20BY-0型步进电机,它使用+5V直流电源,每相电流为0.16A,电机线圈由四相组成,即A、B、C、D。
当某项绕组通电时,对应的磁极就会产生磁场,并与转子形成磁路。
若此时定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子转动一定的角度,使转子齿和定子齿对齐。
由此可见,“错齿”是促进步进电机旋转的根本原因。
步进电机驱动方式可以采用双四拍(AB—BC—CD—DA—AB)方式,也可
以采用单四拍(A-B-C-D-A)方式,或单八拍(A—AB—B—BC—C—CD—D—DA—A)方式,也可以是双八拍(AB—ABC—BC—BCD—CD—CDA—DA—DAB—AB)方式。
实际控制时公共端是接在+5V上的,所以实际控制脉冲是低有效地。
8255A的PA口输出的脉冲信号经(MC1413或ULN2003A)倒相驱动后,向步进电机输出脉冲信号序列。
当开关K4=1,步进电机驱动方式采用单八拍工作方式,当开关K4=0时,步进
电机驱动方式采用单四拍驱动方式。
当K2=1时为逆时针转动,K2=0是为顺时针转动。
步序
A
B
C
D
0
1
1
1
0
1
1
1
0
0
2
1
1
0
1
3
1
0
0
1
4
1
0
1
1
5
0
0
1
1
6
0
1
1
1
7
0
1
1
0
表4-3
步序
A
B
C
D
0
1
1
1
0
1
0
1
1
0
2
0
1
1
1
3
0
0
1
1
4
1
0
0
1
5
1
1
0
1
6
1
1
0
1
7
1
1
0
0
表4-4
以上为步进电机正转时的控制顺序及数学模型
4.1.3步进电机的工作时序图
L
单四拍
双四拍
八拍
421步进电机
O
Y
口
Y
口
10
瞬中A相B相C相
DIB
图3-7为8255A的引脚图
图3-8为8086处理器芯片引脚图
4.2电路原理图
图4-5步进电机原理图
一"151「
A,B,C,D为四相输入。
电路略图由反相器、电感以及若干电阻构成。
图4-6步进电机电路图
图4-5为步进电机原理图。
其中图4-6为步进电机电路图
TL
P__FL
TL
n
JL
in
n
n
jTimrLnJirLTLriJum.
nnn
1
B
B
图4-7图4-8
4.3线路连接图
4.3.1开关电路及发光二极管:
见图4-9为开关电路图,K1,K2,K3,K4分别接PC7PC6PC5PC4其中:
K1为低电平时表示关闭开启及停止转动,高电平时表示开启转动。
K2为低电平时表示逆时针转动,高电平时为顺时针转动。
K3为低电平时表示恒速转动,高电平表示加速运动。
在加速过程中,反向转动时以变速转动。
关闭加速开关则以加速最后的速度运动。
加速都最大值显示黄灯。
K4为低电平时表示步进电机驱动方式采用单四拍驱动方式,高电平表示步进
电机驱动方式采用单八拍工作方式。
当运行时,绿灯亮;
当加速到一定时候,黄灯亮,绿灯灭,并且速度恒定不变;
当步程结束时,红灯亮。
图4-9开关及显示灯电路
4.3.2线路连接图
图4-10为线路连接图
Mt1EMHE4t#w_RE>-”MMREFT
羞圭圭亠二
Mr和竝竝別以址占迂珀MP5MVrtIdcaWMH"FPArppPFfrIPFFp-F»IbrpferpF
133
5.步进电机软件设计
5.1流程图
步进电机的流程图如下图所示。
以下流程可以实现:
1、对需要走得步程进行检测,直到走完为止进行踏步。
2、确定是否启动步进电机
3、实现正反转的选择。
7、实现加速功能。
在转动过程中,若一直加速,则到一定速度后,将以最高速度匀速千运动,并且黄灯点亮。
若一直匀速运动,绿灯点亮。
若在加速过程中,且未达到最大速度时,关闭开关,则停止加速,并且以停止前得速度进行运动。
8、实现在步程走完后,能显示步程的数值以及点亮红灯表示停止。
5.2控制程序
CODESEGMENT
ASSUMECS:
CODEQS:
CODE,ES:
CODE,SS:
CODE
PTCONEQUOFFDBH
PTAEQU0FFD8H
PTBEQU0FFD9H
PTCEQU0FFDAH
OUTBITEQU0FFDDH;位控制口/键扫口
OUTSEGEQU0FFDCH;段控制9口
ORG1200H
BEGIN:
MOVBP,OFFSETSTEP
START:
LEADI,VALU
MAIN:
MOVAL,88H
MOVDX,PTCON
OUTDX,AL
MOVDX,PTB
MOVAL,OFFH
OUTDX,AL
WAIT11:
MOVDX,PTC
INAL,DX
MOVBL,AL
TESTAL,80H;总开关是否开启
JNZSHOW
RIGHT1:
MOVDX,PTALEASI,MOARJMPAGA
RIGHT2:
MOVDX,PTALEASI,MOBRJMPAGA
LEFT1:
MOVDX,PTA
LEASI,MOAL
JMPAGA
LEFT2:
MOVDX,PTA
LEASI,MOBL
JMPAGA
J-———
AGA:
MOVAL,[SI]
OUTDX,AL
MOVDX,PTB
MOVAL,0FEH
OUTDX,AL
MOVDX,PTC
INAL,DX
TESTAL,20H;检测是否加速运行
JZSPEED
JMPSBACK
NEXT:
JMPSTART
J-
SBACK:
CALLDELAY1
SJUST:
MOVDX,OUTBIT;
MOVAL,01H
OUTDX,AL
MOVDX,OUTSEG;.
MOVAL,OCH
OUTDX,AL
DECWORDPTR[BP]
JZSTOP
INCSI
DECAH
JZNEXT
MOVDX,PTA
JMPAGA
CLOSES:
CALLDELAY4
JMPSJUST
STOP:
MOVDX,PTA
MOVAL,[SI]
OUTDX,AL
JMPDELAY6
SPEED:
MOVCX,[DI]
MOVDX,PTC
INAL,DX
TESTAL,20H;是否关闭加速
JZDELAY3
JMPCLOSES
EDA:
MOVDX,PTB
MOVAL,0EFH
OUTDX,AL
CALLDELAY5
JMPSJUST
DELAY1:
MOVCX,[DI];定速快转
LOOP$
RET
DELAY3:
CMPCX,03FFH
JBEEDA
SUBCX,0FH
MOV[DI],CX;未关闭加速度
LOOP$
JMPSJUST
DELAY4:
MOVCX,[DI]
LOOP$;关闭加速后恒速
RET
DELAY5:
MOVCX,[DI]
LOOP$
RET
DELAY6:
MOVSI,OFFSETSTEO
LEADI,FFDD
MOVDX,PTB
MOVAL,7FH
OUTDX,AL
MOVCL,04H
MOVAX,[SI]
ANDAX,0F000H
ROLAX,CL
MOVBX,OFFSETFFDC
XLAT
MOVDX,OUTSEG
OUTDX,AL
MOVCX,0FFH
MOVDX,OUTBIT
MOVAL,[DI+0000H]
OUTDX,AL
LOOP$
MOVCX,0FFH
MOVAX,[SI]
ANDAX,0F00H
MOVAL,AH
MOVBX,OFFSETFFDC
XLAT
MOVDX,OUTSEG
OUTDX,AL
MOVDX,OUTBIT
MOVAL,[DI+0001H]
OUTDX,AL
LOOP$
MOVCL,04H
MOVAX,[SI]
ANDAX,00F0H
SHRAX,CL
MOVBX,OFFSETFFDC
XLAT
MOVDX,OUTSEG
OUTDX,AL
MOVCX,0FFH
MOVDX,OUTBIT
MOVAL,[DI+0002H]
OUTDX,AL
LOOP$
MOVCX,0FFH
MOVAX,[SI]
ANDAX,OOOFH
MOVBX,OFFSETFFDC
XLAT
MOVDX,OUTSEG
OUTDX,AL
MOVDX,OUTBIT
MOVAL,[DI+0003H]
OUTDX,AL
LOOP$
MOVCX,0FFH
MOVAL,0F9H
MOVDX,OUTSEGOUTDX,AL
MOVDX,OUTBIT
MOVAL,[DI+0004H]OUTDX,AL
LOOP$
MOVCX,0FFH
MOVAL,90H
MOVDX,OUTSEG
OUTDX,AL
MOVDX,OUTBIT
MOVAL,[DI+0005H]
OUTDX,AL
LOOP$
JMPDELAY6
ORG5000H
MOARDB03H,06H,0CH,09H
MOALDB03H,09H,0CH,06H
MOBRDB0EH,0CH,0DH,09H,0BH,03H,07H,06H
MOBLDB0EH,06H,07H,03H,0BH,09H,0DH,0CH
VALUDW3FFFH
STEPDW1038H
STEODW1038H
FFDCDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
FFDDDB20H,10H,08H,04H,02H,01H
CODEENDS
ENDBEGIN
6.调试说明
6.1调试过程
以模拟设备为调试对象进行调试。
然后通过开关K4和K2选择模式与转向。
当K4在下时选择模式A,在上时选择模式E。
当K2在下时,选择逆时针旋转,在上时旋转顺时针旋转。
接着打开总开关K1,此时,显示管显示P,指针开始按照设定的要求旋转,绿灯亮。
接着打开开关,是开关K3向上,此时开始加速。
若步程较大,则加速一定时候,使K3向下时停止加速,以最后加速度的大小恒速运动。
若开关一直开启向上,当速度到达3FFH时,黄灯亮,表示速度达到最大值。
接着一段时间后,红灯亮,表示步程走完。
6.2调试缺陷
缺陷1:
未能实现实时性显示步程变化缺陷2:
未能设置减速过程。
缺陷3:
未能键盘输入速度或步程
7.总结收获
在为期数十天的微机原理课程设计过程中,我接受了来自同学老师的帮助,在此表示真挚的感谢。
一个学期以来,我很认真的学习微机原理,对微机实验很感兴趣。
这次课程设计为我的喜爱创造了一个平台,让我徜徉在设计开发的海洋中。
从拿到任务书知道自己的设计项目开始,我便去了解步进电机的工作机理,很快,变了解了相关信息,包括步进电机的模式,应用等。
接下来的一顿时间,我把大量的时间花在编程调试上,程序不断的修改完善,有时为程序的完善而乐此不疲,又有时为一个上午的时间也不能提高一点应用功能而扼腕叹息。
在编程过程中,我虚心向
同学老师请教问题,老师鼓励自己多思考,这确实给我很大的发挥空间。
程序员需要细腻而严密的思路,不能状态不佳而不能兼顾程序始末。
在反复的修改完善过程中,以前学的微机原理相关知识自动浮现脑海,为我的编程提供了源源不断的动力。
这次步进电机的综合实验我们学到了8086和8255A的配合使用涉进电机、
键盘、驱动电路和指示灯的显示,更重要的是学会了程序出问题时调试的方法,并养成了Debug的习惯,学到了程序出问题后怎样去解决的基本方法。
同时,原本打算采用定时中断来动态显示步进量的变化也最终因为中断掌握不佳而放弃,着实让我觉得欠佳,在接下来,我认为自己在中断与定时的学习上,还需花时间去研读。
本课程设计的功能以如前所述,相关缺陷不足也有说明,还望老师帮助指正。
■参考文献
【1】坂本正文著.步进电机应用技术.科学出版社.2010
【2】杨居义著.微机原理与接口技术项目教程.清华大学出版社.2010
【3】余祖俊著.微机检测与控制应用系统设计.北方交通大学出版社.2001
【4】周明德蒋本珊著.微机原理与接口技术实验指导与习题集.人民邮电出版社.2002
【5】潘新民王燕芳编著.微型计算机控制技术.人民邮电出版社.1999
【6】刘宝廷程树康等著.步进电机及其驱动控制系统.哈尔滨工业大学出版
社.1997
【7】胥保文编.微型计算机原理与接口实验指导书.江苏大学测控系.2003
【8】许立梓何小敏等编.微型计算机原理及应用.机械工业出版社.200
附录:
元器件及设计清单
1个
1只
1个
1个
3个
若干
4个
实验四相步进电机
8086CPU
地址译码器
接口芯片8255A
发光二极管
导线
开关