Projekt - automatisches Einziehlandegestell

Status
Nicht offen für weitere Antworten.

-Frank-

Nach oben ist immer gut.
#22
Das sieht auch sehr interessant aus. Daten wären interessant. Ich hab auf der Seite nix gefunden, zwecks Gewicht und so. Wobei 40 euro an der Schmerzgrenze wären. Dazu kommt ja noch der Sensor, das Board und n bissel Carbon inlc. Gehirnschmalz des Programmierers :) :)
Man müsste sehen, ob die HK Dinger nach dem Signal voll durchziehen. Oder nur solange Spannung am "Servo" anliegt, die Dinger sich bewegen. Denn dann könnnte man übers Board eine gewisse Zeit nur den Digitalpin aktiv schalten. Und zwar so lange bis die gewünschte Stellung des Landegestells erreicht ist. Ich bilde mir ein (und hoffe), das ein Schneckengetriebe verbaut ist und bei einer "schrägen" Stellung des Landegestells das Gewicht des Copters die Beine nicht "absacken" läßt.

Ich hab mir mal den original SRF 05 bestellt. Der geht bis 4 meter. Diese Äquivalentdinger aus dem Land des Lächelns bringen nur bis zu 0,5 meter. Das erscheint mir zu wenig, vor allem beim landen, wenn man doch mal ´n bissel hoch und runter dabei schwebt.
 
Zuletzt bearbeitet:

-Frank-

Nach oben ist immer gut.
#23
So, das Nanoboard ist da. Der Sensor ist da und die Software ist auch programmiert. Was fehlt sind die Motoren. Zum Test hatte ich eine LED ans Board angeschlossen und den ganzen Tag laufen lassen. Entfernung habe ich bei 1,5m eingestellt. Jedesmal wenn was vorbei kam, ging die LED an.
Nun stellt sich die Frage, wie die Motoren funktionieren. Brauchen die einen Impuls zum arbeiten oder fahren die bei Spannung los und wenn Spannung weg ist, wieder in Ausgangsposition? Wenn das so ist, muss die Software umprogrammiert werden.
 

hexacop

Erfahrener Benutzer
#24
Die Servomotoren für Einziehfahrwerke funktionieren wie jedes andere Servo auch, über PWM Signal.
Nur solltest du die mit eigener Stromversorgung versehen und nicht versuchen sie über das Nanoboard zu versorgen.
Also rur Signal + Minus ans Board, die Plus 5-6V aus einer eigenen Stromversorgung nehmen.
 

-Frank-

Nach oben ist immer gut.
#25
Alles klar. Zieht der Servo dann permanent Strom oder nur dann, wenn er ein Signal bekommt und arbeitet? Ich nehm den Strom dann aus der Gimbalversorgung. Die läuft ja auf 5-6V.
 

hexacop

Erfahrener Benutzer
#26
Das kommt auf den Typ drauf an, die meisten günstigen ziehen auch im Stand etwas Strom, am besten vorher mal messen dann bist du auf der sicheren Seite...
 

-Frank-

Nach oben ist immer gut.
#27
So, hab heute die Retracts bekommen. Gleich mal eine experimentelle Verdratung auf dem Tisch gebastelt und getestet. Nichts . . . Hat schonmal jemand Servos an einem Arduino angeschlossen und auch zum laufen bekommen? Wäre dankbar für Tipps. Hier mal der Sketch den ich zur Zeit nutze:

#define echoPin 3 //Pin für Sensor
#define trigPin 2 //Pin für Sensor

void setup(){
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
}

void loop(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int distance = pulseIn(echoPin, HIGH);
distance= distance/58; //Distance in Centimeter

delay(10);
}
 

-Frank-

Nach oben ist immer gut.
#28
So, ich hab erstmal fachmännisch die Retracts zerschossen. Aber das hat auch sein Vorteil. Ich werde die Elektronik raus reißen und die Motore direkt mit einer Diodenbrücke für Rechts/Linkslauf ansteuern.
Vorteil, ich kann die Geschwindigkeit der Motore angeben und vor allem wie lange und damit den Winkel der Landefüße festlegen. Nachteil, die müssen syncron laufen was ich von den Chinamotoren nicht erwarte.
Vielleicht nutze ich noch die Endschalter von den Retracts. Dann ist aber der Endpunkt durch den Schalter bestimmt und nicht durch die Software. Na mal schaun.
 
#29
Hallo,
weisst du warum die Retracts den Geist aufgegeben haben?

Bin Momentan auch an einem Einziehlandegestell, habe mir auch die 90° Variante genommen, werde aber alles in einem 10-15° Winkel montieren.
Vorteil ist bei den Teilen, dass wenn man mal welche zerstört, es nicht so teuer wird
 

-Frank-

Nach oben ist immer gut.
#30
Ja, ich habe bei den Retracts eine falsche Betriebsspannung angelegt. Nun nutze ich nur noch die Mechanik und die Motore. Ich warte z.Zt. auf ein paar Dioden. Dann kann ich weiter machen.
 
#32
Also einen funktionierenden Code für Fahrwerk über Ultraschall habe ich mal erstellt.
Die Retracts werden wie ein Servo angesteuert.

Ist mit Mittelwertfilter aus 5 Messungen, weil sich doch der ein oder andere falsche Wert verirrt hat.

#define trigPin 11
#define echoPin 12

#include <Servo.h>
Servo myservo;

