Forum: Mikrocontroller und Digitale Elektronik 1-Wire Uart Problem


von Benedict K. (bloodline95)


Angehängte Dateien:

Lesenswert?

Servus,
bei einer unserer Platinen, haben wir sporadisch den Fehler, dass die 
Transistoren im Screenshot aus uns bisher unbekannten Gründen kaputt 
gehen.
Die Schaltung legt einfach einen UART auf eine einzelne Leitung, die 
aber mit VCC=24VDC betrieben wird.
Den gleichen Fehler haben wir aber auch wenn für VCC 5VDC verwendet 
wird. Da es nur sporadisch ist, ist es leider nicht so leicht zu 
reproduzieren.
Unsere Überlegung ist, dass evtl. ein Fehler auftreten könnte, wenn Bei 
Tx etwas gesendet wird und gleichzeitig über COM eine BUS Nachricht 
kommt.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Benedict K. schrieb:
> dass die
> Transistoren im Screenshot aus uns bisher unbekannten Gründen kaputt
> gehen.

Es gehen wirklich alle vier Transistoren kaputt?

Benedict K. schrieb:
> Unsere Überlegung ist, dass evtl. ein Fehler auftreten könnte, wenn Bei
> Tx etwas gesendet wird und gleichzeitig über COM eine BUS Nachricht
> kommt.

Na dann überleg mal weiter was mit T5 passiert wenn du dem extern eine 
niederohmige Spannung anlegst während er durchgeschaltet ist...

von Benedict K. (bloodline95)


Lesenswert?

Irgend W. schrieb:
> Es gehen wirklich alle vier Transistoren kaputt?

Zumindest geht es erst wieder wenn man alle 4 Transistoren gleichzeitig 
tauscht. Sobald man sie einzeln tauscht, geht wieder nichts.

Irgend W. schrieb:
> Na dann überleg mal weiter was mit T5 passiert wenn du dem extern eine
> niederohmige Spannung anlegst während er durchgeschaltet ist...

Ja das gleiche habe ich mir auch gedacht, aber wenn wir nur T5 tauschen, 
geht trotzdem nichts, deshalb war ich hier etwas verunsichert.

von Wilhelm M. (wimalopaan)


Lesenswert?

Benedict K. schrieb:

> Irgend W. schrieb:
>> Na dann überleg mal weiter was mit T5 passiert wenn du dem extern eine
>> niederohmige Spannung anlegst während er durchgeschaltet ist...
>
> Ja das gleiche habe ich mir auch gedacht, aber wenn wir nur T5 tauschen,
> geht trotzdem nichts, deshalb war ich hier etwas verunsichert.

Ist die Schaltung bei allen Busteilnehmern gleich? Dann ist ja immer 3k9 
Pullup und es sollte nichts passieren.

von wf88 (Gast)


Lesenswert?

Teste die ausgelötrten Transistoren mal richtig. LED in Last Kreis, Poti 
und R vor die Basis und schauen, ob der LED Strom auch wirklich dem 
Basis-Strom folgt.

Etwas Aufwand aber alles andere dürfte stochern im Nebel sein.

von Patrick C. (pcrom)


Lesenswert?

Wieviel busteilnehmer kann es geben ?
zB 10 busteilnehmer -> 3k9 x 10 in parallel = 390 ohm
Sind alle busteilnehmer gleiche version ? Oder gibt es zB teilnehmer mit 
die genennte 24V und anderen mit die genennte 5V ?

Wie lange sind die Kabel zwischen verschiedene modulen ?

Benedict K. schrieb:
> Da es nur sporadisch ist, ist es leider nicht so leicht zu reproduzieren.
Bleiben versuchen der Fehler zu reproduzieren. Wenn man der fehler nicht 
reproduzieren kann,gibt es oft sehr viel 'subjektive' informationen. 
Versuche dabei der Fehler-rate so grosz wie moeglich zu bekommen damit 
man soviel moeglich ueber die situation messen kann. Est 
produktanpassung wenn man der ursache des Fehlers gefunden hat

Patrick aus die Niederlaende

von Frank K. (fchk)


Lesenswert?

Warum verwendet Ihr nicht LIN- oder K-Line Transceiver aus dem 
Automotive-Bereich? Da funktioniert das.

fchk

von Mampf (Gast)


Lesenswert?

