单片机三相单三拍步进电机_第1页
单片机三相单三拍步进电机_第2页
单片机三相单三拍步进电机_第3页
单片机三相单三拍步进电机_第4页
单片机三相单三拍步进电机_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用课程设计报告主题名称单片机控制步进电机姓名学生卡专门导师 任务书单片机控制步进电机步进电机是工业过程控制和仪表中的主要控制元件之一。它可以在机械结构中将丝杠的角度变成线性位移,也可以用它来驱动丝杠电位器来调节电压和电流,从而实现对执行器的控制。在数字控制系统中,由于可以直接接受计算机输出的数字信号,无需进行D/A转换,使用起来非常方便。步进电机具有启停速度快、精度高的显着特点,已广泛应用于定位场合。步进电机实际上是一个数角转换器和一个串行数模转换器。因此,需要将并行二进制转换为串行脉冲序列,实现方向控制。每当步进电机脉冲输入线得到一个脉冲,它就会向特定方向迈出一步。设计要求:单

2、片机用于控制三相单三拍步进电机的工作。步进电机的旋转方向由正反转控制信号控制。步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24、27步。并且键盘具有键盘锁功能。键盘锁定时,步进电机不接受输入的步数,不运行。只有打开键盘锁并输入步数后,步进电机才会开始工作。电机运转时,有正反转指示灯指示。电机运行时,若过热,电机停止运行,红色指示灯亮,同时报警。目录一、简介 42. 方案论证(策划、选择) 73. 方案说明(设计) 74、硬件方案设计 85. 软件方案设计 126. 调试 13七、技术总结(结束语) 148. 参考文献. . 159. 附录(源码、电路图等)

3、161 简介1.1步进电机采用电脉冲信号控制,实现生产过程或设备的数字化控制。它是过程控制中非常重要和常用的动力执行装置。可将脉冲信号转换成角位移,可用作电磁制动轮、电磁微分器或角位移发生器等。近年来,由于计算机应用技术的飞速发展,步进电机往往形成高精度的数字控制系统和电脑一起。由于采用数字脉冲控制,非常适合单片机控制。基于此,本设计89C以AT 51型单片机为核心,结合外围电路,以步进电机为控制对象的控制系统。1.2 单片机控制步进电机的原理步进电机不同的驱动方式都在运行,脉冲信号按一定的顺序依次加到三相绕组上,从而达到不同的工作状态。由于通电顺序不同,工作模式有三相单三相拍、三相双三拍、三

4、相单拍和双六拍(注:“三相上述“三相单三拍”中有三相绕组; “拍”是指定子绕组改变一次通电方式; “三拍”表示功率为通电3次完成一个周期。 “三相双三拍”中的“双”表示两相绕组同时通电)。1.2.1三相单三拍运行方式:下图为无功步进电机的工作原理。如果脉冲分配器输出的第一个脉冲使A相绕组通电,则B、C相绕组不通电,A相绕组不通电。相绕组通电时产生的磁场会在转子上产生一个反转矩,转子的第 1 和第 3 齿将与定子磁极对齐,如图(a)所示。第二个脉冲到达给B相绕组通电,而A、C相绕组不通电; B相绕组产生的磁场将使转子的2、4齿与B相磁极对齐,如图(b)所示,与图(a)相比,转子旋转一圈逆时针角度

5、。第三个脉冲到来后,C相绕组通电,而A、B相不通电。此时,转子的第 1、3 齿将与 C 组对齐。转子位置如图(c)所示,与图(b)相同。 ),然后逆时针转动一个角度。图1.1 反应式步进电机工作原理图通过分配器按A相-B-相-C-相-A-相.规律连续接通和断开。此时,步进电机的转子是连续连接的。逐步逆时针转动。如果改变步进电机的旋转方向,只要改变定子各绕组的通电顺序为A相-C相-B相-A相,转子旋转方向就变为顺时针方向.在单三拍分配方式中,步进电机由A相通电切换到B相通电,步进电机的转子转动一个角度,称为步进。此时转子的旋转角度为30度。步进电机每一步转动的角度称为步距角。1.2.2三相双三拍

