pwm波控制无刷电机
pwm波控制无刷电机的频一般选取50-100Hz,高电平时间在1.5ms-2.0ms之间调节油门0-100,但是arduino的PWM发生函数analogWrite(pin,vale),输出的频率为490Hz,不能控制无刷电机,请问我应该在哪找到源程序并修改,或者怎样再写一个频率为50HZ的占空比可调且在5%-10%之间调节精度高的程序???我也想问的 可以看看MWC的飞控怎么做的 用Servo库和FlexiTimer2库 http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9595&highlight=PWM%C6%B5%C2%CA来这看看:D
你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com
你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com 用数字输出口模拟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);
} 我也问了很多地方,,其实说难不难,,
就是使用了SERVO库里面的函数,
但是和电调有很大的关系 ,
双向电调还是单向
比如180这个数值,0-90是一个方向,90-180一个方向,这是双向电调的,,
490Hz 可以直接用吧,电调应该可以认得出,模拟舵机应该不行。
页:
[1]