• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>应用案例>基于单片机的遥控步进电机控制的设计*

基于单片机的遥控步进电机控制的设计*

发布时间:2012-12-11 来源:中国自动化网 类型:应用案例 人浏览
分享到:
关键字:

自动控制 步进电机 遥控 手动

导读:

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

1  引言
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载情况下,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。由于这一关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,特别是计算机技术在各个领域的普及应用,使得在速度、位置等控制领域用步进电机来控制变的非常的简单,更加方便用户的应用与掌握。
随着信息技术的飞速发展,无线通信技术正在向各个领域渗透,特别是利用红外线进行通信,无论从小型化、轻量化、还是从安全性等方面考虑,其可行性都比较高。本文主要研究步进电机在手动、自动控制模式下,通过增加红外遥控模式以实现步进电机的多功能操作。

2  系统组成
为了能够实现步进电机的手动、自动及遥控等多功能操作模式,设计出如图1所示的系统组成框图。由图1知,该系统主要由传感器、A/D转换器、手动输入控制、红外线接收与发送电路、时钟控制电路、显示电路、电机驱动、步进电机及单片机控制器等部分组成。

其中手动输入控制电路主要用来实现系统参数的设置,以便在手动模式下控制电机的正反转;时钟控制电路一方面用来提供时钟信息,另一方面可以实现步进电机的定时启动与停止;传感器及A/D转换电路主要实现自动状态时,根据外部的检测信号,通过软件开发实现不同要求下步进电机的自动运行;红外发送与接收电路主要负责发送外部红外控制信息及接收遥控器发送来的控制信息,并送单片机控制器进行解码,从而发出控制命令;显示电路主要实现对系统运行过程中的状态信息及工作模式进行显示;单片机控制器是系统的核心部件,完成对输入信号的采集,通过预先设置的算法进行运算、判断及处理,并发出控制命令或输出相应的显示信息。电机驱动电路接收控制器发出的控制命令,驱动步进电机实现正转或反转。

3  硬件电路设计
根据图1所示组成框图,选择SCT89C52单片机作为控制器,以4×4输入键盘和按钮作为手动输入电路,选用DS1302作为时钟电路,以LCD1602作为输出显示电路,选择HS0038作为红外接收电路,采用PCF8591作为A/D转换装置,传感器选择了光敏元件。选用ULN2003步进驱动器,对型号为28BYJ48型步进电机进行驱动。下面主要介绍步进电机及步进驱动器,红外接收及时钟电路的设计。
3.1  步进电机及步进驱动器
(1)  步进电机
步进电机选用的是28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。
(2)  步进驱动器
步进驱动器采用的是ULN2003驱动器,它是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7对NPN达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。达林顿管并联可以承受更大的电流,ULN2003是高耐压、大电流达林顿陈列。
(3)  电机驱动电路
28BYJ48型步进电机是4相5线的步进电机,而且是减速步进电机 ,减速比为1:64,步进角为5.625/64度。如果需要转一圈,那么需要360/5.625×64=4096 个脉冲信号。该步进电机的耗电流为200mA左右,采用ULN2003进行驱动,驱动端口为P1.0(A),P1.1(B),P1.2(C),P1.3(D)。正转次序:AB组-BC组-CD组-DA组 (即一个脉冲,正转5.625度);反转次序:AB组-AD组-CD组-CB组(即一个脉冲,正转5.625度),其接线原理如图2所示。

其中MOT1~MOT4依次接单片机的P1.0~P1.3口。
3.2  红外线接收与发送电路
红外线接收电路选用了型号为HS0038的集成红外接收器,静态时输出端输出高电平,当接收到红外信号后,按红外信号的数据波形输出负脉冲数据信号。HS0038工作频率为38 kHz,能对收到遥控信号进行放大、检波、整形、解调,得到TTL 电平的编码信号,再送给单片机,经单片机解码并执行相关控制程序,使用方便,性能可靠。
红外接收电路的输出接单片机的P3.2,该口对应的第二功能是外部中断0(INT0),利用该口的第二功能,一旦红外线信号到来,P3.2被拉低,单片机中止当前的工作转移到接收、处理红外信号。开启中断功能的目的,既减轻了单片机的工作负担,又保证接收到的红外信号的完整性,单片机进入睡眠后,利用外部中断功能完成对单片机的唤醒,其接线图如图3所示。
红外发送电路可选用昂达播放器的遥控器,也可采用电视遥控器。由于系统简单,采用昂达播放器的遥控器。

