Forum: Mikrocontroller und Digitale Elektronik digitales Signal wiederherstellen


von Niklas B. (niklas90)


Lesenswert?

Hallo,

ich habe mir 2 AVR's so programmiert, dass ich mit dem einen per UART 
senden kann und der andere empfangen, soweit so gut, das funktioniert 
alles Top.

Nun möchte ich dieses serielle, digitale Signal mit einem PMR-Funkgerät 
übertragen und es mit dem anderen dem Empfänger-Chip zukommen lassen. 
Das Problem ist dabei halt die analoge Übertragung. Ich habe mir jetzt 
diese Schaltung gebaut:

http://img838.ima geshack.us/img838/9185/datenbertragung.png (macht das 
Leerzeichen nach dem "a" weg, das Forum meint, die Seite wäre Spam)

Die obere Schaltung ist für den Sender. Wer sich über die komische 
Anordnung der Transistoren wundert, das musste ich so bauen damit ich 
unabhängig vom Eingangssignal das Funkgerät an- und ausschalten kann, um 
die 60 sek Sendebeschränkung durch kurzzeitiges aus- und wieder 
anschalten nach ca. 55 sek (vom Chip) "aufheben" zu können.  An 'M0' 
messe ich das Signal auf Kanal 2 (das gelbe Signal) des Oszis.

Zur unteren Schaltung: Das Empfangsfunkgerät habe ich auf maximaler 
Lautstärke und ich empfange an 'M1' dieses Signal (das blaue): 
http://img690.ima geshack.us/img690/4803/bild01eingang.jpg

Wie man sehen kann, gibt es bei jedem Flankenan- und abstieg eine fiese 
Schwingung (mit dem 22kΩ Widerstand an der Sendeschaltung habe ich das 
schon minimiert).

Mit dem Kondensator C3 koppel ich erst mal den Gleichanteil raus ('M2'): 
http://img845.ima geshack.us/img845/6223/bild02ac.jpg

Dann schneide ich den unteren Teil mit der Diode D1 weg und versuche die 
Schwingungen mit dem Kondensator C4 zu glätten. R4 und R5 entladen die 
Kondensatoren (C3 kann sich ja nicht über D1 entladen und C4 muss ich 
entladen, damit ich nicht nur einfach einen Gleichanteil habe). 'M3' 
sieht dann so aus: http://img844.ima 
geshack.us/img844/9113/bild03dcglaettung.jpg

Nun verstärke ich das ganze, so dass ich schön übersteuerte, digitale 
Signale erhalte. C1 und C2 filtern komische schnelle Schwingungen raus, 
die sonst bei der Verstärkung auftreten. Das Poti an T3 hat 10kΩ und ist 
auf etwa 40% "von Oben" eingestellt. Durch diesen Arbeitspunkt komme ich 
mit 'M4' auf diese Ergebnis: http://img526.ima 
geshack.us/img526/9357/bild04verstrkung.jpg

Ich habe nun bei jedem Flankenwechsel einen Impuls nach Masse, darum 
sollte ich mir mit einem Flip-Flop jeden zweiten Impuls das Signal an- 
oder ausschalten. Das ist ein spezielles Flip-Flop, was "Set" und 
"Reset" über ein und dasselbe Signal macht (Kugelschreiberprinzip). 'M5' 
sieht so aus: http://img215.ima 
geshack.us/img215/1797/bild05flipflop.jpg

Und genau da sieht man das Problem, das blaue Signal rauscht sehr stark 
und das Flip-Flop schafft es nicht, stabil zu schalten. Desweiteren 
scheint es sehr empfindlich auf Felder zu reagieren, dieses Foto sieht 
nur deshalb so "gut" aus, weil ich meine Hand über neuralgische Stellen 
der Schaltung halte :/ Ist aber auch kein Wunder bei dem Aufbau xD 
http://img37.ima geshack.us/img37/9219/projektschaltungoben.jpg Wobei 
auf dem Breadboard noch andere Projekte drauf sind, die nichts mit dem 
aktuellen Projekt zu tun haben. Man muss vielleicht noch dazu sagen, 
dass ich der Einfachheit halber für beide Schaltungen die gleiche 3V 
Batterie benutze und die Massen zusammengeschlossen habe, also alles in 
allem ein ziemlich schlampiger Aufbau, aber das hake ich unter 
"Realbedingungen" ab, bzw. sollte eine fertige Schaltung schon damit 
zurecht kommen sollen.

