用51单片机控制电机的启动与停止,电机的驱动频率是40KHz,启动响应时间在3毫秒左右,关闭停止时间在1

作者&投稿:枝茜 (若有异议请与网页底部的电邮联系)
51单片机如何控制二相四拍步进电机的启动和停止?驱动器采用~

#include

/*****P1.0=A ;P1.1=B ;P1.2=A' ; P1.3=B'****/
//////////////////////////////////////////////////////////////////////////////////////////////
/*******************************正转数组**************************************************/
//code unsigned char run[4]={0x0e,0x0d,0x0b,0x07}; //两相四线四拍工作方式
/*******************************反转数组**************************************************/
code unsigned char run[4]={0x07,0x0b,0x0d,0x0e}; //两相四线四拍工作方式

unsigned char s,i,j,k;

void delay(i)//延时函数
{
for(j=0;j<i;j++)
for(k=0;k<250;k++);
}
main()
{
unsigned char z,y;
y=30; //定义延时时间,时间越长电机转速越慢反之则快
while(1)
{
for(z=0;z<4;z++)
{
P1=run[z];
delay(y);
}
}
}

不管你用的电机是步进电机或者陀机,直流电机等,其实只需要一个电机驱动芯片就行,至于单片机用STC的89c52就行,毕竟做毕业设计没太多的要求,希望对你有帮助
请采纳。

这里有个直流电机调速的程序,可以参考一下
* 功能 : 通过P1.0口来控制直流电机的旋转的快慢
/***********************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit KEY1 = P3^2; //定义调速的按键
sbit PWM = P1^0; //定义直流电机的控制端口
uchar CYCLE; //定义周期
uchar PWM_ON ; //定义低电平时间

/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay(uint i)
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}

void Time0(void)
{
TMOD |=0x01; //定时器设置 1ms in 12M crystal
TH0=(65536-1000)/256;
TL0=(65536-1000)%256; //定时1mS
IE= 0x82; //打开中断
TR0=1; //定时器打开
}
main()
{
uchar PWM_Num; //定义档位
Time0();
CYCLE = 10; //时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步
PWM = 0;
while(1)
{
if(!KEY1)
{
Delay(15);
if(!KEY1)
{
PWM_Num++; //按一下P3.2口,就给直流电机换一个档位
if(PWM_Num==4)
{
PWM_Num=0;
}
switch(PWM_Num)
{
case 0:P0=0x06; PWM_ON=0;break; //低电平时长 //给P0口赋值,是让P0口显示:1,2,3,4 这四个档位
case 1:P0=0x5B; PWM_ON=2;break;
case 2:P0=0x4F; PWM_ON=4;break;
case 3:P0=0x66; PWM_ON=6;break;
default:break;
}
}
}
}
}
/********************************/
/* 定时中断 */
/********************************/
void tim(void) interrupt 1 using 1
{
static unsigned char count;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;//定时1mS
if(count==PWM_ON)
{
PWM = 1; //直流电机转
}
count++;
if(count == CYCLE)
{
count=0;
if(PWM_ON!=0) //如果左右时间是0 保持原来状态
{
PWM = 0; //直流电机不转
}
}
}


用51单片机的输出的模拟信号,即0,1怎么控制电动机的开关,电动机的电...
首先,51单片机的输出的0,1,不叫模拟信号,叫数字信号,或脉冲信号。这很简单的。用单片机一个引脚控制一个三极管,三极管控制一个继电器,再由继电器控制电机。如下图

51单片机怎么控制直流电机左转,右转,加速,停止?
直流电机怎么左转右转,单片机输出PWM波就能控制电机转动的速度,要想控制电机正反转就需要一个H桥,H桥对角导通就可以控制电机正反转了,至于H桥就参考百科里面的http:\/\/baike.baidu.com\/view\/2009952.htm

51单片机,L298N驱动小马达,怎么写函数可以让电机转的慢一些
反之占空比越低,马达的转速就会随之减慢。你如果用程序函数控制的话,可以写一个占空比。而用51单片机写一个马达转速控制函数,可以使用定时器来,做一个真空比。你可以通过一个按键来调节占空比的大小这样你就可以通过按键调节电机的转速,所以这样来说比较好控制,而且现象更直观,便于观察。

51单片机可以直接控制直流电机吗 在IO口上接个直流电机
不可以,电机工作电流很大,远远超过单片机的允许范围,直接控制,很容易烧坏单片机或者使系统无法正常工作,其他的问题还有一大把。 追问 用三极管可以实现吗 追答 也不是很好,电机的电流很大,一个玩具电机,就可以轻松达到100mA以上的水平,一个金鱼缸的小水泵,轻松可以达到2A,这种条件下,一般的三极管发热会很严重,而且...

如何用51单片机控制4个直流电机电机
俩L298N,一共4个H桥,能控制4个直流电机正反转,且能调速 如果只需要正转或者反转,用uln2003一片即可 注意一点:用298N的时候需要加续流二极管保护芯片,uln2003自带续流二极管 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM...

51单片机可以控制两个电机驱动吗
当然是没问题的。你控制的是什么电机。是普通的交流电机吗?还是不进电机。如果是普通的交流电机的话,那就是控制个继电器就行了,你再用继电器外控制对应接触器的线圈就行了。从电气上来说不是很难的。具体想做电路板和C语言写单片机程序程序的话,你要先把C学会,当然你的这个控制比较简单,基本的...

51单片机控制电机正反转,到达限位开关 停止如何实现 ,求代码
比如用28的步进电机,用一个依次置一的数组加延时函数加for循环加按键检测很容易实现的,就是让单片机产生正向和反向的脉冲来控制步进电机。如果是一般的带正反向的直流电机就用单片机的引脚或继电器控制电机线圈的使能就解决了!

