基于51单片机的步进电机控制器在玻璃管加热控制系统中

发布者:静默思考最新更新时间:2017-12-26 来源: eefocus关键字:51单片机  步进电机控制器  加热控制系统 手机看文章 扫描二维码
随时随地手机看文章

  1 前言

  步进电机是一种将电脉冲信号转换成相应的角位移或线位移的电磁机械装置,是一种输出与输入数字脉冲对应的增量驱动元件,具有快速启动和停止的能力。但大多数设计人员常常习惯于用逻辑电路实现复杂的步进电机的控制,虽然已经取得很大成效,但实现起来成本高、费时多,而且一旦组成了电路,就很难再改动,因此不得不完全重新设计控制器。微处理器与微计算机的先进技术和低廉的价格,给步进电机的控制开创了一个新的局面[1]。人们完全可以借助于软件来对步进电机实施控制,从而实现复杂而成本又不高的控制系统,同时还可以很灵活地通过改变程序来改变控制方案。为此,我们基于 89C51单片机设计了步进电机控制器用于玻璃管加热系统。该控制器具有线路简洁、性能良好、成本低、可靠性高等特点,在实际应用中取得了良好效果。


  2 控制系统硬件设计

  2.1 玻璃管加热器的原理

  直径400mm 的圆盘上每隔15°有1个固定器,用于安放直径3mm,长度50mm-70mm的玻璃管,圆盘上方有一个火焰喷头,用于对玻璃管进行加热。先在圆盘上装上 24个玻璃管,开机定位后开始工作,步进电动机开始运转,当每转过15°时,延时T秒(T的大小可以设定为3,4,5三种状态,本系统的默认值为3,通过软件控制可以使时间偏差小于0.1秒)当一个玻璃管加热完毕后,步进电机转动移动到下一个玻璃管,所用时间为1秒,通过软件可以使定位偏差小于 0.1mm,后重复上一步工作。机械传动原理图主视图如图1所示,俯视图如图2所示。

ic72 传感控制

    图1 机械传动原理图主视图

     

ic72 传感控制

     

    图2 机械传动原理图俯视图


    2.2 单片机控制系统硬件设计

    该系统控制器的核心采用89C51单片机,具有4K的可擦除程序存储器,易于系统的扩展和程序的改进。采用P1口的四位作为键盘输入控制,用K1,K2, K3控制延时状态,K1按下延时3秒,K2按下延时4秒,K3按下延时5秒。K4控制运行方向选择,在顺时针和逆时针之间进行切换。数码管采用串行显示方式,对运行状态给以显示,LED1显示显示方向选择,“-”表示顺时针旋转,“|”表示逆时针旋转。LED2显示的是延时时间,可显示3,4,5三种状态。参见图3电气控制框图。


ic72 传感控制

    图3 电气控制框图

    3 控制系统软件设计

    3.1 软件实现的功能分析

    控制系统可以按要求来设定方向选择,延时时间等,操作者可以方便的观察控制系统的工作情况。

    (1) 步进电动机的最小步距角为1.5°,每转的步数为240步/转;

    (2) 圆盘上15°一个固定器,一共可以安放24个玻璃管;

    (3) 圆盘转过15°的时间为1秒;

    (4) 数字显示部分为延时时间(可以设置为3,4,5秒);

    (5) 喷头与圆盘保持垂直以减少误差。

    3.2 控制系统的主程序流程图

    根据系统所应完成的任务,设计主程序流程图如图4所示:

     

