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!
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).