const int anzahlMessungen = 5; // Mittelwert wird aus 3 Werten gebildet
int messungen[anzahlMessungen]; // Array fuer Messwerte
int zeiger = 0; // Zeiger des aktuellen Messwerts
int gesamtSumme = 0; // aktueller Gesamtwert
int durchschnitt = 0; // Mittelwert
int dieseMessung = 0; // aktueller Messwert
boolean status = 0; // Flag fuer ersten Durchlauf
int distance;



void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(5);
}

void loop()
{

long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;

//Filter

gesamtSumme = gesamtSumme - messungen[zeiger]; // substrahiere letzte Messung
messungen[zeiger] = distance; // lese Sensor
gesamtSumme = gesamtSumme + messungen[zeiger]; // addiere Wert zur Summe
zeiger = zeiger + 1; // zur naechsten Position im Array
if (zeiger >= anzahlMessungen) // wenn Ende des Arrays erreicht ... zurueck zum Anfang
{
if (status == 1) // wenn Array erstmalig aufgefuellt ...
{
Serial.print("Durchschnitt: ");
Serial.println(durchschnitt); // geglaettete Ausgabe auf serieller Konsole
}
status = 1; // erste 3 Werte eingelesen, Array ist gefüllt, Status geaendert
zeiger = 0; // und wieder von vorn
}
durchschnitt = gesamtSumme / anzahlMessungen; // berechne Mittelwert



if (durchschnitt < 150)
{
myservo.writeMicroseconds(1000);
}
else {
myservo.writeMicroseconds(2000);
}
if (distance >= 150 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}



delay(300);
}
 
#33
also ich progge auch arduino. so wie du es macht ist es glaub ich falsch.

Erstelle dir eine Formel von z.B. 0...100% für den Servoweg. Dann ruftst du ständig die "Servofunktion auf" den die Prozent in PWM umrechnet. Das kannste theoretisch 1000 pro Sekunde machen (macht aber keinen Sinn).
Vorteil ist, dass du mehrere Punkte anfahren kannst und somit auch die Drehgeschwindigkeit definieren.

Jetzt hast du ja nur die Endpunkte und das sieht beim Umschalten bestimmt doof aus.

Bei Arduino gibt es genügend Beispiele dafür. Sogar in der Beispiel-Lib ist das schon mit drinn.

Bis dann............
 
#34
Hallo, normale Servos und HK Retracts sind sehr unterschiedlich.
Die Retracts sind eigentl keine Servos, sondern Motoren die eine Linearbewegung ausführen mit 2 Endschaltern, können also nur 2 Punkte anfahren (0° und 90° = 1000 bzw 2000) und fahren auch schon sehr langsam aus.

Deine vorgeschlagene Variante kenne ich auch, macht dabei aber kaum einen Sinn, möglich wäre nur, die Retracts noch langsamer auszufahren.
Daher hab ich das Ganze so stark vereinfacht.
 

-Frank-

Nach oben ist immer gut.
#36
Nun, ich hab mir überlegt das ganze über das motorshield zu steuern. Denn da kann man ja direkt zwei "Servos" anschließen. Doch wie sieht es aus, wenn das Shield drauf steckt? Ist es noch möglich den USsensor zu nutzen?
 
#37
Das Motorshield nutzt ja nicht alle Pins, da müssten auf jeden Fall noch Digital Pins frei sein.

Musst du einfach mal schauen, welche Pins am Shield für dessen Funktion belegt sind, steht sicherlich auch in einer Produktbeschreibung oder irgendwo im Netz. Der Rest ist dann frei für andere Sachen
 

-Frank-

Nach oben ist immer gut.
#38
Das werd ich dann mal testen. Ich warte noch auf meine neuen Retracts. Ich benötige noch zwei Digitalpins für den Sensor. Mit einer anderen Beschaltung eigentlich dann nur noch einen Pin. Aber ich mag erstmal noch die Version mit zwei Pins nutzen. Naja, dann noch plus und minus.
Funktioniert dein Sketch, hast den schon getestet?
 

Ecstacy

Erfahrener Benutzer
#39
Nun, ich will mir ein klappbares Landegestell bauen. Ein Konzept habe ich auch schon, was sich anscheinend bei anderen Usern bewährt hat. Was ich aber noch gern hätte, ist, das sich das Landegestell ab ca. 1 - 2 meter von selbst aus- und einfährt. Nun das große Problem, realisieren würde ich das villeicht mit einem Annäherungssensor per Ultraschall. Die Googlesuche hat natürlich auch etwas ausgespuckt. Aber um die 400 Euro wollte ich eigendlich nicht dafür ausgeben. Gibt es da nichts preiswerteres? :)
Ansonsten müsste ich auf den guten alten Kippschalter meiner Fernsteuerung zurück greifen, die mit freien Kanälen schon extrem begrenzt ist ^^
Warum so kompliziert? Ich habe bei meiner Jeti DC-16 eine simple Sequenz programmiert, die ab einer bestimmten Flughöhe (Telemetriedaten) das Landegestell automatisch ein- bzw. ausfährt... ;)
 
#40
Es wird wahrscheinlich noch viele andere Möglichkeiten zur Umsetzung geben.
Habe es einfach mal so umgesetzt, weil die Rahmenbedingungen, Flightcontrol, Funke, etc nicht so einen großen Spielraum für andere Lösungen gegeben haben, vllt bin ich auch einfach nicht drauf gekommen :D
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten