步进电机应用广泛,
例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合
一些概念:
拍数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; //平时也是停止的 } } }
相关推荐
51芯片编程:步进电机控制; 1、步进电机加速减速匀速演示,上电后 步进电机 自动 加速 匀速 减速 循环运行; 2、步进电机正反转调速1602显示: 按实验板上的K1按键控制步进电机的运行与停止 按实验板上...
Proteus仿真:C51单片机控制步进电机正反转
基于C51单片机的步进电机正反转调速系统控制 仿真+源程序+详细教程 1、本设计是基于STC89C52单片机+单体数码管和LED显示+ULN2003驱动芯片构成的 步进电机控制系统。 2、电机采用DC-5V步进减速电机(步进角度5.625...
51单片机开发板实验:步进电机正反转程序源代码。 1、开发环境:KEIL。 2、编程语言:C语言。
基于VC++的51单片机控制源码:步进电机正反转停止实验
基于51单片机的步进电机正反转可控设计与仿真.pdf
使用51单片机作为主控板,控制步进电机正反转。使用C语言编程实现生成spwm波驱动步进电机
单片机控制的步进电机正反转和加速减速c程序
51单片机控制四相步进电机正反转keil工程文件C源文件,包含keil的工程文件,C语言源码,头文件等。程序注释非常详细,用keil5可以直接打开。
51步进电机控制角度旋转(比较精确)
尝试用51单片机控制步进电机,所能实现功能包括按键控制步进电机加减速及正反转。
基于单片机ULN2003的步进电机控制系统(汇编及C语言程序各一个) 51单片机
该工程是在keil开发环境下c51单片机控制的步进电机的控制程序,实现四相四拍、四相八拍的正转及反转
C51单片机 项目10-步进电机 (仿真文件+程序包)C51单片机 项目10-步进电机 (仿真文件+程序包)C51单片机 项目10-步进电机 (仿真文件+程序包)C51单片机 项目10-步进电机 (仿真文件+程序包)C51单片机 项目10-...
51单片机控制步进电机三轴联动51单片机控制步进电机3轴联动c语言,抛砖引玉供大家参考。
51单片机控制步进电机转速,反转,正转,显示转速
利用AT89C51单片机的P1口的P1.4~P1.7,通过ULN2003A达林顿管(反向放大器)驱动一个5V的步进电机进行正反转控制,,该步进电机采用四相八拍控制方式。 2.利用AT89C51单片机的P1.2作“正转”点动按钮S9的输入,当S9...
采用单片机AT89C51作为控制核心,通过五个按键控制步进电机的运行状态,即控制启停、正反转、加减速,并利用八位的数码管显示步进电机的速度等级。本设计的硬件部分主要由单片机、键盘控制模块、电机驱动模块、...
基于51单片机的红外遥控步进电机控制系统(正反转,调速,启停,遥控)proteus、原理图、流程图、物料清单、仿真图、源代码 基于51单片机的步进电机(正反转,调速,启停,遥控) 步进电机控制系统 1、实现电机正反...
一般写一路步进电机的有,写两路的就我这一个,用中断实现的。