Hallo zusammen, ich hab eine Schaltung mit einem ATmega88 die zur Bestätigung beim Start 2 LEDs kurz aufleuchten lässt (ca. 2s an dann wieder aus). Hier hängt zusätzlich an der UART-Schnittstelle ein Raspbarry Pi der alle 5s Daten sendet. Ich habe beide über 2 unterschiedliche Netzteile laufen. Wenn ich nach ein paar Tagen die ausgeschalteten Netzteile wieder einschalte, verhält sich die Schaltung mit dem ATmega88 ziemlich seltsam. Die LED's leutchten deutlich länger auf und dannach funktioniet eigentlich nichts mehr so wie es sollte. Ich hab schon gemerkt, dass es an der Verbindung ATmega88_RxD <-> Raspi_TxD liegt. Trenne ich diese vor dem einschalten, funktioniert alles so wie es soll. Ich hab eine Ahnung woher das kommen könnte, so eine Art Bootloader der gar nicht verwendet wird. Ich kann es nicht ganz in Worte fassen. Kann jemand helfen ? Gruss
Zwei Netzteile können ungünstig sein. Selbst wenn sie durch eine schaltbare Steckdosenleiste scheinbar gleichzeitig eingeschaltet werden, liefern die Netzteile nicht zeitgleich ihre 5V am Ausgang. Dadurch kann es zu einer Fremdspeisung über die Schutzdioden kommen und ggf. bist du dann in einem undefinierten Zustand (Ruhezustand vom Pegel ist Vcc).
Gast
#5436146
Eventuell versorgt der Raspi den Avr über diese Leitung mit Energie. Zu wenig, um richtig zu laufen, aber genug um danach das Einschalten des eigenen Netzteils zu verpassen und einen vernünftigen Kaltstart hinzulegen.
Gast
#5436149
Auf jedenfall auch mal GND von beiden miteinander verbinden.
Timmo H. schrieb: > Zwei Netzteile können ungünstig sein. Selbst wenn sie durch eine > schaltbare Steckdosenleiste scheinbar gleichzeitig eingeschaltet werden, > liefern die Netzteile nicht zeitgleich ihre 5V am Ausgang. Dadurch kann > es zu einer Fremdspeisung über die Schutzdioden kommen und ggf. bist du > dann in einem undefinierten Zustand (Ruhezustand vom Pegel ist Vcc). Hmm...klingt erstmal plausibel. Ich probiere mal das selbe Netzteil, mal sehen. Wie wird das denn sonst gelöst, wenn man 2 verschiedene Spannungsquellen hat ? fop schrieb: > Eventuell versorgt der Raspi den Avr über diese Leitung mit Energie. Zu > wenig, um richtig zu laufen, aber genug um danach das Einschalten des > eigenen Netzteils zu verpassen und einen vernünftigen Kaltstart > hinzulegen. Kann man dagegen was machen, ausser das selbe Netzteil nehmen ? A. schrieb: > Auf jedenfall auch mal GND von beiden miteinander verbinden. Das hab ich schon gemacht.
P. F. schrieb: > Hmm...klingt erstmal plausibel. Ich probiere mal das selbe Netzteil, mal > sehen. Wie wird das denn sonst gelöst, wenn man 2 verschiedene > Spannungsquellen hat ? z.B. galvanisch trennen oder zumindest ein Level-Shifter um die Fremdspeisung zu verhindern. Oder Quick and Dirty einen Serienwiderstand zwischen Rx und Tx der so dimensioniert ist dass die Versorgungsspannung "genug" einbricht, dass die Brown-Out zuschlägt (die du natürlich aktivieren musst)
Gast
#5436168
P. F. schrieb: > Kann man dagegen was machen, ausser das selbe Netzteil nehmen ? Man kann einen anständigen Widerstand in die Datenleitungen hängen. Dein ATmega88 läuft mit 3.3V?
Gast
#5436169
Hallo, meine Erfahrung und Empfehlung für zwei separat startende Systeme: jeweils einen externen Pullup Widerstand 4,7k-10k an die RX Leitungen.
Gast
#5436987
Das hilft aber im Falle Fremdversorgung über die IC-internen Schutzdioden nichts. Bestenfalls dann, wenn der Eingang über eine in Reihe liegende Diode entkoppelt ist, die den Eingang nur tief ziehen kann, aber nicht hoch (was dann der Pullup übernimmt).
Gast
#5437030
1. Brown-Out aktivieren: verhindert solange ein Start des Prozessors bis die Versorgungsspannung stabil ist. 2. Programm richtig initalisieren. 3. Leitungslänge beachten 4. Entweder ein Netzteil für beides oder 2 Netzteile und dann über Optokoppler getrennt nutzen. 5. Ohne Programm und Schaltplan stochern im Nebel nur Goethe war Dichter...
Gast
#5437172
Der serielle Ausgang des Raspberry Pi liegt auf High Pegel. Da der AVR noch keine Spannungsversorgung hat, fließt ein Strom durch seine ESD Schutzdioden zum VCC Pin. Somit kommt es zu einer parasitären Spannungsversorgung. Ich habe hier mal die ESD Dioden eingezeichnet, sie befinden sich im AVR Mikrocontroller:
1 | |
2 | |
3 | |
4 | |
5 | |
Wenn die Leitungen kurz sind, kannst du die beiden Seiten mit zwei Dioden und Widerständen entkoppeln:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
Die Dioden übertragen Low-Pegel. Die Pull-up Widerstände sorgen für definierten (High) Pegel zu den Zeiten, wo die Dioden nicht leiten. Verwende Shottky Dioden mit einer geringen Verlustspannung (<0,5V), damit es zuverlässig funktioniert. Die Schaltung ist nicht Ideal, denn auch so fließt ein parasitärer Strom zur anderen Seite, aber dieses mal durch die 2,2k Ohm Widerstände abgeschwächt. Normalerweise genügt dies, die parasitäre Versorgungsspannung gering genug zu halten. Insbesondere zusammen mit aktiviertem Brown-Out Detektor. Etwas sauberer geht es mit den bereits empfohlenen Optokopplern, aber da muss man dann auf die Signalflanken achten. Optokoppler sind nämlich relativ langsam.
Gast
#5437185
Beispiel mit Optokoppler:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Die Diode und der Transistor sind Bestandteile des Optokopplers. Für die Umgekehrte Richtung (AVR zum Raspi) baust du das Ganze nochmal spiegelverkehrt.
Hallo Leute, ich hatte das mit der galavanischen Trennung nicht so ganz auf dem Schirm. Bei dem nächsten HW-Update der Platine werde ich es nachrüsten. ich hab jetzt den Brown Out auf 4V gestellt und aktiviert, schein zu funktionieren. Danke.
Gast
#5978126
P. F. schrieb: > Hallo Leute, > > ich hatte das mit der galavanischen Trennung nicht so ganz auf dem > Schirm. Bei dem nächsten HW-Update der Platine werde ich es nachrüsten. > ich hab jetzt den Brown Out auf 4V gestellt und aktiviert, schein zu > funktionieren. > > Danke. Hatte ein ähnliches Problem mit parasitärer Spannung am RX-Pin und auch mir half das Aktivieren der BOD bei 4V (bei 2.7V nicht). Guter Tipp.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.