ic72 传感控制

     

    图4 主程序流程图

    图4中:

    左1:走一步延时10ms用来寻找定位点,找到定位点后进入正常运行状态;

    左2:置数,用于设置10步一停,240步一判断;

    左3:正常运行状态,走1步延时0.1s,10步一停,延时T(T=3,4,5);

    左4:240步为一周,旋转一周后判断是否有干扰丢步,若有,重新寻找定位点。

    系统启动后,首先对端口及显示进行初始化,显示清零,步进电动机三相绕组处于失电状态,然后对数字键和功能键的扫描。当操作通过数字键的一个设定值后,设定值以十六进制存入RAM单元,再以十进制通过动态LED显示出来;操作者确认后,按下左(或右)行功能键,步进电动机就会带动圆盘转动,延迟的时间通过静态LED显示出来。


    3.3 步进电动机正反转驱动子程序的设计

    本系统所选用的步进电动机为110BF3-15型,它有三相绕组,向三相绕组输入脉冲输入脉冲的顺序有三种,分别为单三拍、双三拍、三相六拍。本系统选择双三拍输入方式。输入方式是靠软件来控制的。双三拍控制软件是最简单的软接口之一。首先要以8255A的PA口为输出口,接着把控制信息送到PA0~PA2中,对应的I/O线为“1”(高电平有效),则步进电动机相应的相绕组通电,步进电机转子就转动。要求转子以不同的方向转动,三相绕组的通电顺序就不同,则相应的控制字也就不一样,双三拍绕组通电控制信息表如表1[2]。

 

    由表1可知,正反转所需要的信息串为03H→06H→05H→03H,这时按AB→BC→CA→AB顺序通电。反转时所需的信息串为05H→06H→03H→05H,这是按照顺序CA→BC→AB→CA通电。

    表2为步进电动机不同步相控制方式的控制字(十六进制,下同)。

    表1 步进电动机相绕组通电控制信息表

     

ic72 传感控制

    表2 不同步相控制方式的控制字

     

ic72 传感控制

     

    考虑步进电动机的正反转之后,双三拍控制软件清单如下[3]:

    DS :MOV A,#00H ;初始化使PA0~PA2为输出

    MOV DPTR,#0C000H ;

    MOVX @DPTR,A ;

    MOV DPTR,#0C000H ;为AB相通电

    MOV A,#03H

    MOVX @DPTR,A

    LCALL DELY ;调延时

    MOV DPTR,#0C000H ;为BC相通电

    MOV A,#06H

    MOVX @DPTR,A

    LCALL DELY ;调延时

    MOV DPTR,#0C000H ;为CA相通电

    MOV A,#05H

    MOVX @DPTR,A

    LCALL DELY ;调延时

    DELY:MOV 0CH,#0FH ;延时子程序

    RET


    以上是步进电动机三相绕组正向通电子程序,反向通电子程序类似,若要改变电机转速,只要改变MOV 0CH,#0FH指令中的立即数的值即可。图5为步进电动机正反转驱动子程序流程图:

     

ic72 传感控制

    图5 正反转驱动程序流程图

 

    4 结束语

    本系统操作方便,控制灵活,精确度高,可靠性好,已达到了预期的设计要求,大大减轻了体力劳动强度,改善了工作条件。在软、硬件实现上为了提高系统的可靠性及精度,均采用了相应的抗干扰措施。


关键字:51单片机  步进电机控制器  加热控制系统 引用地址:基于51单片机的步进电机控制器在玻璃管加热控制系统中

上一篇:8051封装方式与引脚认识
下一篇:51单片机解密红外遥控器

推荐阅读最新更新时间:2024-03-16 15:50

