一.硬件准备
Arduino pro mini,FT232RL,3S电池,好盈Skywalker20A电调,无刷电机
二.实验步骤
1.将代码通过FT232RL上传至Arduino中(代码见附录);
2.将电调BEC输出的电源线接到Arduino的Vcc上,地线接到Arduino 的GND上,信号线接到Arduino的9号引脚上,并将电机与电调连接起来。
3.用3S电池给电调上电,此时Arduino中的程序开始运行,依次进行油门行程设定、电机启动与电机保持一定转速转动。
附录
void setup(){
pinMode(9,OUTPUT);//选取9号引脚接电调信号线
/*油门行程校准(i<=1000时,整个循环用时3-4秒)*/
//该循环运行时会伴有“哔-哔-”油门最高点确认音
for(int i=0;i<=1000;i++){
digitalWrite(9,HIGH);
delayMicroseconds(2000);//高电平持续2000微秒(油门最高点)
digitalWrite(9,LOW);
delayMicroseconds(18000);}
//该循环运行时会伴有N声短鸣声(表示锂电池节数)和“哔-”油门最低点确认音
for(int i=0;i<=1000;i++){
digitalWrite(9,HIGH);
delayMicroseconds(1000);//高电平持续1000微秒(油门最低点)
digitalWrite(9,LOW);
delayMicroseconds(19000);
}
/*现在可以加大高电平持续时间,即加大油门,实现电机的启动 */
//该循环运行的时间即电机低速转动的时间,进一步证明了i<=1000时,整个循环用时3-4秒
for(int i=0;i<=1000;i++){
digitalWrite(9,HIGH);
delayMicroseconds(1100);//油门1100
digitalWrite(9,LOW);
delayMicroseconds(18900);
}
}
//loop()函数使油门保持在1200
void loop(){
for(int i=0;i<=1000;i++){
digitalWrite(9,HIGH);
delayMicroseconds(1200);
digitalWrite(9,LOW);
delayMicroseconds(18800);
}
}