51单片机通过P3.0口接微动开关,控制电机停止
include <reg51.h> sbit key1=P1^0; \/\/接微动开关,微动开关是常开状态,微动开关一头串1K电阻接5V,一头接单片机P1.0端口 sbit moto=P1^2;\/\/ 接MOS管,控制电机负极 void main(){ moto= 1;\/\/电机启动 while(1){ if(key1==1) moto=0; \/\/如果微动开关关闭,电机停止 if(key1==...

用51单片机控制电机,直接接输入电压为3.7伏的电机,电机会烧掉不?
你51会烧掉,电机的功率比起51的功率是很高的,虽然电压低,但电流很大,不过你接在P0口的话应该可以,上拉电阻要接多少的,具体要看你的电机的阻抗!

51单片机驱动电机问题
首先单片机将电平信号通过光耦变成光信号,然后光信号在转换成直流电机端端控制信号,当然,虽然单片机与直流电机的电源隔离了,但光耦需要与这两部分共地。步进电机也是一样,只要电位一致就可以了,其实隔离主要是隔离正电源。单片机板与电机板单点接地即可。不要大面积接地,否则就失去光耦的作用了 ...

崇明县18446977887: 我要用51单片机控制3个电机的启动循序和停止循序,怎么编程序?(?
庾闵丽科: 程序非常好写,无非是循环打开和关闭IO端口罢了,看半个小时51单片机手册、半个小时C语言的书,就能写出来的,不骗你,建议到“嵌入开发”的相关网站看看 到淘宝话百元左右买简易开发套件,保你1小时写出来. 我看你的难度不是在写程序上,而是应该在外部电路上面:比如驱动电路的选择、抗干扰、防电机启动停止产生的电涌等等

崇明县18446977887: 用51单片机控制电机的启动与停止,电机的驱动频率是40KHz,启动响应时间在3毫秒左右,关闭停止时间在1 -
庾闵丽科: 这里有个直流电机调速的程序,可以参考一下* 功能 : 通过P1.0口来控制直流电机的旋转的快慢/***********************************************************************/#include #define uchar unsigned char#define uint unsigned int sbit KEY1 = P3^2; //定...

崇明县18446977887: 51系列单片机 程序设计 用4个开关控制步进电机进行启动停止正转和反转 -
庾闵丽科: 设计思路: 1、分析功能需求:四个按键控制步进电机的四种状态,那么必须要在程序中有IO口按键扫描程序; 而且步进电机的控制一定要先设置好定时器. 2、功能模块定义:四个按键对应四个函数,每个函数实现不同功能,对于正反转,先...

崇明县18446977887: 如何用单片机控制电机的启/停和电压? -
庾闵丽科: 1,220V是交流电,不能直接分压的,太危险了,你应该用变压器,或者开关电源.先构成12V的电压,再分别用7805,7806,7809形成5,6,9V的电压.2,要看你用的是什么电机,如果是直流电机,或者步进电机,控制比较复杂的.不是一二个开关能控制的.但如果就是普通的交流电机的话,就可以用继电器来控制.但这样做只能做到开关,谈不上控制.3,没有的,都是要靠一块复杂的电路完成的.

崇明县18446977887: 求问51单片机如何让直流电机按给定的程序数值启动和停止的,请求说明原理,最好是C程序加注释说明 -
庾闵丽科: 控制可分三种1. 简单启停:用一个端口的电位高低,控制ULN2008之类的,就可以了,在程序中可以控制启,停,延时.2. 调速运行:这要用PWM了,并且最好用mos管去控制电机3. 反馈运行:这要用到编码器之类的位置反馈元件,复杂,当然也是最好的,可以用PWM调整速度 ,也可以指定它转过一定圈数(也就是接收到一定数量的反馈脉冲)再停止.

崇明县18446977887: 朋友,你好,请问怎么用C51单片机控制电机的启动,调速和停止啊,万分感谢 -
庾闵丽科: 可以采用单片机的io控制mos,者继电器或者可控硅的形式去控制电机!调速方式可以采用PWM调制,停止和启动就很简单了!但是电机属于感性负载,得注意启动和关闭电流

崇明县18446977887: 基于51单片机用一个开关控制直流电机转动、停止的程序 -
庾闵丽科: 可以使用中断的方式实现: 用单片机的输出角来控制直流电机转动、停止,输出为0时停止,输出为1时转动. 开关则为单片机的输入端,循环检测是否有输入,如果有输入在变换状态.

崇明县18446977887: 急求!!!!! 利用51单片机实现对5v直流电源的电机的控制.包括电机的启动,加速,减速,停止等功能.
庾闵丽科: #include &lt;reg52.h&gt; sbit KEY1 = P3^2; sbit PWM = P1^0; unsigned char CYCLE; //定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1ms unsigned char PWM_ON ;//定义高电平时间 void delay(unsigned int cnt) { while(--cnt); } main()...

崇明县18446977887: 怎么用51单片机控制直流减速电机缓慢启动,缓慢停止? -
庾闵丽科: 这个还是比较容易实现的,定义个曲线表就可以了,比如按梯形曲线或S型曲线,定义一个升速和降速表,点击的控制分三个阶段:1、启动2、运行3、刹车 所以需要修改run()这个程序,按这三部曲来做.

崇明县18446977887: 51单片机通过P3.0口接微动开关,控制电机停止 -
庾闵丽科: #include <reg51.h> sbit key1=P1^0; //接微动开关,微动开关是常开状态,微动开关一头串1K电阻接5V,一头接单片机P1.0端口 sbit moto=P1^2;// 接MOS管,控制电机负极 void main() { moto= 1;//电机启动while(1) { if(key1==1) moto=0; //如果微动开关关闭,电机停止 if(key1==0) moto=1; //如果微动开关开启,电机启动 } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网