Lange Rede, kurzer Sinn, das Signal wird nicht ordentlich übertragen, 
gerade die Flip-Flop Schaltung macht mit Kopfzerbrechen, vielleicht 
sollte ich doch nochmal das Signal an 'M4' verstärken, damit so richtig 
schön steile Flanken entstehen und das dann mit einem CD4024 zählen 
lassen anstatt mit dem Flip-Flop?

Oder hat jemand eine Idee wie ich sonst dieses Problem lösen könnte? 
Normalerweise wird sowas doch mit einem Modem gemacht oder? Aber das 
wird mir dann doch zu aufwändig und teuer.

Achja, die Baudrate habe ich schon auf ein gerade so verträgliches 
Minimum gedrückt, bei höheren Baudraten kommen die Funkgeräte überhaupt 
nicht mehr hinterher, diese Schwingungen an den Flankenwechsel 
überlagern sich dann. Ich habe auch versucht  ein ca. 2kHz 
Rechtecksignal mit den Daten zu modulieren, aber es entstehen trotzdem 
diese kleinen Schwingungen und die vermischen sich dann und insgesamt 
haut einfach die Bitlänge nicht mehr hin.

Die Schaltungen habe ich mit Teilen aufgebaut, die ich gerade so 
rumliegen habe, wenn jemand eine tolle einfache Lösung hat, die aber 
einen speziellen Chip erfordert, dann werd ich natürlich auch bei 
reichelt bestellen, aber ich würde echt ungern unmengen für Modems 
ausgeben wollen, zumal die Empfängerschaltung sehr leicht werden soll 
(ich will einen ferngesteuerten Zeppelin bauen mit großer Reichweite 
(die Funkgeräte haben 10km :D ).

von Heinz (Gast)


Lesenswert?

Poste deine Bilder hier im Forum.

von Niklas B. (niklas90)



Lesenswert?

Hm, ok. Was ist denn so schlimm an Image-shack? Und jetzt kann ich die 
Bilder auch nicht mehr kontextgemäß einfügen. Mal gucken was sich machen 
lässt...

Also das erste Bild ist die Schaltung, die weiteren Bilder kommen in der 
Oben genannten Reihenfolge.

von Michael (Gast)


Lesenswert?

Die digitalen Signale direkt zu übertragen, scheint nicht so prickelnd. 
Hast du schon mal AFSK probiert?

von Niklas B. (niklas90)


Lesenswert?

Musste erst mal goo... was das ist, also im Prinzip wie FM Modulation? 
Aber wie setzt man sowas um :( ? Verschiedene Frequenzen für 1 und 0 ok, 
aber die demodulation fürfte heftig werden, ich weiß nicht ob ich sowas 
diskret hinkriege, gibt es vll für sowas fertige Chips?

von Helmut L. (helmi1)


Lesenswert?

Niklas Beuster schrieb:
> ( ? Verschiedene Frequenzen für 1 und 0 ok,
> aber die demodulation fürfte heftig werden, ich weiß nicht ob ich sowas
> diskret hinkriege, gibt es vll für sowas fertige Chips?

Die Modulation/Demodulation macht man heute mit einem kleine ATMega in 
Software.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Falls dir die Demodulation mit einem MC zu kompliziert wird, gibts auch 
noch z.B. den NE567 Tondekoder. Modulieren würde ich heute auch nur noch 
mit einem Tiny.
Ach, streich den letzten Satz. Modulieren tust du natürlich in deinem 
schon vorhandenen AVR.

von Niklas B. (niklas90)


Lesenswert?

Der NE567 hört sich schon mal interessant an. Ich weiß dass man 
irgendwie die Frequenz von einem NE555 mit der Spannung an einem der 
Pins ändern kann, also hab ich dann auch einen FM Generator...muss noch 
mal ins Datenblatt schauen...

Danke!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Öhh, was hat der NE555 mit dem NE567 zu tun? Du möchtest doch nicht 
ernsthaft einen NE555 als Modulator nehmen? Nimm lieber einen freien 
Timer des AVR als Tongenerator, damit hast du was stabiles und nicht 
noch einen Abgleichpunkt mehr. Der NE567 muss nämlich auch eingestellt 
werden. Nimm als frequenzbestimmende Bauteile für ihn einen guten 
Styroflexkondensator und Metallschicht-Rs.
Schick das Rechtecksignal auch bitte durch einen Tiefpass, bevor du es 
auf den Sender packst, sonst belegst du eine enorme Bandbreite 
('Lattenzaun'). Wähle als Mark/Space Frequenz ein krummes Verhältnis, 
z.B. ein DTMF Pärchen.
Beitrag "AVR als DTMF Generator und MT8870 als Decoder"
AVR314:
http://www.atmel.com/Images/doc1982.pdf

von Niklas B. (niklas90)


Angehängte Dateien:

Lesenswert?

Ja, stimmt schon, zumal ich für den NE555 mehr als 3V brauche.

Aber ich habe heute nochmal meine bisherige Schaltung verändert und nun 
funktionierts! Es ist für den schlampigen Aufbau ziemlich stabil und die 
Flanken sind schön steil. Das Poti habe ich nun so eingestellt, dass 10% 
des Spannungsteilers von "oben" kommen und die kleinen Kondensatoren 
beim Transistor habe ich entfernt. Das wichtigste aber war wohl den 
Widerstand R6 von 10kΩ auf 330Ω zu senken.

Das einzige Problem ist nun, dass das Flip Flop natürlich nicht weiß 
wann es anfangen soll zu zählen, es reagiert halt bei jedem 
Flankenwechsel, also ich habe manchmal das normale Signal und manchmal 
das Invertierte (siehe Bilder).

Bei der FM Methode habe ich Problem natürlich nicht, aber ich bin immer 
noch skeptisch ob das funktioniert. Ich würde die Modulation und 
Demodulation direkt in den Chips machen, allerdings bin ich mir noch 
nicht ganz sicher ob und wie man das UART Signal/Register vor dem 
senden/empfangen verändern kann. Dürfte aber mit OUT und IN gehen glaube 
ich.

von Wolfgang (Gast)


Lesenswert?

Niklas Beuster schrieb:
> Das einzige Problem ist nun, dass das Flip Flop natürlich nicht weiß
> wann es anfangen soll zu zählen, es reagiert halt bei jedem
> Flankenwechsel, also ich habe manchmal das normale Signal und manchmal
> das Invertierte (siehe Bilder).

Falls die Übertragungsrate nicht so wichtig ist, kannst du deine Daten 
per Manchester-Code übertragen und bist das Problem damit los.

von Helmut L. (helmi1)


Lesenswert?

Hier mal etwas Lesestoff wie man FSK in Software macht.

http://www.ti.com/lit/an/slaa037/slaa037.pdf

Fuer dein Toggle FlipFlop. Warum nimmst du nicht was fertiges wie ein 
CD4013 oder ein 74HC74?

von Niklas B. (niklas90)


Lesenswert?

Wolfgang schrieb:
> Falls die Übertragungsrate nicht so wichtig ist, kannst du deine Daten
> per Manchester-Code übertragen und bist das Problem damit los.

Wie gesagt, die Baudrate habe ich auf ein verträgliches Minimum 
gedrückt.

@ Helmut: Ja, ich habe oben ja geschrieben, dass ich auch ein CD4024 
nehmen würde, aber ich habe gerade nur 100 npn Transistoren da^^

Zu der FSK Geschichte: Ich würde das gar nicht so kompliziert machen, 
ich habe noch Timer1 frei beim Sender und einen Pin vom PORT A. Bei 
einer "1" vom UART würde ich einfach eine andere 
"Interrupt-bei-Compare-Grenze" benutzen als bei einer "0". In der 
Interruptroutine wechsel ich dann den Pin immer von 0 auf 1. Und die 
Demodulation würde ich so machen, dass ich einfach den Eingang als 
externen Interrupt nehme und einfach die Ticks zwischen 2 Interrupts 
zähle und vergleiche und somit bei einer anderen Frequenz einen 
Unterschied merke.

Das würde in meinem Fall reichen, das pdf sieht mir zu sehr nach 
Rocket-Science aus, aber vielleicht bin ich auch einfach nur zu blöd ;-)

von Helmut L. (helmi1)


Lesenswert?

Niklas Beuster schrieb:
> Und die
> Demodulation würde ich so machen, dass ich einfach den Eingang als
> externen Interrupt nehme und einfach die Ticks zwischen 2 Interrupts
> zähle und vergleiche und somit bei einer anderen Frequenz einen
> Unterschied merke.
>

Das Problem bei dieser einfachen Methode ist die Stoeranfaelligkeit.
Am Ausgang eines Empfaengers ist das Signal nie sauber.

> Das würde in meinem Fall reichen, das pdf sieht mir zu sehr nach
> Rocket-Science aus, aber vielleicht bin ich auch einfach nur zu blöd ;-)

Das ist kein Rocket-Science. Das ist ganz einfach die Methode wie ein 
FM-ZF IC mit Koinzidentzdemodulator das auch macht. Also das Einkommende 
Signal mit einem verzoegerten (im mittel 90Grad) Signal multiplizieren. 
Das verzoegern geschieht in dem man einmal den Wert vom ADC 
zwischenspeichert. Hinter dem multiplizieren noch einmal ein Tiefpass 
und schon hast du deine Daten.
Das hat den Vorteil wenn mal ein Stoerimpuls kommt wird er vom Tiefpass 
geschluckt. Das funktioniert einwandfrei.

von Charly B. (charly)


Lesenswert?

hab jetzt nicht alles durchgelesen, wenn 1200bd reichen
schau mal nach einem TCM3105, wird zwar schon lange nicht
mehr gebaut ist aber immer noch zu bekommen, hab vor vielen
Jahren einige Funkmodems damit gebaut, fall interesse schau
ich mal, event. sind noch Platinen da.
Such mal beim gockel nach Packet Radio.

vlG
Charly

von Niklas B. (niklas90)


Angehängte Dateien:

Lesenswert?

Also sowohl bei Reichelt als auch bei Conrad gibt's den TCM3105 nicht. 
1200bd hört sich gut an, im Moment sende ich mit einer Baudrate von 200 
mit Pausen zwischen den Bytes die jeweils länger sind als Jene (falls 
das Signal mal abreißt). Es geht mir auch nicht darum, dass alle Bytes 
exakt übertragen werden wie bei TCP/IP, sondern dass ich eher einen 
Zustand habe, der immer wiederholt wird wie bei UDP. Es soll eher wie 
eine Fernsteuerung werden als eine Datenübertragung, eine Fernsteuerung 
mit 255 möglichen Zuständen quasi ;-)

