Forum: Mikrocontroller und Digitale Elektronik Spannungspegel Busleitung


von ruediger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich will ein Bussystem bauen (mehrere Sender und Empfänger) und habe 
folgendes Problem:

Der ULN2003 wird direkt vom Controller angesteuert (5V) und gibt dabei 
einen Wert von ca. 0,6V aus. auf der Empfängerseite gehen durch den 
Filter (ungewollter Spannungsteiler von R1 und R2) nochmals ca. 0,2V 
verloren.

Der Eingangspin des Empfängercontrollers erhält für ein Low-Signal ca. 
0,8V. Der Controller erkennt laut Datenblatt ein Low-Signal aber nur bis 
0,5V als Low bei einer Versorgung von 5V).

R1 und R2 könnte ich noch anpassen, um das ganze so auf 0,05 bis 0,1V 
Verlust zu begrenzen. Allerdings gibt der 2003 dann immer noch zu viel 
Spannung aus.

Hat jemand eine Idee für einen alternativen Baustein zum 2003 oder 
irgend einen anderen Vorschlag, wie man die Pegel mit wenig Aufwand 
anpassen könnte. Da ich bereits ein paar Empfängerbausteine aufgebaut 
habe, wäre eine Lösung auf der Sender-Seite von Vorteil. Kann aber zur 
Not auch noch Anpassungen am Empfänger vornehmen.

Prinzipschaltbild der Busleitung im Anhang. Controller ist jeweils ein 
Mega64.

Gruß Rüdiger

von holger (Gast)


Lesenswert?

>auf der Empfängerseite gehen durch den
>Filter (ungewollter Spannungsteiler von R1 und R2) nochmals ca. 0,2V
>verloren.

Häng den Pullup vor den Filter.
Dann baust du auch keinen Spannungsteiler.

von ruediger (Gast)


Lesenswert?

Danke für den Vorschlag. Werd ich abändern. Dann sind schon mal die 
ersten 0,2V "abgearbeitet". Fehlt mir dann noch die alternative zum 
ULN2003.

von spess53 (Gast)


Lesenswert?

Hi

>auf der Empfängerseite gehen durch den Filter (ungewollter >Spannungsteiler von 
R1 und R2)...

Das ist eh kein Filter. Dazu müsste R1 vor R2. Eine bessere 
Störsicherheit erreichst du einfacher durch Verkleinerung von R1.

MfG Spess

von (prx) A. K. (prx)


Lesenswert?

ruediger wrote:

> 0,8V. Der Controller erkennt laut Datenblatt ein Low-Signal aber nur bis
> 0,5V als Low bei einer Versorgung von 5V).

Was ist denn das für ein seltener Vogel? Damit ist der noch nicht einmal 
TTL-kompatibel, denn das akzeptiert immerhin 0,8V.

Ein AVR jedenfalls akzeptiert ganz offiziell bis 0.2*VCC, hier also 1V.

von ruediger (Gast)


Angehängte Dateien:

Lesenswert?

>Das ist eh kein Filter. Dazu müsste R1 vor R2. Eine bessere
>Störsicherheit erreichst du einfacher durch Verkleinerung von R1.

Ich habe das Schaltbild abgeändert. R1 ist jetzt vor R2, und nebenbei 
spar ich mir noch ein paar Widerstände, in dem ich sie auf den 
Empfängerplatinen komplett weg lasse und nur noch ein zentraler PullUp 
irgend wo in die Busleitung einfüge. Oder ist das bei ca. 2-3 Meter 
Busleitung nicht ratsam?

Ich habe den Wert von 100k auf 4,7k verringert. R1 war ursprünglich 
wegen dem ungewollten Spannungsteiler so hoch. Das fällt ja jetzt weg.

von ruediger (Gast)


Lesenswert?

>Was ist denn das für ein seltener Vogel? Damit ist der noch nicht einmal
>TTL-kompatibel, denn das akzeptiert immerhin 0,8V.

>Ein AVR jedenfalls akzeptiert ganz offiziell bis 0.2*VCC, hier also 1V.

Ist ein Mega64. Hab nochmals ins Datenblatt geschaut und nehme alles 
zurück. Sind natürlich 0,2*Vcc, wie komm ich nur auf 0,1*Vcc???

Da er 0,8V bekommt sollte es dann ja funktionieren. Tuts aber nicht. 
Muss ich mich nochmals auf Fehlersuche begeben.

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe das Schaltbild abgeändert. R1 ist jetzt vor R2, und nebenbei

Dein R2 ist eigentlich in beiden Fällen überflüssig. R1 und C1 bilden 
nämlich schon ein Filter.

MfG Spess

von (prx) A. K. (prx)


