pwm波控制无刷电机-Arduino中文社区 - Powered by Discuz! Archiver

小小 发表于 2015-3-13 21:43

pwm波控制无刷电机

pwm波控制无刷电机的频一般选取50-100Hz,高电平时间在1.5ms-2.0ms之间调节油门0-100,但是arduino的PWM发生函数analogWrite(pin,vale),输出的频率为490Hz,不能控制无刷电机,请问我应该在哪找到源程序并修改,或者怎样再写一个频率为50HZ的占空比可调且在5%-10%之间调节精度高的程序???

太阳宝宝 发表于 2015-6-22 12:21

我也想问的

Hackerpro 发表于 2015-7-8 21:12

可以看看MWC的飞控怎么做的

MWSHT 发表于 2015-7-25 17:08

用Servo库和FlexiTimer2库

wdy8841693 发表于 2015-10-23 14:16

http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9595&highlight=PWM%C6%B5%C2%CA来这看看:D

3122033 发表于 2016-8-2 17:04


你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com

3122033 发表于 2016-8-2 17:04


你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com

fg0711 发表于 2017-9-3 21:14

用数字输出口模拟pwm波,我刚调通新西达的电调。

int sp1=8;
int val=255;

void setup()
{
pinMode(sp1,OUTPUT);
Serial.begin(9600);
}

int sc(int pin,int mc,int jg){
digitalWrite(pin, HIGH);
delayMicroseconds(mc);
digitalWrite(pin, LOW);
delayMicroseconds(jg - mc);
}

void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数
{
while (Serial.available() > 0)
{
    //strTemp = Serial.readString();
    val=Serial.parseInt();
    Serial.println(val);
}

if(val==1){
    sc(sp1,1000,10000);
}else if(val==2){
    sc(sp1,2000,10000);
}else if(val!=1 && val!=2 && val>0){
    sc(sp1,val,10000);
}

delay(50);
}

小鸡乖乖9 发表于 2017-9-13 01:31

我也问了很多地方,,其实说难不难,,
就是使用了SERVO库里面的函数,
但是和电调有很大的关系 ,
双向电调还是单向
比如180这个数值,0-90是一个方向,90-180一个方向,这是双向电调的,,

tony_uno 发表于 2017-9-19 09:16

490Hz 可以直接用吧,电调应该可以认得出,模拟舵机应该不行。
页: [1]
查看完整版本: pwm波控制无刷电机