ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

89c51 步进电动机

2020-11-30 23:57:25  阅读:256  来源: 互联网

标签:K3 uchar 励磁 步进 绕组 89c51 电动机


步进电动机

步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。因此,步进电动机又称脉冲电动机。
步进电动机的结构形式和分类方法较多,一般按励磁方式分为磁阻式、永磁式和混磁式三种;按相数可分为单相、两相、三相和多相等形式。

本次使用的是4项步进电动机
在这里插入图片描述采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
在这里插入图片描述
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相
绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
  
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图
  在这里插入图片描述

想要完成步进电动机,主要在于历次序列的定义
  在这里插入图片描述
本次使用8拍对应励磁

正转励磁 A->AB->B->BC->C->CD->D->DA
反转励磁 AD->D->CD->C->BC->B->AB->A

同时使用按钮控制电动机正转、反转和停止,由于步进电动机是非线性器件,上电之后,要有一定时间做延迟,不能上来就给电动机发命令,需要预热好了之后才能发命令工作。

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//正转励磁 A->AB->B->BC->C->CD->D->DA
uchar code FFW[] = {0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
//反转励磁 AD->D->CD->C->BC->B->AB->A
uchar code REV[] = {0x09,0x08,0x0C,0x04,0x06,0x02,0x03,0x01};
//正转
sbit K1 = P1^0;
//反转
sbit K2 = P1^1;
//停止
sbit K3 = P1^2;
//延时
void deplay(uint x)
{
	uchar i;
	while(x--) for(i=0;i<120;i++);
}
//正转
void SETP_MOTOR_FFW(uchar n)
{
	uchar i,j;
	for(i=0;i<5*n;i++)
	{
		for(j=0;j<8;j++)
		{
			if(K3 == 0) break;
			P2 = FFW[j];
			deplay(25);
		}
	}
}
//反转
void SETP_MOTOR_REV(uchar n)
{
	uchar i,j;
	for(i=0;i<5*n;i++)
	{
		for(j=0;j<8;j++)
		{
			if(K3 == 0) break;
			P2 = REV[j];
			deplay(25);
		}
	}
}
void main()
{
	uchar N=3;
	while(1)
	{
		if(K1 ==0)
		{
			SETP_MOTOR_FFW(N);
			if(K3==0) break;
		}
		else if(K2 == 0)
		{
			SETP_MOTOR_REV(N);
			if(K3 == 0 ) break;
		}
		else
		{
			P2 = 0x03;
		}
	}
}

标签:K3,uchar,励磁,步进,绕组,89c51,电动机
来源: https://blog.csdn.net/m0_46580995/article/details/110410369

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有