6、运行方式三相双三拍运行方式:每次通电两个绕组,通电方式为AB-BC-CA-AB . ,如果通电顺序更改为 AB-CA- -BC-AB .步进电机反转。在双三拍分配方式中,步进电机的步距角也是30度。1.2.3三相单双六拍运行模式:三相六拍配电模式是指每个周期有六个通电状态。这六种电状态的顺序可以使A-AB-B-BC-C-CA-A .或A- CA-C-BC-B-AB- A 六拍通电方式中,存在两个绕组同时通电的瞬间,转子齿的位置会处于通电两相的中间。在三相六拍分配方式下,每步转子的旋转角度仅为三相三拍方式的一半,步距角为15度。单三拍运行的突出问题是一次只能通电一相绕组。转换过程中,一相绕组断电

7、,另一相绕组通电,容易出现失步;不好,在平衡位置附近容易震荡,所以少用。双三拍运行的特点是每次两相绕组通电,转换过程中始终通电一相绕组,因此运行平稳,步距角与单相绕组相同- 三拍操作。转换六拍工作方式时,始终只有一相绕组通电,步距角小,工作稳定性好,但供电较复杂,实际应用较多。2、方案论证2.1 本设计中,由于需要实现9个不同部件的输入等功能,可以通过键盘输入来实现步进电机的步数由键盘输入,并具有键盘锁定功能。本实验中单片机的端口数量足够,最终决定直接使用键盘输入。2.2步进电机方面,由于本次设计的软件采用proteus,所以本软件中只有一款四相步进电机型号,再考虑到步进电机控制方式的难度,四

8、相八拍最后采用控制方法。 , 由于单片机不能直接驱动步进电机,所以控制电压是由芯片放大的。2.3 测温方面,最初计划用温度感应开关监测电机温度,温度过高时断开开关;但考虑到系统的可操作性、精度、编程难度和仿真软件,最终决定用DS18B20代替电机的测量系统,这样如果电机在运动过程中过热,电机就会停止运行,红色指示灯亮,同时报警。在转向方面,使用不同的指示器来指示正向和反向旋转。当温度超过安全温度时,报警灯亮,警铃鸣响,电机停止运转,键盘锁定。三、节目说明步进电机与普通电机的区别在于步进电机是由脉冲信号控制的。也就是说,步进电机是将电脉冲信号转换为机械角位移的执行元件。步进电机的控制可以通过单片

9、机硬件或软件实现。硬件方法是使用脉冲分配器芯片进行一般换相控制;软件方式是利用单片机产生控制脉冲来控制步进电机的运行状态,可以简化电路,降低成本。使用软件控制时,主要设计要点如下:确定旋转方向;根据相序确定控制字;依次输入控制字;确定控制步骤的数量和每个步骤的延迟时间。因为单片机的驱动电流一般比较小,不能直接驱动电机工作,所以单片机的I/O口的输出必须接驱动电路,即动力驱动,从而控制电机正常工作。控制框图如下图所示:当它开始启动时,单击它停止旋转,并使用键盘按键控制键盘锁定、步数、正转和反转。使用80c 51作为总控芯片。 ULN2003用于步进电机的驱动控制。其中,键盘扫描程序是在控制键盘时

10、使用的。图3.1 总体方案图C51单片机驱动电路三相步进电机电源与时钟电路状态显示电路正反转与指示电路键盘控制电路4.硬件方案设计系统硬件设计4.1 最小 MCU 系统5V电源:给系统供电。复位电路:当程序跑掉时,复位电路可以使程序重新执行,相当于重新启动计算机。晶体振荡器:为微控制器的操作提供时钟。EA接高电平:表示从运行部门的程序存储器中下载的程序。P0接排阻:P0口为开漏结构,使用时一般接排阻拉高电平。4.2 键盘设计电路采用独立键盘工作方式,共有十二个按键,分别为3、6、9、12、15、18、21、24、27布局选择功能,键盘锁定功能与旋转方向有关的步进电机。选择功能。有一些程序性决定

11、开始发挥作用。4.3 步进电机步进电机驱动采用ULN2003,接单片机P1.0P1.3 ,如步进电机驱动与单片机接线图。4.4 正反转显示灯及警铃4.5 温度传感器模块5. 软件设计主程序流程图如下:判断电机是否温度过高确定输入步数等待开键盘电机高温?报警,红灯点亮,步进电机停转开始步进电机运转是 锁键盘否是初始化程序否6.调试6.1Proteus仿真软件Proteus是全球知名的EDA工具( HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/561380.htm t _blank 仿真软件),从原理图布局、代码调试到 HYPERLINK

12、 %20%20%20%20:/baike.baidu%20%20%20%20/view/1012.htm t _blank 单片机及外围电路协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。是全球唯一集 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/4952740.htm t _blank 电路仿真软件、PCB设计软件、虚拟模型仿真软件于一体的设计平台。其处理器型号支持8051、HC11、PIC 10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。2010年增加了Cortex和D

