Hi alle,
ich habe einen Royer Converter nach dem vorgestellten Artikel
(http://www.mikrocontroller.net/articles/Royer_Converter) nachgebaut.
Dieser läuft auch so weit, nun möchte ich zusätzlich noch Daten
übertragen. Hab schon im Forum gesucht aber nichts Brauchbares gefunden.
Ist es mit der Schaltung überhaupt möglich irgendwie Daten
aufzumodulieren? Ich hätte jetzt an Amplitudenmodulation gedacht.
Einfach mit einem uC die Versorgungsspannung ändern.... Die Demodulation
stell ich mir nur relativ kompliziert vor, korrekt? Irgendwer noch
andere Ideen? Kann man vllt. den Sinus mit einem uC generieren und so
vllt. Phasen oder Frequenzmodulation bewerkstelligen? Die Frequenz ist
wie in dem Artikel beschrieben. Kann ich damit auf mehrere 10kBit/s
kommen? Ich hab im Moment nicht wirklich einen Ansatz dazu.
Zusatz: Es geht mir nicht darum eine möglichst einfache Lösung zu
finden. Würde das halt gern irgendwie über die induktive Kopplung lösen.
Find ich ganz interessant und man kann viel lernen :)
@ Ape (Gast)
>Ist es mit der Schaltung überhaupt möglich irgendwie Daten>aufzumodulieren? Ich hätte jetzt an Amplitudenmodulation gedacht.>Einfach mit einem uC die Versorgungsspannung ändern....
Ja.
>Die Demodulation>stell ich mir nur relativ kompliziert vor, korrekt?
Nö, eine einfacher AM.Demodulator besteht aus einer Diode, Kondensator
und Widerstand. Siehe Detektorradio.
> Irgendwer noch>andere Ideen? Kann man vllt. den Sinus mit einem uC generieren und so>vllt. Phasen oder Frequenzmodulation bewerkstelligen?
Dann bleibt nicht viel vom Herrn Royer übrig.
> Die Frequenz ist>wie in dem Artikel beschrieben. Kann ich damit auf mehrere 10kBit/s>kommen?
Im ersten Ansatz eher nicht. Bei 100 kHz und einfacher AM kommt man
vielleicht auf 10kBit/s. Bau das erstmal und bring es sicher zum laufen,
dann kannst du darauf aufbauen.
> Ich hab im Moment nicht wirklich einen Ansatz dazu.
Betriebsspannung per Leistungstransistor variieren, vielleicht 30%. 100%
ON/OFF würde ich nicht machen, das Anschwingen dauert schon einige
(Dutzend?) Schwingungen. Muss man mal messen. Wenn man nicht eine so
hohe Baudrate braucht, könnte das eine einfacher, effizienter Ansatz
sein.
Alternativ nicht die Betriebsspannung schalten, sondern die Ansteuerung
der Transistoren. Muss man aber bischen aufpassen, damit das Ding IMMER
sauber anschwingt. Ist aber ein lösbares Problem.
Es kommt auch drauf an wie dein Royer aufgebaut ist. Für ein Projekt hab
ich schon Daten übertragen, aber nur mit ~12 Bit/s. Für das Projekt war
es mehr als ausreichend(ein Byte alle 30s) und es wäre auch etwas Luft
nach oben gewesen, aber Potenzen weg von 10 kBit/s.
Der Royer wurde mit zwei Ferit-Halbschalenkerne aufgebaut und sehr eng
gekoppelt nur 1/10mm Abstand der Kerne zueinander. Das System war sehr
träge von daher die geringe Übertragungsrate. Bei Luftspulen ist das
bestimmt besser.
Ich hab den Royer digital angesteuert (100%, 0%) das ging sehr
gut.Unterscheidung zwischen Sync, "1" und "0" wurde über die
Unterbrechungsdauer gemacht. Auf der Sekundärseite hab ich das Signal
mit dem ADC abgetastet und auf die Spannungseinbrüche getriggert. Das
Verfahren ist sehr robust, auch wenn die Kopplung mal schlechter ist. Es
wird immer ein gleitender Mittelwert über die Spannung gebildet. Wenn
man von einer konstanten Spannung ausgeht kann man auch statt dem ADC
einen Komparator verwenden.
Vielleicht hilft dir ja der Ansatz weiter.
Gruß Matthias
@ Harald Wilhelms (wilhelms)
>1 Baud ist ein Bit pro Sekunde.
Nein, ein ZEICHEN pro Sekunde. Wieviele Bits in einem Zeichen stecken,
hängt von der Kodierung ab. Siehe Baud.
Die beiden Transistoren werden von der PWM des MC versorgt. Vorzugsweise
ein MC, wo man noch die Totzeit einstellen kann (z.B. ATtiny861).
Und die PWM wird als Manchester-Code erzeugt. Dieser läßt sich einfach
auf der Gegenseite mit einem Timer wieder dekodieren.
Irgendwo gibts ein Beispiel für ne Propelleruhr damit.
1 Symbol pro Sekunde ist richtig. 1 Symbol kann binär sein oder
höherwertig, also mehr Bits enthalten.
Ah, ich sehe schon. Falk hat wieder ganze Arbeit geleistet.
Irgendwann hatte ich auch mal vorgerechnet, wieviel Prozent Fehler
vorhanden sein können, ohne das es zu Fehlern in der Kommunikation
zwischen zwei Systemen kommt. Kannste ja noch einbauen.
In welcher Richtung sollen die Daten übertragen werden? In Richtung der
Daten geht es mit ca. 100 Bit/s einfach durch kurzes Abschalten der
Energiezufuhr. Entscheidend für die Geschwindigkeit ist es dass die
Schwingung des HF-Generators schnell genug abebbt und sich wieder
aufbaut. Das geht aber zu lasten der sekundär-seitig verfügbaren
Leistung.
Anders herum oder mit mehr Datenrate wird es sportlich. Kommerzielle
Systeme schaffen abhängig von der Frequenz der Energiespeisung bis zu
einigen MBit/s.
@Georg W. (gaestle)
>Anders herum oder mit mehr Datenrate wird es sportlich. Kommerzielle>Systeme schaffen abhängig von der Frequenz der Energiespeisung bis zu>einigen MBit/s.
Nutzen dafür aber meist getrennte Spulen.
Die Daten sollen Bidirektional gesendet werden können mit möglichst
hohen Raten. Werde das heute oder morgen mal aufbauen und dann die
Betriebspannung schalten. Mal schauen was man damit ereicht. Der Royer
schwingt mit 129 kHz. Das der Wirkungsgrad wärend der Übertragen
miserabel ist spielt keine Rolle. Es werden etwa 100 kBit Daten
übertragen und dann wars das bis zum nächsten einschalten. Das ist so
eine Art Initialisierung. Ob das jetzt 10 - 20 Sec dauert spielt ja
soweit erstmal keine Rolle, nur bei 100 Bit/s wär das schon übel ;).
Erster Aufbau wird (Sender): ich schalte die Betriebsspannung mit einem
Transitor. Aber nicht 100%, wie Falk schon anmerkte.
Empfänger: Über einen Impendanzwandler mit einem uC die Spannung messen.
Abstasten mit 40 kHz. Also ein Bit hat eine länge von 100us.
Werde dann mal berichten was rauskommt.
Das soweit nur der erste Test. Den Rückkanal mach ich dann über die
Lastmodulation. Der Einsatzzweck des ganzen System ist noch fraglich,
aber ich werde schon was finden :). Der Sinn ist eher, da eh eine
Leistungsübertragung stattfindet, warum sollte ich dann noch extra ein
weiteres Modul, ob BT, RMF oder was auch immer, dazu frickeln. Kann doch
einfach den vorhandenen Kanal nutzen :).
Hallo,
ich habe eine funktionierende Spulenübertragung mit mindestens 115200
bits/s stabil hingekriegt. Dafür habe ich aber keinen Royer-Konverter
genommen, sondern ein AVR + eine H-Brücke. Das ganze war an und für sich
sehr einfach aufgebaut, hat über 10W übertragen und fehlerfrei
funktioniert. Schaltfrequenz waren im Mittel 60kHz.
Ich habe dazu auch eine Matlab/Simulink-Simulation gemacht:
Beitrag "Simulink-Modell Spulenübertragung"
Wie gesagt, der Hardware ist sehr einfach aufgebaut, der Wirkungsgrad
sehr gut und die Übertragung stabil.
Grüße,
Stefan
Falk Brunner schrieb:> Nutzen dafür aber meist getrennte Spulen.
Es führen mehrere Wege nach Rom. Bei getrennten Spulen hat man mehr
voneinander unabhängige Parameter zur Verfügung, muss aber mit einem
höheren mechanischen Aufwand leben. Ein Mitbewerber macht es mit je nur
einer Spule. Dann geht aber eine Optimierung der Datenübertragung zu
Lasten der Energieübertragung und umgekehrt. Der Schaltungsaufwand ist
dann auch höher.
Ape schrieb:> nur bei 100 Bit/s wär das schon übel ;).
Da ist sicher noch mehr drin, aber für meine Zwecke reicht es momentan
aus, da nur ein paar wenige Steuerbefehle in dieser Richtung zu
übertragen sind.
Hey,
hab nun geschafft mit der AM eine Datenrate von 25 kbit/s in die primär
zu sekundär Kommunikation zu bekommen. Jetzt kommt der Rückkanal :). Ich
hoffe da wird die gleiche Datenrate erreicht. Hierzu wird die
Lastmodulation verwendet. Gibt es evtl. noch andere Methoden mit
geringem Aufwand? Wohl kaum oder?
Gruß
Ape
@ Ape (Gast)
>hab nun geschafft mit der AM eine Datenrate von 25 kbit/s in die primär>zu sekundär Kommunikation zu bekommen.
Glückwunsch! Und wie hast du es gemacht?