您的位置:首页 > 新技术 >

基于PIC单片机的步进电机的工作原理及用途

2020-05-14 10:30:00 来源:电子说

大家好,通过上一阶段的学习,我们已经了解和熟悉了ICD2模拟燃烧器和增强型粒子模拟实验板的使用和学习方法。我们已经学会了如何使用单片机来控制发光管、继电器、蜂鸣器、按键、数码管、RS232串口等资源。我们已经意识到学习板的易用性和易学性。看完前面几个阶段的例子后,当你的实验成功时,你一定会非常兴奋并有成就感。现在让我们趁热打铁,再往上走一步。让我们学习一下步进电机的工作原理和使用方法。这是用单片机控制机械运动的开始。

步进电机是一种将电脉冲转换成角位移的执行器。当步进驱动器接收到脉冲信号时,它驱动步进电机以设定的方向旋转一个固定的角度(步进角度)。通过控制脉冲数量来控制角位移,可以实现精确定位。同时,通过控制脉冲频率可以控制电机转速和加速度,达到调速的目的。步进电机的旋转方向可以通过改变各相的通电顺序来控制。

步进电机的特点

1.步进电机的角位移与输入脉冲严格成正比。因此,它没有累积误差和良好的后续。

2.步进电机动态响应快,易于启动和停止、正反转和变速。

3.速度可以在相当宽的范围内平滑地调节,并且在低速时可以确保较大的扭矩。因此,通常可以在没有减速器的情况下直接驱动负载。

4.步进电机只能通过脉冲电源运行。它不能直接使用交流电源和DC电源。

我们如何控制步进电机旋转?直流电机我们只需要在电机的两极施加电压,电机就会立即旋转。然而,步进电机不是这样。它是一种数字控制方式,将电脉冲信号转换成角位移,即给定一个脉冲信号,步进电机就会旋转一个角度,非常适合单片机控制。

一般来说,一个完整的步进电机控制系统包括三个部分:控制器、驱动器和电机。框图如图1所示。

图1步进电机控制系统

现在,我们以反应式步进电机为例,介绍其基本原理和应用方法。反应式步进电机可以实现大扭矩输出,步进角度一般为1.5度。电抗式步进电机的转子磁路由软磁材料制成,定子设有多相励磁绕组,利用磁极的变化产生转矩。常用小型步进电机的实物如图2所示。步进电机可以直接与我们的增强型PIC实验板连接,完成步进电机控制实验。

图2步进电机的物理图

步进电机的励磁方式。

步进电机的励磁方式一般分为1相励磁、2相励磁和1-2相励磁。

对于单相励磁,步进电机按下

这样,电力循环,一次只有一相通电。磁场需要在一个周期内改变四次相位,转子旋转一个桨距角。通电模式最简单,扭矩最小。激励模式见表1。

表1 1相位激励模式

当两相被激励时,两相每次同时被激励,磁场需要在一次旋转中改变相位四次,并且转子旋转一个桨距角。在双三拍操作模式下,步进电机正向旋转的通电顺序为:

;反向上电顺序为:

1-2相激励是交替使用1相激励和2相激励的方法。磁场需要在一个周期内改变八次相位,转子才能旋转一个步进角,属于半步进法,即1-2相励磁的步进角比前两种方法小一半,所以步进精度提高了一倍。1-2相励磁方法见表3。

表3 1-2相位激励模式

驾驶

在实际应用中,通常有一个以上的驱动电路。图3的分立电路体积庞大,并且难以保证每个电路的参数的一致性。最好使用现成的集成电路作为多通道驱动器。小型步进电机常用的驱动电路可以是ULN2003或ULN2803。我们的实验板是ULN2003。ULN2003是一系列高压大电流达林顿晶体管阵列。它具有电流增益高、工作电压高、温度范围宽、负载能力强等特点。它适用于各种需要高速大功率驱动的系统。

ULN2003A由7组达林顿晶体管阵列、相应的电阻网络和箝位二极管网络组成,在本例中实际只使用了其中的4组。ULN2003内部结构如图4所示,达林顿晶体管等效电路图如图5所示。

图4 ULN 2003内部结构图

图5达林顿晶体管的等效电路图

ULN2003A型高压大电流达林顿晶体管阵列电路的典型应用电路框图如图6所示。箝位二极管用于在线圈开关时保护集成电路的反电动势击穿。可以看出,ULN2003之后的电路比分立元件简单得多。

通过对上述原理的介绍,我们已经对步进电机的特点和工作原理有了一个大致的了解,但是当我们得到一个步进电机时,我们仍然不知道如何正确地应用它。例如,当我们想要控制马达向前、向后、高速和低速旋转时,我们需要做什么?控制步进电机正反转不再像DC电机那样简单。只需在电机两端增加正向和反向电源。相反,控制是通过输出具有不同规律的“正向和反向”定时脉冲来实现的。现在,让我们来看看如何控制步进电机的正反转和转速。通过一个例子,我相信它会带给我们一个感性的理解。