Ich melde mich, wenn ich nicht weiterkomme, soweit erst mal Danke an 
alle, ich werde mir die Vorschläge zu Gemüte ziehen.




Ps.: Ich habe bei der Sendeschaltung die ganze Zeit den einen Transistor 
falsch gezeichnet, wollte die Schaltung nur nochmal richtig hochladen, 
damit keine Verwirrung aufkommt.

von Niklas B. (niklas90)


Angehängte Dateien:

Lesenswert?

Servus,

nachdem ich jetzt mal wieder ein bisschen Zeit für mein Projekt hatte, 
programmierte ich den Sende-Chip neu, so dass er das UART-Signal 
Frequenz moduliert.

Auf der Suche nach geeigneten Frequenzen ist mir aufgefallen was für 
eine schlechte NF-Bandbreite meine Funkgeräte haben (schon ab 3kHz geht 
die Amplitude stark zurück). Das habe ich mir zunutze gemacht und KEINEN 
Demodulator in den Empfangschip programmiert, sondern wieder eine 
angepasste Verstärkerschaltung gebaut.

Das Ergebnis seht ihr im letzten Bild, es funktioniert!

Allerdings ist ein Nachbau der Schaltung nicht zu empfehlen, da sie 
genau auf mein Funkgerät abgestimmt ist und außerdem aufgrund von 
Bauteilmangel viel zu umfangreich geworden ist.

Spätestens irgendwann nächste Woche kommt hoffentlich meine 
Reichelt-Bestellung, dann kann ich ja vielleicht nochmal eine kürzere 
Schaltung hier posten, ansonsten war's das erstmal.


Gruß, Niklas

von Helmut L. (helmi1)


Lesenswert?

Etwas seltsame Arbeitpunkteinstellung hast du da in deinem Verstaerker.
R7,R6,R8 stellen so keinen vernueftigen Arbeitspunkt fuer T4 ein.
Warum nimmst du keinen OP?

von Niklas B. (niklas90)


Lesenswert?

Wie gesagt, die Schaltung ist nur aus den Teilen gebaut, die ich gerade 
da hatte, mit T4 hast du Recht, den 10k könnte man ja schon fast einfach 
wieder rausnehmen, R11 und R17 auch, hmmm. Ansonsten sind die AP's schon 
so OK, das Signal was ankommt ist ja in keinster Weise schon digital 
oder hat konstante Amplituden, ich muss es erst mal ein bisschen "hin- 
und herschieben".

Zum Thema OP: Ich hatte mal früher einen in dem einen Kosmos-Kasten, ich 
weiß allerdings nicht mehr wie der hieß. Der brauchte eine symmetrische 
Spannungsversorgung, was sich in der Praxis nicht sonderlich gut 
realisieren lies, weshalb ich den nie außerhalb des Kastens benutzt habe 
und mich nicht weiter mit OPV's beschäftigt habe. Kennst du einen OPV 
der ohne symmetrische Spannungsversorgung funktioniert und der auch gut 
als Komparator funktioniert?

von Helmut L. (helmi1)


Lesenswert?

Niklas Beuster schrieb:
> Zum Thema OP: Ich hatte mal früher einen in dem einen Kosmos-Kasten, ich
> weiß allerdings nicht mehr wie der hieß. Der brauchte eine symmetrische
> Spannungsversorgung, was sich in der Praxis nicht sonderlich gut
> realisieren lies, weshalb ich den nie außerhalb des Kastens benutzt habe

Lass mich raten: LM741 hiess der. Uraltes Teil so um 1968 rausgekommen.

> und mich nicht weiter mit OPV's beschäftigt habe. Kennst du einen OPV
> der ohne symmetrische Spannungsversorgung funktioniert und der auch gut
> als Komparator funktioniert?

Ich kenn da ein ganze Menge.

1. Den LM324/LM358  bruacht nur eine Spannung geht aber nicht ganz an 
die Rails ran.

2. TS912/914 geht an dir Rails ran

3. OPA2340   auch ein Rail to Rail mit etwas besserer Offsetspannung und 
Slewrate.

Als Komparator kann man die alle verwenden wenn man abstriche an die 
Geschwindigkeit macht wie bei jedem OP.

Ansonsten als Komparator.

LM339/LM393 oder LM311

Niklas Beuster schrieb:
> Ansonsten sind die AP's schon
> so OK, das Signal was ankommt ist ja in keinster Weise schon digital
> oder hat konstante Amplituden,

