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

上传人:沈*** 文档编号:41572941 上传时间:2021-11-21 格式:DOC 页数:25 大小:1.04MB
收藏 版权申诉 举报 下载
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第1页
第1页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第2页
第2页 / 共25页
《微机控制技术》课程设计说明书二相步进电机控制系统设计_第3页
第3页 / 共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的值送给相应的输出口输出变化

15、的电平去驱动电机运转和数码管显示。通过发现程序中的问题并经过分析最终解决了问题、实现了最初设定的方案,使得自己在分析问题并解决问题、新方案的设计、查阅资料、收集有用信息和团队协作方面的能力得到了锻炼和提升。参考文献1 周润景、张丽娜.基于PROTEUS的AVR单片机设计与仿真.北京:北京航空航天大学出版社,2007年2 于海生、潘松峰、于培仁、吴贺荣.微型计算机控制技术.北京:清华大学出版社,1999年3 吴红星.电机驱动与控制专用集成电路及应用.北京:中国电力出版社,2006年4 张克彦.AVR单片机实用程序设计.北京:北京航空航天大学出版社,2004年5 耿德根、宋建国、马潮、叶勇健.AV

16、R高速嵌入式单片机原理与应用.北京:北京航空航天大学出版社,2003年6 陈冬云、杜敬仓、任柯燕.ATmega 128单片机原理与开发指导.北京:机械工业出版社,2005年附录程序代码/ICC-AVR application builder : 2009/6/30 10:39:21/ Target : M128/ Crystal: 4.0000Mhz#include #include unsigned char d48=0x01,0x02,0x04,0x08, /正转单四拍控制字 0x03,0x06,0x0c,0x09, /正转双四拍控制字 0x01,0x03,0x02,0x06,0x04,0

17、x0c,0x08,0x09,/正转八拍控制字 0x08,0x04,0x02,0x01, /反转单四拍控制字 0x09,0x0c,0x06,0x03, /反转双四拍控制字 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;/反转八拍控制字unsigned char scan4=0Xf7,0Xfb,0Xfd,0Xfe;/*选择扫描显示数码管,送PE口选数码管*/unsigned char seven_seg10=0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f;/*0-9的字符表,送PD口显示*/unsigned ch

18、ar flag;/正反转标志:flag=0 正转 ,flag=3 反转。unsigned char pai; /工作方式选择标志:pai=0单四拍,pai=1双四拍,pai=2八拍unsigned char tt,k=0;unsigned char key;/定义按键变量unsigned char count;/定义数码管显示变量unsigned char i;/定义电机控制变量void port_init(void) PORTA = 0xFF; DDRA = 0x00; PORTB = 0xFF; DDRB = 0x00; PORTC = 0x00; /m103 output only DD

19、RC = 0xFF; PORTD = 0x00; DDRD = 0xFF; PORTE = 0x00; DDRE = 0xFF; PORTF = 0x00; DDRF = 0xFF; PORTG = 0x00; DDRG = 0x00;/TIMER0 initialize - prescale:256/ WGM: CTC/ desired value: 100Hz/ actual value: 99.522Hz (-0.5%)void timer0_init(void) TCCR0 = 0x00; /stop ASSR = 0x00; /set async mode TCNT0 = 0x64;

20、 /set count OCR0 = 0x9C; unsigned char timer0=0;#pragma interrupt_handler timer0_comp_isr:16void timer0_comp_isr(void) /compare occured TCNT0=OCR0 TCNT0 = 0x64; OCR0 = 0x9C; timer0+; if(timer0=20) timer0=0; i+; count+; PORTF=d4flag+paii%tt; /电机按选择的运行方式运转 if(i=1000) i=0; if(count=1000)count=0; /TIMER

21、2 initialize - prescale:256/ WGM: Normal/ desired value: 100Hz/ actual value: 100.160Hz (0.2%)/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts XDIV = 0x00; /xtal divider XMCRA = 0x00; /external memory port_ini

22、t(); timer0_init(); MCUCR = 0x00; EICRA = 0x00; /extended ext ints EICRB = 0x00; /extended ext ints EIMSK = 0x00; TIMSK = 0x82; /timer interrupt sources ETIMSK = 0x00; /extended timer interrupt sources SEI(); /re-enable interrupts /all peripherals are now initializedvoid display(void) start(); PORTE

23、=scank; / 选定数码管 switch(k) case 0 : PORTD=seven_segcount%10; / 码管显示步数的个位 break; case 1 : PORTD=seven_seg(count/10)%10;/ 码管显示步数的十位 break; case 2 : PORTD=seven_seg(count/100)%10;/ 码管显示步数的百位 break; case 3 : PORTD=seven_segcount/1000; / 码管显示步数的千位 break; k+;if(k=4) k=0; delay(30000,30000); / 延时key=PINB; /

24、 读PB口状态 if(key=0xFF)count=0; TCCR0 = 0x00;/stopvoid delay(int d1,int d2)/*延时子函数*/ unsigned char i,j;i=d1;while(i-) j=d2; while(j-); /*电机运行方式选择子程序*/unsigned char j;start()key=PINB; /读PB口状态if(key=0xFE) / 如果开关键按下,执行下面的程序 j=PINA; /读PA口状态 if(j=0xF7) flag=0; PORTC=0x01; /正转标志 else if(j=0xFF) flag=3; PORTC

25、=0x02; /反转标志 if(j=0xFD| j=0xF5) TCCR0 = 0x0E;/start timer0 pai=1; tt=4; count=0; else if(j=0xFE| j=0xF6) TCCR0 = 0x0E;/start timer0 pai=0; tt=4; count=0; else if(j=0xFB | j=0xF3) TCCR0 = 0x0E;/start timer0 pai=2; tt=8; count=0; else PORTC=0x04; /如果开关键没按下,则绿灯亮void main(void) count=0;init_devices();wh

26、ile(1)display();芯片资料共阴极共阳极图16 七段数码管原理图 表1 七段共阴数码管表0X3F0X060X5B0X4F0X660X6D0123450X7D0X070X7F0X6F0X770X7C6789AB0X390X5E0X790X710X00CDEF无显示图17 ULN2003逻辑引脚图本科生课程设计成绩评定表姓 名聂于鸿性 别 男专业、班级自动化0606课程设计题目:二相步进电机控制系统的设计课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日评定项目表评 定 项 目评分成绩1考勤、态度(15分)2. 查阅资料能力(

27、10分)3. 系统设计(20分)包括系统实现原理、框图、方案的说明4硬件电路、程序编写、调试结果(20分)5设计说明书质量及规范化、参考文献充分(不少于5篇)(15分)6答辩(20分)总分: 总评: 指导老师签字: ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwL

28、FKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgO

29、PDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36g

30、yUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJe

31、TLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb

32、7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Q

33、qv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ25

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!