51单片机控制步进电机的启动、停止、正转、反转
用51单片机控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。
步进电机的原理
图1是一种四相可变磁阻型的步进电机结构示意图。这种电机定子上有八个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。八个齿构成四对,所以称为四相步进电机。
它的工作过程是这样的:当有一相绕组被激励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准。在图1(a)中A相是被激励,转子上大箭头所指向的那个齿,与正向的A齿对准。从这个位置再对B相进行激励,如图1中的(b),转子向反时针转过15°。若是D相被激励,如图1中的(c),则转子为顺时针转过15°。下一步是C相被激励。因为C相有两种可能性:A—B—C—D或A—D—C—B。一种为反时针转动;另一种为顺时针转动。但每步都使转子转动15°。电机步长(步距角)是步进电机的主要性能指标之一,不同的应用场合,对步长大小的要求不同。改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。它们之间的相互关系,可由下式计算:
Lθ=360 P×N
式中:Lθ为步长;P为相数;N为转子齿数。在图1中,步长为15°,表示电机转一圈需要24步。
步进电机的驱动
混和步进电机的工作原理
在实际应用中,最流行的还是混和型的步进电机。但工作原理与图1所示的可变磁阻型同步电机相同。但结构上稍有不同。例如它的转子嵌有永磁铁。激励磁通平行于X轴。一般来说,这类电机具有四相绕组,有八个独立的引线终端,如图2a所示。或者接成两个三端形式,如图2b所示。每相用双极性晶体管驱动,并且连接的极性要正确。
图3所示的电路为四相混和型步进电机晶体管驱动电路的基本方式。它的驱动电压是固定的。表1列出了全部步进开关的逻辑时序。步数
Q1
Q2
Q3
Q4
1
1
0
1
0
2
1
0
0
1
3
0
1
0
1
4
0
1
1
0
5
1
0
1
0
键盘设计
该系统中只运用到三个控制按钮,即 “正反”,“换挡”,“启停”,由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对行列式按键电路更简单,更使人易懂。
显示电路设计
如图2.31,采用LED数码管动态显示数据与个项参数,方法简单,容易控制,成本低。
设计如下图
图2.31
驱动电路设计
驱动电路可分为:三极管直接驱动(图3),采用斩波恒流驱动方式(图2.41)和芯片驱动电路等。驱动电路的性能直接关系到步进电机走步的准确与稳定。本电路采用驱动芯片ULN2803。ULN2803是一种大电流高电压型器件,外电路简单(图2.42)。
电路设计
设计要点和软硬环境
1、步进电机的设计要点和软硬件环境
步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。即步进电机是将电脉冲信号转换为机械角位移的执行元件。步进电机的控制可以用硬件,也可以用软件通过单片机实现。硬件方法是采用脉冲分配器芯片进行通用换相控制;而软件方法是用单片机产生控制脉冲来控制步进电机的运行状态,这种方法可简化电路,降低成本。
在用软件控制时,主要设计要点如下:
l 判断旋转方向;
l 按相序确定控制字;
l 按顺序输入控制字;
l 确定控制步数和每一步的延时时间。
由于单片机的驱动电流一般都比较小,不能直接驱动电机工作,所以单片机的I/O口输出必须接驱动电路,即功率驱动,才得以控制电机正常工作。控制框图如下图所示:
2、相关参数设定:
这里采用四相六线步进电机,这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成。其相序A-AB-B-BC-C-CD-D-DA。所以其正转控制脉冲为:01h,09h,08h,0ch,04h,06h,02h,03h,00h;反转控制脉冲为:01h,03h,02h,06h,04h,0ch,08h,09h,00h。
单片机的晶振为12MHZ;
3、系统电路图:
一、单片机最小系统的硬件原理接线图:
1、 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF
2、 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容20pF
3、 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理
4、 接配置:EA(PIN31)。说明原因。
二、单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)
1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3;
2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)
3、 一个串行通信接口;(SCON,SBUF)
4、 一个中断控制器;(IE,IP)
根据以上的方案比较与论证确定总体方案,确定硬件原理图。原理图如下:
系统软件设计
程序流程图
程序设计
根据要求,可以将程序分为以下几个部份:
(1) 键盘输入程序设计
本系统使用的键盘较少,因此采用独立式键盘接口设计。独立式键盘适用于按键数量较少的场合。独立键盘工作原理:通过上拉电阻接到+5V上。无按键,处于高电平状态,有键按下电平为低。在消除抖动影响上是可以采用了软件消抖方法:在第一次检测到有键按下时,执行一段延时子程序后(约5ms),再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。
(2) 步进电机运行步数控制程序
此方案采用单相和双相交差通电处理方式。此方法具有运行速度稳定,运行步数准确无误等优点。
如果觉得《单片机控制步进电机程序c语言正反转停止 51单片机控制步进电机的启动 停止 正转 反转...》对你有帮助,请点赞、收藏,并留下你的观点哦!