`

51单片机学习笔记:步进电机控制,正转反转等

阅读更多

步进电机应用广泛,

例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合

一些概念:

拍数N
定子控制绕组每改变一次通电方式,即为一拍
一个磁场通电周期是  A-B-C-D-A
完成一个磁场周期性变化所需脉冲数,
也指电机转过一个齿距角所需脉冲数,用N表示
拍数又等于相数的1倍或2倍,
以四相电机为例,
有4相4拍, A-B-C-D-A...
   4相8拍, A-AB-B-BC-C-CD-D-DA-A...


齿距角θz
一个通电循环周期(比如4拍)转子转过一个齿距角
齿距角又等于360除以转子齿数Z,  θz=360/Z


步距角θs
步距角,即在没有减速齿轮的情况下,对于一个脉冲信号,转子所转过的机械角度.
也就是说,每一拍转子转过的角度称之为步距角,通常用θs表示
θs=齿距角/拍数
θs=360/(N*Z)
 
步距角的误差不会长期积累,只与输入脉冲信号数相对应,
可以组成结构较为简单而又具有一定精度的开环控制系统,
也可以在要求更高精度时组成闭环系统。


转速X
每分钟电机转了多少转?设脉冲频率f
一个脉冲,转子转过角度为1/(ZN),
X=60*f/(ZN)  拍数与齿数表示法
 =(f*θs)/6  步距角表示法

以上都是网上搜到的,整理了下,有不对的敬请指出,谢谢.

---------------------------------------------------------

 




 

我手上用到的步进电机

 

24BYJ48-5v  减速永磁步进电机

功能特点:
采用ULN2003驱动,使用方便,带齿轮减速,噪音低,运转平稳,5V即可驱动,
器件参数:
1.额定电压:5-10V DC
2.直流电阻:60Ω±7%(25℃).
3.减速比:1/64
4.步距角:5.625°*(1/64),  含减速比
5.驱动方式:4相8拍
6.牵入转距:≥350gf.cm(工作频率:100PPS)
7.打滑扭力:800~1300gf.cm
8.温升:≤55K(5VDC 工作频率:100PPS)
9.噪音:≤35dB(空载,100PPS,水平距马达10cm)
10.绝缘耐压:600V AC/1秒
11.引线拉力强度:1Kgf/条
12.接线方式:5线4相
   1.VCC 红色
   2.A   橙色  
   3.B   黄色
   4.C   粉色
   5.D   蓝色
============================================================

#include "my51.h"

//4相8拍
u8 code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆时针旋转相序表
u8 code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //顺时针旋转相序表

sbit S3=P3^5;  //反转 按键
sbit S4=P3^6;  //正转 按键
sbit S5=P3^4;  //停止 按键

void motorTurn_ccw()	  //转1圈,逆时针
{	
	u8 i,j;
	for(j=0;j<8;j++)       //电机内部的转子旋转一周
	{
		if(S5==0)	//按键没处理抖动
		{
			break;   		//如果停止键按下,退出此循环
		}
		for(i=0;i<8;i++)    //旋转45度, 8*5.625°=45°
		{
			P1=tableCCW[i];
			delayms(2);   	 //调节转速
		}
	}
}

void motorTurn_cw()	  		//转1圈 ,顺时针
{
	u8 i,j;
	for(j=0;j<8;j++)		//8*45°=360°
	{
		if(S5==0)
		{
			break;   	    //如果停止键按下,退出此循环
		}
		for(i=0;i<8;i++)    //旋转45度,8*5.625°=45°
		{
			P1=tableCW[i];
			delayms(2);     //调节转速
		}
	}
}


void main()
{
	u8 r;
	u8 N=64; //减速步进电机,减速比1/64,所以N=64时,步进电机外主轴转一圈 
	P1=0xff; _nop_();	
	ledLock= LOCK;		  //我们的P1口接有8个led灯,先锁定,不要让它们亮 ,节能环保	
	while(1)
	{
		if(S3==0)				  //按键了
		{
			for(r=0;r<N;r++)
			{
				motorTurn_ccw();  //电机逆时针转
				if(S5==0)
				{
				   break;		  //俺S5键立马停止
				}
			}
		}
		else if(S4==0)
		{
			for(r=0;r<N;r++)
			{
				motorTurn_cw();    //电机顺时针转
			    if(S5==0)
			    {
			   		break;
			    }
			}
		}
		else
		{
			P1=0xf0;    			//平时也是停止的		
		}
	}
}

 

 

 

  • 大小: 124.3 KB
  • 大小: 58.7 KB
1
3
分享到:
评论

相关推荐

    51芯片编程:步进电机控制

    51芯片编程:步进电机控制;  1、步进电机加速减速匀速演示,上电后 步进电机 自动 加速 匀速 减速 循环运行;  2、步进电机正反转调速1602显示:  按实验板上的K1按键控制步进电机的运行与停止  按实验板上...

    Proteus仿真:C51单片机控制步进电机正反转

    本主题将深入探讨如何使用C51单片机通过Proteus软件来实现步进电机的正反转控制。 步进电机是一种将电脉冲信号转换为精确角位移的执行机构,广泛应用于精密定位和速度控制。它的运动是通过接收来自控制器的脉冲信号...

    基于51单片机的步进电机控制(电机正转、电机反转、电机停止、电机正转加速、电机正转减速,电机反转加速、电机反转减速、汉字显示12

    基于51单片机的步进电机控制(电机正转、电机反转、电机停止、电机正转加速、电机正转减速,电机反转加速、电机反转减速、汉字显示12864)原理图、流程图、物料清单、仿真图、源代码 基于51单片机的步进电机控制...

    基于51单片机的步进电机正反转可控设计与仿真.pdf

    本项目设计研发了一套基于51单片机的步进电机正反转可控设计与仿真系统,该系统可应用于高精度控制场合。 系统硬件主要由以下几个部分组成: 1. 控制核心:51单片机,本项目中特指STC80C51单片机。该系列单片机在...

    51单片机开发板实验:步进电机正反转程序源代码.rar

    在51单片机控制下,通过改变输入脉冲的顺序和频率,可以实现步进电机的正转、反转、速度调节等功能。在这个实验中,源代码会详细描述如何设置和控制步进电机的驱动信号,包括初始化、脉冲产生和方向切换等步骤。 ...

    基于C51单片机的步进电机正反转调速系统控制 仿真+源程序+详细教程.zip

    基于C51单片机的步进电机正反转调速系统控制 仿真+源程序+详细教程 1、本设计是基于STC89C52单片机+单体数码管和LED显示+ULN2003驱动芯片构成的 步进电机控制系统。  2、电机采用DC-5V步进减速电机(步进角度5.625...

    51单片机控制四相步进电机正反转keil工程文件C源文件

    标题中的“51单片机控制四相步进电机正反转keil工程文件C源文件”涉及了几个关键概念,让我们一一深入解析。 首先,**51单片机**是微控制器的一种,属于Intel 8051系列,广泛应用于各种嵌入式系统中。它具有一个8位...

    1090-基于51单片机的步进电机控制(电机正转、电机反转、电机停止、电机正转加速、电机正转减速,电机反转加速、电机反转减速、汉

    1090-基于51单片机的步进电机控制(电机正转、电机反转、电机停止、电机正转加速、电机正转减速,电机反转加速、电机反转减速、汉字显示12864)原理图、流程图、物料清单、仿真图、源代码 功能介绍: 单片机控制...

    用51单片机控制两相四线步进电机

    在这篇文章中,作者分享了...总结来说,文章详细描述了使用51单片机对两相四线步进电机的控制过程,包括了硬件选择、控制原理、软件编程以及问题排除等关键技术点,对于想要学习步进电机控制的读者具有较高的参考价值。

    单片机控制的步进电机正反转和加速减速c程序

    单片机控制的步进电机正反转和加速减速C程序设计是嵌入式系统开发中的一个常见任务,涉及硬件接口编程、步进电机工作原理、C语言编程等多个方面。在这个项目中,我们将深入探讨相关知识点。 首先,我们要理解步进...

    51单片机控制57步进电机启停,正反转,5档加减速的图纸和程序源码注解

    标题中的“51单片机控制57步进电机启停,正反转,5档加减速的图纸和程序源码注解”表明我们将探讨如何使用51系列单片机来控制57步进电机实现启停、方向切换以及五级速度调节的功能。这涉及到硬件电路设计、单片机...

    43.步进电机按键控制正反转_51单片机_

    步进电机按键控制正反转_51单片机”指的是一个项目,这个项目的目标是通过51单片机控制步进电机按照用户按键输入的方向进行正转或反转。51单片机是微控制器的一种,基于8051内核,广泛应用于电子设备和自动化系统中...

    C51单片机步进电机控制

    C51单片机步进电机控制 C51单片机步进电机控制是指使用C51单片机来控制步进电机的旋转。步进电机是一种纯数字控制的电机,它将脉冲信号转变成角位移,即电源发一个脉冲,步进电机则转过一个固定的角度,称为步距角...

    51单片机控制2路步进电机实例

    这个实例"51单片机控制2路步进电机实例"是关于如何使用51单片机同时控制两个步进电机的实践教程。步进电机是一种能够精确控制角度位移的电机,常用于需要精确定位的设备中,如3D打印机、机器人和自动化设备等。 51...

    51单片机控制步进电机精确控制角度

    本主题聚焦于如何利用51单片机对步进电机进行精确的角度控制。步进电机是一种能够将电脉冲转化为精确机械位移的执行器,因此在需要精密定位的系统中非常常见。 首先,我们要理解51单片机的基本结构和工作原理。51...

    单片机控制步进电机毕业设计

    单片机控制步进电机毕业设计是基于51单片机控制步进电机的项目,该项目实现了步进电机的正转、翻转、加速和减速功能,电路设计简单易行。 知识点1:步进电机简介 步进电机是一种特殊的电机,它可以将电信号转换为...

    51单片机控制步进电机的程序

    在这个项目中,我们将深入探讨如何使用51单片机控制步进电机,实现四相四拍和四相八拍的正反转功能。 步进电机是一种特殊的电动机,它可以将电脉冲转换为精确的角度位移,因此在需要精确位置控制的场合中非常常见。...

    步进电机正反转停止实验_单片机_

    在本实验中,我们关注的是如何通过51单片机来控制步进电机实现正反转以及停止功能,使用的编程语言是C++,具体实现是在Visual C++环境下编写的。以下是关于这个实验涉及的主要知识点: 1. **51单片机**:51系列...

    C语言实现STC89C52RC单片机对步进电机的正反转单键控制

    在本文中,我们将深入探讨如何使用C语言在STC89C52RC单片机上实现对2相4线两极步进电机的正反转单键控制。STC89C52RC是一款常见的8位微控制器,具有丰富的I/O端口和内部程序存储器,适用于各种嵌入式系统设计。 ...

Global site tag (gtag.js) - Google Analytics