首先,让我们看看增强型PIC实验板上的步进电机控制电路,因为我们需要结合软件和硬件来考虑如何编程。步进电机控制部分的电路原理图如图7所示。单片机的RD0~RD3是电机脉冲输出引脚。ULN2003集成芯片用于驱动小型步进电机。我们只需要将步进电机直接插入板JBOY3乐队插座。跳线J4是为实验板设计的步进电机智能电源跳线,因此实验板可以适用于不同工作电压的步进电机。当跳线跳至VCC时,VCC为步进电机提供5V电源。我们用于实验的步进电机的工作电压是5V,所以我们可以设置跳线到VCC。如果用户使用自己的步进电机电压,而不是5V,他可以跳跳线到VIN端,即用户的外部接入电源为步进电机提供工作电压。

在单片机软件的编程中,我们使用了MPLab集成开发环境软件,用C语言编程,这是我们的编程环境。同时,我们可以使用ICD2模拟预烧装置和增强型PIC实验板连接,进行程序的模拟调试和预烧步骤。具体操作步骤已在前面的阶段中详细解释和介绍。我们在此不再重复解释。读者可以参考以前的文章或直接登录我们的网站查看数据。现在我们可以输入程序代码进行调试了。我们在MPLabIDE软件中构建了一个新的项目,添加了源代码,同时选择了芯片型号并设置了配置位。我们实验中使用的芯片模型是PIC16F877A。编写的程序代码如下:

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

#包括

#定义关键RB0

无效延迟(无效)

{

int k;

对于(k=0;k2000k);

}

void main()

{

TRISD=0x00。//将RD设置为输出端口

TRISB=0xFE。

//设置RB0为输出端口,RB1~RB7为输入端口

PORTD=0x00。//将研发输出初始化为低

key=1;//将键设置为输入状态

而(1) //主循环

{

如果(键==1) //如果没有按下键,电机正向前旋转

{

PORTD=0xFC。//1100

延迟();

PORTD=0xF6。//0110

延迟();

PORTD=0xF3。//0011

延迟();

PORTD=0xF9。//1001

延迟();

}

否则//如果按下一个键,电机反转方向

{

PORTD=0xFC。//1100

延迟();

PORTD=0xF9。//1001

延迟();

PORTD=0xF3。//0011

延迟();

PORTD=0xF6。//0110

延迟();

}

}

}

编译程序后,读者朋友可以通过ICD2仿真编写器将编译好的HEX烧录到单片机芯片中,然后插入步进电机,通电运行,如图8所示。这时,我们可以看到步进电机已经开始向前转动。如果我们此时按下K2键,步进电机将开始向后旋转。如果K2键被释放,步进电机将继续向前旋转,从而实现步进电机正反转的控制。

图8步进电机连接到增强型PIC实验板

早些时候,在我们进入这么长一段时间的程序后,作为初学者的读者一定对一些陈述有所怀疑。让我们来看看一些关键程序语句的效果。

#include语句用于加载PIC库文件。#define key RB0语句将RB0宏定义为键,void delay()是一个延迟函数。步进电机在输出正向和反向定时时会延迟。要调整步进电机的转速,我们只需要调整这个延迟函数的延迟值。TRISD和TRISB相关语句用于设置RD和RB端口的输入和输出状态。这里我们将RD设置为步进电机输出定时的输出端口。RB端口中的RB0被设置为输入端口,因为该端口是我们实验板上的键,该键是输入设备。然后分配键=1,即设置RB0的初始值为1。当没有按键时,RB0的值为1。按键时,RB0的值为0。而(1)是一个死循环语句,即{}中的语句体被重复执行。我们不断地判断死循环体中的变量键。如果按下或不按下键,则键为1。同时,在单片机的rd口输出步进电机正转的时序图,并分别输出信号1100、0110、0011和1001。延迟功能用于延迟每一系列信号。延迟值不能太快,否则步进电机不会响应。具体设置是合适的。读者可以通过ICD2在线调试时修改延时值进行实际测试,观察步进电机的工作状态,从而实现步进电机的速度控制。同样,如果按键时按键为0,同时在单片机的RD口输出步进电机反转的时序图,并分别输出信号1100、1001、0011和0110,就可以发现步进电机进行了反转。

看到这里,我相信你现在基本上可以控制步进电机了。我们已经在这里讨论了步进电机的原理和用途。在接下来的几个阶段中,我们将继续一起学习增强型PIC实验板的原理和其他资源的使用,以便您能够开始并提高您对单片机应用各方面的知识。

栏目导读

无人车“入春”,批量上路仍需“爬坡”

  防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...

2020-03-23 17:12

5G、AI、大数据的发展,对智慧城市会有什么影响

市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...

2020-04-07 17:55

机器人制造过程中的传感器技术之磁光效应传感器

现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。

2020-04-07 17:56

微软不需要快速拥抱VR

微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...

2020-04-07 17:57

波音Starliner载人航天器再次展开测试

去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...

2020-04-07 17:58