唐 山 学 院 毕 业 设 计
1 引言
步进电机是一种纯粹的数字控制电动机,又称为阶跃电机或脉冲电机[1]。是一种转动速率与转动步数可以由脉冲数量与频率控制的直流电机,也就是说这是一种转动速度与脉冲频率相一致的同步电机。它是一种将电脉冲能量转换为机械能的机制,这种方式使它转动的每一个角度,每个角度占用的时间都由用户掌控。
随着科学技术的迅猛发展,步进电机的研究也到达了新的水准。定位驱动系统已完全由步进系统所主宰。在过去,人们认为步进系统在很多方面都不及伺服系统,但是由于技术的不断革新,材料的不断升级优化以及计算机技术的不断成熟,使得步进控制系统在技术层面上迎来了崭新的一页。定位驱动系统是处于不断发展状态的,经历了步进系统、直流伺服系统、交流伺服系统等过程的发展与过度,现在又回到了步进控制系统。定位驱动装置之所以再一次回到步进系统,是因为它可以将系统简化,维护非常简单,它所构成的开环控制系统是无需反馈的,同时又能保持非常高的精度。所以现如今的定位驱动装置大多是采用步进系统的,这在将来的几十年都不会改变,这种由脉冲去控制转动方位,脉冲频率决定转动速度的定位方式一定会在很大程度上决定着工业与生活中的定位装置的发展趋势。
步进电机的上述特点使得它广泛应用于冶金、机械、电力、纺织、电子、轻工、重工、电子、医疗、印刷以及航空航天等国防工业等领域。举一个典型的例子,数控机床在机械行业中有着举足轻重的地位,而数控机床的正常运转又是依赖步进电机的,它核心就是步进电机系统。这种无需反馈的开环系统决定了数控机床的工作可靠、性能稳定、维护方便、加工迅捷的特点,也使数控机床成为如今机床发展的主要方向。在其他的许多行业中,步进控制系统也发挥着举足轻重的作用。比如我们在生活中常见的有钟表、广告牌、绘图仪等,在生产中常见的有印刷机器、纺织机、包装机械等。
本设计主要是基于单片机的步进电机控制系统,可以通过遥控器的键盘设置期望的步进电机转动状态,通过红外发射装置及接收装置,使单片机接收到用户需要的控制命令,进行相应的处理,使步进电机改变运动状态并在LCD显示屏显示出来。本设计虽然是理论上的步进系统,并没有广泛应用于工业中的定位装置与生产当中。但是随着步进电机技术的不断革新和电机身上所固有的脉冲与角位移严格成正比的特点,以及红外遥控的准确、迅捷、易于控制的优势,步进电机对步进电机稳定、高效、准确的控制,都决定了基于单片机的红外控制步进电机系统将在生活生产中迎来广阔的市场。为了表现步进电机的在生活生产中的应用广泛性,本设计的一些功能的设定有一定的针对性,可以具体的表现出红外控制的步进系统的优越性能。
1
唐 山 学 院 毕 业 设 计
2 总体设计方案
2.1 系统设计原理
单片机STC89C52是整个系统关键部分,通过对遥控器上键盘的命令输入,经遥控器编码后发出红外信号,TL1838接收到信号并在单片机中解码。本文提出的采用38KHZ的遥控器为核心控制器件的步进电机控制系统, 根据输出信号的不同可以控制步进电机的转动状态,其中采用了28BYJ-48的步进电机,以ULN2003为驱动芯片,并通过单片机程序控制和处理, 从而实现了步进电机的状态控制及相应状态显示。
本系统采用STC89C52单片机为核心处理器,遥控器为命令输入模块,由ULN2003及28BYJ-48步进电机组成的转动模块、12864液晶的输出模块共同组成的基于单片机的步进电机控制系统。
2.2 总体设计框图
本设计采用STC89C52单片机为核心处理器,利用载波为38KHZ的遥控器为输入模块键盘输入模块,控制步进电机的正转和反转,并以三种不同的速度进行转动,并且转动状态在12864液晶上显示。系统构成如图2-1所示。
遥控器
图2-1 系统框图
TL1838 单 片 机 ULN 2003 步进 电机 12864液晶 蜂鸣器 由系统框图可知,遥控器和TL1838为输入装置,步进电机、12864液晶、蜂鸣器为输出装置,单片机为中心处理装置,ULN2003为驱动器。
2
唐 山 学 院 毕 业 设 计
3系统硬件模块的组成
3.1单片机控制模块
主控电路中,以单片机为主体,通过分析遥控输入的指令,改变步进电机的运行参数和显示参数。它是系统的大脑。
单片机(Micro Controller,又称微控制器)是在一块硅片上集成了各种部件的微型机算计,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路[3]。
3.1.1 STC89C52主要结构
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口[4]。
3.1.2 STC89C52功能特性描述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用宏晶公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC89C52具有以下标准功能:8k字节Flash、256字节RAM、32 位I/O 口线、看门狗定时器、2个数据指针、三个16 位定时器/计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下个中断或硬件复位为止[5]。STC89C52的引脚结构如图3-1所示。
3
唐 山 学 院 毕 业 设 计
图3-1 STC89C52单片机引脚图
GND:接地。
VCC:供电电压。
P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器。能驱动4个TTL 逻辑电平。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输
4
唐 山 学 院 毕 业 设 计
出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表3-1所示。
表3-1 P3口的第二功能
信道位 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
第二功能 RXD TXD INT0 INTI T0 T1 WR RD
————————————
说明 串行口的输出 串行口的输入 外部中断0的中断请求输入 外部中断1的中断请求输入 计数器0的计数输入 计数器1的计数输入 外部数据存储器的写选通信号 外部数据存储器的读选通信号
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
5