Wilhelm M. schrieb:
> Benedict K. schrieb:
>
>> Irgend W. schrieb:
>>> Na dann überleg mal weiter was mit T5 passiert wenn du dem extern eine
>>> niederohmige Spannung anlegst während er durchgeschaltet ist...
>>
>> Ja das gleiche habe ich mir auch gedacht, aber wenn wir nur T5 tauschen,
>> geht trotzdem nichts, deshalb war ich hier etwas verunsichert.
>
> Ist die Schaltung bei allen Busteilnehmern gleich? Dann ist ja immer 3k9
> Pullup und es sollte nichts passieren.

R17 ist aber Null Ohm. Also wäre es von COM über R17, T5 nach Ground 
ziemlich niederohmig.
Was auch immer COM sein soll.

von Wilhelm M. (wimalopaan)


Lesenswert?

Mampf schrieb:
> Wilhelm M. schrieb:
>> Benedict K. schrieb:
>>
>>> Irgend W. schrieb:
>>>> Na dann überleg mal weiter was mit T5 passiert wenn du dem extern eine
>>>> niederohmige Spannung anlegst während er durchgeschaltet ist...
>>>
>>> Ja das gleiche habe ich mir auch gedacht, aber wenn wir nur T5 tauschen,
>>> geht trotzdem nichts, deshalb war ich hier etwas verunsichert.
>>
>> Ist die Schaltung bei allen Busteilnehmern gleich? Dann ist ja immer 3k9
>> Pullup und es sollte nichts passieren.
>
> R17 ist aber Null Ohm. Also wäre es von COM über R17, T5 nach Ground
> ziemlich niederohmig.
> Was auch immer COM sein soll.

COM ist offensichtlich der Bus hier.
Wenn T5 leitet und der Kollektor wird nochmal über COM nach Gnd gezogen, 
passiert nichts. Lediglich, wenn die Parallelschaltung aus allen Pullups 
zu niederohmig wird, kann T5 beim durchsteuern den dabei entstehenden 
Strom ggf. nicht mehr verkraften.

Deswegen fragte ich ja auch schon oben, ob alle Teilnehmer DIESES 
Interface benutzen.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Benedict K. schrieb:
> Servus,
> bei einer unserer Platinen, haben wir sporadisch den Fehler, dass die
> Transistoren im Screenshot aus uns bisher unbekannten Gründen kaputt
> gehen.

ESD? Eine passende Schutzdiode könnte nicht schaden.

> Die Schaltung legt einfach einen UART auf eine einzelne Leitung, die
> aber mit VCC=24VDC betrieben wird.

Naja, warum auch immer. Ganz schön viel Aufwand dafür. Für die 
RX-Richtung reicht ein Spannungsteiler.

> Den gleichen Fehler haben wir aber auch wenn für VCC 5VDC verwendet
> wird. Da es nur sporadisch ist, ist es leider nicht so leicht zu
> reproduzieren.

Klingt nach ESD. Oder leistungsstarken Störeinkopplungen. Obwohl T6 
durch R20 schon recht gut geschützt ist. Da muss schon ORDENTLICH was 
einkopplen, um T6 kaputt zu kriegen.

> Unsere Überlegung ist, dass evtl. ein Fehler auftreten könnte, wenn Bei
> Tx etwas gesendet wird und gleichzeitig über COM eine BUS Nachricht
> kommt.

Ein Open Drain Bus verkraftet das ohne Probleme.

von Benedict K. (bloodline95)


Lesenswert?

Wilhelm M. schrieb:
> Deswegen fragte ich ja auch schon oben, ob alle Teilnehmer DIESES
> Interface benutzen.

Ja alle Bus Teilnehmer benutzen das Interface mit 24VDC.
Die 5V waren nur testweise.

Frank K. schrieb:
> Warum verwendet Ihr nicht LIN- oder K-Line Transceiver aus dem
> Automotive-Bereich? Da funktioniert das.

Würde ich gerne machen, allerdings ist die Schaltung schon etwas älter 
und es soll keine größeren Änderungen mehr daran geben.

von Falk B. (falk)


Lesenswert?

Ach so. Der Titel der Diskussion ist irreführend. Du hast einen UART im 
Halbduplex. 1-Wire ist ein anderes Bussystem, das zwar auch halbduplex 
arbeitet, aber eine andere Signalkodierung und Protokoll verwendet.

von Falk B. (falk)


Lesenswert?

Benedict K. schrieb:
> Wilhelm M. schrieb:
>> Deswegen fragte ich ja auch schon oben, ob alle Teilnehmer DIESES
>> Interface benutzen.
>
> Ja alle Bus Teilnehmer benutzen das Interface mit 24VDC.
> Die 5V waren nur testweise.

Wieviele Teilnehmer? Denn die Pull-Ups (R19, 3k9, 6mA@24V) liegen alle 
parallel.

