㈠ 用单片机控制直流电机调速的原理,思路,设计图等等
你为什么要补充说不报什么希望呢?心巴凉巴凉~
不知道你为什么会问这个问题,直流电机调速基本原理是比较简单的(相对于交流电机),只要改变电机的电压就可以改变转速了。
改变电压的方法很多,最常见的一定是PWM脉宽调制,调节电机的输入占空比就可以控制电机的平均电压,控制转速。
电机调速一般分为三个级,控制级,驱动级和反馈级。
单片机属于前端的控制级,只需要能够产生可调的PWM波形就可以(很多单片机都有专用PWM输出功能,有定时器就能做到)。
驱动级,在控制级后。因为单片机弱电不能直接驱动电机这样的强电,所以需要用功率开关器件(如MOSFET等)来驱动电机。基本思路就是通过弱点控制强电。
通常,驱动级和控制级还需要电气隔离(光耦器件)保证安全。
反馈级是为了实现精确调速的。一般是电流反馈,也有用转速反馈的,也有电流转速双闭环反馈控制的。
PWM输出的占空比具体是多少由单片机通过反馈的信息综合运算得到(是负反馈控制)。
基本思路如上,具体的原理图要看你具体的电机(类型不同,输入电压不同,功率不同原理图各异)。
希望没让你失望,心还是心巴凉巴凉的~呵呵
㈡ 51单片机pwm直流电机怎么实现调速和正反转
如果要正反转控制,驱动电路做个全桥的,控制占空比。50%的话就停止了!
㈢ 单片机直流电机调速系统的设计
单片机控制的直流电机调速系统
摘要:本文采用AT89C52作为主控芯片,设计了一种直流电机高速系统。AT89C52产生单极性工作制的定频PWM脉冲,配合驱动能力强大的L298,从而实现控制和调整直流电机转速和转向的功能。利用软件编程,能够设置多个占空比不同的脉冲,使得电机转速可以逐步增大或减小,同时在LCD上显示电机的工作状态,易于观察和识别。本设计主要由电机调速控制模块和LCD显示模块组成,具有电路简单,可靠性高,运行稳定的特点,是对于小型直流电机调速装置的一种探究。
关键词:AT89C52 定频PWM LCD 直流电机
目 录
1 绪论... 1
2 方案设计... 1
2.1 功能要求... 1
2.2 方案论证... 1
3 系统硬件的设计... 3
3.1 电机调速控制模块... 3
3.2 LCD显示模块... 6
3.3 硬件设计总原理图... 11
4 系统软件的设计... 12
4.1 主程序... 12
5 调试及性能分析... 14
5.1 调试与测试... 14
6 结论... 15
7 致谢... 15
参考文献... 17
附录... 18
㈣ 单片机 电机 调速
如果你的P口不做别的功能的话,可以用P1口来接按键咯
如果按键少,就直接接吧
查询方式就是定时的去查询是否有键按下,比如你接了P1.0
就可以定时去看看p1.0的值,可以判断是否有键按下
如果有键按下了,你可以跳转到一个地方去处理按键
㈤ 基于单片机的pwm小功率直流电机调速
直流调速器就是调节直流电动机速度的设备,上端和交流电源连接,下端和直流电动机连接,直流调速器将交流电转化成两路输出直流电源,一路输入给直流电机砺磁(定子),一路输入给直流电机电枢(转子),直流调速器通过控制电枢直流电压来调节直流电动机转速。同时直流电动机给调速器一个反馈电流,调速器根据反馈电流来判断直流电机的转速情况,必要时修正电枢电压输出,以此来再次调节电机的转速。
直流电机的调速方案一般有下列3种方式:
1、改变电枢电压;
2、改变激磁绕组电压;
3、改变电枢回路电阻。
使用单片机来控制直流电机的变速,一般采用调节电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。根据公式
U=aVCC
其中:U为电枢电压;a为脉冲的占空比(0<a<1);VCC直流电压源,这里为5V。
电动机的电枢电压受单片机输出脉冲控制,实现了利用脉冲宽度调制技术(PWM)进行直流电机的变速。
因为在H桥电路中,只有PWM1与PWM2电平互为相反时电机才能驱动,也就是PWM1与PWM2同为高电平或同为低电平时,都不能工作,所以上图中的实际脉冲宽度为B,
我们把PWM波的周期定为1ms,占空比分100级可调(每级级差为10%),这样定时器T0每0.01ms产生一次定时中断,每100次后进入下一个PWM波的周期。上图中,占空比是60%,即输出脉冲的为0.6ms,断开脉冲为0.4ms,这样电枢电压为5*60%=3V。
我们讨论的是可以正转反转的,如果只按一个方向转,我们就只要把PWM1置为高电平或低电平,只改变另一个PWM2电平的脉冲变化即可,,如下图(Q4导通,Q3闭合,电机只能顺时针调整转动速度)
C语言代码:
#include<AT89X52.h>
#define uchar unsigned char
#define uint unsigned int
sbit K5=P1^4;
sbit K6=P1^5;
sbit PWM1=P1^0;
sbit PWM2=P1^1;
sbit FMQ=P3^6;
uchar ZKB1,ZKB2;
void delaynms(uint aa)
{
uchar bb;
while(aa--)
{
for(bb=0;bb<115;bb++) //1ms基准延时程序
{
;
}
}
}
void delay500us(void)
{
int j;
for(j=0;j<57;j++)
{
;
}
}
void beep(void)
{
uchar t;
for(t=0;t<100;t++)
{
delay500us();
FMQ=!FMQ; //产生脉冲
}
FMQ=1; //关闭蜂鸣器
delaynms(300);
}
void main(void)
{
TR0=0; //关闭定时器0
TMOD=0x01; //定时器0,工作方式1
TH0=(65526-100)/256;
TL0=(65526-100)%256; //100us即0.01ms中断一次
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器T0
ZKB1=50; //占空比初值设定
ZKB2=50; //占空比初值设定
while(1)
{
if(!K5)
{
delaynms(15); //消抖
if(!K5) //确定按键按下
{
beep();
ZKB1++; //增加ZKB1
ZKB2=100-ZKB1; //相应的ZKB2就减少
}
}
if(!K6)
{
delaynms(15); //消抖
if(!K6) //确定按键按下
{
beep();
ZKB1--; //减少ZKB1
ZKB2=100-ZKB1; //相应的ZKB2增加
}
}
if(ZKB1>99)
ZKB1=1;
if(ZKB1<1)
ZKB1=99;
}
}
void time0(void) interrupt 1
{
static uchar N=0;
TH0=(65526-100)/256;
TL0=(65526-100)%256;
N++;
if(N>100)
N=0;
if(N<=ZKB1)
PWM1=0;
else
PWM1=1;
if(N<=ZKB2)
PWM2=0;
else
PWM2=1;
}
//显现:电机转速到最高后,也就是N为1或99时,再按一下,就变到99或1,
//电机反方向旋转以最高速度
㈥ 基于51单片机直流电机调速测速仿真原理
基于51单片机直流电机调速测速仿真原理是以STC90C52RC单片机为主控芯片,利用PWM的原理,通过按键对直流电机进行调速,实现正反转;采用霍尔传感器对直流电机的转动进行计数,并通过主控芯片将采集到的计数值转化为直流电机的当前速度值;利用LCD1602显示模块将计算得到的值进行实时显示。
㈦ 如何通过单片机遥控步进电机和调速
单片机本身没有遥控功能,可以扩展外部硬件的方式来实现功能,看你需要的是那一种遥控方式,可以扩展红外线,无线射频,WIFI,GPRS,等,然后这些模块是可以通过串口或是IIC的方式和单片机连接,写一段接收程序,就可以改变步进电机的速度快慢了,
㈧ 单片机可以直接接变频器然后变频器接电机,从而实现电机调速吗
单片机不能直接接变频器控制电机调速。
1、一般变频器接受模拟量调速信号,所以单片机需要经过DA转换将数字信号转换为模拟信号输入到变频器。
2、变频器干扰较大,即使可以接受脉冲信号调速,单片机也需要采取隔离措施,输出脉冲信号给变频器。
㈨ 51单片机实现pwm对电机调速
可以用一个定时器实现,也可以用两个定时器实现
一个定时器实现办法,如定时器定时50US中断一次,中断100次是5ms,即PWM的周期
每次中断,变量a加1,并且a与另一变量b比较,如果a<b,让某一管脚输出高电平,如果a>=b,则让其输出低电平,a等于100时清0,这样占空比是b/100,改变b的值,就可以改变占空比 缺点定时器定时时间不能太短,例如10us中断程序根本执行不完,若占空比调节精度要求较高,如要求百分之一,则a需大于100,这样PWM波的周期就比较大,频率比较低
两个定时器,如一个定时器0定时100us,另外一个定时器1定时小于100us,如b us
定时器0中断时输出高电平,并打开定时器1,定时器1负责置低电平
这样,就可以产生周期100us,占空比是b/100的方波
频率可以比用一个定时器高一些