Motortest ohne Transmitter oder Joystick

w.meng

Neuer Benutzer
#1
Hallo, ich mache grade einen Projekt über Quadkopter. Mein Ziel ist einen Quadkopter gesteuert mit Smartphone App anzubauen. Der Motor ist mit ein 20A ESC verbunden. Während Bruschless Motor Test(ich bin grade angefangen), habe ich Schwerigkeiten, um den Motor zu drehen, weil ESC anfordert ein höchst Wert ich kein Joystick oder Funkgerät dabei. Ich benutzt jetzt ein Arduino Pro Mini 5V, und habe ich einige Programm online gefunden, die aller mit Analog Input zu tun.

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}



Meine Frage ist, ist es möglich, ein Programm mit Servo Library zu schreiben, ohne reeller Sender oder Joystick, um Motortest zu führen? Oder braucht man unbedingt ein Hardware?

Danke Sehr
 

aargau

Erfahrener Benutzer
#2
myservo.write(val);
in dem du hier val mit einem wert zwischen 0 und 180 ersetzt (0=0% 180 = 100%).
Aber Achtung! Mach sowas NIE mit einem Propeller wenn du nicht genau weisst was du da tust!
Die meisten ESC verlangen beim initialisieren ein 0pwm Signal. Du musst also ein paar Sekunden 0% ausgeben bevor du den Motor beschläunigst.
 

w.meng

Neuer Benutzer
#3
#include <Servo.h>

Servo esc;

void setup()
{
esc.attach(9);
}

void loop()
{
int throttle_high = 180;
int throttle_low = 0;
esc.write(throttle_high);
delay(5000);
esc.write(throttle_low);
delay(10000);
}


Das ist was ich geschrieben habe, aber nichts passiert.
 

aargau

Erfahrener Benutzer
#5
Ohne es jetzt getestet zu haben, aber so wie du das gerade machst, müsstest du den ESC neu Kalibrieren, da du ihm ja zuerst 100% (ca 2000uS) gibst und danach erst 0% (ca. 1000uS). Müsstest du das nicht genau drehen?
Am besten einfach mal mit einem Servo testen, da passier sicher nichts falsches und du siehst auch genau, was dein Programm macht. Beim ESC könnte es daran liegen, dass er eben genau dieses Signal will zum initialisieren und nicht das etc.
 
FPV1

Banggood

Oben Unten