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
>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.
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.
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
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.
>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.
>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.
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
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.
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.
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.
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
>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.
>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
Was spricht denn geben einen differentiellen Bus ? Was soll den die Geschwindigkeit sein ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.