51单片机C编程(十二、LM016L液晶显示)
#include reg51.h #define uchar unsigned char #define uint unsigned int #define LCDPORT P0 uchar code tab = I LIKE MCU! ; uchar code tab1 = HELLO! ; sbit LCDE=P3^5; sbit LCDRW=P3^6; sbit LCDRS=P3^7; void WriteCMD(uchar); void init(); void WriteData(uchar); void Delay(); void mydelay(int); void main() { uint
[单片机]
51单片机ST7565C语言驱动程序
#include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int /////////////////////////////////Serial/////////////////////////////////////////////////// sbit R_S= P3^5;//指令/数据选择信号 sbit RES= P3^4;//复位信号 sbit SCK= P1^6; sbit SDA= P1^7;
[单片机]
51单片机学习笔记:合并1602和12864液晶排插接口
今天成功合并1602和12864液晶排插接口! 码出来分享下 上面这2个图是1602和12864液晶的排插接口,一般的单片机开发板上都会有 仔细观察发现他们的插口大多是相同的, 对于第三脚的对比度调节,1602和12864液晶在硬件上是相反的(1602是低电位方向对比度增强,12864是高电位方向对比度增强), 但他们接口位置相同,所以一个10K左右的3脚电位器就可以满足要求! 接法如12864中的接法,规格取10K的 456这3个脚一模一样,1602第5脚接地是让1602一直工作在写入模式, 原始的接口和12864是一样的, 那么只要在我们以前的代码中添加一条LCD1602WR=0就搞定了 然后8个数据口又
[单片机]
<font color='red'>51单片机</font>学习笔记:合并1602和12864液晶排插接口
51单片机之串口通信 ---- 自学笔记
一、串口通信 1.1、计算机通信的基础 计算机通信:是将计算机技术与通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交换,可分为两大类:并行通信与串行通信。 多微机系统的广泛应用与计算机网络技术的普及。 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有两种方式:并行通信、串行通信。 在多微机系统以及现代测控系统中信息的交换多采用串行通信。 1.2、并行通信 将数据字节的各位用多条数据线同时进行传送。同时传送8个字节(下图 ) 串行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收困难。 1.3、串行通信 将数据字节分成一位一位的形式存,在一条传输
[单片机]
<font color='red'>51单片机</font>之串口通信 ---- 自学笔记
基于89C51单片机和CAN总线的供热温度控制器的设计研究
  建设部要求城镇新建公共建筑和居民建筑,凡使用集中供热设施的,均需设计、安装具有分户计量及室温调控功能的供暖系统。节能型供热温度控制器是利用自动控制技术,将节能措施与热计量功能融为一体,从以人为本的角度提出的一种新型节能理念和方法,使集中供暖用户既可通过控制器设定、调整并与配套设备共同完成对室内温度的自动控制和远程控制,又可随时了解室内温度、热消耗量,达到节约能源的目的。   1 系统总体结构及方案设计   一个完整的大型公建节能型供热温度控制器由两部分组成:温度测控系统和通信模块系统。系统总体结构如图1所示。系统温度测控的硬件包括:单片机、温度传感器、信号放大器、A/D转换器及D/A转换器、稳压器、显示驱动芯片和数码管等。
[单片机]
基于89C<font color='red'>51单片机</font>和CAN总线的供热温度<font color='red'>控制器</font>的设计研究
基于AT89C51单片机的无级调光系统的实现
在生活中有很多可以自主调节挡位的设备,比如台灯的亮度、玩具车的速度、风扇的转速等等。它们调节档位的方式各有不同,有些是改变功率,有些是改变动力,但都离不开对激励或输入信号的改变,我们这里简单介绍一下对LED灯的无级调光的实现,可以自己动手做一个可变亮度的小灯。 一、所需器材: AT89C51×1、100Ω定值电阻×1、LED×1、示波器×1、滑动变阻器×1、直流电压表×1、ADC0808×1、500kHz时钟信号×1、+5V直流电源×2。 主要器材介绍:(我们这里只做简单介绍,各接口定义可自行查阅资料——反正这里也用不着) (1)AT89C51:AT89C51是一种带4K字节FLASH存储器(FPEROM—Flas
[单片机]
基于AT89C<font color='red'>51单片机</font>的无级调光系统的实现
基于51单片机的半导体激光器电源控制系统的设计
半导体激光器(LD)体积小,重量轻,转换效率高,省电,并且可以直接调制。基于他的多种优点,现已在科研、工业、军事、医疗等领域得到了日益广泛的应用,同时其驱动电源的问题也更加受到人们的重视。使用单片机对激光器驱动电源的程序化控制,不仅能够有效地实现上述功能,而且可提高整机的自动化程度。同时为激光器驱动电源性能的提高和扩展提供了有利条件。 1总体结构框图 本系统原理如图1所示,主要实现电流源驱动及保护、光功率反馈控制、恒温控制、错误报警及键盘显示等功能,整个系统由单片机控制。本系统中选用了C8051F单片机。C8051F单片机是完全集成的混合信号系统级芯片(SOC),他在一个芯片内集成了构成一个单片机数据采集或控制系统所需要的几乎
[单片机]
基于<font color='red'>51单片机</font>的半导体激光器电源<font color='red'>控制系统</font>的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved