Hallo, ich würde mich über Eure geschätzte Meinung zu folgender Idee freuen: Die Spektrum DX7 hat 7 Kanäle. Aber weit mehr Schalter, die für weitere Schaltkanäle genutzt werden könnten. Mir ist bewußt, dass es so Lösungen wie "Sexpander" (eingesetzt bei Mikrokopter: http://forum.mikrokopter.de/topic-16565.html), oder AR7212 (http://www.mcselec.com/index.php?option=com_content&task=view&id=261&Itemid=57) gibt. Jedoch suche ich nach einer allgemein einsetzbaren Lösung, die keinen Eingriff in Mikrokopter Firmware, oder die Software des Senders benötigt. Generell sollte ich mit so wenig Eingriffen in die Standardhardware ausgekommen (möglichst nur eine Modifikation der verwendeten Schalter-Anschlüsse im Sender). Daher möchte ich gerne folgende Idee weiter reifen lassen: Mittels R/2R Widerstandsnetzwerk könnte man einen trivialen 8 BIT DAC bauen (http://de.wikipedia.org/wiki/R2R-Netzwerk). Dieser liefert ein aus den Schaltern kombiniertes Signal an einen Kanal (z.B.: Kanal 7) der Fernsteuerung. Empfängerseitig möchte ich dann das PPM Summensignal mittels Mikroprozessor (ATMEGA8) auswerten. Aus dem Kanal 7, erhalte ich die Schaltzustände der Schalter. Um nun wieder möglichst standardisiert mit den Signalen weiterzuarbeiten, möchte ich gerne ein neu aufbereitetes Summensignal generieren, welches sowohl die unveränderten 6 Kanäle des Senders beinhaltet und dann ab Kanal 7 je einen Kanal für einen Schaltzustand nutzt. Ab da kann man dem Mikrokopter auch ohne Firmwareanpassung der Flight Control eine z.B.: 12 Kanal Fernsteuerung "vortäuschen", indem man zwischen dem original PPM Signal des Spektrum Sateliten und der Flight Control diese Schaltung hängt. Auch könnte man mittels PPM to PWM Decoder, den man evtl. auch gleich in derselben Mikroprozessor Schaltung realisieren könnte, 12 Standard Servoausgänge zur Verfügung stellen (ähnlich http://jreise.de/ppm2servo/ppm2servo.html). Man kann mit den Oberen Kanälen dann natürlich nur Vollausschlag der Servos für (Fahrwerk, Schalter, Abwurfmechanismen, ...) schalten, aber dies ist dennoch schon ein Gewinn, ohne zu sehr von Standards abzuweichen. Wenn man nur den Spektrum Sateliten + diese Mikroprozessor Schaltung verwendet, dann wird auch der Platzbedarf am Modell gering gehalten, da man ja den Original Empfänger für die Servoausgänge ersetzt. Was haltet Ihr von dieser Methode? Ich habe bereits intensiv gegoogelt aber solch eine Variante der "Kanalerweiterung" noch nie gefunden. Sie scheint mir doch sehr standardisiert zu sein und die Umbauten am Sender minimal zu halten (da man ja das R/2R Widerstandsnetzwerk theoretisch auch als Poti Ersatz einbauen könnte).
Doch, gibt es. Ein orginaler (analoger) PPM-Kanal erweitert auf 7 oder 8 (analoge) PPM-Kanäle. Der Nachteil dabei: die erweiterten Kanäle plus dem "Sync-Kanal" werden der Reihe nach über den orginalen PPM-Kanal übertragen. Die Wiederholrate von ca. 40 Übetragungen pro Sekunde reduziert sich dann auf ca. 5 Übertragungen pro Sekunde. Zu langsam für ein fliegendes Objekt. Das gleiche gibt es auch als Erweiterung von einem analogen PPM-Kanal auf bis zu 15 ("digitale") Schaltkanäle. Die R2R-Lösung hat man aus Toleranzgründen nur für 3fach-Schalter verwendet. Blackbird
das mit der Toleranz des Widerstandsnetzwerks kann ich einigermassen nachvollziehen - da muss man dann wohl doch einen kleinen AVR heranziehen. Aber wieso sich die Wiederholrate so stark reduzieren soll, verstehe ich nicht. Wenn ich aus den 7 Kanälen dann einen 12 Kanal Receiver "vortäusche", dann kann es doch nicht "langsameer" werden als bei einer echten 12 Kanal RC (und da sich die Kanalanzahl nichteinmal verdoppelt, wieso soll sich die Wiederholrate nicht im umgekehrten Verhältnis reduzieren)? Wo ist mein Denkfehler? Ich habe bei 7 Kanälen doch schon etwa nur 6x/s. 40x/s habe ich bestenfalls bei einem Kanal. Vielleicht versuche ich das ganze mal graphisch anhand eines Impulsdiagramms zu verdeutlichen - manchmal werden einem dabei die zündenden Stolpersteine erst bewußt - und man kann mit der Grafik besser veranschaulichen, was man sich vorstellt. Was mir nun beim Zeichnen gleich aufgefallen ist, ist die Gefahr, dass der Sender wieder mit der neuen Kanalabfolge beginnen könnte, bevor ich Empfängerseitig mit allen 12 Kanälen durch bin. Geht also dann nimmer als Summensignal (PPM). Ginge aber noch immer, wenn ich die 12 Servoausgangssignale selbst erzeuge. Denn die könnte ich ja parallel ausgeben (je Mikroprozessortyp). Ich freu mich, dass aus dem bisher einzigen Beitrag bereits eine Anregung für weitere Gedanken und Limits gegeben wurde.
Entschuldigt. In meinem obigen Beitrag ist das Attachment an der Dateiendung beschnitten worden (der Dateiname war wohl zu lange). Habe ihn gekürzt und hier nochmals angehängt (es ist PNG Format).
Falls es sich um ein PPM-Signal handelt, sieht das hier anders aus: http://skymixer.net/electronics/84-rc-receivers/78-rc-ppm-signal Ein Impuls dauert 1-2ms, solange wie der Impuls für eine Rudermaschine sein darf. Acht Kanäle mit Start-Impuls können also zusammen nur max. 16ms dauern. Dann muss eine kurze Pause folgen, damit die Reihenfolge wieder bei Eins beginnt. Die Pause muss geschätzte 10-20ms dauern, kann aber auch länger sein. Im Mittel: 8 x 1,5ms + 10ms = 25ms -> Wiederholrate 40 Hz 8 x 1,5ms + 20ms = 35ms -> Wiederholrate 28 Hz Das ist für Flugbetrieb einwandfrei geeignet!
Frametime ist 20-22mS Pause ca. 4mS, danach Sequenzstart Je Kanal max. ca. 2mS Wo hast du die 22,5mS pro Kanal her? ist falsch.
oh - vielen Dank für die Korrektur der Frametime. Hatte die Frametime wohl mit der für den Kanal verwechselt und schon war sie niedergezeichnet (das ist peinlich) Hatte von irgendwo die 20ms und den Hinweis, dass es normalerweise 22,5ms sind im Kopf. Und eben, dass einige Hersteller das ganze invertiert senden und manche nicht invertiert (was an meiner Idee noch nicht viel ändert). Dies bringt meine Überlegungen wieder in ein machbareres Licht. etwa: 12 x 1,5ms + 10ms = 28ms -> Wiederholrate 35 Hz Sie reduziert sich also sicher nicht auf nur 5 pro Sekunde runter. Sondern bewegt sich wieder in ausreichend "schnellem Rahmen". Womit ich wieder mit der Verfolgung der Idee fortsetzen könnte. Gibt es noch Bedenken, die ich nicht beücksichtigt habe?
Wenn in einem Kanal acht Kanäle "versteckt" werden, so kommt in jedem Frame immer nur ein "versteckter Kanal" rein. Also nach 8 (9 mit Sync-Kanal) Frames geht es wieder von vorne mit dem 1. "versteckten Kanal" los. Da ein Frame ca. 25ms lang ist (Mittelwert), werden also 40 Frames pro Sekunde gesendet. Aber der 1. "versteckte Kanal" wird nur in jedem 8. Frame übertragen, ebenso der 2. , der 3. usw. Die Aktualisierung der "versteckten Kanäle" erfolgt logischerweise mit 40 Wiederholungen/Sekunde geteilt durch 8. Das sind dann 5 Wiederholungen/Sekunde für jeden "versteckten Kanal". Und das ist zu langsam zum Fliegen. Ganz unbrauchbar wird es, wenn 2 gleichlaufende Funktionen jeweils von einem orginalen (schnellen) Kanal und einem "versteckten" (langsamen) Kanal gesteuert werden. Die analoge Kanalerweiterung wurde gerne von den "Schiffchenschnitzern" verwendet. Da kam es nicht auf die Wiederholrate an. Blackbird
Wo kommen denn die Ch8 bis Ch12 her (sind auch nur 6 statt 8)? Die Frametime des Senders kannst Du nicht ändern ohne tiefere Eingriffe in die Elektronik/Software deines Senders. Dein Sender sendet nur 7 Kanäle alle 25ms, mehr nicht. In einem Kanal acht weitere Kanäle verstecken geht hier nur im Zeit-Multiplex-Verfahren. Alle 8 gleichzeitig in einem geht nicht - da ist die Kanal-Bandbreite zu gering. Blackbird
Sorry, da hab ich mich vermutlich zu schlecht ausgedrückt. Ich will die Kanäle 7-12 nur für Schaltfunktionen nutzen. Stimmt sind nur 6. Und wenn ich im Kanal 7 wirklich ein 8 Bit Muster drin verstekce und nur 6 Kanäle benötige kann ich zwei dieser neuen Kanäle sogar zweistufig abbilden. Somit werden alle 6 neuen Kanäle bei jeder Übertragung voll mitübertragen. Dies brauchen keine Poti Kanäle sein. Es geht um Schaltzustände am Modell (Licht, Kamera Auslöser, ...)
Genaugenommen hab ich es schon versucht so auszudrücken im Startbeitrag: 'GAST schrieb: > ... > Mittels R/2R Widerstandsnetzwerk könnte man einen trivialen 8 BIT DAC > bauen (http://de.wikipedia.org/wiki/R2R-Netzwerk). > Dieser liefert ein aus den Schaltern kombiniertes Signal an einen Kanal > (z.B.: Kanal 7) der Fernsteuerung. > > Empfängerseitig möchte ich dann das PPM Summensignal mittels > Mikroprozessor (ATMEGA8) auswerten. > Aus dem Kanal 7, erhalte ich die Schaltzustände der Schalter. > Um nun wieder möglichst standardisiert mit den Signalen > weiterzuarbeiten, möchte ich gerne ein neu aufbereitetes Summensignal > generieren, welches sowohl die unveränderten 6 Kanäle des Senders > beinhaltet und dann ab Kanal 7 je einen Kanal für einen Schaltzustand > nutzt.
Das geht nicht. Die kürzeste Impulsbreite ist 0,2ms. Kleinere Impulsbreiten vergrößern die Kanalbandbreite und stören die Nachbarkanäle. Damit wirst Du zum Störer. Bei 2,2ms maximaler Impulsbreite für den analogen Kanal 7 passen somit nur 11 Impulse rein. Sync-Impuls abgezogen (siehe Dein Bild: die kurzen negativen Impulse!), sind es nur noch 10 Impulse. das ist aber schon sehr sportlich bei den Toleranzen bei der Übertragung (Kodierung, Modulation, Demodulation, Dekodierung), inclusive der Störungen und Impulsflankenverfälschungen. 3 Zustände sauber hinzubekommen ist kein Problem, 5 sind schon ehrgeizig. Denkbar wäre eine Kombination von Zeitmultiplex und Pegelmultiplex: Kanal 7 wird im 1. Frame mit 4 bit kodiert, im 2. Frame mit den nächsten 4 bit, im 3. Frame kommt dann ein Sync (z.B.: alles 1 oder alles 0). Von den jeweils 4 bit werden aber nur 3 genutzt, damit sie sich vom Sync unterscheiden! Damit hat man 6 unabhängige Bits nach 3 Frames übertragen. Die Wiederholrate ist dann 40 /3 = 13 Wiederholungen pro Sekunde. Geht noch. Blackbird
> ... welches sowohl die unveränderten 6 Kanäle des Senders > beinhaltet und dann ab Kanal 7 je einen Kanal für einen Schaltzustand > nutzt. "ab Kanal" geht nicht. Das Kanalpoti stellt eine Spannung bereit, die von einem Mikrocontroller gemessen wird. Das ergibt dann die Impulsvariation von ca. 0,8ms bis 2,2ms. Kleinere oder größere Spannungen sind zwar möglich, aber GND und VCC setzen da schon mal eine Grenze. Und der Mikrocontroller wird auch noch mal die gemessenen Werte verifizieren und keinen überlangen Impuls zulassen. Das war jetzt die Mikrcontroller-Variante. Die wird wahrscheinlich sowieso gegen die Pegelmultiplex-Variante immun sein (also Spannungssprünge des Pegelmultiplex integrieren oder ignorieren, da nur einmal gemessen wird). Die CMOS-IC-Varianten (für den Koder) lassen eventuell einen längeren Impuls zu, den man auch Pegel-Multiplex betreiben kann. Bleibt nur die reine Zeitmultiplex-Variante wie von mir ganz oben beschrieben. Die klappt auf beiden Kodervarianten (Diskret mit CMOS-ICs oder Mikrocontroller). Blackbird
'GAST schrieb: > Und wenn ich im Kanal 7 wirklich ein 8 Bit Muster drin verstekce und nur > 6 Kanäle benötige kann ich zwei dieser neuen Kanäle sogar zweistufig > abbilden. Du musst halt mal ausprobieren, wie viel Bit du effektiv durch einen Kanal der DX7 bekommst. Was auf der Packung steht und was real geht, ist oft recht unterschiedlich. :-) Du wandelst das halt effektiv auch mehrfach hin und her...
>> Du musst halt mal ausprobieren, wie viel Bit du effektiv durch einen >> Kanal der DX7 bekommst ... Eins, mehr nicht. Das kann dann aber unterschiedlich lang sein ;) Die Spectrum DX7 (DX7s) ist eine mikrocontroller gesteuerte Anlage, die Kodierung der Potispannung macht der Controller nebenbei mit. Und wie, das habe ich oben gerade beschrieben. Blackbird. PS: Aber ausprobieren kann man alles ....
Sorry, aber was du da geschrieben hast ist fuer mich voellig unverstaendlich. Es bleibt voellig unklar, wo du ein Problem dabei siehst statt einem Poti ein Widerstandsnetzwerk anzuhaengen, das mehrere Schalter kodiert.
Mehr als ein Bit kann ich in den Kanal 7 garantiert hineinkodieren (eben über die Länge - die Länge repräsentiert einen Wert von 0-255). Für einen ersten Versuch könnte man es evtl. doch mit dem Widerstandsnetzwerk probieren (ist schlicht einfacher). Die Widerstände dürfen halt keine großen Toleranzen haben. Um es robuster gegen Toleranzen zu machen, habe ich die Anzahl der Bits, die ich in Kanal 7 übertragen will nun auf nur 6 reduziert. Dies genügt für einfache Schaltzustände (ein/aus). (Schade wäre, wenn nichteinmal diese 6 Bit stabil auflösbar wären - das muss man dann wohl wirklich probieren) Anbei meine aktuelle Skizze. Schön langsam wird es für mich klarer und auch danke Eurer Gedanken klarer definiert. Gibt es noch Bedenken, dass auch die 6 Bit nicht praktizierbar (stabil auflösbar) wären? Könnte hier eine Art Fail Save in der Decoderschaltung am Emfpänger helfen: z.B.: Kanal 7-12 dürfen ihren Schaltzustand erst ändern, wenn sie drei mal hintereinander stabil dasselbe Ergebnis liefern. (reduziert zwar deren Reaktionsgeschwindigkeit, aber ist für Schaltzustände doch immer noch schnell genug - oder)?
Wie willst Du die einzelnen Bits eigentlich in das Sendemodul einspeisen? Über die Schaltereingänge am Controller in der DX7 geht es jedenfalls nicht, da es nur digitale Eingänge sind.
Stefan P. schrieb: > Wie willst Du die einzelnen Bits eigentlich in das Sendemodul > einspeisen? > Über die Schaltereingänge am Controller in der DX7 geht es jedenfalls > nicht, da es nur digitale Eingänge sind. hmm. ich hätte mir gedacht, dass ich theoretisch einen Schalter auch durch ein Poti ersetzen hätte können. Früher bei den analogen Anlagen war das möglich (Simprop). Wenn das bei der DX7 nicht funktioniert, dann kippt ja meine ganze Idee. Denn die DX7 hat nur die 4 Potis der Steuerknüppel. Man kann bestenfalls mit Trimmern Schalterzustände "vertrimmen" aber das ist auch digital. Die DX8 hätte ein Poti mehr. Da ginge das dann. Jetzt muss ich mir zunächst auch die DX7 vorher nochmal genauer ansehen. Danke für den Tip.
Habe etwas herumrecherchiert und fürchte, dass ich die Schalter der DX7 tatsächlich nicht einfach durch ein Poti oder Widerstandsnetzwerk ersetzen kann (Danke für den Hinweis an Stefan P.). Könnte man dann vielleicht ausweichen auf Lehrer-Schüler Anschluss und dort via PPM den Kanal 7 einspeisen (dann braucht es ja nimmer durch den Digitaleingang des Schalters, sondern liegt schon am Kanal? Das wäre insofern sogar ideal, weil man ja dann nichteinmal in die DX7 eingreifen müßte. Habe mich mit Lehrer Schüler Verbindungen noch nie beschäftigt, aber vielleicht führt so ein Weg sogar zu einer noch eleganteren Lösung: externes Modul mit den 6 Schaltern (= die neuen Ch7 -> Ch12) via Lehrer Schüler Anschluss angebunden. Könnte man via Lehrer Schüler überhaupt einzelne Kanäle alleine einspeisen und somit einen Mischbetrieb zwischen Lehrer Schüler erlangen?
Soviel ich weiss dekodiert die DX7 erstmal selbst das Signal was vom Lehrer/Schüler Anschluss kommt, (weil man im Menü einzelne Kanäle davon "durchleiten" kann) - Dann sind die Kanäle ab 5 bestimmt wieder nur digital. Ich hab das aber nie ausprobiert.
Trotz der im Moment doch deutlichen Hürden will ich noch nicht aufgeben :-) Habe in einem fremden Thread eine Aussage gefunden, dass offenbar die DX7 zum Sendermodul hin ein PPM Signal schickt. (siehe: http://fpv-community.de/showthread.php?705-Headtracker-an-Spektrum-DX7#1) Dieses ist sogar mit Steckverbinder trennbar. Somit müßte ich den Weg einer Microcontroller Schaltung weiterverfolgen. Diese Schaltung ,müßte die Kanäle 1-6 normal 1:1 "durchschläusen" und Kanal 7 durch mein oben skizziertes 6 Bit Muster ersetzen. Das ganze dann einfach als Modul steckbar dazwischenhängen. Ist jemand unter den Lesern, die bereits mit dem Senderseitigen PPM Signal der DX7 gearbeitet haben? Oder die Bestätigen können, dass dies funktioniere sollte? Leider gibts den Head Tracking Anbieter Skywire nicht mehr. Aber ein Video fand ich (http://www.youtube.com/watch?v=5AIyoQqttKA), das deren Einbaulösung beschreibt. Sie nutzten anscheinend auch ein zusätzlich aufbereitetes PPM Signal. Hoffe nur, dass sie nicht deshalb vom Markt verschwunden sind, weil es doch nie funktioniert hat :-).
Und nun konnte ich es nicht lassen und mußte selbst nachmessen. Das Signal kann vor der Weitergabe ans Sendemodul wunderbar an J2 des Sendemoduls abgenommen werden. 3-poliger Steckverbinder. Am Mittleren Anschluß findet man das Pulsdiagramm der DX7. Nächster Schritt muss nun wohl sein, dass ich dem Sendermodul ein "verfremdetes" PPM Signal gebe und sehe was am Sender davon noch rauskommt. (ich kann nur hoffen, dass über J1 nicht noch irgendwelche für einen Sync notwendigen Signale daherkommen, die dann mit meinem vermutlich leicht phasenverschobenen PPM Signal nicht mehr zusammenpassen). Die Bilder anbei zeigen - ein Photo vom Messpunkt im Sender - die gemessenen Signallängen Wenn das funktioniert, dann sollte ich doch bald an der "Blackbox" mit einem Atmega arbeiten. Wenn das nicht funktioniert, dann zurück an den Start.
Nochmal in aller Einfachheit: 1. Deine Interpretation, dass 1,55ms gleich 100% sind und 0,65ms gleich 0% - ist falsch. Die 0,4ms Auszeit gehört zum Puls dazu! Also 1,05ms sind 0% Potiausschlag (ohne Mischer oder Dual Rate) und 1,95ms sind Vollauschlag. 2. Dein neuer Weg, den Kanal 7 auf dem Weg zum Sendemodul "rauszuschneiden" und durch einen eigenen Kanal zu ersetzten kann funktionieren. Der alte Weg, den Kanal 7 (wenn es denn ein analoger Kanal wäre) durch veränderliche Widerstände 6 verschiedene Kanäle unterzujubeln, ist aus Tolernanzgründen schwer machbar. 4 unabhängige Bits halte ich persönlich für machbar, 6 sind zu sehr fehlerbehaftet. Das sind immerhin 64 unterschiedliche Impulslängen innerhalb von 0,9ms (1,95ms minus 1,05ms), die der Dekoder sauber unterscheiden muß. Aber das kannst Du selber ausprobieren. Blackbird
Blackbird schrieb: > 1. Deine Interpretation, dass 1,55ms gleich 100% sind und 0,65ms gleich > 0% - ist falsch. Die 0,4ms Auszeit gehört zum Puls dazu! Also 1,05ms > sind 0% Potiausschlag (ohne Mischer oder Dual Rate) und 1,95ms sind > Vollauschlag. In meiner Skizze ist nur eingezeichnet, welche Pulslängen bei 100% und welche bei 0% herauskommen. Ich habe nicht behauptet, dass die 0,4 ms nicht zum Puls dazugehören. Habe es ja auch pro Kanal mit eingezeichnet. > zu 2. Die Trennschärfe ist vermutlich tatsächlich das größte Problem. Da ich nun um ein Zwischenmodul mit AVR nicht umhinkomme, werde ich wohl ziemlich exakte Timings auch ohne Widerstandsnetzwerk zustandebringen. 6 digitale Eingänge an einem ATMEGA8 werde ich sicher dafür haben. Wäre schade, wenn dies dann genau wegen der Trennschärfe doch zu unsicher funktioniert. Was aber ziemlich sicher mit der Methode schon mal möglich wäre: Die DX7 erweitern auf einen Analogkanal auf Ch7. Auch das ist für andere Anwendungen schon ein ziemlicher Gewinn (Kameraschwenk).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.