mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Spannungspegel Busleitung


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

Bewertung
0 lesenswert
nicht 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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ruediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

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

Bewertung
0 lesenswert
nicht 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.

Autor: ruediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ruediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ruediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

MdG Spess

Autor: ruediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: neeeee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht denn geben einen differentiellen Bus ? Was soll den die 
Geschwindigkeit sein ?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.