von Wilhelm M. (wimalopaan)


Lesenswert?

Falk B. schrieb:
> Benedict K. schrieb:
>> Wilhelm M. schrieb:
>>> Deswegen fragte ich ja auch schon oben, ob alle Teilnehmer DIESES
>>> Interface benutzen.
>>
>> Ja alle Bus Teilnehmer benutzen das Interface mit 24VDC.
>> Die 5V waren nur testweise.
>
> Wieviele Teilnehmer? Denn die Pull-Ups (R19, 3k9, 6mA@24V) liegen alle
> parallel.

Die Frage habe ich schon oben gestellt ... es fehlt immer noch die 
Antwort

von Benedict K. (bloodline95)


Lesenswert?

Wilhelm M. schrieb:
> Wieviele Teilnehmer? Denn die Pull-Ups (R19, 3k9, 6mA@24V) liegen alle
>> parallel.
>
> Die Frage habe ich schon oben gestellt ... es fehlt immer noch die
> Antwort

Sorry das hab ich überlesen.
Maximal sind es 2 Teilnehmer

von Wilhelm M. (wimalopaan)


Lesenswert?

Benedict K. schrieb:
> Wilhelm M. schrieb:
>> Wieviele Teilnehmer? Denn die Pull-Ups (R19, 3k9, 6mA@24V) liegen alle
>>> parallel.
>>
>> Die Frage habe ich schon oben gestellt ... es fehlt immer noch die
>> Antwort
>
> Sorry das hab ich überlesen.
> Maximal sind es 2 Teilnehmer

Echt? Ein Bus mit zwei Teilnehmern? Oder meinst Du 1x master und 2x 
slave?

Die 18mA@24V sollten ok sein.

: Bearbeitet durch User
von Benedict K. (bloodline95)


Lesenswert?

Wilhelm M. schrieb:
> Echt? Ein Bus mit zwei Teilnehmern? Oder meinst Du 1x master und 2x
> slave?

Es sind tatsächlich nur 2 Teilnehmer, was man sich beim Entwickeln 
damals dabei gedacht hat, kann ich aber leider nicht sagen.

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

Benedict K. schrieb:
> Wilhelm M. schrieb:
>> Echt? Ein Bus mit zwei Teilnehmern? Oder meinst Du 1x master und 2x
>> slave?
>
> Es sind tatsächlich nur 2 Teilnehmer, was man sich beim entwickeln
> damals dabei gedacht hat, kann ich aber leider nicht sagen.

Wohl wenig ...

Aber anyway, es sollte funktionieren.
Es sei denn, Ihr habt starke Störstrahler oder über die Stromversorgung 
werden starke Potentialdifferenzen eingestreut z.B. wenn Ihr das ganze 
in einem Sägewerk betreibt ;-)

von Zeno (Gast)


Lesenswert?

Wilhelm M. schrieb:
> Ist die Schaltung bei allen Busteilnehmern gleich? Dann ist ja immer 3k9
> Pullup und es sollte nichts passieren.
Wenn ein Slave den COM niederohmig auf +24V legt, dann ist es völlig 
egal wie groß der Widerstand R19 (3,9k) ist. Wenn in so einem Fall der 
Transistor durchgesteuert ist dann muß er den Kurzschlußstrom verkraften 
können den COM liefern kann, ansonsten passiert genau das was hier 
passiert.
Bei dieser Schaltung muß man sicherstellen, das der Transistor nicht 
durchschalten kann, wenn der COM-Anschluß auf 24V gezogen wird.

von Peter D. (peda)


Lesenswert?

Benedict K. schrieb:
> Zumindest geht es erst wieder wenn man alle 4 Transistoren gleichzeitig
> tauscht. Sobald man sie einzeln tauscht, geht wieder nichts.

Dann miß mal die ausgelöteten Transistoren durch. Im Diodenbereich 
müssen die BE- und die BC-Diode zu messen sein. EC muß in beiden 
Richtungen sperren.

von H.Joachim S. (crazyhorse)


Lesenswert?

Steht irgendwo was wie lang die Leitung ist und in welcher Umgebung das 
ganze betrieben wird?
Auf jeden Fall solltest du der Busleitung einen passenden 
Überspannungsschutz   spendieren. Masseversatz ist auch ein nicht so 
schönes Thema.

von Wilhelm M. (wimalopaan)


Lesenswert?

