mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Datenübertragung via Versorgung


Autor: sigma9 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte Daten auf der Vcc Leitung übertragen - ähnlich 1-wire.
Dazu habe ich mir folgende Schaltung überlegt (nach längerem googlen und 
Forensuche hier) -siehe Anhang-

Randbedingungen:

Bastelprojekt, zum Lernen, im Endausbau vll. 8 Exemplare geplant
Datenrate 8 Bit / s
Länge der (Daten+Vcc)-Leitung 0.5m
Strombedarf des Receivers: max 30mA
Receiverteil (rechts der gestr. Linie) seeehr raumbeschränkt.
Sender ist ein selbst programmierter Atmega - als HW und SW (Protokoll) 
ist hier alles möglich was dieser und ich können.
[hoffe ich habe nix relevantes vergessen]


Erläuterung des Schaltplanes / meiner Idee:

Auf der Sendeseite wird über C1 ein Signal mit Rechteckflanken (vor C1) 
mit der Konstantspannung addiert. Schottkydiode D1 (muss nat. nicht 
BAS40, nur symbolisch) verhindert Rückwirkung.

Auf der Receive-Seite wird der Spike auf der Vcc-Leitung mittels C2 
abgetrennt, das Ergebnis mit passendem Spannungsteiler (R2) dem 
AnalogComparator+ des Attiny zugeführt. Wenn man es hinkriegt, dass dies 
Spannung lange genug > 1.1V wird, kann man direkt mit Vref(Attiny 
intern) vergleichen - das wäre aber nur Sahnehäubchen. Spannungsteiler 
aus 2 Rs an AnComp- geht auch.

Ansonsten liefert die Leitung über Tiefpass R1/C3 Vcc für den Attiny.

angedachte Werte: C1 = ?, C2 = C1, R2 > 10k passend (s.o.), R1 = 47, C1 
= 4u7, D1 Schottky fast egal.

Ich habe über 1-wire gelesen, da wird das so ähnlich gemacht, allerdings 
sind die Receiver dort monolithisch (und btw für mich viel zu groß).
Auch machen die Modelleisenbahner was ähnliches - allerdings mit viel 
mehr Aufwand, da dort richtig Power übertragen werden muss für die Loks.

Meine Fragen an die Gurus (bevor ich ans Steckbrett gehe und eventuell 
Rauch für 2 Euro aufsteigt oder ich Stunden am Oszi hänge...)

- kann das so klappen oder völliger Unsinn?
- zu simpel / zu kompliziert?
- Hat jemand sowas (ähnliches) schon mal gemacht?
- andere bessere Ideen?
- Protokollvorschläge (ich dachte an sowas wie Manchester o. ä. - macht 
das Sinn?)

Bin für jeden Kommentar dankbar.

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das grosse Problem bei deiner Idee wird die Schwelle des Komparators 
sein, die schwer einzustellen ist und auch auf jede Störung reagieren 
wird.

Durch die Diode am Sender wird der Pegel sowieso schon stark begrenzt. 
Was gehen könnte, wäre FSK (zwei Frequenzen umtasten) und diese dann per 
ADC am Empfänger auswerten. Dazu gibt es verschiedene Methoden, AVR hat 
Application Notes für den DTMF Empfang, die für dich geeignet wären. 
Auch ein Görtzel Algorithmus könnte klappen.

: Bearbeitet durch User
Autor: sigma9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den Kommentar.

Du hast sicher recht mit der Komparator-Schwelle. Ich dachte, wenn ich 
R2 hochohmig genug mache, dann kann ich auch die Schwelle hoch genug 
setzen um Störungen los zu werden.

Und bei der geringen Bit-Rate kann ich CRCs mitsenden und/oder in 
höheren Schichten die Datenintegrität sichern - dachte ich.
FSK hatte ich auch schon angedacht - sollte relativ robust sein.

ADC am Empfänger hat den Nachteil, dass dieser (selbst wenn freilaufend) 
relativ langsam ist - ich befürchte, damit kann ich die Spikes leicht 
verpassen.

SW-Idee ist: AnComp -> IntCapture, 9 Absolutzeiten in ne Tabelle, die 
nach Ende des Bursts ausgewertet wird.

DTMF finde ich ne gute Idee. Werde ich ich anschauen.
Görtzel-Alg. kenne ich bis jetzt nicht - werde googlen.

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Ich schmeiss' mal "DiSEqC" in den Raum. Das ist eine Loesung fuer eine 
aehnliche Problemstellung.

Gruss
WK

Autor: Gerd S. (sigma9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...auch ne Idee.

Allerdings dachte ich bis jetzt das sei ziemlich komplex. Und ich habe 
ja beim Receiver wenig Platz: ein ATtiny in SO14 und ein paar Rs und Cs 
pasend gerade so.

Schaue ich mir trotzdem Mal an

Autor: Flip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder wie im modellbau DCC. Da wechselt einfach die polarität. empfänger 
brauchen nur einen Gleichrichter.

Autor: Gerd S. (sigma9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sagte ich ja oben wie die Modell-Eisenbahner. Dann brauche ich beim 
Receiver mindestens 4 Dioden und nen dicken Siebelko. Ich befürchte 
mechanisch zu groß...

Autor: Falk B. (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gerd S. (sigma9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh ja danke.Habe zwar im Forum gesucht aber auf Multiplex en als keyword 
bin ich nicht gekommen.

Werde die passenden Links anschauen.

Autor: Flip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach dem Gleichrichter braucht es keinen großen elko, die kapazität kann 
bei gleicher datenrate kleiner sein als bei aufmodulieren von ac- 
signalen, da die Spannung am Gleichrichter 99% der zeit vcc ist. wenn es 
gerne dirty sein darf, dienen 2 portpins als gleichrichter und einer 
davon als input, dann muss nurnoch ein cap zwischen vcc und gnd.

Autor: Gerd S. (sigma9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flip schrieb:
> Nach dem Gleichrichter braucht es keinen großen elko, die kapazität kann
> bei gleicher datenrate kleiner sein als bei aufmodulieren von ac-
> signalen, da die Spannung am Gleichrichter 99% der zeit vcc ist.


Da hast du Recht - das hatte ich nicht bedacht.

wenn es
> gerne dirty sein darf, dienen 2 portpins als gleichrichter und einer
> davon als input,


Das verstehe ich nicht. Könntest du das erläutern?


>Dann muss nurnoch ein cap zwischen vcc und gnd.

Das wiederum ist mir klar.

Deine Idee ist mir sympathisch, weil "dirty" für mich okay ist, wenn es 
nur Bauteile=Platz spart.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.