//步进电机正反转可调速度
//================================
//P3^0;正反转
//P3^1;增速
//P3^2;减速
//P3^3;停止
#include
#define uint unsigned int
#define uchar unsigned char
sbit rl=P3^0;//正反转
sbit add=P3^1;//增速
sbit sub=P3^2;//减速
sbit stop=P3^3;//停止
uchar num1,num2,flag1,flag2,flag3,n;
uchar code table1[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//正转表
uchar code table2[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//反转表
//电机转动表
void delay(uint z);
void keyscan();
void main()
{ uchar i;
n=50;
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;
EA=1;
TR0=1;
while(1)
{
keyscan();
if(!flag3)
{ if(flag1==1)
{flag1=0;
if(flag2==0)
P1=table1[i];
else
{P1=0;
P1=table2[i];}
i++;
if(i>8)
i=0;
}
}
}
}
//========================
void delay(uint z)
{
uint x;
uchar y;
for(x=0;x
for(y=0;y<100;y++);
}
//====================
void timer0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
num1++;
if(num1==n)
{num1=0;flag1=1;}
}
//================
void keyscan()
{
if(rl==0)
delay(10);
if(rl==0)
{
while(!rl);
flag2++;
flag3=0;
if(flag2>1)
flag2=0;
}
if(add==0)
delay(10);
if(add==0)
{
while(!add);
n=n++;
if(n>80)
n=80;
}
if(sub==0)
delay(10);
if(sub==0)
{
while(!sub);
n=n--;
if(n<10)
n=10;
}
if(stop==0)
delay(10);
if(stop==0)
{
while(!stop);
P1=0;
flag3=1;
}
}
关键字:步进电机 正反转 可调速度
引用地址:
步进电机正反转可调速度
推荐阅读最新更新时间:2024-03-16 15:08
永磁步进电机的基本概念、结构组成及工作原理
永磁步进电机是一种兼容且高效的设备,具有多种应用。由于转子由永磁体制成,不需要任何外部励磁,这使其在玩具、小型电机等应用中非常有用。 在设计方面,每次旋转的步距角可以轻松设计,这使得永磁步进电机在医疗仪器和航空结构等精密应用中非常有用。另外,由于体积小,它具有很高的移动性和易于使用等优势特点。 基本概念 永磁步进电机是一种机电能量转换装置,也就是将电能转换为机械能。在步进电机中,转子和定子磁场都被激发,因此转子磁场和定子磁场的相互作用产生扭矩。而在永磁步进电机中,转子线圈没有励磁,而是使用永磁体。 在传统的步进电机中,使用电磁铁,需要外部激励才能产生转子磁场。但在永磁步进电机当中,使用了永磁体,这减少了转子励磁系统并使
[嵌入式]
用51单片机控制两相四线步进电机
最近学习步进电机的驱动原理,照着教材自己实践了一下用ULN2003驱动28BYJ-48两相5线步进电机,可以正常转动。手头有一个旧光驱,拆开发现里面有三个电机,其中有一个控制激光头寻迹的两相四线步进电机,我就用51的单片机让它也转起来。一开始照葫芦画瓢用ULN2003驱动,结果发现无论如何也不行。原来ULN2003基本没输出电流,只能驱动有公共端的两相五线、两相六线步进电机,不能驱动2相4线步进电机。然后改用L293D驱动,可以转动。通过按钮控制正反转时发现,按键释放后,电机迅速发热,烫手。用万用表测量,发现电机A,A-或B,B-直接存在电位差!应该是按键释放时,IN1-IN4没有归零。找到问题,就容易解决了。修改程序,可以完美运
[单片机]
步进电机的主要特性与基本特性
现在制造工业技术的发展,到处都离不开步进电机,步机电机的生产程序是一项非常繁琐的事情,要求生产制造人员不仅要对机械、电机行业了解,还涉及到了许多电子与计算机方面的知识,步进电机主要是通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。要是片面从电流来考虑如何配驱动器,那肯定是不合适的。虽然步进电机已被广泛地应用,所以用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。 步进电机的主要特性 1 步进电机必须加驱动才可以运转, 驱动型号必须为脉冲信号,没有脉冲的时候, 步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角
[嵌入式]
42步进电机控制单片机程序
下面是仿真图: /****************************************Copyright (c)************************************************** ** ** ----------------------------------------------------------------------------------------------------- ** File Name : ** Version : V1.0.0 ** Description :
[单片机]
什么是步进电机?步进电机的种类
什么是步进电机? 文名称:步进电动机 英文名称:stepping motor 定义:将电脉冲信号转换成相应的角位移或线位移的控制电动机。 所属学科:机械工程(一级学科);仪器仪表元件(二级学科);仪表电机(三级学科) 步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。 简介 步进电动机(stepping motor) 步进电动机把电脉冲信号变换成角位移以控制转子转动的微特电机。在自动控制装置中作为执行元件。每输入一个脉冲信号,步进电动机前进一步,故又称脉冲电动机。步进电动机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装置。 步进电动机的驱
[嵌入式]
步进电机细分控制原理
步进电机控制已经蕴含了细分的原理。电机内部磁场每旋转一个圆周, 步进电机前进一整个步距角。若四相步进电机按A→B→C→D→A 的顺序轮流通电, 即整步工作, 磁场分四拍旋转, 每次电流换向, 步进电机将前进整步距角的1/4。而按A→AB→B→BC→C→CD→D→DA→A 的顺序轮流通电, 即半步工作, 每次电流换向, 步进电机将前进整步距角的1/8。 但是, 如果半步工作状态下每拍前进的角度超过控制精度要求, 则需要对步距角进行更进一步的细分。我们知道, 电磁力的大小跟绕组通电电流的大小是相关的。当通电相的电流不马上到达峰值, 而断电相的电流也不立 即降为零时, 电机内部磁场为上两相电流共同合成, 而产生的磁场合力, 会使
[模拟电子]
基于A3992和单片机的两相步进电机驱动系统
1 引言 步进电机定位准确且与数字电路接口连接方便.无需反馈就能实现准确的角位移,在数控机床等许多领域中均得到了广泛应用。但是,传统的步进电机定位系统是由控制器件产生脉冲,然后加在环形分配器和功率驱动部分,最后连接至电机的控制方式,其软硬件的实现都较为复杂,成本偏高,难以满足现代工业发展所需的精度和集成度等要求。采用美国Allegro公司推出的一款易操作,内置功率驱动的A3992型两相步进电机微步距驱动器,以C805117300单片机为控制核心设计了一个驱动控制电路。该驱动控制电路能简单方便实现电机的微步距控制,不仅解决了步进电机步距角大的问题。提高了步进电机的分辨率,减弱或消除了步进电机的低频振动.也改善了电机的其他性能
[单片机]
锅炉筒打孔专机数控系统
1 前 言
为实现锅炉筒壁孔加工自动化而设计的数控系统,是以MCS-51单片机为控制核心、步进电机为驱动电机、机床大、小拖板为执行部件的两坐标开环控制系统。大拖板纵向移动以确定打孔位置,脉冲当量值为0.02mm/步,最大进给速度为5m/min。小拖板横向移动以实现刀具的快进和工进。系统具有点动对刀、自动加工、暂停和继续、急停报警、回零等主要功能。
2 硬件结构与功能
系统硬件分布于一块控制主板和两块驱动板上。
在以8031单片机为主的控制主板上,扩展一片27256EPROM,用于存放系统软件,一片2764EPROM,用于固化经过调试的零件加工程序,一片带掉电保护的6264RAM,用于随机存储手工编辑的零件加工程序。
[嵌入式]