Lesenswert?

ruediger wrote:

> Da er 0,8V bekommt sollte es dann ja funktionieren. Tuts aber nicht.
> Muss ich mich nochmals auf Fehlersuche begeben.

Dann hast du definitiv ein anderes Problem, denn bei einem AVR bei 5V 
liegt der Umschaltbereich irgendwo zwischen 2V und 3V.

von (prx) A. K. (prx)


Lesenswert?

ruediger wrote:

> zurück. Sind natürlich 0,2*Vcc, wie komm ich nur auf 0,1*Vcc???

In der Zeile verrutscht. XTAL1 hat 0.1*VCC.

von ruediger (Gast)


Lesenswert?

Zunächst mal vielen Dank an alle.

Das Problem ist behoben. Funktioniert wunderbar mit 0,8V Eingangspegel. 
Jetzt kann ich meine Platinen mit dem ULN2003 zum Glück doch verwenden.

Bei meinem 8Bit-Bus hatte sich ein falscher SMD-Widerstand 
eingeschlichen. Der hat mir eine ganz andere Leitung fälschlicher Weise 
auf "High" gezogen . dadurch wurde mein eigentlicher Befehl 
korrekterweise von der Software ignoriert. Durch den Denkfehler mit 
0,1*Vcc hab ich dann gleich auf das Spannungsproblem gestürzt.

Jetzt werd ich noch eure Vorschläge mit dem Spannungsteiler umsetzen. 
Dann sind Schaltplan und Software fertig.

von Helmut L. (helmi1)


Lesenswert?

Warum nimmst du nicht einen echten Bustreiber ?
74HC(T) 245 (Bidirektional) oder 74HC(T)541 sind fuer sowas gemacht.

Der ULN2003 ist eher zur ansteuerung von Relais und LEDs gedacht und hat 
eine typische Vcsat Spannung von 0.9V. Auch ist die 
Schaltgeschwindigkeit mit 1uS auch nicht gerade schnell.

Gruss Helmi

von ruediger (Gast)


Lesenswert?

>Schaltgeschwindigkeit mit 1uS auch nicht gerade schnell.
Mein Bus gibt Signale von 5ms bzw. 10ms aus -> Schaltgeschwindigkeit 
zweitrangig

>Warum nimmst du nicht einen echten Bustreiber ?
>74HC(T) 245 (Bidirektional) oder 74HC(T)541 sind fuer sowas gemacht.
Strom. Da ich viele Teilnehmer anschließen möchte und ein ULN mehr Strom 
treiben kann als die beiden Bustreiber. Wenn der ULN gegen Masse 
durchschaltet, muss er die ganzen PULL-UP´s aller Schaltungen die am Bus 
hängen vertragen und die Filterkondensatoren umladen (desshalb der 
kleine Wert von nur 1nF).

>eine typische Vcsat Spannung von 0.9V
Deswegen werd ich mir jetzt den von dir vorgeschlagenen 74HC541 
anschauen. Vielleicht kommt er trotz des geringeren Stromes zum Einsatz. 
Nach den Vorschlägen von den Beiträgen oben überarbeite ich jetzt 
nochmals die Filter- und Pull-UP-Geschichte. Dann reicht er vielleicht 
auch bei den vielen Teilnehmern, die ich plane (ca. 50 bis 60)

Es gibt ja auch noch die Möglichkeit, mehrere Bussegmente zu machen und 
per µC miteinander zu koppeln. Dann hängen nicht alle Teilnehmer am 
gleichen Bus, was das Stromproblem entschärfen würde. Ich starte jetzt 
erst mal mit dem ULN2003, da ich schon geätzte Platinen habe. Vielleicht 
bekommen die nächsten Platinen dann den 74HC541.

Ist alles noch im Anfangsstadium. Noch nicht ausgereift.

von spess53 (Gast)


Lesenswert?

Hi

Um was für Buslängen handeltes sich eigentlich?

MdG Spess

von ruediger (Gast)


Lesenswert?

>Um was für Buslängen handeltes sich eigentlich?

max. ca. 6 bis 7 Meter

wenn ich das ganze in Segmente aufteile (wovon ich momentan ausgehe) 
werden es so 3 bis 4 Meter sein.

Ist für eine Modellbahnanlage

von neeeee (Gast)


Lesenswert?

Was spricht denn geben einen differentiellen Bus ? Was soll den die 
Geschwindigkeit sein ?

von spess53 (Gast)


Lesenswert?

Hi

Für solche Entfernungen bringen übliche Bustreiber a'la 541 nicht sehr 
viel. Persönlich würde ich zu RS485- oder CAN-Bustreibern tendieren.

MfG Spess

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.