MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

icon
Avatar
tcane
Posts: 7
Hallo,

Wie bereits in einem anderen Thread (bereits solved) geschrieben, funktioniert der Servo nicht bei mir. Ich weiß nicht, ob das jetzt speziell an diesem liegt oder ein allgemeines Servoprogrammproblem ist. Im Arduino und dem dazugehörigen Beispiel Sketch funktioniert der Servo ohne Probleme (Somit ist ein Anschlussfehler ausgeschlossen). Die Anleitung wie im Tutorial habe ich ganz genau befolgt, doch leider tut sich im Display wenn ich auf Test gehen nichts.

Jemand ne Idee, woran das liegen könnte?

Viele Grüße
Florian
2017-09-08 19:52
Avatar
tcane
Posts: 7
Ich sollte jetzt noch dazu sagen, dass ich dies mit einem Arduino UNO probiert hatte.
Gerade eben mal mit einem Mega 2560 V3 probiert und der Servo hat sich immerhin bewegt. Allerdings fährt, sobald man auf Stop drückt, der Servo soweit zurück bis es nicht mehr geht und will weiter. Hab dann den PIN gezogen bevor mir der Servomotor durchgeschmort ist. Gibts dafür irgend eine Einstellung um das zu verhindern? Und warum ging das nicht am UNO?
2017-09-08 23:17
Avatar
StephanHo
From: EDDG, Germany
Posts: 1867
Supporter
Hi Florian,

konkret zu deinem Servoproblem kann ich dir leider nicht helfen.

Hinsichtlich des UNO solltest du wissen, daß der UNO bzw. die Firmware für den UNO experimental ist, soll heißen, noch mit reichlich Fehlern versehen, was zu unkontrollierbaren Abstürzen bzw. Aussetzern führt. Daher wird hier immer empfohlen NUR mit dem MEGA ernsthaft zu arbeiten.
Die Firmware des MEGA ist stabil.
Grüße,
Stephan (Time: UTC+2)
2017-09-08 23:27
Avatar
tcane
Posts: 7
Hallo Stephan,
Danke für deine Antwort!

Du hattest recht. Der Nano läuft scheinbar noch nicht damit. Am Arduino Mega habe ich kein Problem mit den Servos. Allerdings blicke ich bei dem ganzen Thema mit den Servos und Mobiflight noch nicht ganz durch. Ich habe mir eine Brake Pressure Gauge gebaut und dort jeweils drei Servos verbaut. Die Offsets von Jeehell dafür sind:
73A9 Lengths Byte 1 Triple Brake Indicator ACCU Pressure (0-255)
73A8 Lengths Byte 1 Triple Brake Indicator Left Brake (0-255)
73A7 Lengths Byte 1 Triple Brake Indicator Right Brake (0-255)

Die Offset werden soweit ausgelesen, dass funktioniert also schon mal.
Mein Problem ist, dass die Servos teilweise verkehrt herum eingebaut sind und sozusagen in andere Richtungen fahren müssen und auch nicht von der Standart Null Position starten dürfen, da diese sozusagen über den Bereich gehen würde und mir die Nadel sonst abbricht.
Kann mir jemand verraten wie ich das umsetze? Meine Vermutung ist, dass ich irgendwas mit der Interpolation machen muss. Aber was und welche Werte geb ich dort ein? Bzw. wie kann ich die berechnen?

EDIT: Habs schon rausgefunden. Ich dachte die Werte 0-255 müssen genauso verwendet werden. Wenn ich erst ab ner bestimmten Startposition anfangen will kann man diesen Wert über den Display herausfinden und dann in der Interpolation verwenden. Also hatte ich herausgefunden, dass für ACC Press die Startposition erst bei 65 ist und in der Interpolation 0= 65 angegeben. ;)
Hab mittlerweile auch rausgefunden, dass es mir wohl sämtlich Servos damals mit meiner OC Karte geschossen hat. Muss die jetzt erstmal alle austauschen. Eventuell war auch das das Problem, warum das mit dem Nano nicht gegangen ist. Verwende aber trotzdem jetzt erstmal den Mega.
Danke trotzdem für die Hilfe und Grüße
Florian
[Last edited by tcane, 2017-09-09 23:19]
2017-09-09 21:17
Avatar
StephanHo
From: EDDG, Germany
Posts: 1867
Supporter
Hi Florian,

vielen Dank für deine Rückmeldung und die Erläuterungen dazu.
Grüße,
Stephan (Time: UTC+2)
2017-09-09 23:58
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Hi Jungs

Grundsätzlich zum Arduino.
wie Stephan sagt.... 100% Support gibt es mit dem Mega.... Der UNO "war" im Test Stadium und Sebastian hatte gehofft das die aktuelle Firmware mit einigen wenigen änderungen auch mit dem Uno läuft... DAS tut sie aber an einigen stellen offenbar nicht.
Ich weis nicht ob er immer noch an der Sache drann ist.... Es war aber mal ein Punkt erreicht andem er selber meinte es macht eigentlich keinen Sinn einen "minderwertigen" Controller mit Gewalt zu integrieren und hunderte Stunden Arbeit zu investieren wenn der wesentlich bessere MEGA bereits funktioniert.
Mein Fazit: Benutzt einen Mega.... Finger Weg von Uno, Nano und wie sie alle heisen..... Wir wollen alle Neue features.... Sowas wie das LCD konnte aber nur realisiert werden weil Sebastian seine kostbare Zeit nicht in den UNO verschwendet hat. Denke uns allen ist mehr geholfen wenn er auch in Zukunft an neuen Sachen arbeitet und wir alle schlicht auf Megas umsteigen !

Zum Servo in kurzen Worten.....

Der Wert den wir aus dem Offset holen ist sozusagen der ROH Input Wert.
Die Einstellung im Servo Setting bestimmt wie der Servo ansich arbeitet.
Angenommen dein Input Wert hat eine Range von 0-255 und du verwendest bei Servo Setting was anderes wie z.b 0-180 dann hast du ein Problem..... Sobald der Inputwert größer als 180 ist würde der Servo versuchen über die Grenze zu drehen und geht kaputt.

Also OHNE Interpolation musst du immer sicherstellen das der Servo als Wert die Gleiche Range hat wie der Offset !

Benutzt du nun Interpolation dann ist der Servo Wert "frei". Er verwendet ja jetzt nicht mehr den ROH Input sondern den Interpolation Wert.
Du kannst in deinen Beipiel also sagen Roh ist weiterhin 0-255 aber servo ist jetzt dumm gesagt 666-12345 ( Völlig Egal)
Wichtig ist jetzt nur, das du in der Interpolation dem System genau sagst WAS der Unterste Wert des Inputs (0) an den servo Ausgibt...... Und den Obersten Wert ebenso.
Dies ist für eine lineare Anzeige.... Ist die Anzeige NICHT linear dann musst du auch die Zwischenstufen interpolieren.

PS. Für eine "Umkehrung" verwendet man ebenfalls die Interpolation.
Angenommen Wert ist wieder 0-255 .... Dann nimmst bei Servo ebenfalls 0-255 . Sagst aber in der Interpolation " 0=255 und 255=0 " Und schon läuft er rückwärts.
Good Luck !
2017-09-10 15:35
icon