51单片机综合学习系统之步进电机控制篇

51单片机综合学习系统之步进电机控制篇

2010-06-05 15:34:40 阅读17 评论0 字号:

作者:徐玮&文章来源:    更新时间:2009-1-11
大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有所了解与熟悉,学会了红外线遥控的基本知识,体会到了综合学习系统的易用性与易学性,这一期我们将一起学习步进电机控制的基本原理与使用方法。

    先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

    上图是我们将要使用的51单片机综合学习系统硬件平台,本期实验我们用到了综合系统主机、步进电机,综合系统其它功能模块原理与使用详见前几期《》 杂志及后期连载教程介绍。

    步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为{bfb})的特点,广泛应用于各种开环控制。

步进电机分类与结构

    现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图1所示。

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图1步进电机实物图

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图2 步进电机内部图

步进电机现场应用驱动电路

    综合系统使用的是小型步进电机,对电压和电流要求不是很高,为了说明应用原理,故采用最简单的驱动电路,目的在于验证步进电机的使用,在正式工业控制中还需在此基础上改进。一般的驱动电路可以用图3的形式。

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图3 一般驱动电路

    在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多场合用现成的集成电路作为多路驱动。常用的小型步进电机驱动电路可以用ULN2003或ULN2803。本书配套实验板上用的是ULN2003。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图4:

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图4 ULN2003内部框图及等效电路图

    ULN2003A型高压大电流达林顿晶体管阵列电路的典型应用电路框图如图5所示。钳位二极管用于保护线圈通断时的反电动势击穿集成电路,可以看出,该电路的应用非常简单。

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图5 典型应用图

步进电机的程序设计

实现功能:开发板上电时电机正转,按住51单片机综合学习系统上的按键SW20(P14)时反转。

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图6 步进电机实验演示图

电机正反转的环形脉冲分配表如下:

表1:正转环形脉冲分配表

表2:反转环形脉冲分配表

硬件原理图

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图7 硬件原理图

程序流程图

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

图8 软件流程图

软件代码

/***************************************************************************/

/*杭州晶控电子有限公司*/

/*http://www.hificat.com*/

/*步进电机演示程序*/

/*目标器件:AT89S51*/

/*晶振:11.0592MHZ*/

/*编译环境:Keil 7.50A*/

/***************************************************************************/

/*********************************包含头文 件********************************/

#include <reg51.h>

/*********************************端口定 义**********************************/

sbit key = P1^4;

/****************************************************************************

函数功能:延时子程序

入口参数:

出口参数:

****************************************************************************/

void delay(void)

{

int k;

for(k=0;k<2000;k++);

}

/****************************************************************************

函数功能:主程序

入口参数:

出口参数:

****************************************************************************/

void main()

{

P0=0x00;//输出全高

key=1;//按键置输入状态

while(1)//主循环

{

if(key==1)//无键按下正转

{

P0=0xFC;//1100

delay();

P0=0xF6;//0110

delay();

P0=0xF3;//0011

delay();

P0=0xF9;//1001

delay();

}

else//有键按下反转

{

P0=0xFC;//1100

delay();

P0=0xF9;//1001

delay();

P0=0xF3;//0011

delay();

P0=0xF6;//0110

delay();

}

}

}

51单片机综合学习系统之步进电机控制篇 - 孤独的牧羊人 - 嵌入式网络人生

    相信看到这里,你应该可以理解步进电机控制的原理是怎么样的了,你也可以根据自己 的需要来设定步进电机的转动轨迹。由于篇幅有限,读者朋友可以通过网站或电子邮件一起交流与学习。在下几期中,我们将陆续介绍51单片机综合学习系统的其 它功能原理与应用。
<#--{zx1}日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--推荐阅读--> <#--相关文章--> <#--历史上的今天--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构-->
郑重声明:资讯 【51单片机综合学习系统之步进电机控制篇】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——