MultiWii mit Graupner SUMD/SUMH und USB Joystick auf ProMicro

ernieift

Erfahrener Benutzer
#1
Hallo,
vor einiger Zeit habe ich eine Implementierung der digitale Graupnerprotokolle für Multiwii geschrieben. Auf Anregung von Lowbird mache ich hier ein Thema auf.
Beim GR-12 mit SUMD und GR-12SH+ mit SUMH kommt das Signal aus Kanal6 mit 115200 Baud. Die Protokolle sind bis auf kleine Abweichungen fast gleich. Der Anschluss benötigt also einen freien seriellen Port. Der Code baut auf den SPEKTRUM auf, so dass die Verkabelung für das jeweilige Board dort nachzulesen ist. Sicherer ist es aber die Graupnerempfänger mit 5V zu betreiben, da die meisten 3V3-Regler sehr klein sind und der GR-12 z.B. 70mA zieht.
Geflogen habe ich den Code auf zwei NanoWii- und einem MicroWii-Copter(n). Auf einem Arduino Mega und Nano mit angeschlossenen Empfänger läuft er auch.
Für die Version 2.1 habe ich die Baro-Fassung von Roberto (http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen) genommen. Ich denke er hat nichts dagegen. Die Änderungen sind ausschliesslich in der RX.ino, def.h und config.h. Aktivert wird der Code mit "#define GSUM" in der config.h.
Die Version 2.2 basiert auf der Standardfassung. Für die Protokolle sind wieder nur RX.ino, def.h und config.h angepasst.
Neu hier, und nur für Atmega32U4 Boards möglich, ist die Ausgabe der Servowege und der Checkboxes als USB-Joystick. Damit kann man seinem Copter per USB an den Rechner anschliessen und mit einem Flugsimulator und der Funke üben. Dafür braucht es ein Leonardo basierendes Board, ein neues Board in der Ardunio-IDE (LeoJoy) und zum Aktiveren "#define RCstick". Der RCstick läuft auch mit allen anderen Empfängern oder Protokollen. Die Joystick-Emulation steckt zwar noch in den Kinderschuhen, läuft bei mir aber schon seid Wochen auf 2 Nanowii Coptern ohne Probleme.

Wichtig für GR-12 Nutzer: das Protokoll sollte SUMDFS08 sein. Damit ist Failsafe voreingestellt und die Kanäle auf 8 festgelegt. Für GR-12SH+ o.ä. genügt es SUMH zu aktivieren.

so das war's erst mal. Bis dann
ernie of infect
 

Anhänge

Erhaltene "Gefällt mir": Lowbird
#2
Danke dir Jörg das du dir doch noch die Mühe gemacht hast und das ganze implementiert hast.
So kann ich nun meinen kleinen Heizquad statt mit dem GR-16 mit dem GR-12SC+ betreiben.

Hier noch ein Bild aus dem Fred von ernie of infect, das zeigt den Anschluß an eine Nanowii:




wer das ganze an einem Arduino betreiben möchte (so wie ich), sollte den Signalpin des kleinen am RX-pin des Arduinos anschließen:

Btw, da der GR12 gut mit 5V läuft, habe ich die Spannung direkt von einem der ESC genommen. Er soll wohl auch mit 3,3V laufen.

LG Chris
 

Anhänge

ernieift

Erfahrener Benutzer
#3
Hi,
ich habe mal eben in den aktuellen Multiwii-Source gesehen und festgestellt, dass sich in Sachen SUMD/SUMH überhaupt nichts getan hat. Schade eigentlich. Zumal SUMD auf der Wishlist steht. Naja wenigstens in der Haraki ist es wohl drin.
Ich selbst habe meinen grossen Copter auf Quanton umgebaut. Meine Kleinen fliegen noch mit der 2.2er und bleiben auch dabei. Mir fehlt die Muße mich darum weiter zu kümmern. Beim Quanton gibt es genug zu coden.
Wenn man bei jeder Release von MWC Hand anlegen muss, verliert man ja die Lust.
bis dahin
ernieift
 

cesco1

Erfahrener Benutzer
#5
festgestellt, dass sich in Sachen SUMD/SUMH überhaupt nichts getan hat
Richtig. Schade.
Die leute müssen mehrmals angestossen werden. Sonst tut sich da nichts. Das geht da richtig langsam und zäh.

Ein tip:
Bau deine code nicht in den spektrum code rein. Mach was eigenständiges. Eine readHOTT prozedur, etc. Beide skektrum und sbus laufen in 2.3 shared so, machs für hott genauso. Dann kann ich dich auch unterstüzen dass das übernommen wird. Wenn wir da genügend lärm machen geht das. Testen kann ich nicht ... kein hott.
 
Zuletzt bearbeitet:

ernieift

Erfahrener Benutzer
#6
Hi,
habe den Code vor ca. einem Jahr geschrieben. Damals habe ich nicht daran gedacht, zu versuchen ihn aktiv ins MultiWii reinzubringen. Ich hatte gehofft, dass jemand darüber stolpert und es adaptiert. Es selbst einzubauen dürfte mit ein wenig Erfahrung nicht schwer sein (einfach alles mit GSUM suchen). Im Taulabs habe ich es weitaus besser eingebaut. Da geht es mit SUMH/SUMD und Prüfsummencheck. Dafür habe ich auch einen PR gemacht. Die HoTT-Telemetrie auch schon drin.
Wenn ich mit picoC für Taulabs fertig bin, dann kann ich mich nochmal drum kümmern.
Gibt es eigentlich ein Github vom Multiwii? Dann kann man ja mal einen PR zusammenbauen. Habe aber noch genug mit picoC zu tun.
vg ernieift

