关于pwm控制直流马达转速的问题。

我想用单片机的IO端口模拟pwm波对电机进行控制。我知道pwm波的占空比可以控制马达转动的快慢,占空比越高马达转得越快。我想问的是:那么pwm波的频率对电机有什么影响呢?... 我想用单片机的IO端口模拟pwm波对电机进行控制。
我知道pwm波的占空比可以控制马达转动的快慢,占空比越高马达转得越快。
我想问的是:那么pwm波的频率对电机有什么影响呢?一般选多大比较合适?怎么选的?
展开
 我来答
亿昇科技 2023-08-25
展开全部
要让电机转动起来,控制部就必须根据Hall-sensor感应到的电机转子所在位置,然后依照定子绕线决定开启(或关闭)换流器(Inverter)中功率晶体管的顺序,使电流依序流经电机线圈产生顺向(或逆向)旋转磁场,并与转子的磁铁相互作用,如此就能使电机顺时/逆时转动。当电机转子转动到Hall-sensor感应出另一组信号的位置时,控制部又再开启下一组功率晶体管,如此循环电机就可以依同一方向继续转动直到控制部决定要电机转子停止则关闭功率晶体管(或只开下臂功率晶体管);要电机转子反向则功率晶体管开启顺序相反。想了解更多相关信息,可以咨询亿昇(…
lizarazuqq
推荐于2016-01-27 · TA获得超过166个赞
知道答主
回答量:58
采纳率:0%
帮助的人:95.8万
展开全部
PWM的频率一般选在25Khz左右,低于20Khz会产生人耳可辨的电磁音,在1K左右时噪音会非常大,这个你可以试验感受一下;另一方面,频率过高会导致驱动电路的动态功耗的上升,在大电流应用下,寿命、效率、可靠性都会有影响,要综合考虑;一般来说绝大多数小型直流电机的PWM频率都在25K附近。
亿昇科技
2023-06-12 广告
电机(英文:Electric machinery,俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。电机在电路中是用字母M(旧标准用D)表示,它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源,发电机在电路中用字母G... 点击进入详情页
本回答由亿昇科技提供
百度网友58e74f7
2011-07-24
知道答主
回答量:51
采纳率:0%
帮助的人:22.2万
展开全部
/*------------------------------------
说明:此函数可以用INTO、INT1口以中断
的方式控制直流电机的转速。安一次INTO
则以中断的方式增加速度25%。安一次INT1
则以中断的方式减少速度25%。程序初始化
过后(刚启动时)速度最大。
相关参数:P1_0引脚为控制PWM引脚
INTO中断方式以下降沿触发
INT1中断方式以下降沿触发
------------------------------------*/
#include"reg51.h"
unsigned char c=-50;//这里可以设置起始速度--- c=-50为最大起始速度即PWM=100%;c=-25则PWM=75%;c=0则PWM=50%;c=25则PWM=25%;c=50则PWM=0%
void delay(unsigned char a);//调整占空比PWM的延时函数
void delayA(unsigned char a);//去抖延时函数
sbit P1_0=P1^0;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
void main()
{ unsigned char a,b;
EA=1;
IT0=1;
EX0=1;
IT1=1;
EX1=1;
while(1)
{if(c!=50)
{
a=50+c;//设置比例参数
b=50-c;//设置比例参数
P1_0=1;
delay(a);//停止时间比例
P1_0=0;
delay(b);//工作时间比例
}
else
P1_0=1;
}
}
void int_0() interrupt 0//增加速度
{
delayA(100);//防抖延时函数
if(P3_2==0)
{
if(c!=-50)
{
EA=0;
c=c-25;//减少c的值以增加占空比
EA=1;
delay(200);
}
}
}
void int_1() interrupt 2//减少速度
{
delayA(100);//防抖延时函数
if(P3_3==0)
{
if(c!=50)
{
EA=0;
c=c+25;//增加c的值以减少占空比
EA=1;
delay(200);
}
}
}
void delay(unsigned char a)//调整占空比PWM的延时函数
{
unsigned char i;
TMOD=0x20;
TL1=0xB0;
TH1=0xB0;
for(i=0;i<a;i++)
{
TR1=1;
while(!TF1);
TF1=0;
}
}
void delayA(unsigned char a)//去抖延时函数
{
unsigned char i;
TMOD=0x20;
TL1=0x38;
TH1=0x38;
for(i=0;i<a;i++)
{
TR1=1;
while(!TF1);
TF1=0;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伟大还神勇的东青Q
2011-07-24
知道答主
回答量:10
采纳率:0%
帮助的人:12.5万
展开全部
实际影响马达转速的是加在马达两端的平均电压。平均电压V1=占空比*V2,V2指的是PWM波的幅值。PWM波的频率越大,周期就越短。
从上述公式可以看出,频率对马达的转速并没有决定性的影响,起关键作用的是占空比的值。要想调节马达的转速,只需调节占空比即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式