Forum: Mikrocontroller und Digitale Elektronik Serielle Daten vom parasitär versorgten uC


von Sebastian W. (sebastian_w29)


Lesenswert?

Liebe Leute,

ich hab hier ein kniffliges Problem.

An meiner Solaranlage hängt ein Solarlog 500 (http://www.solar-log.de/) 
mit S0-Eingang zu Aufzeichnung des Eigenstromverbrauchs 
(http://de.wikipedia.org/wiki/S0-Schnittstelle). Mit einem 
Mikrocontroller errechne aus den Zählerständen von Erzeugungszähler und 
Netzübergabezähler den Verbrauch im Haus und generiere entsprechend 
künstliche S0-Impulse. Das funktioniert soweit mit einem Arduino Mega 
auch recht gut 
(http://sebastians-blog.wangnick.de/index.php?/archives/2-Solaranlage-und-Eigenstromverbrauch.html).

Ich hab mir jetzt in den Kopf gesetzt, die Schaltung so umzubauen, dass 
der Mikrocontroller parasitär über die S0-Schnittstelle versorgt wird. 
Ich habe also maximal 2mA zur Verfügung, da ein Strom von unter 2mA noch 
als Nicht-Impuls gilt. Auch das klappt soweit schon (Atmega1284P mit 
zwei Hardware-UARTs, kann dadurch mit 1MHz bei ca. 2.4V laufen, 
Puffer-Kondensatoren hinter einer Schottky-Diode, ein Mosfet zur 
Impulsgenerierung, soviel wie möglich SLEEP_MODE_IDLE).

Nun möchte ich zu Debugzwecken Daten per Bit-banging (class 
TinyDebugSerialWriter_1_115200, 
http://arduino-tiny.googlecode.com/svn-history/r70/trunk/hardware/tiny/cores/tiny/TinyDebugSerial.h) 
an einen PC übertragen. Ich benutze dazu einen USB-zu-Seriell-Wandler 
basierend auf dem FT232RL 
(http://imall.iteadstudio.com/im120525005.html).

Wenn ich nun die serielle Masse des PC mit der Masse meiner parasitär 
versorgten Schaltung verbinde, so erkennt der Solarlog die S0-Impulse 
nicht mehr. Tatsächlich fliesst gar kein Strom über einen 10Ω- 
Messwiderstand zum Minus-Pol der S0-Schnittstelle zurück. Anscheinend 
fliesst der Strom stattdessen über den Nullleiter meiner Hauselektrik.

Ich hab jetzt versucht, einen Optokoppler (HPCL-817-000D) einzubauen. Da 
kommt aber nur Kruscht an, weil ich auf der LED-Seite nur so wenig Strom 
entbehren kann. Ich möchte auch die Baudrate nicht wesentlich 
verringern, denn in der Zeit in der ich Bit-bange kann ich nicht in den 
SLEEP_MODE_IDLE und damit erhöhe ich wieder den Gesamtverbrauch.

Irgendwelche genialen Ideen?

LG, Sebastian

von andi (Gast)


Lesenswert?

Nimm doch einen analog devices Datenkoppler aus der ADM reihe gibt's in 
allen erdenklichen Varianten aber vermeide die mit internem DcDc Wandler 
der funkt noch bis zu 1,8Ghz hinauf.

Lg Aus Austria Andi

von Sebastian W. (sebastian_w29)


Lesenswert?

Ok, interessante Teile, benötigen allerdings dann noch eine 
Versorgungsspannung, und verbrauchen auch etwas viel.

Aber ich brauche ja gar keine galvanische Trennung. Ich möchte ja 
eigentlich nur die Differenz zwischen uC-Masse und uC-TX (oder zwischen 
uC-Vcc und uC-TX) hochohmig abgreifen und dem PC-USB-RX als Logiklevel 
zur Verfügung stellen, ohne die uC-Masse direkt mit der PC-USB-Masse zu 
verbinden.

Geht da nicht irgendwas mit Operationsverstärkern?

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.