PS: den Joysticksupport einzubauen geht nicht ohne die Arduino-IDE zu verbiegen.
 
Zuletzt bearbeitet:

cesco1

Erfahrener Benutzer
#7
Ich hab inzwischen eine MX12 und GR12 besorgt. Fühlt sich etwas billig an, aber funktioniert einwandfrei.
SUMD hab ich parallel zu spektrum und sbus integriert. SUMH und telemetrie versteh ich noch nicht.

Ungetestet mit mehr als 6 kanälen, sollte aber bis 8 gehen.
 

Anhänge

Zuletzt bearbeitet:

ernieift

Erfahrener Benutzer
#8
Hallo cesco1,
schön, dass Du die Arbeit gemacht hast - Glückwunsch. Ich denke mal, dass die die es nutzen sich freuen werden.
Wenn Du die Prüfsumme ignorierst, dann ist SUMH und SUMD fast gleich. Mit wenig Prozessorpower ist die CRC Berechnung auch nicht ohne. Wichtig ist aber der Header. Den habe ich damals nicht ausgewertet. Da steht die Anzahl der übertragenen Kanäle drin. Damit ändert sich der Paketlänge!
Telemetrie geht bei Graupner über einen eigenen Kanal. Dafür braucht es einen 2. Singlewire-USART auf 19200Bd. Der Sender fragt nach bestimmten Sensoren über ein Request-Telegramm und der FC muss dann mit dem entsprechenden Datenpaket innerhalb einer festgesetzten Zeit antworten. Die Strukturen dafür sind fest. Bei SUMH geht Telemetrie nicht. Alle Empfänger (auch GR12-SH) lassen sich seit kurzem auf SUMD hochrüsten. Dann geht auch die Telemetrie an Kanal 5. Ist aber für MWC zu aufwendig gewesen das einzubauen. Wenn Du da was machen willst, entweder schau mal bei Taulabs rein. Da ist die UAVOHoTTBridge drin von mir drin.
Speziell für MWC hat Carsten (cGiesen hier im Forum) mal was in der Richtung gemacht. Ist aber auch nicht im MWC gelandet. Ich glaube auch nicht, dass es eingebaut wird obwohl es mit Telemetrie ziemlich cool ist...
gruss ernieift
 

cesco1

Erfahrener Benutzer
#10
Ich hab das im multiwii forum gepostet aber das scheint niemanden zu interessieren. Die leute dort sind dermassen träge ...
 

ernieift

Erfahrener Benutzer
#12
Jetzt weiss ich auch wieder, warum ich das damals nicht forciert habe. Ich hatte soviel negatives über abgeschmetterte Neuerungen gelesen.
 

cesco1

Erfahrener Benutzer
#13
Ja das ist muehsam. Nicht nur neue sachen werden nicht beachtet, auch fehler (wie sbus port) werden monatelang NICHT korrigiert. Dafur wird eisern an oldi-schrott frestgeklammert (nunchunk, gyro und RC averaging) und sinnfreies wie openlrs und nichtfunktionales spektrumbind bleibt drin. Zeit dass jemand MultiwiiNG ins leben ruft.
 
#14
Hallo zusammen,

ich würde gerne meinen HobbyKing Pocket Quad mit MultiWii 2.3 statt dem Spektrum Satellit und Spektrum Modul in meiner MX 16 HoTT, direkt mit einem GR12SH+ Empfänger fliegen.
Denkt Ihr das das funktionieren könnte? Bin gerade erst in MultiWii und Arduino eingtaucht, und habe daher noch nicht ganz den Durchblick.

Danke Fred
 

ernieift

Erfahrener Benutzer
#15
Ich kenne zwar Deinen Quad nicht, aber überall wo Spektrum geht, geht auch SUMH/SUMD. Nur musst Du die Versionen von hier nehmen. Ich weiss nicht, ob cesco1 einen github fork dafür aufgesetzt hat. Ich habe keinen dafür. Macht ja nichts, Du kannst ja einfach eine Version von hier nehmen.
vg ernieift
 

yul

Neuer Benutzer
#16
Ich habe gestern Abend die GSUM Modifikationen von hier - danke nochmals an dieser Stelle - von MultiWii 2.2 nach 2.3 übertragen und auf eine NanoWii aufgespielt. Test mit 8 Kanälen in der GUI erfolgreich, ich hoffe dass ich heute mal wieder zum fliegen komme...
 

yul

Neuer Benutzer
#18
ok, es fliegt... gr12sh+ mit mw2.3 inkl. des hier erwähnten gsum Mods, Aux1-4 funktionsfähig.
Gyro Kalibrierung und ACC Trim über die Sticks geht nicht - ich denke das der Fehler an anderer Stelle liegt, habe aber noch keine Idee dazu.
 

ernieift

Erfahrener Benutzer
#19
Trimmen brauchst Du eigentlich nichts. Die Ausschläge sind 1000..2000 und 1500 genau in der Mitte. Wenn Du noch im versteckten Modus die Potis der Funke kalibrierst, dann ist alles perfekt.
 
#20
Könnt Ihr mir mal langsam erklären, wie ich die Modifikationen von hier, in die vorhandene , für dem Pocket Quad optimierte MW2.3 integrieren kann? Meine ersten Versuche haben alle in einem Fehler beim Kompilieren geendet...
Danke!
 
FPV1

Banggood

Oben Unten