全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

步进电机的控制电路和程序

[复制链接]
1568 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
步进电机的控制电路和程序
  先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。
   上图是我们将要使用的51单片机综合学习系统硬件平台,本期实验我们用到了综合系统主机、步进电机,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。
   步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
  步进电机分类与结构
   现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图1所示。
   ET250902010072101100512011060818340018791.jpg
  图1步进电机实物图
   ET250902010072101100522011060818340018792.jpg
  图2 步进电机内部图
  步进电机现场应用驱动电路
   综合系统使用的是小型步进电机,对电压和电流要求不是很高,为了说明应用原理,故采用最简单的驱动电路,目的在于验证步进电机的使用,在正式工业控制中还需在此基础上改进。一般的驱动电路可以用图3的形式。
   ET250902010072101100532011060818340018793.gif
  图3 一般驱动电路
   在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多场合用现成的集成电路作为多路驱动。本书配套实验板上用的是ULN2003。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图4:
   ET250902010072101100542011060818340018794.jpg ET250902010072101100552011060818340018795.jpg
  图4 ULN2003内部框图及等效电路图
   ULN2003A型高压大电流达林顿晶体管阵列电路的典型应用电路框图如图5所示。钳位二极管用于保护线圈通断时的反电动势击穿集成电路,可以看出,该电路的应用非常简单。
   ET250902010072101100562011060818340018796.jpg ET250902010072101100572011060818340018797.gif
  图5 典型应用图
  步进电机的程序设计
  实现功能:开发板上电时电机正转,按住51单片机综合学习系统上的按键SW20(P14)时反转。
   ET250902010072101100582011060818340018798.jpg
  图6 步进电机实验演示图
  电机正反转的环形脉冲分配表如下:
  
  步数
  P00
  P01
  P02
  P03
  A
  B
  /A
  /B
  1
  1
  1
  0
  0
  2
  0
  1
  1
  0
  3
  0
  0
  1
  1
  4
  1
  0
  0
  1
  表1:正转环形脉冲分配表
  
  步数
  P00
  P01
  P02
  P03
  A
  B
  /A
  /B
  1
  1
  1
  0
  0
  2
  1
  0
  0
  1
  3
  0
  0
  1
  1
  4
  0
  1
  1
  0
  表2:反转环形脉冲分配表
  硬件原理图
   ET250902010072101100592011060818340018799.gif
  图7 硬件原理图
  程序流程图
   ET2509020100721011005102011060818340018800.gif
  图8 软件流程图
  软件代码
  /****************************************************/
  /*杭州晶控电子有限公司*/
  /*http://*/
  /*步进电机演示程序*/
  /*目标器件: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();
  }
  }
  }

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表