51单片机教程:二相四线步进电机驱动

第一个问题:什么是步进电机?
步进电机就是用电脉冲信号控制电机转动特定角度的一种电机。比如说你给电机一个脉冲信号电机就转动90度,那么你给电机4个脉冲信号电机就转动了一圈。这个90度,就是步进电机的步进角,给一个脉冲,它就转动一个步进角,于是它取名:步进电机
第二个问题:步进电机的特性?
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为"步距角",它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
第三个问题:为什么需要步进电机?
由于步进电机控制精确、运行平稳、广泛被应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域
大家应该比较熟悉工厂的一些机器手臂吧,大部分都是用步进电机控制的,现在应该对步进电机有初步的了解吧。

那么接下来,上原理图。。。
在这里插入图片描述
没错,这就是二相四线步进电机,步进角为90度。是不是超级简单。就几个线圈,一块磁铁。(废话少说)

下面来分析它的工作原理
首先电机有4个电极,一共有4个线圈,两两串联
A+与A-是一组线圈, B+与B-是一组线圈

1、A+加正极,A-加负极,B+加负极,B-加负极,
(电机状态,N极朝上)
在这里插入图片描述
2、A+加负极,A-加负极,B+加正极,B-加负极,
(电机状态,N极朝右,旋转90度)
在这里插入图片描述
3、A+加负极,A-加正极,B+加负极,B-加负极,
(电机状态,N极朝下)在这里插入图片描述
4、A+加负极,A-加负极,B+加负极,B-加正极,
(电机状态,N极朝左)

在这里插入图片描述
是不是发现了什么规律,只要依次给相应引脚相应的电平就可以使得电机转动,转动的最小角度为90度。
正极顺时针旋转电机正转,正极逆时针旋转电机
于是。。。。
打开proteus 仿真
画下线路。。
在这里插入图片描述
打开keil4
写下代码

#include "reg52.h"

unsigned char ss[] = {0x01,0x02,0x04,0x08};	 //顺时针数组
unsigned char ns[] = {0x08,0x04,0x02,0x01};	  //逆时针数组


void delayms(unsigned int t)		//延时函数
{
	unsigned int i,j;
	for(i=0; i<t; i++)
		for(j=0; j<120; j++);
}

void main(void)
{
    char n;
	while(1)
	{
		for(n=0; n<4; n++)		 //顺时针转动
		{
			P2 = ss[n];
			delayms(200);
		}
	}
}

编译烧录,发现proteus步进电机开始转动
在这里插入图片描述

END…

猜你喜欢

转载自blog.csdn.net/mbs520/article/details/105409790