Zeno schrieb:
> Wilhelm M. schrieb:
>> Ist die Schaltung bei allen Busteilnehmern gleich? Dann ist ja immer 3k9
>> Pullup und es sollte nichts passieren.
> Wenn ein Slave den COM niederohmig auf +24V legt, dann ist es völlig
> egal wie groß der Widerstand R19 (3,9k) ist. Wenn in so einem Fall der
> Transistor durchgesteuert ist dann muß er den Kurzschlußstrom verkraften
> können den COM liefern kann, ansonsten passiert genau das was hier
> passiert.
> Bei dieser Schaltung muß man sicherstellen, das der Transistor nicht
> durchschalten kann, wenn der COM-Anschluß auf 24V gezogen wird.

Das ist Quatsch!
Com wird mit Pullup auf 24V gezogen. Dabei darf der Transistor ruhig 
leiten.

von Benedict K. (bloodline95)


Lesenswert?

H.Joachim S. schrieb:
> Steht irgendwo was wie lang die Leitung ist und in welcher Umgebung das
> ganze betrieben wird?

Die Leitung ist maximal 10m lang. Eingebaut werden die Platinen in einen 
Antrieb zum Öffnen und Schließen von Fenstern.

Peter D. schrieb:
> Dann miß mal die ausgelöteten Transistoren durch. Im Diodenbereich
> müssen die BE- und die BC-Diode zu messen sein. EC muß in beiden
> Richtungen sperren.

Das werden wir jetzt mal ausprobieren.

von Georg (Gast)


Lesenswert?

H.Joachim S. schrieb:
> Masseversatz ist auch ein nicht so
> schönes Thema.

Das ist eben das schöne Märchen vom echten Eindraht-Bus - in der 
Realität muss halt zusätzlich zu dem einen Draht auch eine 
Masseverbindung bestehen. Ob es die hier gibt weiss man nicht so genau, 
ist aber eine interessante Frage.

Davon abgesehen würde ich eine 24V-Suppressordiode zwischen COM und GND 
anlöten, das dürfte ja kein Problem sein, dann sieht man ob das Erfolg 
hat.

Georg

von Benedict K. (bloodline95)


Lesenswert?

Georg schrieb:
> Das ist eben das schöne Märchen vom echten Eindraht-Bus - in der
> Realität muss halt zusätzlich zu dem einen Draht auch eine
> Masseverbindung bestehen. Ob es die hier gibt weiss man nicht so genau,
> ist aber eine interessante Frage.

Die beiden Antriebe sind mit der selben Spannungsversorgung 
angeschlossen und haben dadurch auch das selbe Potential.

Peter D. schrieb:
> Dann miß mal die ausgelöteten Transistoren durch. Im Diodenbereich
> müssen die BE- und die BC-Diode zu messen sein. EC muß in beiden
> Richtungen sperren.

Laut den Messungen ist T5 der einzige Transistor, der kaputt geht.

Georg schrieb:
> Davon abgesehen würde ich eine 24V-Suppressordiode zwischen COM und GND
> anlöten, das dürfte ja kein Problem sein, dann sieht man ob das Erfolg
> hat.

Auch das werden wir jetzt versuchen, da es nur sporadisch ist, ist es 
halt schwer zu verifizieren

von Peter D. (peda)


Lesenswert?

Benedict K. schrieb:
> Laut den Messungen ist T5 der einzige Transistor, der kaputt geht.

Das läßt vermuten, daß doch mal harte 24V auf dem Bus liegen 
(Wackelkontakt).
Gehen die 24V über das gleiche Kabel oder Stecker oder liegen sie in der 
Nähe (unter der Platine).

von Robert (Gast)


Lesenswert?

Peter D. schrieb:
> Benedict K. schrieb:
>> Laut den Messungen ist T5 der einzige Transistor, der kaputt geht.
>
> Das läßt vermuten, daß doch mal harte 24V auf dem Bus liegen
> (Wackelkontakt).

Ich würde beide Platinen kontrollieren, ob sie auch wirklich dem 
gezeigten Schaltplan entsprechen. Eventuell hat jemand den R19 
versehentlich mit 0Ohm bestückt.

von Benedict K. (bloodline95)


Lesenswert?

Peter D. schrieb:
> Gehen die 24V über das gleiche Kabel oder Stecker oder liegen sie in der
> Nähe (unter der Platine).

Die laufen über den gleichen Stecker, es gibt aber keine direkte 
Verbindung.

Robert schrieb:
> Ich würde beide Platinen kontrollieren, ob sie auch wirklich dem
> gezeigten Schaltplan entsprechen. Eventuell hat jemand den R19
> versehentlich mit 0Ohm bestückt.

Die Bestückung ist bei allen korrekt.