Na auch mal warm oder kalt gemacht?

von Niklas B. (niklas90)


Lesenswert?

Hallo,

ich glaube, das war sogar der LM324, aber in dem Handbuch wurde nur mit 
symmetrischer Spannung betrieben, ist aber schon Jahre her...

Aber danke für deine Aufzählung, bei meiner nächsten Bestellung sind 
sicher ein paar OPV's dann dabei, mal bisschen damit rumspielen.

Helmut Lenzen schrieb:
> Na auch mal warm oder kalt gemacht?

Nope, aber ich weiß worauf du hinauswillst. Reichen 330Ω zwischen 
Emitter und Masse und parallel dazu 100nF ;-) ?

von Helmut L. (helmi1)


Lesenswert?

Niklas Beuster schrieb:
> Aber danke für deine Aufzählung, bei meiner nächsten Bestellung sind
> sicher ein paar OPV's dann dabei, mal bisschen damit rumspielen.

Kein Problem die kosten ja nichts.

Niklas Beuster schrieb:
> Nope, aber ich weiß worauf du hinauswillst. Reichen 330Ω zwischen
> Emitter und Masse und parallel dazu 100nF ;-) ?

Koennten reichen habe ich jetzt nicht nachgerechnet. Im allgemeinen gilt 
die Regel ca. 0.5 .. 1V am Emitterwiderstand. Damit der Spannungsabfall 
groesser ist als die Aenderungen der UBE mit der Temperatur (ca. -2mV/K)

LM324 kannt du aber Singelsupply betreiben. Ist allerding kein Rail To 
Rail Op.

von STK500-Besitzer (Gast)


Lesenswert?

elv hatte mal einen Bausatz um per PMR digitale Signale zu übertragen.
Vielleicht hilft der Link, den ich nur per Google gefunden, aber nicht 
durchgelesen habe.

http://www.juene-tronic.de/Startseite/Gemischtes/PMR/PMR.html

von Niklas B. (niklas90)


Angehängte Dateien:

Lesenswert?

Hallöchen,

endlich! Meine neue Schaltung mit MOSFETs ist fertig. Funktioniert 1A! 
Ich habe Dank der MOSFETs - im Gegensatz zu den Transistoren - nicht 
mehr das Problem mit den Störungen, die auftraten wenn ich meine Hand 
über die Schaltung gehalten habe oder einfach durch die Messkabel vom 
Oszi, die wie eine Art Antenne gewirkt haben und die scheinbar was von 
der Sendeschaltung, die zum testen direkt neben der Empfangsschaltung 
liegt, aufgefangen haben.

Nur als ich den letzten MOSFET eingebaut habe, fing es wieder so ein 
bisschen an, mit C5 waren die Störungen dann aber weg (nein, der MOSFET 
wird nicht mal ansatzweise warm, auch wenn er halt ganz kurz 
kurzgeschlossen ist, mit einem Amperemeter habe ich nicht mal einen 
Stromanstieg messen können im Vergleich ohne C5). Die Schaltung ist 
jetzt (absolut^^) Störungssicher.

Auf eine Temperaturkompensation habe ich verzichtet weil ich 1. nichts 
dazu gefunden habe (geht das wie beim Transistor mit 
Emitterwiderstand?), 2. gehört habe, das der AP von MOSFETs weniger 
temperaturanfällig ist und 3. die Schaltung weder in der Wüste noch am 
Nordpol betreibe.


Gruß, Niklas

von Anja (Gast)


Lesenswert?

Wolfgang schrieb:
> Falls die Übertragungsrate nicht so wichtig ist, kannst du deine Daten
> per Manchester-Code übertragen und bist das Problem damit los.

Oh je, früher hätten wir das Turbo-Tape Format benutzt um die Daten so 
schnell wie möglich zu übertragen.

Gruß Anja

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
Noch kein Account? Hier anmelden.