还剩19页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
单片机课程设计报告设计题目步进电机控制系统学院自动化与信息工程学院专业电气工程及其自动化班级姓名学号指导教师王水鱼2010年秋季学期起止时间2011年1月10日至2011年1月14日平时(10%)任务完成(30%)答辩(30%)课设报告(30%)总评成绩目录
1.设计目的…………………………………………
22.设计的主要内容和要求…………………………
23.题目及要求功能分析……………………………
24.设计方案…………………………………………
54.1整体方案……………………………………
54.2具体方案……………………………………55.硬件电路的设计…………………………………
65.1硬件线路……………………………………
65.2工作原理……………………………………
75.3操作时序……………………………………
86.软件设计…………………………………………
86.1软件结构……………………………………
86.2程序流程……………………………………
96.3源程序清单…………………………………
97.系统仿真…………………………………………
98.使用说明…………………………………………
109.设计总结…………………………………………10____……………………………………………11附录…………………………………………………12步进电机的控制
1.设计目的
(1)熟悉单片机编程原理
(2)熟练掌握51单片机的控制电路和最小系统
(3)单片机基本应用系统的设计方法
2.设计的主要内容和要求
(1)查阅资料,了解步进电机的工作原理
(2)通过单片机给参数控制电机的转动
(3)通过按钮控制启停及反转
(4)其他功能3.题目及要求功能分析步进电机步进电机是一种将电脉冲转化为角位移的执行机构当步进驱动器接收到一个脉冲__,它就驱动步进电机按设定的方向转动一个固定的角度称为“步距角”,它的旋转是以固定的角度一步一步运行的可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中三相单、双六拍步进电机的结构和工作原理三相单、双六拍步进电机通电方式这种方式的通电顺序是U-UV-V-VW-W-WU-U或为U-UW-W-WV-V-VU-U按前一种顺序通电,即先接通U相定子绕组;接着是U、V两相定子绕组同时通电;断开U相,使V相绕组单独通电;再使V、W两相定子绕组同时通电;W相单独通电;W、U两相同时通电,并依次循环这种工作方式下,定子三相绕组需经过六次切换才能完成一个循环,故称为“六拍”,而“单、双六拍”则是因为单相绕组与两相绕组交替接通的通电方式步进电机的驱动电源步进电机应由专用的驱动电源来供电,由驱动电源和步进电机组成一套伺服装置来驱动负载工作步进电机的驱动电源,主要包括边频__源、脉冲分配器和脉冲放大器等三个部分,如图1-4所示边频__源是一个频率从几十赫兹到几千赫兹的可连续变化的__发生器变频__员可以采用多种线路最常见的有多谐振荡器和单结晶体管构成的驰张振荡器两种它们都是通过调节电阻和电容的大小来改变电容充放电的时间常数,以达到选取脉冲__频率的目的脉冲分配器是由门电路和双稳态处发起组成的逻辑电路,它根据指令把脉冲__按一定的逻辑关系加到放大器上,使步进电机按一定的运行方式运转步进电机的钉子绕组可以是任意相数,常有三相制,四相制,五相制,六相制4种根据转子结构不同,步进电机分为3种反应式步进电机(VR)、永磁式步进电机(PM)和混合式步进电机(HB)其中反应式步进电机结构最为简单,应用最广泛绕组通电方式通常有单排方式、双拍方式和单双拍方式3种通过软件编程,用单片实现步进电机控制的脉冲分配;实现步进电机的正常工作根据题目要求,开机后,电机不转,按下前进,后退,左转,右转任意一按钮,电机按设置的方式转动,当按下停止按钮后,电机停止转动电机的不同转速通过设置延时时间常数来确定延时时间常数越小电机转速越快.反之越快
4.设计方案
4.1整体方案本系统主要是由AT__C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能
4.2具体实现方案根据系统要求画出单片机控制步进电机的控制框图,见下图
(1)系统包括单片机、按键和步进电机1单片机控制步进电机的控制框图开始通电后,步进电机停止转动,单片机分别接有按钮开关K1,K2,K3,K4用来控制步进电机的不同转向,不同转速,当按下K1后,电机正转;当按下K2后,电机反转,当按下K3,电机停转为实现电机加速,减速,给电机设置不同延时时间常数,根据时间常数的不同,电机转速不同,延时时间常数越大,电机转速越慢,延时时间常数越小,电机转速越快5.硬件电路的设计
5.1硬件线路根据系统框图,可以设计出单片机控制步进电机的硬件电路图,电路图见附录图
(2),图
(3),图
(4)为提高部分电5.2工作原理单片机的选择,单片机的种类较多,选择时应根据控制系统的程序和数据量的大小来确定由于本系统控制简单,程序和数据量都不大,因此我们选用__C51单片机,__C51晶振频率采用12MHZ外接晶体引脚XTAL1和XTAL2
①XTAL1:接外部晶体的一个引脚.在单片机内部它是构成片内振荡器的反相放大器的输入端.当采用外部振荡器时该引脚接受振荡器的__即把此__直接接到内部时钟发生器的输入端.
②XTAL2:接外部晶体的另一个引脚.在单片机内部它是上述振荡器的反相放大器的输出端.采用外部振荡器时此引脚应悬浮不连接.
③单片机外接电路时钟产生产生和复位电路片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行片内振荡器的振荡频率非常接近晶振频率,一般多在
1.2MHz~12MHz之间选取C
1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF本电路选用的电容为30pF,晶振频率为12MHz这样就确定了单片机的4个周期分别是振荡周期=1/12;机器周期(__)=;指令周期=晶振电路如下图所示按键采用5个功能,前进,后退,左转,右转按键分别接在单片机的P
2.0至P
2.4引脚上,用来控制步进电机的转向,作为控制__的输入端键,按下不同键,电机按要求实现正转反转提高电路图,则用8个按键,K1至K6为设置电机的不同转速,K7和K8为电机的正转和反转驱动电路,单片机的输出电流太小,不能直接接与步进电机相连,需要增加驱动电路对于小直流
0.5A的步进电机,可采用ULN2003类的驱动ICULN2003的技术参数如下所示最大输出电压50V最大连续输出电流
0.5A最大连续输入电流25__功率1W如下图
(4)为ULN2003系列驱动器的引脚图,左边1-7为输入端,接单片机P1口的输出端,引脚8接地;左侧10-16引脚为输出端,接步进电机,引脚9接电源5V,该驱动器可提供最高
0.5A的电流正转采用1相激磁方式,反转采用一到俩相激磁方式
5.3操作时序按电路图再Proteus中连接号电路图,检查无误后导入程序,编译连接后进行仿真按不同的键实现不同的功能从而控制电机正转,反转,停止以及电机以不同的速度转动
6.软件设计
6.1软件结构对单片机的P2口设置堆栈,开始时步进电机停转,按键进行扫描,判断是否有按键按下,由于按键的时间特性,程序中加入了消抖程序,当判断按键按下时消除按键的抖动,按下不通的键跳至不同的转动模块,调用转动程序,转动程序通过查表实现,当执行完之后继续扫描看是否有按键按下,没有则继续当前循环,有则跳至相应的模块
6.2程序流程图附录
(二)
6.3源程序清单程序采用A__51汇编语言编写附录
(三)
7.系统仿真连接好电路后,对程序进行装载编译连接后,仿真结果按下前进按钮电机1正转,电机2反转按下后退按钮电机1反转,电机2正转按下左转按钮电机1正转,电机2正转按下右转按钮电机1反转,电机2反转注步进电机控制模拟小车的__转动模型提高要求按下K7,按下K1时电机正转且转速较快,当按下K1至K6不同键时,电机的转速不同,越来越慢按下K8,按下K1时电机正转且转速较快,当按下K1至K6不同键时,电机的转速不同,越来越慢
8.使用说明步进电机控制模拟小车使用说明,系统上有5个按键,每个按键都有不同的功能按下前进按钮,电机1正转,电机2反转,小车前进按下后退按钮,电机1反转,电机2正转,小车后退按下左转按钮,电机1正转,电机2正转,小车左转按下右转按钮,电机1反转,电机2反转,小车后退
9.设计总结体会一周的课设很快的就结束了,本次课设主要以单片机为基础,用单片机来控制电机的转动,熟悉单片机的一般搭建电路,了解一般电子电路与单片机构成简单系统及简单编程的方法熟练掌握了KeilC51集成__环境的使用方法,进一步加深对单片机常用指令的理解与运用能够较熟练的运用protues绘制电路原理图以及进行仿真以及keilc51和protues的联合调试在课设过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼使我在单片机的基本原理、单片机应用系统__过程,以及常用编程设计思路技巧的掌握方面有了很大的提高同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助,使我们积累实际电子制作经验,达到学以致用的目的,真正的吧理论和实践结合起来,让我们进一步体验到实践的重要性对我们以后的工作有很大的帮,同时锻炼了我们团队合做精同时非常感谢老师的细心指导,当我们遇到困难时,能及时给予我们帮助____
[1]潘晓宁,朱耀东单片机程序设计实践教程
[2]刘海宽,包建华单片机实验与实训教程
[3]杨居义,马宁单片机原理与工程应用
[4]胡健,刘玉宾单片机原理及接口技术实践教程
[5]韩志军,刘新民单片机系统设计与应用实例
[6]朱博,马鸣鹤单片机应用技术教程
(3)程序流程图附录
(二)硬件原理图
(2)基本电路图
(3)基本电路图
(4)提高电路图附录
(三)源程序QJEQUP
2.0;前进HTEQUP
2.1;后退LZEQUP
2.2;左转RZEQUP
2.3;右转TZEQUP
2.4;停止OUTEQUP1;p1口输出`;-----------------------------------------------------ORG40HSTOPS1:ORLOUT#0FFH;步进电机停转LOOP:JNBQJZZ1;判断是否按下前进按钮JNBHTFZ1JNBLZLZ1JNBRZRZ1JNBTZSTOPSJMPLOOP;循环;----------------------------------------------ZZUAN:MOVR0#00H;前进-----》1正转,2反转;制表初值ZZUAN1:MOVAR0MOVDPTR#TAB;表指针MOVCA@A+DPTR;取表代码JZZZUAN;是否取到结束码?;CPLAMOVOUTA;从P1输出,前进JNBHTFZ1JNBLZLZ1JNBRZRZ1JNBTZSTOPSCALLDELAY;步进电机转速INCR0;取下一个码JMPZZUAN1;-------------------------------------------------FZUAN:MOVR0#05H;后退-----》2正转,1反转FZUAN1:MOVAR0MOVDPTR#TABMOVCA@A+DPTRJZFZUAN;CPLAMOVOUTAJNBQJZZ1JNBLZLZ1JNBRZRZ1JNBTZSTOPSCALLDELAYINCR0JMPFZUAN1;----------------------------------------------------ZZ1:CALLDELAY;键盘去干扰;按前进按钮消除抖动JNBQJ$;放开了前进按钮吗?CALLDELAY;放开消除抖动JMPZZUAN;步进电机正转FZ1:CALLDELAYJNBHT$CALLDELAYJMPFZUANLZ1:CALLDELAYJNBLZ$CALLDELAYJMPLZUANRZ1:CALLDELAYJNBRZ$CALLDELAYAJMPRZUANSTOPS:CALLDELAYJNBTZ$CALLDELAYJMPSTOPS1;-------------------------------------------------------LZUAN:MOVR0#0AH;左转-----》1,2正转LZUAN1:MOVAR0MOVDPTR#TABMOVCA@A+DPTRJZLZUAN;CPLAMOVOUTAJNBQJZZ1JNBHTFZ1JNBRZRZ1JNBTZSTOPSCALLDELAYINCR0JMPLZUAN1;-------------------------------------------------------RZUAN:MOVR0#0fH;右转---》1,2反转RZUAN1:MOVAR0MOVDPTR#TABMOVCA@A+DPTRJZRZUAN;CPLAMOVOUTAJNBQJZZ1JNBHTFZ1JNBLZLZ1JNBTZSTOPSCALLDELAYINCR0JMPRZUAN1;-------------------------------------------------DELAY:MOVR1#255;延时D1:MOVR2#255DJNZR2$DJNZR1D1RET;DelayS:MOVR5#0AH;L1:MOVR6#0FFH;Delay0:MOVR7#0FFH;Delay1:DJNZR7Delay1;DJNZR6Delay0;DJNZR5L1;RET;-----------------------------------------------------TAB:DB33H96H0CCH69H00H;正转码DB33H69H0CCH96H00H;反转码DB33H66H0CCH99H00H;左转码DB33H99H0CCH66H00H;右转码END;按键AT__C51单片机驱动电路步进电机附录
(一)流程图开始设置堆栈步进电机停转按键扫描按下QJ按钮了嘛?按下TZ按钮了吗?按下RZ按钮了吗?按下HT按钮了吗?按下LZ按钮了吗?前进模块后退模块左转模块右转模块电机停转读取表格输出结束YNYYYYNNNN。