基于单片机控制的步进电机控制器课程设计任务书一.设计要求(一)基本功能1.实现步进电机的正反转控制。
2.实现步进电机的加速控制。
3.实现步进电机的减速控制。
如过载保护、欠压保护、短路保护和防飞车等功能。
(二)扩展功能任意设定一点为圆心,实现一个直径为10cm的圆形轨迹运动。
二.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;三.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
四.答辩在规定时间内,完成叙述并回答问题。
五.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
2.第二周完成软件的具体设计和硬件的制作。
3.第三周完成软件和硬件的联合调试。
目录1引言 (1)2总体设计方案 (1)2.1设计思路 (1)2.1.1 硬件设计 (1)2.1.2软件设计 (1)2.2总体设计方框图 (2)3 设计原理分析 (2)3.1 控制按钮分析 (2)3.2 复位电路和晶振电路分析 (3)3.3 保护电路分析 (3)3.4 输出驱动电路 (4)4 总结与体会 (5)参考文献 (6)附录(一) (7)附录(二) (8)基于单片机控制的步进电机控制器摘要:本设计为电子工程专业学生在校期间的单片机课程设计实习。
是基于单片机控制的步进电机控制器。
在科学技术迅速发展的今天,自动化控制技术日益完善和成熟,对步进电机的要求也越来越高,社会上所需这方面的人才也越来越多,通过本次实习,可以提高学生的动手动脑,全面综合的运用所学专业知识的能力,增强学习专业知识和技能的兴趣,掌握单片机的运用方法和技巧,深入了解步进电机的工作原理。
学会用科学技术来解决生活,生产中遇到的实际问题,真正做到学以致用,造福社会。
本设计是通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制步进电机的转动,从而实现数字和角度的转换,转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。
关键词:单片机步进电机控制系统1 引言步进电动机是数字控制电动机。
它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电动机就转动一个角度或直线位移一步,也由此称为“步进电动机”,又称“脉冲电动机”。
近十年来,数字技术,计算机技术和永磁材料的迅速发展,推动了步进电动机的发展,为步进电动机的应用开避了广阔的前景。
步进电动机运用广泛,常用于军事雷达,机器人,CNC数控机床等精密控制系统。
目前,在工业中主要使用的是反应式步进电动机,它由定子和转子两部分组成。
一般相数为2,3,4,5,6,每相两个绕组套在一对定子磁极上,成为控制绕组,转子是无绕组铁心。
其具有力矩/惯性比高,频率响应快,步进频率高,不通电时可以自由转动,可以正反方向旋转,而且结构简单,工作寿命长。
2 总体设计方案2.1 设计思路2.1.1 硬件设计(1)中心电路:中心电路采用TA89S51单片机芯片,晶振采用12MHZ,具有上电自动复位和手动复位功能。
(2)输入电路:输入电路由5个按钮组成,功能分别为正转,反转,加速,减速和停止,经过上拉电阻分别接到单片机P1口对应端。
(3)输出电路:由单片机P2口相应端输出有序的电脉冲,经过74LS04反相,驱动模拟灯有规律点亮,并经过2803A驱动器驱动,带动步进电机转动。
(4)保护电路:由模拟飞车保护电路,过载保护电路,欠压保护电路和短路保护电路组成。
当电路异常时,有灯指示,并且将保护信号送到单片机P0.0口进行停车保护。
2.1.2 软件设计软件设计分为三大模块:第一,输入检测程序,进行正转,反转,加速,减速,停止检测,当检测到某一按钮有效时,去执行对应功能;第二,输出有序脉冲程序,根据输入检测的结果,去控制输出有序电脉冲的频率,个数和形式;第三,保护程序,由飞车保护,过载保护,欠压保护,短路保护的传感器送到单片机,当出现异常时,控制步进电机停机,进行保护。
2.2 总体设计方框图 总体设计方框图如图1图1总体设计方框图3 设计原理分析3.1 控制按钮分析控制按钮原理图如图2,K1,K2,K3,K4,K5分别为正转,反转,加速,减速,停止按钮,经过上拉电阻加到单片机P1.0到P1.4口。
待机情况下,P1.0到P1.4都为高电平,输出P2.0到P2.3为高电平,电机不运转;当按下K1或K2时,P2.0到P2.3输出有序的电脉冲,步进电机正转或反转,在正转或反转时,按下K3或K4进行加速或减速,在电机运转中,按下K5就会使 电机停机。
正 反转加减停图2控制按键原理图3.2 复位电路和晶振电路分析AT89S51单片机9脚为复位脚,高电平有效,当刚上电时,由于电容电压不能突变,9脚为高电平进行复位,同时电容通过R2充电,9脚电压有高电平变为低电平。
若按下按键K6时,可手动复位。
单片机18脚和19脚接12MHZ 的晶振电路。
3.3 保护电路分析飞车保护由R7,R8,K7组成来模拟的,当按下按键时,模拟为飞车,输出高电平送到单片机,控制电机停车,并且有指示灯指示。
过载保护由R9和热敏电阻RT ,74LS04组成,当过载时,输出高电平送到单片机,控制电机停车。
其中热敏电阻常温时电阻为小于500Ώ,当温度达到40度时,电阻将达到5K Ώ以上。
短路保护由串接在电动机公共线上的保险丝组成,当电流超过1A 时,保险丝断开,进行停车保护。
欠压保护有555定时器和R4,R5,R6组成,定时器供电电压为5V ,电动机电压为12V ,若电动机电压低于10V 时,555定时器3脚输出高电平送到单片机,进行停车保护,555定时器的功能表如表1。
表1 555定时器功能表保护电路原理图如图3图 3 保护电路原理图3.4 输出驱动电路从P2.0到P2.3口输出的有序电脉冲,经过74LS04反相,首先驱动模拟灯显示,然后经过2803A 驱动器驱动,使步进电机正常转动。
74LS04内部结构图如图4。
2803A 为8个达另顿功率图 4 74LS04内部结构图KKK驱动管,1,2,3,4,5,6,7,8:8路TTL弱吸电流输入,18,17,......,11:8路功率输出,与上行一一对应。
9:GND 10:公共电源端。
步进电机采用4相电机,顺序为黑,橙,棕,黄;红为公共电源端。
其输出驱动电路原理图如图5。
图5 输出驱动电路原理图4 总结与体会通过本次单片机实习,使我们把以前所学的模拟电子技术,数字电子技术,单片机原理与技术,电工技术,传感器技术及软件编程技能等得以全面灵活的运用。
同时,我们根据设计任务书,设计出了原理图,PCB图;经过转印,打板,腐蚀,制作出电路板;然后焊接,软件编程,烧程序;最后整体调试。
这使我们熟悉了怎样用单片机实现某种功能的制作步骤,技巧和注意事项。
经过这三周的实习,我感觉自己收获很大。
首先,自己熟悉了单片机的内部结构,工作原理及怎样运用;其次,我学会了怎样用汇编语言进行编程,怎样使程序更合理完善;再次,学会了怎样设计电路原理图,PCB图,制作电路板的基本过程和要求,怎样调试电路等;最后,增强了我对专业知识和专业技能的兴趣,培养了我的动手动脑能力。
本次实习,意义很大,经过老师的精心教导,和我们的不懈努力,顺利圆满的完成了本次实习,这将在我以后的学习工作中起到很大的帮助。
参考文献[1] 汪道辉.单片机系统设计与实践[M].北京:电子工业出版社,2006.5[2 ] 李朝青.单片机原理及接口技术(第三版)[M].北京:北京航空航天大学出版社,2005.9[3] 汤山俊夫著;彭军译.数字电路设计与制作[M].北京:科学出版社,2005[4] 余小平,奚大顺.电子系统设计(基础篇)(M).北京:北京航空航天大学出版社,2007.3[5] 蔡朝洋.单片机控制实习与专题制作(M).北京:北京航空航天大学出版社,2006.11[6] 张洪润,刘秀英,张亚凡.单片机应用设计200例(下册)(M).北京;北京航空航天大学出版社,2006.7[7] 楼然苗,李光飞.51系列单片机设计实例(M).北京;北京航空航天大学出版社,2006.2附录(一)4正反加减停步进电机总电路原理图附录(二)步进电机程序流程图和程序清单程序清单:ORG 0000HAJMP STOPORG 0040HSTOP: MOV P2,#0FFHJNB P1.0, STARTJNB P1.1, RERUNSJMP STOP START: MOV R0, #00H START1: MOV A, R0MOV DPTR, #TABLEMOVC A, @A+DPTRJZ STARTMOV P2, AJNB P1.4, STOPJNB P0.0, STOPJNB P1.2, SPEEDUPJNB P1.3, SLOWLCALL DELAY0INC R0AJMP START1 SPEEDUP: LCALL DELAY1INC R0AJMP START1 SLOW: LCALL DELAY2INC R0AJMP START1 RERUN: MOV R0, #00H RERUN1: MOV A, R0MOV DPTR, #TABLFMOVC A, @A+DPTRJZ RERUNMOV P2, AJNB P1.4, STOPJNB P0.0, STOPJNB P1.2, RPEEDUPJNB P1.3, RLOWLCALL DELAY0INC R0AJMP RERUN1 RPEEDUP: LCALL DELAY1INC R0AJMP RERUN1 RLOW: LCALL DELAY2INC R0AJMP RERUN1DELAY0: MOV R1, #150D1: MOV R2, #50DJNZ R2,$DJNZ R1, D1RETDELAY1: MOV R1, #50D2: MOV R2, #50DJNZ R2, $DJNZ R1, D2RETDELAY2: MOV R1, #0AFHD3: MOV R2, #50DJNZ R2, $DJNZ R1, D3RETTABLE: DB 07H, 03H, 0BH, 09H, 0DH, 0CH, 0EH, 06H DB 00HTABLF: DB 06H, 0EH, 0CH, 0DH, 09H, 0BH, 03H, 07H DB 00HEND。