13、SP系列处理器,并继续增加其他系列处理器型号。在编译方面,还支持IAR、Keil、MPLAB等 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/487018.htm t _blank 多种编译器。6.2 调试步骤和方法电路经调试达到课题要求,各项技术指标均达到设计目的。具体操作控制方法如下:1、当电机按下启动按钮时,步进电机按默认状态开始转动;2、当电机按下停止按钮时,步进电机停止转动;3、电机按下正转按钮时,步进电机正转;4、当电机按下反转按钮时,步进电机反转;5、当电机按下步数按钮时,步进电机按照步数旋转。七、技术总结为期一周的 M

14、CU 课程设计即将结束。经过这么多天的努力,终于完成了本次课程设计的基本设计要求,在充实中也学到了很多知识,就是将所学的知识真正应用在实践中。非常好的体验,让人们受益匪浅。因为这次控制要求不是很高,所以选择了51系列80C51。接下来是硬件接口分配以及如何驱动电机的问题。之前没有接触过步进电机,所以在网上查了很多关于步进电机的资料,知道了它的基本工作原理以及如何实现它的控制运行和驱动。下一个主要问题是如何编程来控制它。这个程序的编写和调试对我来说是一个很大的挑战,因为我之前只写过一些简短的小程序,这对大程序的整体方面非常重要。还是不能很好的把握。经过反复尝试和调试,采用找问题解决问题的方法,参

15、考别人的一些经验和方法,编写了程序。这对我以后写程序来说是一个很好的经验积累。通过这次课程设计,我也了解到了自己的不足。以前学单片机的时候,往往只看懂别人写的程序,以为看懂了就知道怎么写了,但事实并非如此,虽然这次是课程设计程序大功告成,但是花样繁多,编程也没有之前想象的那么简单。所以,以后的学习,不能高高在低,一定要脚踏实地,一步一个脚印,自己动手,这样才能真正学到知识。本次课程设计能够顺利完成,也感谢毛老师的指导,我的感受非常深刻,是一次很好的经验积累和设计经验。8 参考文献1.易纲主编,单片机原理与应用高等教育,2010。2. 楼然淼等主编, 51系列单片机设计实例 ,航空航天大学,20

16、06。3. 王道辉,单片机系统设计与实践电子工业2005。4.谭浩强主编,C程序设计(第三版)清华大学2005年。5. 王港着,电气电子实务指导科技2008。6. 周润景主编,PROTEUS入门实用教程机械工业2011。7.林立主编,单片机原理与应用:基于Proteus和Keil C电子工业2011。8. 严石主编, 数字电子技术基础高等教育,2006。9 附录实验设备姓名模型数量评论单片机AT89C511MCU基础1微动开关9自锁开关3发光二极管引领3驱动芯片ULN2003A1步进电机28BYJ421电源1温度感应器18B201蜂鸣器1三极管NPN1晶体振荡器12MHZ1电容各种大小一些反抗

17、各种大小一些排除1仿真图程序#include#define uchar 无符号字符#define uint 无符号整数#define led P0/数码管段选择#define哈哈P2位 s1 = P01;sbit s2 = P02;/密钥定义,s1为正向,s2为反向sbit s3 = P03;/键定义,停止sbit 扬声器 = P04;位 LED1 = P05;位 LED2 = P06;位 LED3 = P07;位 a = P23;位 b = P22;位 c = P21;sbit d = P20;/脉冲信号输入端子定义sbit _key3 =P10; /3步sbit _key6 =P11; /

18、6步sbit _key9 =P12; /9步sbit _key12 =P13; /12步sbit _key15 =P14; /15步sbit _key18 =P15; /18步sbit _key21 =P16; /21步sbit _key24 =P17; /24步sbit _key27 =P00; /27步unsigned char code dofly_DuanMa10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/显示段码值09unsigned char code dofly_WeiMa=0 xfe, 0 xfd,

19、 0 xfb, 0 xf7, 0 xef, 0 xdf, 0 xbf, 0 x7f;/对应数码管亮,即位码无符号字符临时数据8; /存储显示值的全局变量/*-DS18B20 端口定义-*/sbit DQ=P27;/ds18b20端口bit ReadTempFlag;/定义读取时间标志/*-函数声明-*/无符号整数 ReadTemperature(void);位初始化_DS18B20(无效);无符号字符 ReadOneChar(void);无效WriteOneChar(无符号字符数据);无效DelayUs2x(无符号字符t);void DelayMs(unsigned char t);无效_18