von Zeno (Gast)


Lesenswert?

Wilhelm M. schrieb:
> Com wird mit Pullup auf 24V gezogen. Dabei darf der Transistor ruhig
> leiten.
Den Beitrag des TO das da 2 gleichartige Busteilnehmer dran hängen hatte 
ich überlesen.

Mal ne ganz andere Frage: Was laufen denn da für Signale drüber, also 
eher statisch oder schon was impulsmäßiges.

von W.S. (Gast)


Lesenswert?

Benedict K. schrieb:
> Servus,

Ja, dir auch einen guten Tag,

allerdings meine ich, daß du kein 1-Wire UART Problem hast, sondern ein 
eher generelles Entwurfsproblem.

Zum einen die Frage, wozu soll das Ganze dienen? Wenn du nur in einer 
Richtung von einem Master zu mehreren Zuhörern etwas mitteilen willst, 
dann wäre der klassische V.24 Pegel völlig ausreichend. Aber da du 
obendrein auch den Empfangstrakt an dieselbe Strippe angeschlossen hast, 
willst du auch etwas empfangen und du hast keine Verriegelung gezeigt, 
die verhindert daß du dein Gesendetes sogleich auch wieder empfängst. 
Und wie dein Programm reagiert, wenn es sich selber zudröhnt, weißt auch 
nur du. Könnte ja sein, daß es einfach nur verrückt spielt und deine 
Transistoren dem Dauersenden nicht gewachsen sind.

Obendrein scheint deine Schaltung nicht gegen Bereichsüberschreitung 
gesichert, also nicht gegen Spannungen auf der Leitung <0V oder >24V. 
Sowas würden zumindest T5 und T6 übelnehmen, denn die BE-Strecke hält 
nicht sonderlich viel Spannung aus.

W.S.

von Falk B. (falk)


Lesenswert?

Zeno schrieb:
> Den Beitrag des TO das da 2 gleichartige Busteilnehmer dran hängen hatte
> ich überlesen.
>
> Mal ne ganz andere Frage: Was laufen denn da für Signale drüber, also
> eher statisch oder schon was impulsmäßiges.

Wer lesen kann ist klar im Vorteil! Schau mal auf die Überschrift!
Aber wieder schön gschwätzt!

von Zeno (Gast)


Lesenswert?

Falk B. schrieb:
> Schau mal auf die Überschrift!
Die sagt erst mal gar nichts.
Was sind wir froh das der Herr Brunner lesen kann - vor allem die 
Überschrift.

Ein Glück aber auch das Du hier so zielgerichtet antwortest, z.B. hier
Falk B. schrieb:
> Ein Open Drain Bus verkraftet das ohne Probleme.
Ob das ein Opendrainbus kann oder nicht war hier nicht die Frage. Zumal 
Mosfets in der Schaltung des TO recht dünn gesät sind.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

stimmen alle Widerstandsangaben? Schon einmal alle Widerstände 
nachgemessen?

von Gerd E. (robberknight)


Lesenswert?

Benedict K. schrieb:
> Laut den Messungen ist T5 der einzige Transistor, der kaputt geht.

ok, das klingt schon mal wesentlich realistischer als die Aussage daß 
alle 4 Transistoren kaputt gehen. Denn das müssten sonst massive 
Störungen sein. T5 ist hier der der am empfindlichsten für Störungen 
über die COM-Leitung ist.

Meine Vermutung ist daß es beim Ein- oder Ausschalten der Motoren für 
einen kurzen Moment zu Masseversatz kommt. Entweder ist das höher als 
die Sperrspannung des Transistors T5, oder wenn der Transistor in dem 
Moment durchgeschaltet wird fließt ein zu hoher Ausgleichsstrom.

Ich würde an allen Busteilnehmern TVS-Dioden zwischen COM und GND 
einbauen. Abhängig ein bischen von der Baudrate auf der Leitung. Wenn 
langsam dann kann man z.B. ne SMBJ24A oder SA24A nehmen. Die kann 
ordentlich was wegschlucken, hat aber etwas mehr als 100 pF.

von Peter D. (peda)


Lesenswert?

Wer denkt sich denn solche Schaltungen aus?

R18, R35 sind überflüssig.

Die Störsicherheit ist grauenhaft schlecht.
T6 schaltet bei 0,7V, d.h. gegen Low 0,5V und gegen High 23,3V 
Störabstand. Eine Schaltschwelle von 12V wäre deutlich stabiler.

R17 war wohl zum Schutz von T5 gedacht, nur ist dann 0R der falsche 
Wert.

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.