图1.1 磁阻式步进电机的工作原理
实际上 ,驱动步进电机的开关是晶体管,开关信号由数字集成电路或微机产生。通过前面的介绍可以看到,步进电机是一种把开关激励的变化变换成精确的转子位置增量运动的执行机构。
2 远程步进电机主机、从机原理图
2.1 主机电路板PCB设计图如下:
图2.1 主机PCB图
2
2.2 从机电路板设计
远程步进电机包括一个主机和2个从机。 两个从机电路板PCB设计图如下图:
图2.2 从机PCB图
3 步进电机程序控制的设计
3.1 步进电机的传动方式 3.1.1三相单三拍工作方式
在这种工作方式下 ,A、B、C三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作方式。 3.1.2三相六拍工作方式
在这种工作方式下,首先A相通电,转子齿与A相定子齿对齐。第二拍,A相继续通电,同时接通B相,A、B各自建立的磁场形成一个合成磁场,这时转子齿既不对准 A相也不对准B相,而是对准A、B两极轴线的角等分线,使转子齿相对于A相定子齿转过 1/6齿距 ,即 1. 5 °。第三拍,A相切断,仅B相保持接通。这时,由B相建立的磁场与单三拍时B相通电的情况一样。依次类推,绕组以A—AB—B—BC— C—CA—A时序或反时序转换6次,磁场旋转一周,转前进一个齿距,每次切换均使转子转动1.5 °,故这种通电方式称为三相六柏工作方式。 3.1.3双三拍工作方式
3
这种工作方式每次都是有两相导通,两相绕组处在相同电压之下,以AB─BC─CA─AB 或反之 方式通电,故称为双三拍工作方式。以这种方式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。由上述分析可知,要使磁阻式步进电机具有工作能力,最起码的条件是定子极分度角不能被齿距角整除。因为三相双三拍步进电机不易失步,控制精度比较高,所以本文对三相双三拍步进电机进行控制,定子有三对磁 极,运行时两相同时通电,循环带动转子转动。 3. 2 硬件接口电路
传统的步进电机控制系统采用硬件进行控制,用一个脉冲发生器产生频率变化的脉冲信号,再经一个脉冲分配器把方向控制信号和脉冲信号转换成有一定逻辑关系的环形脉 冲;经驱动电路放大后就可以来驱动步进电机了。在这种控制中,步进电机的脉冲由硬件电路产生,如果系统发生变化 或使用不同类型的步进电机 ,需重新设计硬件电路 ,系统的可移植性不好 微机控制系统代替脉冲发生器和脉冲分配器,就可以根据系统需要通过软件编程的方法任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。这样可简化控制电路,降低生产成本,提高系统的运行效率和灵活。图3.1为单片机控制步进电机接口原理图。
图3.1单片机控制步进电机接口电路原理图
3.3 脉冲的形成
实现对步进电机的控制 ,微机应能输出有一定周期的控制脉冲。步骤是:先输出一个高电平 ,延时一段时间后 ,再输入一个低电平 ,然后再延时。改变延时时间的长短 ,即可改变脉冲的周期 ,脉冲的周期由步进电机的工作频率确定。用软件形成环形脉冲的程序流程图如图3. 2所示。
4
图3.2软件法形成脉冲序列的程序流程
3.4 旋转方向控制
步进电机的旋转方向和内部绕组的通电顺序及通电方式有密切关系。对于三相双三拍工作方式:
正相旋转:AB →BC→CA →AB 反相旋转:AB →CA →BC→AB
三相双三拍控制模型如下表所示。 (1)正转控制模型:
5
表1正转控制模型
(2)反转控制模型
表2反转控制模型
3.5 转速控制
控制步进电机的运行速度,实际上是控制系统发出时钟脉冲的频率或换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定。采用软件延时,一般是根据所需的时间常数来设计一个子程序,该程序包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延时时间是否符合要求。每当延时子程序结束后,可以执行下面的操作,也可用输出指令输出一个信号作为定时输出。采用软件定时,CPU一直被占用,因此CPU 利用率低。
可编程的硬件定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值则由编程决定。当计数到预定的脉冲数时,产生中断信号,得到所需的延时时间或定时间隔。由于计数的初始值由编程决定,因而在不改动硬件情况下 ,只通过程序变化即可满足不同的定时和计数要求,因此使用很方便。 3.6 控制程序设计
控制程序的设计方法是:通过标志位FLAG来判断电机的旋转方向,然后输出相应的控制脉冲序列;判断要求的脉冲信号是否输出完毕。三相双三拍控制模型完成的步进电机控制程序设计如下:
三相双三拍控制程序流程图如图3.3和图3.4所示。正转控制模型 03H、06H、05H 存放在以 RM 为起始地址的内存单元中,反转控制模型 03H、05H、06H 存放在以 LM 为起始地址的内存单元中。
6