求助:用arduino控制无刷电机的问题
这个程序用电位器控制无刷电机转速,实验中为电机什么唧唧响,不转,,求大神帮助#include <Servo.h>
Servo myservo;
int potpin = A0;
int val;
void setup()
{
myservo.attach(9,1000,2000);
delay(2500);
myservo.writeMicroseconds(1000);
delay(2000);
}
void loop()
{
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 179);
myservo.write(val);
delay(15);
} 电压太小了吧 你确定了解无刷电机?无刷电机与舵机,有刷电机区别很大,控制较为复杂。靠上面的几句程序别指望能让无刷电机转动。 用arduino里面的舵机控制函数试试看
要带电调的哦 对 要加电调还要编一个 PWM 的函数当然使arduino 本身的 analogwrite 也可以 micro_听海 发表于 2012-11-18 17:14 static/image/common/back.gif
你确定了解无刷电机?无刷电机与舵机,有刷电机区别很大,控制较为复杂。靠上面的几句程序别指望能让无刷电 ...
楼主没说清楚,他用了无刷电调,信号和控制舵机的一样。
几句程序有什么问题,主要内容都包括在库里了,servo库有几千行代码,还不够驱动无刷? 小政哥 发表于 2013-1-12 12:19 static/image/common/back.gif
用arduino里面的舵机控制函数试试看
本来就是用了舵机控制函数:
#include <Servo.h>
Servo myservo;
我来告诉楼主什么问题:
99%的无刷电调,接电后都会先检测油门信号,如果不是0的话就不会正常启动电机,而是唧唧响报警。
所以,setup那里应该给出一个0.5ms/20ms的PWM信号,延迟几秒,让电调检测。 拨一下试试 laji3865689 发表于 2013-3-16 07:45 static/image/common/back.gif
我来告诉楼主什么问题:
99%的无刷电调,接电后都会先检测油门信号,如果不是0的话就不会正常启动电机,而 ...
myservo.writeMicroseconds(500);
delay(5000);
这样对吧? 这方面,用arduino控制无刷电机我已近做出来了。用Servo.h库可以控制。9楼的说的对,电调是要自检的,只有通过了才能控制无刷电机,好盈的电调是可以编程的,你可以写一个自检的程序来初始化电调,也可以用用模拟口读取电位器的阻值来模拟航模遥控器
控制电调的步骤是:
(1)初始化:如控制舵机一样调节脉宽为20ms,即控制舵机角度为180°,此时电机会发出一声响
(2)再调节脉宽为0ms,电机此时再次响一声;
(3)此时电调的初始化完成了;调节电位器,即可调节无刷电机的转速了
希望能给你帮助。
初始化程序也可以问我要QQ:932500391。我想做4轴飞控,正在努力研究中!!!
呵呵
myservo.attach(9,1000,2000); 这个表示什么意思,为什么要有个1000,2000
delay(2500); 为什么延时这么长时间
myservo.writeMicroseconds(1000); 这个又是什么意思
delay(2000); 为什么还有延时这么长的时间
问题出在
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 179);
你是在读电位器A0数值来控制无刷给入量的
将它注释掉,直接写 val =100;或其他数值
就可以了
页:
[1]
2