20、b20(无效);/DS18B20定义/*- -* /uchar code display11=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff;/共阳数码管驱动信号0-9,不显示uchar 码 time_counter102=0 xda,0 x1c,0 xde,0 xe4,0 xe1,0 xec,0 xe5,0 xd4,0 xe9,0 xbc, /9.7 -1ms0 xed,0 xa4,0 xf1,0 x8c,0 xf5,0 x74,0 xf9,0 x5c,0 xfc,0 x18; uchar num1 = 0;

21、/控制取激励信号变量 uchar num2 = 8;uchar 灌木 = 0;uchar k=1;/加减档控制,1为最小档bit flag1 = 0;/初始正转,正反转标志uchar buf4=0,10,10,1;/数码管显示缓存,正转,不显示,不显示,显示1档,高-低(不能去掉)无效键(无效);无效键扫描(无效);/= 定时器0/1初始化函数= = =无效 T0_T1_init()TMOD = 0 x11;/定时器0/1都工作在模式1,16位定时模式TH0 = (65536 - 4000)/256;TL0 = (65536 - 4000)%256;/定时器0,数码管扫描显示定时4ms TH1

22、 = time_counterk-10;TL1 = time_counterk-11;/定时器1,步进电机调速定时10msTR0 = 1;TR1 = 1;ET0 = 1;ET1= 1;/开启定时器中断EA = 1;/开启总中断/=ms级延时函数= = =无效延迟1m(uint x)uint i,j;for(i=0;ix;i+) /连续x次,约x ms for(j=0;j 0; m-) if(flag1 = 0)/正转LED3 = 1;扬声器 =1;LED1 = 0;LED2 = 1;开关(num1)情况 0:a = 1;b = 0;c = 0;d = 0;中断;情况 1:a = 1;b = 1

23、;c = 0;d = 0;中断;情况 2:a = 0;b = 1;c = 0;d = 0;中断;情况 3:a = 0;b = 1;c = 1;d = 0;中断;情况 4:a = 0;b = 0;c = 1;d = 0;中断;情况 5:a = 0;b = 0;c = 1;d = 1;中断;案例 6:a = 0;b = 0;c = 0;d = 1;中断;情况 7:a = 1;b = 0;c = 0;d = 1;中断;数字1+;如果(num1 = 8)num1 = 0;else /功率LED3 = 1;扬声器 =1;LED1 = 1;LED2 = 0;开关(num2)情况 0:a = 1;b = 0

24、;c = 0;d = 1;中断;情况 1:a = 0;b = 0;c = 0;d = 1;中断;情况 2:a = 0;b = 0;c = 1;d = 1;中断;情况 3:a = 0;b = 0;c = 1;d = 0;中断;情况 4:a = 0;b = 1;c = 1;d = 0;中断;情况 5:a = 0;b = 1;c = 0;d = 0;中断;案例 6:a = 1;b = 1;c = 0;d = 0;中断;情况 7:a = 1;b = 0;c = 0;d = 0;中断;数字2+;如果(num2 = 8)num2 = 0;无效键()if(s3 = 1) /这里开关关闭,表示键盘锁打开。如果

25、开关未闭合,则表示已锁定,电机不转动延迟1m(100);如果(s3 = 1)if(_key27=0) 布什=27; /步数较高者优先,即同时打开多个步数开关,运行步数较多否则 if(_key24=0) bushu=24;否则如果(_key21=0)bushu=21;否则如果(_key18=0)bushu=18;否则 if(_key15=0) bushu=15;否则如果(_key12=0)bushu=12;否则 if(_key9=0) bushu=9;否则 if(_key6=0) bushu=6;否则 if(_key3=0) bushu=3;/以下是18B20程序/*-18b20 初始化-*/位初始化_DS18B20(无效)位数据=0;DQ = 1; /DQ复位延迟Us2x(5); /稍微延迟DQ = 0; /MCU拉低DQ延迟Us2x(200); /精确延迟大于480us小于960us延迟Us2x(200);DQ = 1; / 将总线拉高延迟Us2x(50); /1560us后接收60-240us存在脉冲数据=DQ; /如果x=0,初始化成功,如果x=1,初始化失败延迟Us2x(25); / 稍等片刻后返回返回数据;/*-读取一个字节-*/无符号字符 ReadOneChar(void)无符号字符 i=0;无符号字符 dat = 0;对于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论