




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子赛培训课作品设计报告题目:单片机控制步进电机姓名: 班别: 学号: 序号:完成时间:2012-5-17华南理工大学广州学院电子信息工程学院目 录引言1一、 系统方案的选择和论证1二、 总体设计2三、 单元电路设计3四、 整体测试4五、 结论5六、 总结6七、 参考文献61单片机控制步进电机摘要:本设计采用一块 AT89C52 单片机对一个四相步进电机进行控制,使步进电机在安全温度内按输入的步数和转动的方向进行运行。控制电机转动的方法采用四相八拍控制法。本设计采用矩阵键盘实现步进电机不同转动步数的输入以及转向的控制,还有对键盘实现锁键和开锁的作用。用 DS18B20 代替电机的测温系统,实现超温报警和停机的功能。引 言随着数字化技术发展,数字控制技术得到了广泛而深入的应用。步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具有快速起动和停止的特点。因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。设计内容:采用单片机控制一个三相单三拍的步进电机工作。要实现的功能:一、步进电机的旋转方向由正反转控制信号控制;二、步进电机的步数由键盘输入,可输入的步数分别为3、6 、 9、12 、15 、18、21 、24 和 27 步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。只有当键盘锁打开并输入步数时,步进电机才开始工作;三、电机运转的时候有正转和反转指示灯指示;四、电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。 本次设计的意义:1) 了解 51 系列单片机及外围相关芯片、电路的工作原理和接口技术,学会进行控制系统软件程序设计。2) 编制程序完成步进电机速度、方向、及旋转角度的控制。3) 设计相关的硬件电路,软硬调试实现步进电机速度、方向、及旋转角度的控制,分析结果。4) 学会运用“自动控制原理 ”、 “现代控制理论”和“计算机控制技术”所学理论知识进行控制器的设计和计算机控制的算法实现。为今后毕业设计、将来工作做必要的知识储备。一、系统方案选择和论证本设计由于需要实现 9 个不同步数的输入以及其它功能的输入,所以可以采用独立键盘和矩阵键盘,实现步进电机的步数由键盘输入且键盘具有键盘锁功能。考虑到单片机的端口数量有限和编程和方便性,最后决定采用矩阵键盘。在步进电机方面由于此次设计的软件采用 proteus,在此软件中只有一个四相步进电机的模型,然后考虑到步进电机控制方法的难易度最后决定采用四相八拍控制法,由于单片机不能直接驱动步进电机,所以 P2 口在输出后接入ULN2803,ULN2803 输出后接电机,通过此芯片放大控制电压。在测温方面一开始打算用一个温度传感器开关去实时监测电机的温度,当温度过高的时候就2断开开关;但考虑到系统的可操作性、准确性、编程的难易度及仿真软件的限制,最后决定采用 DS18B20 代替电机的测温系统,实现电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。在转向方面用不同颜色的 LED 灯指示正转和反转。当电机温度超过安全温度时,报警灯会闪烁和报警铃会鸣响,并让电机停止运转同时锁住键盘。基于单片机和 proteus 的步进电机控制电路的基本组成如图 2-1 所示。图 2-1二、总体设计图 2-2三、单元电路设计AT89C52单片机状态模块由 P0 口控制,负责报警和转向的指示 步进电机模块,由 P2 口控制,控制电机的运行与停止工作测温模块,由 P3.3 口进行控制,对电机的温度监测,使电机在安全温度内工作矩阵键盘模块,由P1口进行控制,输入想要的功能。否否开始DS18B20 开始工作扫描键盘是否有键按下是实现相应的功能是否超出安全温度是报警灯闪,报警器响31、电机工作状态指示模块如图 3-1 所示图 3-1功能:指示单片机目前的工作状态,当电机的温度超出安全温度的时候,报警灯闪的同时,报警器也会响。2、单片机驱动电机模块(如图 3-2)图 3-2功能:单片机输出的程序通过 ULN2803 电机驱动器给步进电机一个脉冲信号,使步进电机实现按输入步数正转与反转。3、电机温度监测模块(如图 3-3)图 3-3功能:实时监测电机的温度,当电机超过安全温度时,单片机会发出警报并停止电机工作。4、键盘输入模块(如图 3-4)图 3-44功能:通过预设使每一个键盘具有一个特定的功能,从而实现按设计要求控制电机的需求。四、整体测试1、安全温度下电机正转(如图 4-1)图 4-1此时电机正转,正转指示灯亮,功能正常实现。2、安全温度下电机反转(如图 4-2)图 4-2此时电机反转,反转指示灯亮,功能正常实现。53、超出安全温度时电机停止工作并报警(如图 5-1)图 5-1此电机温度超出安全温度 50,报警灯闪烁,报警器鸣响,键盘锁住禁止输入。同时指示停机前电机转动的方向。功能正常。4、当键盘锁住时键盘无法使用刚开机时,为防止出现事故,整个功能键盘是锁住的,只有解锁后才能对电机进行控制,在运行过程当中,当键盘锁住后,将保持停机前的状态,并禁止对电机进行操作。其它功能还是正常运行。结论是正常。五、结论经测试,整体电路工作正常,实现了要求的所有功能。由于延时的原因,有些功能会出现一定的误差,比如:有时按下键去的时候电机会没有反应,因为程序还没有执行到这里。本设计有多个不足之处,比如:电机在没有走完输入的步数之前是不能对电机进行其它的控制,就算此时电机已经超出了安全温度也不能及时的报警和停机。由于延时的效果,使得电机在执行输入的相应的步数的时候会出现一点偏差,但是走的总步数是没有错的。对此,我提出改进方案为,用定时器中断方式,每隔一断时间去检查,看电机是否已超出安全温6度,这样就能及时的停机。我还会增加一个紧急停机按钮,使得现场出现紧急情况的时候能实现紧急停机。我还会再增加一个加速控制钮和一个减速控制钮,使电机在连续转动时能平稳的运行以及起步和停机。对电路进行调整后,如果可以的话,还可以加上可视功能,显示电机现在走了几步,目前的温度如何。六、总结在此次设计中,由于是第一次接触步进电机,出于对步进电机的不了解,就在用多少拍控制电机方面我参考了网上不少资料以及不少相关的书籍,最后确定用八拍控制法最合适,四相八拍控制法被普遍认为是比较好用的一种控制方法。刚开始不知道电机在转动的时候会有惯性效应,即如果在上一个脉冲控制下没有完全走完,但是下个脉冲已经过来了,这就会产生堵转和失步现象。所以在执行程序的时候要增加一点延时。在做足了所有的准备后,电机还是不能正确的转动,我曾经一步把注意力放在程序上,但是后来在参考一本资料的时候偶然发现其电机的接线图有所不同,这让我开始注意到,也许硬件电路的设计出了问题,果然在后来对硬件电路进行调整后,实现了预定的功能。在实现了电机能合理的转动的情况下,我就把温度监测部分加进来。但这不是简简单单的增加一个子函数的问题,它关系到整个程序的运行,使得整个程序都要做出相应的调整,这真的是牵一发而动全身。同样一个变量我放在主函数里比较大小与放在子函数里比较都会有不一样的效果,一个能正确实现相应的功能,而另一个却不会。这也让我在编程方面积累了一点经验。当测温这一块加进来后,由于程序增加了不少,而且里面还有相当一部分的延时语句,所以,单片机对键盘的扫描就不再那么及时了,这就出现了有时按下键去却没反应的现象。这是我以后要改进的地方。七、参考文献【图书文献】1、 作者:高洪志, MCS-51 单片机原理及应用技术教程 ,北京,人民邮电出版社,2009 年 4 月出版,第 314316 页。2、 作者:丁向荣, STC 系列增强型 8051 单片机 ,北京,电子工业出版社,2011 年 1 月出版,第 289290 页。3、 作者:周润景, 单片机电路设计、分析与制作 ,北京,机械工业出版社,210 年 8 月出版,第 1625 页。【网络文献】1、 /view/c5f8513331126edb6f1a10f4.html, 2010-12-15, 基于单片机的步进电机控制系统(汇编及 C 语言程序各一个)2、 /view/5a3aa642a8956bec0975e3c1.html, 2010-10-07, 基于单片机控制的步进电机_毕业论文7附程序:#include#include /包含_nop_()函数定义的头文件#define uchar unsigned char#define uint unsigned intuchar beheavecount=0x00,0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;uchar opbeheavecount=0x00,0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;/uchar beheavecount=0x00,0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;uchar step,temp,lock,lock2,i,o,time,flag; sbit DQ=P33;sbit wrong=P03;sbit warning=P02;void keyscan();void delay(uint z);void beheave(uchar x);void Write(uchar dat);uchar Read(); void Init();void delayms(uint i);void tempereture();void main()step=lock=lock2=0;i=1;o=0x00;P0=0x00;P2=0xff;P0=0x02;wrong=0;while(1)warning=0;tempereture();if(flag=1)warning=0;keyscan();if(step=30) /锁键step=0;lock=0;if(step=31) /解锁8lock=1;step=0;if(step=32P0=0x02;lock=0;i=9-i;i+;if(i8)i=1;i+;if(i8)i=1;if(step=32P0=0x01;lock=0;i=9-i;i+;if(i8)i=1;i+;if(i8)i=1;if(flag=0)warning=1;delay(200);wrong=wrong;lock=0;if(lockvoid keyscan() /键盘处理函数9P1=0xfe;temp=P1;temp=tempwhile(temp!=0xf0) /消除抖动delay(5);temp=P1;temp=tempwhile(temp!=0xf0)temp=P1;switch(temp) /判断按下哪个键case 0xee:step=3;break;case 0xde:step=6;break;case 0xbe:step=9;break;case 0x7e:step=12;break;while(temp!=0xf0) /判断键是否已回位temp=P1;temp=temp/lock=1;P1=0xfd;temp=P1;temp=tempwhile(temp!=0xf0)delay(5);temp=P1;temp=tempwhile(temp!=0xf0)temp=P1;switch(temp)case 0xed:step=15;break;case 0xdd:step=18;break;case 0xbd:step=21;break;case 0x7d:step=24;break;10while(temp!=0xf0) /判断键是否已回位temp=P1;temp=temp/lock=1;P1=0xfb;temp=P1;temp=tempwhile(temp!=0xf0)delay(5);temp=P1;temp=tempwhile(temp!=0xf0)temp=P1;switch(temp)case 0xeb:step=27;break;case 0xdb:step=30;lock2=0;break;case 0xbb:step=0;lock2=1;break;case 0x7b:step=32;o=o;break;while(temp!=0xf0) /判断键是否已回位temp=P1;temp=temp/lock=1;if(lock2=0)lock=0;else if(lock2=1)lock=1;void beheave(uchar x) /电机转动处理函数uint y=0; /定义一个记录赋值次数的变量if(o=0xff)11doP2=opbeheavecounti;if(i=8)i=1;elsei+;y+;delay(600);while(y0;a-)DQ = 0; / 给脉冲信号dat=1;DQ = 1; / 给脉冲信号if(DQ)dat|=0x80;delayms(5);return(dat);void Write(uchar dat)/写字节uchar a=0;for (a=8; a0; a-)DQ = 0;DQ = datdelayms(5);DQ = 1;dat=1;void tempereture() unsigned char tl=0,th=0;unsigned char TN,TD;Init();Write(0xCC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间管理教学课件模板
- 时间的重量团课课件
- 戏子创意画课件
- 学生干部培训课程
- 二零二五年度家庭光伏电站设备采购与租赁合同
- 二零二五年度公益演出场地借用合同
- 二零二五版婚姻解体财产分配协议:净身出户执行细则
- 2025版汽修厂汽车漆面修补与喷涂一体化服务合同范本
- 二零二五年度生态环保垃圾清运承包合同
- 2025版国际公路货运服务质量评价合同
- 销售人员要具备的基本素质
- 运维项目进度计划
- 图表作文写作技巧与范文解析
- 设备监理表格使用说明
- 文化创意公司章程范本
- 代谢性脑病的护理诊断与措施
- 五年级阅读理解(通用15篇)
- 2023-2024学年部编版七年级上册生物第三单元教案生物圈中的绿色植物生物学与文学 寄予植物的情怀
- Unit 11 Lesson 1 课件-2023-2024学年高中英语北师大版(2019)选择性必修第四册
- 神经外科围手术期疼痛护理的现状及进展
- 柯布道格拉斯函数拓展分析课件
评论
0/150
提交评论