《微机控制技术》课程设计说明书二相步进电机控制系统设计

上传人:pu****.1 文档编号:487876743 上传时间:2024-02-06 格式:DOC 页数:25 大小:1.04MB
返回 下载 相关 举报
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第1页
第1页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第2页
第2页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第3页
第3页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第4页
第4页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《微机控制技术》课程设计说明书二相步进电机控制系统设计》由会员分享,可在线阅读,更多相关《《微机控制技术》课程设计说明书二相步进电机控制系统设计(25页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学微机控制技术课程设计说明书二相步进电机控制系统设计1 设计任务分析1.1 设计任务设计一个二相步进电机控制系统,电机有两组带中心抽头的线圈,要求系统具有如下功能:采用单极性控制,用K0-K2做为通电方式选择键,K0为四相单四拍,K1为四相双四拍,K2为四相八拍;K3为启动/停止控制、K4方向控制;用4位LED数码管显示工作步数。用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮。1.2 任务分析根据任务要求,二相步进电机包含二相五线、二相六线式两种类型,二相步进电机要实现四相单四拍、四相双四拍、四相八拍的运行方式,需将二相步进电机改接成四相步进电机,为此选定二相六线

2、式步进电机,接线时将两个中心抽头接为高电平即可将其改为四相电机。四相单四拍通电方式:A-B-C-D。四相双四拍通电方式:AB-BC-CD-DA。四相八拍通电方式:A-AB-B-BC-C-CD-D-DA。控制芯片选用单片机控制相应的I/O口输出相应的电平驱动电机驱动芯片ULN2003驱动步进电机的转动。LED数码管显示工作步数时则需先选定某一个数码管工作,再给选定的数码管送要显示的数据。正传、反转、不转时指示灯的显示可以通过K3(启动/停止控制键)、K4(方向控制键)硬件来控制,亦可以通过单片机输出高低电平,在软件中控制。2 方案选择2.1 方案比较2.1.1 方案一方案一采用Atmega128

3、单片机作为核心控制I/O口输出电平送给驱动电路以驱动电机运转。下图为电机的单极性驱动电路,单片机输出的脉冲经过光耦隔离后,再通过达林顿功率管实现功率放大,各个达林顿功率管轮流导通,产生相应的通电时序,从而带动步进电机的正常转动。改变输出的脉冲时序即可实现电机反转。程序中通过软件延时来控制单片机I/O口的输出以达到控制电机旋转和数码管显示的目的。图1 达林顿功率管驱动电机电路图2.1.2 方案二方案二的控制芯片亦采用Atmega128,方案二选用了集成芯片ULN2003:ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。程序中使用的是定时器0中断延时,将控制变量自加程序放

4、入中断子程序中以达到控制电机旋转和数码管显示的目的。图2 ULN2003驱动电机接线图2.2 方案的确定通过以上两个方案的比较,由于方案一、二其他的设计思路相同,控制芯片都是Atmega128,主要区别在于驱动电机的电路和是否使用中断。由于方案二驱动电路接线少易于实现,且中断的使用使得延时更加精确,和使数码管显示程序更容易实现的目的,所以本次设计采用方案二。 3 硬件设计3.1 系统原理框图图3 单片机控制电机原理框图3.2 按键电路图4 按键电路如图4,K0接单片机PA0口控制电机单四拍运转,K1接单片机PA1口控制电机双四拍运转,K2接单片机PA2口控制电机八拍运转,K3接单片机PB0口控

5、制电机的起停,K4接单片机PA3口控制电机运转的方向。3.3 数码管显示电路如图5,七段共阴数码管的A、B、C、D、E、F、G、DP依次接单片机的PD0PD7口,显示单片机输出的数据。1、2、3、4依次接单片机的PE0PE3口,单片机PE口输出电平驱动数码管显示PF口送出的数据。图5 数码管显示电路3.4 单片机驱动电机电路图6 单片机驱动电机电路图如图6所示,单片机的PF口的低四位输出脉冲给电机驱动芯片ULN2003,ULN2003将单片机输出的电流放大后驱动步进电机的运转。3.5 单片机ATmega 128引脚图本设计采用的是ATmega 128单片机,此单片机内部带有128KB的系统内可

6、编程Flash程序存储器,具有在写的过程中还可以读的能力,即同时读写(RWW);4KB的EEPROM;4KB的SRAM;53个通用的I/O端口线;32个通用工作寄存器;实时时钟(RTC);4个灵活的具有比较模式和PWM功能的定时/计数器(T/C);2个USART;面向字节的两线端口(TWI);8通道10位ADC;可选的可编程增益;片内振荡器的可编程看门狗定时;串行外围设备接口(SPI);与IEEE1149.1规范兼容的JTAG测试口,此接口同时还可以用于片上调试;6种可以通过软件选择的省电模式。可用于本设计,其引脚图如图7所示。图7 ATmega 128单片机引脚图3.6 LED灯显示电路如图

7、8所示,三个LED灯一端公共接地,另一端接在单片机的PC口上,单片机PC口输出高电平,则与某个PC口相对应的灯被点亮,输出低电平则灯熄灭。红灯接单片机PC0口,红灯亮(PO0=1),代表电机正转。黄灯接单片机PC1口,黄灯亮(PC1=1)时代表电机反转;绿灯接单片机PC2口,绿灯亮(PC2=1)时代表电机停转。图8 LED灯显示电路4 软件设计4.1 软件总流程图从软件总体流程图(图9)可知:本次程序设计的思想单片机通过查询方式读取按键的状态来产生相应的控制输出量,以驱动步进电机旋转和数码管显示工作步数。具体过程如下:单片机先初始化其各个端口,准备好读取按键电路的状态变化。当启动键按下时,单片

8、机继续等待工作方式、步进方向选择键的状态变化,如果方向键按下、K0键(单四拍)按下,则单片机内部程序将执行相应的操作步进电机以单四拍方式运转并且数码管显示工作的步数。同理K1键(双四拍)或K2键(八拍)按下,则步进电机将以相应的方式旋转。若启动键按下以后,没有其他键按下,则单片机将会继续等待其他按键的操作,直至有按键按下才会引起相应的操作。电机运转的过程中,如果停止键按下,则单片机不再给电机、数码显示管送出脉冲,电机停转、数码管停止显示工作步数。如果停止键没有按下,则步进电机、数码管继续先前的工作方式运行,直至有其他按键按下改变或停止其运行方式。图9 软件总体流程图4.2 显示模块流程图图10

9、 数码管显示流程图本次设计显示模块采用的是七段共阴数码管,要想使数码管工作,则必须先给要工作的数码管一个脉冲,然后将要显示的数据对应的脉冲送给这个数码管,这样数码管就能显示数据。如单片机PE口驱动数码管1,再让单片机PD口给数码管送数据0X3f,则数码管将显示0,09的字段为 :0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f显示变量放在定时器0中,定时器每执行中断一次,显示变量自加一次。单片机PD口通过显示变量取得09的字段并送给数码管显示。4.3 步进电机运行模块4.3.1 单四拍工作时序波形图图11 电机单四拍工作时序波形图如图11所示,

10、电机单四拍工作时给各相绕组通电的时序为:A-B-C-D。要改变电机的旋转方向,则只需将绕组通电的顺序改为:D-C-B-A即可。4.3.2 双四拍工作时序波形图 图12 电机双四拍工作时序波形图如图12所示,电机双四拍工作与单四拍工作时各绕组通电方式不同,单四拍是各个绕组单独通电,而双四拍是相邻两个绕组同时通电,双四拍给各相绕组通电的时序为:AB-BC-CD-DA,如果要反向,则需按DC-CB-BA-AD的顺序通电。4.3.3 八拍工作时序波形图 图13 电机八拍工作时序波形图如图12所示,八拍工作方式是单四拍和双四拍两种工作方式的结合,通电时序为:A-AB-B-BC-C-CD-D-DA,若通电

11、方式改为:D-DC-C-CB-B-BA-A-AD,则电机运转方向改变。4.3.4 电机不同运行方式流程图图14 电机不同运行方式流程图如图14所示,不同的键按下,电机会以不同的方式运行。在程序中,我们先把电机怎样运转的控制字预定好并存储起来,当单片机检测到相应的按键按下,则会找到相应的控制字并将其循环通过PF口输出,控制电机按照选择的方式运转。5 仿真结果分析按照硬件设计图在Proteus中接好线后,将程序写入ICC AVR编译器,载入经ICC AVR编译后生成的hex文件,通过Proteus仿真发现:(1)数码管显示工作步数在步进电机切换工作方式时不能清零,数码管仍然以上次的计数向上累加。(

12、2)在按下停止键后,再次启动电机,电机正常运转而数码管不再记录电机工作步数。经过反复分析发现是程序中的漏洞,在停止键按下后添加上端口初始化程序即可解决问题(2),在工作方式切换键的程序中添加上数码管显示控制变量清零这条语句,即可解决问题(1)。经过反复调试,得出了任务要求中的结果。最终仿真图如下: 图15最终仿真效果图打开Proteus,点击运行按钮,再闭合启动/停止键K3,并选择方向、电机工作方式(通过K4、K0、K1、K2按键选定)电机此时就开始按选定的方式运转,且数码管同步显示步进电机工作的步数。如方向键K3按下、选择八拍方式运行,则正转指示灯红灯D2亮且电机运转、数码管同步显示,如此时

13、打开启动/停止按键K3,停止指示灯绿灯D3亮,电机停转、数码管停止显示。在电机运行时可以改变通过K0K2键直接改变电机的运行方式,因为此时电机运行方式已变,故数码管将清零并重新显示改变后电机工作的步数。如果在电机运行时改变电机运转的方向,因为电机并没有停下来只是方向而已,故此时数码管将先前工作步数的基础上继续记录电机改变方向后的工作步数。6 心得体会微机控制技术课程设计不仅是针对我们学习微机控制技术这门课的综合运用所学知识的能力训练,更是对我们一次理论联系实践技能的培养和锻炼,课程设计不仅要求我们拥有扎实的理论知识,更需要我们有将理论运用于实践的能力。通过此次课程设计,使得我对步进电机的原理以

14、及工作方式有了一定的了解,对先前学过的单片机的相关内容有了进一步的巩固和提高。在程序编写方面,最初我选用的是if、else条件选择语句和while循环语句来读取按键的信息以使得单片机选择相应的输出来控制电机和驱动数码管,但仿真时发现,按下一个键后电机运行,但改变按键后电机仍按以前的方式运行。经过反复的检查发现原来是程序进入了死循环没法跳出。经过反复思考后,我选择了用定时器中断程序来实现电机的运行和数码管的显示,把控制电机运行的变量i和数码管显示的变量count放在中断子程序中,每中断一次,i和count都自加一次,然后在通过按键的信息使得单片机采集变量i和count的值送给相应的输出口输出变化的电平去驱动电机运转和数码管显示。通过发现程序中的问题并经过分析最终解决了问题、实现了最初设定的方案,使得自己在分析问题并解决问题、新方案的设计、查阅资料、收集有用信息和团队协作方面的能力得到了锻炼和提升。参考文献1 周润景、张丽娜.基于PROTEUS的AVR单片机设计与仿真.北京:北京航空航天大学出版社,2007年2 于海生、潘松峰、于培仁、吴贺荣.微型计算机控制技术.北京:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号