精品单片机课程设计单片机控制步进电机定.docx
《精品单片机课程设计单片机控制步进电机定.docx》由会员分享,可在线阅读,更多相关《精品单片机课程设计单片机控制步进电机定.docx(8页珍藏版)》请在冰豆网上搜索。
精品单片机课程设计单片机控制步进电机定
单片机课程设计
题目:
单片机控制步进电机
班级:
12电信4班
设计任务书
设计题目
单片机控制步进电机
设计任务
采用STC89C52单片机控制一个五线四相步进电机,步进电机的驱动芯片采用ULN2003驱动芯片,并配合程序驱动步进电机进行正转反转。
设计方案
由于步进电机无法被单片机直接驱动,也无法被直流电驱动,所以只能由单片机提供一定的稳定的电流脉冲驱动芯片ULN2003,再由ULN2003驱动步进电机进行转动。
任务分配
硬件焊接:
曾文嘉程序:
张俊鹏
摘要:
本次课业设计是利用单片机技术知识设计一个步进电机控制系统,本次课业设计用到的关键元器件有STC89C52单片机,ULN2003驱动芯片,五线四相步进电机,由52单片机驱动ULN2003,进而驱动步进电机进行正转反转。
关键词:
步进电机;52单片机;ULN2003。
目录
一、引言5
二、总体方案5
三、硬件设计6
四、软件设计9
五、调试10
六、总结10
七、参考文献11
元件清单12
一、引言
步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。
控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。
为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。
人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。
此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。
步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
二、总体方案
单片机要驱动需要由时钟电路与复位电路组成最小系统,时钟电路采用12MHz晶振,复位电路采用自动复位,输出口为P1.0、P1.1、P1.2、P1.4,分别接ULN2003的1、2、3、4脚,ULN2003对应的输出脚分别接步进电机的A、B、C、D线圈,由程序驱动单片机输出4路脉冲驱动ULN2003再驱动步进电机进行不断转动。
三、硬件设计
STC89C52:
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
它有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
最小系统:
时钟电路由12MHz晶振与2个30pF陶瓷电容构成;复位电路由一个10uF的电解电容与一个4.7k的电阻组成。
单片机最小系统
ULN2003:
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/5V。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003是高压大电流达林顿管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2003接线
ULN2003的1、2、3、4与52单片机的P1.0、P1.1、P1.2、P1.3,对应输出端接步进电机的A、B、C、D线圈
ULN2003的接线
四、软件设计
ULN2003的驱动芯片驱动原理图如下所示:
FOSC = 12MHz
说得通俗uln2003相当于继电器的作用,例如7个继电器的一端连某电压[也即uln2003电源电压](<50)在一起,而另一端作为则作为输出,又好如一个二极管,只不过因电路集成功能的因素,输出的电压等同于uln2003的电压罢了,常用于步进电机
ORG 0000H
LJMP MAIN
ORG 0100H MAIN:
MOV R3,#192
START:
MOV R0,#00H
START1:
MOV P2,#00H
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START
MOV P2,A
LCALL DELAY
INC R0
CJNZR0,#4,START
DJNZ R3,START1
MOV P2,#00H
LCALL DELAY1
MOV R3,#64
START2:
MOV P2,#00H
MOV R0,#05 START3:
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START2
MOV P2,A
CALL DELAY
INC R0
CJNZR0,#9,START2
DJNZ R3,START3
MOV P2,#00H
LCALL DELAY1
LJMP MAIN
DELAY:
MOV R7,#40
M3:
MOV R6,#248
DJNZ R6,$
DJNZ R7,M3
RET
DELAY1:
MOV R4,#20 ;
DEL2:
MOV R3,#200
DEL3:
MOV R2,#250
DJNZ R2,$
DJNZ R3,DEL3
DJNZ R4,DEL2
RET
TABLE:
DB 03H,06H,0CH,09H;
DB 00
DB 03H,09H,0CH,06H;
DB 00
END
五、调试
在安装完成后,我们在进行调试的过程中,发现步进电机并没有被驱动,或者说是被驱动了但是转轴没有转动,整个步进电机只是在不停的抖动,并发出声音,之后在进一步检查线路时并没有发现有线路上的错误,然后再检查程序,也没有发现错误,最后才发现步进电机其实确实是在工作,只是转动的幅度很小,没有发现而已,到此设计以完成。
六、总结
本次设计总体比较简单,并没有加入按键控制电路、数码管显示电路等其他外设,只显示了基本的步进电机控制,但是也让我们收获不小,从开始的设计布局到焊接调试与编程,全部都我们自己参与完成,动手能力也得到了提高,也提高了我们的兴趣,最开始也考虑过添加相关的外设,但最后还是放弃了,从简单做起,扎实做起,以后才会做的更好。
七、参考文献
一、李林功,吴飞青,王兵,丁晓编著.单片机原理与技术.机械工业出版社.第一版.2007
二、曾建唐 主编.电工电子基础实践教程.机械工业出版社.2002
三、康光华 主编.电子技术基础.高教出版社出版.第四版.1999
四、刘宝廷主编.步进电动机及其驱动控制系统[M].哈尔滨工业大学出版社.1997
五、杨宁 胡学军编著.单片机与控制技术[M].北京航空航天大学出版社.2005
元件清单
名称
规格
数量
STC89C52
单片机
1
电容
30
2
晶振
12MHZ
1
电容
104
1
ULN2003
集成电路
1
步进电机
5线4相
1
电源接口
DC接口
1
电源线
DC线
1