proteus下步进电机控制.docx
- 文档编号:28061253
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:12
- 大小:306.47KB
proteus下步进电机控制.docx
《proteus下步进电机控制.docx》由会员分享,可在线阅读,更多相关《proteus下步进电机控制.docx(12页珍藏版)》请在冰豆网上搜索。
proteus下步进电机控制
单片机步进电机控制器
摘要
本设计就是以单片机AT89C51为核心,附以外围电路,实现步进电机正反转及停止的系统;运用单片机的运算和处理能力和ULN2003A电机驱动芯片来实现电机的正转、反转、停止等功能,并运用软件Proteus进行仿真来得到实验结果。
一、课程设计目的与要求
1.课程设计目的
设计一采用单片机实现控制小车的前进、后退、停止功能的控制器。
并熟练对单片机编程及软件的实际应用。
2.设计要求
(1)采用单片机控制
(2)所控制小车由步进电机驱动
(3)能实现小车的前进、后退、停止的功能
二、电路设计原理及原理图
1.设计方案
本设计通过AT89C51单片机的I/O口对ULN2003A电机驱动芯片赋值来控制电机,单片机的P1口的低四位作为步进电机的控制输出,P0.0,P0.1连接两点动开关,作为电机运行模式的切换控制方式。
图1.系统框图
图2.系统功能图
2.电路原理
AT89C51是集成40个I/O口的单片机,拥有12MHZ的晶振周期,电路拥有可控复位电路。
ULN2003A电机驱动电路可以实现电机的速度调整。
本电路实现电机调速主要利用了ULN2003A的引脚的电平控制,让其电平的高低变化可以跟据单片机程序来进行调节,本电路分别进行了设置,当正转开关闭合时,可以控制电机正转,当反转开关闭合时,可以控制电机反转。
2.1开关控制电路
当正转开关闭合时,电机正转;当反转开关闭合时,电机反转;当两开关都断开时,电机停止转动。
图3.开关控制电路
2.2晶振电路
为AT89C51提供晶振。
图4.晶振电路
2.3复位电路
给单片机提供复位功能。
图5.复位电路
2.4电机驱动电路
图6.电机驱动电路
3.原理图
首先在PROTEUS文件下创建步进电机电路原理图。
根据设计需求打开器件模型库,在MCU库查找AT89C51模型,在电机类库中查找步进电机模型,在模拟IC库查找电机驱动器ULN2003A模型,依次在相应器件模型子库中查找单片机的外围复位电路、晶振电路等的常用器件模型;然后将软件左侧的器件拾取框将相应器件拖入原理图工作区,基于单片机控制的电机原理图如图7所示。
图7.单片机步进电机控制原理图
4.流程图
图8.单片机直流调速系统流程图
5.软件设计
步进电机的驱动编写是通过时下最流行的KEILUVISION3一体化集成编程软件完成,在KEIL环境下编写程序并生成二进制文件。
软件流程图如图2所示。
主要是设置两个按键对电机进行正反转控制,在驱动程序中设定每次按键的步进值。
在软件设计部分,首先要进行数据初始化,然后进行首要操作判决,执行如下语句即可实现对按键的扫描,其中第一句为步进电机的初始角度定义,一般定义起始角度为0。
POS为正转控制子程序,NEG为反转控制子程序。
WAIT:
MOV P1,R0
MOV P0,#0FFH
JNB P0.0,POS
JNB P0.1,NEG
SJMP WAIT
在按键判断完成后,进行数据处理,如下为正转子程序,在执行以下语句后还要判断按键是否持续,若持续按键,则步进值递增,对步进电机进行连续驱动,否则当按键松开时按键步进电机停止转动。
POS:
MOV A,R4
MOVC A,A+DPTR
MOV P1,A
ACALL DELAY
INC R4
当为反转控制时,控制方式同正转相同。
下面为反转处理子程序。
在此次设计中将步进制设为9度。
NEG:
MOV R4,#6
MOV A,R4
MOVC A,A+DPTR
MOV P1,A
在初始化中必须包含步进数据模型TAB1,在数据处理过程中进行不断查表输出控制量,从而实现电机的正反转控制。
在数据处理完成后送出P1口低四位,经电机驱动器驱动电机运转。
TAB1:
DB 02H,06H,04H,0CH
DB 08H,09H,01H,03H
三、设计过程
1.筹备过程
上网及到图书馆查找关于步进电机控制的资料,查找控制方案,确定方案。
再查找关于AT89C51的相关书籍及其控制电机调速系统的方案,查找电机驱动ULN2003A的相关资料,同时学习软件Proteus仿真的使用教程及编程语言编程技巧。
2.制作过程
安装完Proteus仿真软件后,根据设计原理图从库文件Library中调用相应的器件,在新建的制作图纸上设计电路、连接电路、标注器件,检查完毕后导入写好的程序文件,然后进行调试,在出现错误提示后进行修改电路完善电路并同时进行相应程序的修改直至完成准确无误的设计电路。
在完成设计电路后进行设计报告容的填写及修改。
3.调试过程
本设计在调试过程中主要控制电机驱动ULN2003A的端口的电平高低,通过调整正反转开关的闭合与断开来实现对电机正反转的控制。
4.元件清单
表1.元件清单
器件名称
规格
数量
单片机
AT89C51
1
电机驱动
ULN2003A
1
步进电机
MOTOR-STEPRER
1
开关
按式
2
电解电容
20pF
2
电阻R1
47K
2
导线
——
若干
四、总结
1.结论总结
由于设计中使用的是单片机作为核心的控制元件,附以外围电路使本本设计具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。
在我们设计和调试的过程中,已经能实现对电机正反转及停止控制的仿真。
2.心得体会
通过本次单片机课程设计,我提高了利用单片机原理、汇编语言及电工电子技术等课程知识进行单片机应用系统设计的能力,了解了单片机应用系统的整个设计过程,培养了设计单片机应用系统的初步能力。
五、致
本课题在选题及进行过程中得到志刚老师的悉心指导。
调试过程中,老师多次帮助我分析思路。
在此,谨向老师致以诚挚的意。
六、参考文献
1.电子技术基础(模拟部分)高等教育康华光著
2.C程序设计题解与上机指导清华大学谭浩强著
3.单片机应用的C语言应用程序设计航空航天大学周航慈著
4.8051单片机彻底研究基础篇人民邮电 林伸茂著
5.单片机原理及应用高等教育毅刚著
6.C程序设计清华大学谭浩强著
附件
程序:
ORG00H
START:
MOVDPTR,#TAB1
MOVRO,#03
MOVR4,#0
MOVP1,#3
WAIT:
MOVP1,RO;初始角度,0度
MOVP0,#OFFH
JNBP0.0,POS;判断键盘状态
JNBP0.1,NEG
SJMPWAIT
JUST:
JBP0.1,NEG;首次按键处理
POS:
MOVA,R4;正转9度
MOVCA,A+DPER
MOVP1,A
ACALLDELAY
INCR4
AJMPKEY
NEG:
MOVR4,#6;反转9度
MOVA,R4
MOVCA,A+DPTR
MOVP1,A
ACALLDELAY
AJMPKEY
KEY:
MOVP0,#03H;读键盘情况
MOVA,P1
JBP0.0,FZ1
CJMER4,#8,LOOPZ;是结束标志
MOVR4,#0
LOOPZ:
MOVA,R4
MOVCA,A+DPTR
MOVP1,A;输出控制脉冲
ACALLDELAY;程序延时
INCR4;地址加1
AJMPKEY
FZ1:
JBP0.1,KEY
CJNER4,#255,LOOPF;是结束标志
MOVR4,#7
LOOPF:
DECR4
MOVA,R4
MOVCA,A+DPER
MOVP1,A;输出控制脉冲
ACALLDELAY;程序延时
AJMPKEY
DELAY:
MOVR6,#5
DD1:
MOVR5,#080H
DD2:
MOVR7,#0
DD3:
DJNZR7,DD3
DJNZR5,DD2
DJNZR6,DD1
RET
TAB1:
DB02H,06H,04H,0CH
DB08H,09H,01H,03H:
正转模型
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- proteus 步进 电机 控制