3.3  时钟电路
时钟电路采用DS1302集成芯片,其主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振,步进电机的启闭时间都保存在DS1302自带的RAM中,不需要单独的EEPROM。
DS1302与CPU的连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。

4  系统软件设计
软件编写的科学就能体现出该系统功能的完整性、实用性、经济性。根据以上功能及硬件,系统主要包括主程序、红外中断子程序、A/D转换子程序、显示子程序、时钟控制子程序及步进电机程序。下面主要介绍红外线解码程序和步进电机执行程序。
4.1  红外线解码 
昂达播放器的遥控器产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定高8位地址为0BFH,低8位地址为40H;后16位为8位操作码(功能码)及其反码。
遥控器按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
其代码宽度的计算方法为:
16位地址码的最短宽度:1.12×16=18ms
16位地址码的最长宽度:2.24ms×16=36ms
已知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms。所以得32位代码的宽度为(18ms+27ms)~(36ms+27ms)
解码的关键是如何识别“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左右均可;根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。
所以单片机对红外接收后的解码的思路为:有信号产生中断→EA清零→延时小于9ms(低电平)→等待高电平的到来→延时小于4.5ms(高电平)→等待下一次高电平的到来→延时0.84ms左右→读区P3.2脚电平值→再等待下一次高电平的到来→延时0.84ms左右→读取P3.2脚电平值,依次取得32位代码,前16位为识别码,后18位既为8位数据码和8位数据反码。
4.2  步进电机程序设计 
步进电机程序设计的主要任务是判断旋转方向,再按顺序传送控制脉冲,判断所要求的控制步数是否传送完毕,直到传完所要求的控制步数。其程序流程图如图4所示。

5  结束语
通过系统调试及运行结果表明,采用步进电机作为执行元件,SCT89C52单片机作为控制器,以光敏电阻作为传感元件的传感器作为检测元件,以手动输入按钮作为手动输入信号,以红外遥控装置进行遥控操作,并辅以时钟控制及状态显示的步进电机控制系统,能够方便实现步进电机的手动、自动及遥控多功能操作,操作更加方便可靠。

参考文献:
[1] 牒正文.微特电机工业现状及发展概况[J].微电机(伺服技术),2003,(3):45-51.
[2] 谭韦岭.利用单片机进行红外线编、解码遥控[J].相约单片机,2005,(12):30-31.
[3] 樊庆伟,许峰.红外遥控接收与单片机识别技术[J].信息技术,2005,(5):6-17.
[4] 江衍煊,郑振杰.单片机连接ULN2003驱动步进电机的应用[J].机电元件,2010,(9):28-31.
[5] 聂诗良,李磊民.采用单片机发送并接收红外遥控信号的方法[J].信息技术,2004,(2):21-23,96.
[6] 马忠梅等.单片机的C语言应用程序设计(第4版)[M].北京:北京航空航天大学出版,2003.
[7] 李建忠.单片机原理及应用(第2版)[M].西安:西安电子科技大学出版社,2008.
[8] 曹立学.基于智能采集模块的DDC系统设计与实现[J].自动化技术与应用,2008,(6):97-99.

作者简介:令朝霞(1974-),女,讲师,硕士,主要从事电路、电工电子及自动控制方面的教学与研究。
 

本文地址:本文地址: http://www.ca800.com/apply/d_1nrutga2l2dvt_1.html

拷贝地址

上一篇:自来水厂监控系统

下一篇:小型港口电力设施防盗视频监控系统建设

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!