毕业论文无线发送与接收模块的步进电机控制电路设计.docx
- 文档编号:30676649
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:33
- 大小:273.02KB
毕业论文无线发送与接收模块的步进电机控制电路设计.docx
《毕业论文无线发送与接收模块的步进电机控制电路设计.docx》由会员分享,可在线阅读,更多相关《毕业论文无线发送与接收模块的步进电机控制电路设计.docx(33页珍藏版)》请在冰豆网上搜索。
毕业论文无线发送与接收模块的步进电机控制电路设计
摘要
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种领域中,它是电脉冲信号进行控制的,将电脉冲信号转化成相应的角转移或线转移的微电动机。
它最突出的优点是在宽广的频率范围内通过改变脉冲信号来进行调速,快速启停、正反转控制及制动等,并且其开环系统既简单、廉价,又可行,因此在办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
随着微电子和计算机的发展,步进电机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
本课程设计介绍了四相五线步进电机及单片机的工作原理,利用MCS-51系列单片机和无线发送\接收模块设计一个步进电机无线控制系统,用c语言编写出实现电机的起停控制、正反转控制和给定转速控制的程序源代码,通过单片机,电机的驱动芯片L298以及相应的红外线遥控按键实现以上功能。
关键词:
步进电机;电脉冲信号;单片机;L298;红外线遥控
1.1步进电机简介2
1.2步进电机工作原理2
1.3红外线控制原理4
1.4课程设计任务5
1.5课程设计目的5
1.6课程设计要求5
2系统总体设计方案6
2.1步进电机设计方框图6
2.2驱动控制系统组成6
2.3信号分配7
2.4控制步进电机的速度8
3硬件设计9
3.1AT89S52介绍9
3.2单片机小系统原理图10
3.3驱动电路设计10
3.4红外线接收发射电路11
3.5遥控器设计12
4软件设计及调试13
4.1系统工作流程13
5系统联调及操作说明14
5.1软件介绍14
5.2keil软件介绍15
5.3仿真与调试15
5.4硬件接线及调试16
5.5实例调试结果和分析18
6总结19
参考文献...20
附录121
附录235
1、前言
1.1步进电机简介
步进电机最早是在1920年由英国人所开发的,1950年后期晶体管的发明也逐渐应用在步进电机上,这使数字化的控制变得更为容易。
以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。
如今,步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。
传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。
1.2步进电机工作原理
表1.1步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
由此可见:
电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。
而方向由导电顺序决定。
不难推出:
电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m……(m-1)/m,1。
并且导电按一定的相序,电机就能正反转被控制——这是步进电机旋转的物理条件。
只要符合这一条件,我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。
拍数:
完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运动方式即A-AB-B-BC-C-CD-D-DA-A.
注:
2相励磁通过的电流是1相励磁时通过电流的2倍,转矩也是1相励磁的2倍。
此时电机的振动较小且应答频率升高,目前仍广泛使用此种方式。
四相四拍如下(1相激磁):
表1.1
序号
代码
A
B
C
D
1
0xf8
1
0
0
0
2
0xf4
0
1
0
0
3
0xf2
0
0
1
0
4
0xf1
0
0
0
1
四相四拍如下(2相激磁):
表1.2
序号
代码
A
B
C
D
1
0xfc
1
1
0
0
2
0xf6
0
1
1
0
3
0xf3
0
0
1
1
4
0xf9
1
0
0
1
四相八拍如下(1-2相激磁):
表1.3
序号
代码
A
B
C
D
1
0xf8
1
0
0
0
2
0xfc
1
1
0
0
3
0xf4
0
1
0
0
4
0Xf6
0
1
1
0
5
0xf2
0
0
1
0
6
0xf3
0
0
1
1
7
0xf1
0
0
0
1
8
0xf9
1
0
0
1
1.3红外线控制原理
红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点。
因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
当发射器按键按下后,即有遥控编码发出,所按的键不同遥控编码也不同。
这种遥控编码具有以下特征:
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。
“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向空间发射,当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。
如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。
一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
1.4课程设计任务:
利用MCS-51系列单片机和无线发送\接收模块设计步进电机控制电路,能实现步进电机的无线控制,步进电机能实现起停控制、正反转控制和给定转速控制。
1.5课程设计目的
1)了解单片机软件编程和调试能力,为以后的学习和开发工作打下强劲基础;
2)掌握步进电机的工作原理和工作方式;
3)掌握红外线接收、发射模块的使用,以及工作原理和解码方法。
1.6课程设计要求
1)进行方案论证,说明控制系统的工作原理;
2)设计控制系统的硬件电路,给出电路原理图和元器件清单;
3)给出软件流程图并编写程序源代码;
4)完成系统的调试,给出调试结果并分析;
5)撰写符合要求的程序设计说明书程图。
2系统总体设计方案
2.1步进电机设计方框图
图2.1
本系统是用单片机软件程序来产生脉冲分配信号,即把数字控制计数的高精度等方面的优势有效地应用于步进电机控制系统,同时本系统设计的步进电机控制器硬件电路十分简单,成本低,使用方便。
本电路包括发射电路,控制电路,驱动电路等。
2.2驱动控制系统组成
使用控制步进电机必须由环形脉冲,驱动电路组成的控制系统,其方框图2.2如下:
图2.2控制系统组成图
功率放大电路方案一:
采用大功率晶体管组合电路构成驱动电路,这种方法结构简单、成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中,可靠性是一个非常重要的方面。
因此,此方案不宜采用。
功率放大电路方案二:
采用专用的电机驱动芯片,例如L298N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠性,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。
设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。
综上所述,本设计选择方案二。
2.3信号分配
四相电机工作方式有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为AB-B-BC-C-CD-D-AB(步距角为0.9度,这里我们用的正反转都是四相八拍的,即1-2激磁),1-2激磁正反转如表2.3。
表2.3
序号
代码
A
B
C
D
1
0xf8
1
0
0
0
2
0xfc
1
1
0
0
3
0xf4
0
1
0
0
4
0Xf6
0
1
1
0
5
0xf2
0
0
1
0
6
0xf3
0
0
1
1
7
0xf1
0
0
0
1
8
0xf9
1
0
0
1
(1-8表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲)。
2.4控制步进电机的速度
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
具体实现用延时时间的长短来决定。
延时时间有两种方案
方案一:
采用消耗指令的方法达到延时的效果,此方案不仅占用大量的CPU空间,降低了单片机的使用效率而且延时时间不易计算。
方案二:
采用定时的方法,采用定时器延时的方法可以比较精确的控制延时的时间,延时方式可以选则工作方式0、工作方式1和工作方式2.
本设计采用定时器工作方式2,即具有自动填充功能。
3硬件设计
3.1AT89S52介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8k在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图3.1芯片AT89S52
3.2单片机小系统原理图
单片机小系统原理图有晶振、复位电路组成。
复位电路中电容C4和电阻R4组成上电复位电路,当上电时,电容充电R4端有高电平,单片机复位。
按下复位按钮R5和R4形成回路,单片机复位脚高电平复位。
晶振电路给单片机的正常工作提供时序。
图3.2单片机最小系统
3.3驱动电路设计
驱动电路由L298、7805、1N4007、VCC、GND组成。
L298内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
所以,L298有很强的驱动能力,通过该驱动电路可以很好的驱动4相8拍电机正常运转,驱动电路中含有稳压芯片7805。
由于7805有内部电流的限制以及过热保护和安全工作区的保护,使它基本上不会损坏。
如果散热条件良好它能提供大于1.5A的电流,在接入外部器件后就能获得各种不同的电压。
本设计中采用的7805将12V的输入电压稳压成5V输出,能够给单片机小系统和其他芯片提供稳定的直流电压。
图3.3驱动电路
3.4红外线接收、发射电路
图3.4红外线接收发射电路
红外线接收模块由VS838集成芯片构成,接收头接收到信号,数据端电平升高,三极管9014的工作状态为放大,输出有高电平转为低电平,从而使单片机可以采集到遥控器发送的数据。
3.5遥控器设计
图3.5
当遥控器按了正转/反转键后红外线接收头收到信号,然后传输给单片机,再由单片机控制步进电机正转/反转,若没有设置速度默认速度为150转/分钟。
当设置键按下,步进电机停止旋转,此时可人为设置转速,转速由三位数组成,当设置完速度后按确认键确认设置,然后再按正转/反转步进电机将按照设置的速度旋转。
4软件设计及调试
4.1系统工作流程
图4.1主程序流程图
5系统联调及操作说明
5.1软件介绍
PROTEUS是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。
实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
因此,Proteus有较高的推广利用价值。
5.2keil软件介绍
Keil是德国知名软件公司keil(现已并入RAM公司)开发的微控制器软件开发平台,是目前RAM内核单片机开发的主流工具。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开放方案,通过一个集成开发环境将这些部分组合在一起,界面友好,易学易懂,在调试程序,软件仿真方面也有很强大的功能。
因此,很多工程师十分喜欢它。
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
5.3仿真与调试
1)在Proteus软件中绘制出硬件电路图。
根据系统设计要求,选择元器件,设计出硬件电路图。
2)编写系统程序。
根据系统要求,画流程图。
在keil中编程,过程中先将各模块搞好,分别调试各模块,调试好后,编写主程序,将各系统结合,使成为系统软件。
各模块调试后,在调试主程序,看是否能实现系统功能。
3)硬件和软件电路的联合模拟调试在Proteus软件中进行。
先将编译好的HEX文件加载到89S52中,在运行硬件电路,如能运行,使用按键进行模拟和清零实验,若没达到要求,进行相应修改,直到符合要求。
5.4硬件接线及调试
设置速度为每分钟30转时P2.0的波形如图5.1所示
图5.1
设置速度为每分钟100转时P2.0的波形如图5.2所示
图5.2
设置速度为每分钟150转时P2.0的波形如图5.3所示
图5.3
设置速度为每分钟200转时P2.0的波形如图5..4所示
图5.4
5.5实例调试结果和分析
根据我们的设计方案,我们做出步进电机遥控系统的实物,并在实验室进行测试,根据实验现象分析出以下结果:
上电后,在遥控器上按正转键,步进电机实现正转;
上电后,在遥控器上按反转键,步进电机实现反转;
在步进电机运转时,在遥控器上按停止键,步进电机立即停止运转;
上电后,先在遥控器上按设置键进行设置,在按三位有效的数字键,给定步进电机速度,然后按确认键键确认,最后按正转\反转键,则步进电机按指定的速度实现正转\反转。
分析:
该系统通过89S52单片机控制步进电机运转情况,可靠性高,在步进电机运行时能够方便设定步进电机的启/停、转速和方向,使系统能够应用于恶劣环境中,保证人员安全,适用范围较广,且电路简单,成本较低,控制方便,移植性强,实用价值高。
6总结
本次课程设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。
身为电气工程系的学生,设计是我们将来必须的技能。
而这次课程设计恰恰给我们提供了一个应用自己所学知识的平台。
因为这次课程设计需要动脑动手,把自己课堂上学到的软件和硬件知识全部应用进来。
要想完成好这次课程设计,首先要弄懂步进电机的工作原理,与外部电路的连接,单片机原理,汇编语言等。
这其中有以前课堂上学过的也有需要我们自学研究的,这不仅考察了自己原来的知识程度还加强了我们独立获取知识并加以运用的能力。
这次课程设计我不仅学到了很多的知识,还制作了自己的东西,使自己很有成就感。
这是我第一次课程设计也是我最深刻的一次,因为是五人一组团队完成,使我体会到了分工合作的力量与重要性。
虽然电机部分我没有花太多的精力,但通过合理分工,我们仍然按时完成了指定任务,并且通过相互帮助相互指点,使我们对彼此负责的那部分任务都有了更好的了解和掌握。
通过这次实验,我对步进电机的了解扩宽了,对单片机和外围电路的认识也更为清晰了,这为我以后工作提供了坚实的基础。
在摸索改如何设计电路使之实现所需功能的过程中还培养了我的设计思维,增加了实际动手能力,让我体会到了设计电路的艰辛的同时,更让我体会到了成功的喜悦。
两个星期很快过去了,看着自己的劳动成果,心里满是欣慰。
最后,感谢老师和同学们的悉心指导和帮助。
参考文献
[1]李广弟等.单片机基础[M].北京航空航天出版社,2001.
[2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3]陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010.
[4]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.
[5]李平等.单片机入门与开发[M].机械工业出版社,2008.
附录1
程序源代码:
#include
#defineucharunsignedchar
ucharkey1=0,key2=0,key3=0,key4=0,key5=0,key6=0,key7=0,key8=0,
key9=0,key0=0,key10=0,key11=0,key12=0,key13=0,key14=0;
ucharirtime,m,aa,bb,cc,tt=0,t=0,n=0;
ucharIRcord[4];
ucharirdata[33];
uchartable[]={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9};
uchartable1[]={0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8};
intdate1=150;
sbitIR=P3^2;
bitirpro_ok,irok;
voidIr_work();
voidIrcordpro();
voidtimer0()interrupt1
{
irtime++;
}
voidtimer1()interrupt3
{
t++;
if(t==600/date1)
{
t=0;
n=1;
}
}
voidinto0()interrupt0
{
staticuchari;
staticbitstartflag;
if(startflag)
{
if(irtime<63&&irtime>=33)
i=0;
irdata[i]=irtime;
irtime=0;
i++;
if(i==33)
{
irok=1;
i=0;
if(key13==1)
{
tt++;
P1=tt;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 无线 发送 接收 模块 步进 电机 控制电路 设计