Hallo zusammen, ich entwerfe gerade eine Art Hausbus (nutze es nur für die 12V-LED-Beleuchtung) und bin bei der Anbindung der Mikrocontroller an den Bus nicht sicher, ob ich etwas übersehen habe. Bei der Leitungslänge gehe ich mal von 100m aus (werden sicher weniger werden) und die Übertragungsrate ist 1000 Bit/s. Jetzt würde mich interessieren, ob das so passt bzw. was ich übersehen habe? Beim Ausgang (uC ==> Bus) kann ich nicht abschätzen, wie viel T1 leisten muss und habe deshalb auch keinen blassen Schimmer, wie groß R3 sein muss. Der Wert ist eher geraten bzw. geschätzt. Den Eingang (Bus ==> uC) habe ich so gedacht: Den uC direkt an eine mehrere Meter lange Busleitung anzuschließen dürfte zu unsicher sein. Daher nehme ich die 12V aus der Stromversorgung. Über C1 und R1 wird (im Ruhezustand) der Eingang auf 3,3V gehalten. Wenn am Bus ein Signal anliegt (ca. 0V), sinkt die Spannung auf irgendwas um -8V, die mit R2 und den internen Schutzdioden auf 0V begrenzt werden. Gibt es da irgendwelche Bedenken? Fertige Bus-Treiber-ICs möchte ich möglichst keine nehmen. Danke schon mal, ich bin gespannt :-))
:
Verschoben durch Moderator
Steffen H. schrieb: > ich entwerfe gerade eine Art Hausbus (nutze es nur für die > 12V-LED-Beleuchtung) und bin bei der Anbindung der Mikrocontroller an > den Bus nicht sicher, ob ich etwas übersehen habe. Du hast offenbar den CAN-Bus übersehen.... > Fertige Bus-Treiber-ICs möchte ich möglichst keine nehmen. Warum nicht? Wenn du einen störsicheren und weltweit erprobten Transceiver für den Bruchteil eines Euros bekommst, dann lohnt sich keine Bastelei. Steffen H. schrieb: > Beim Ausgang (uC ==> Bus) kann ich nicht abschätzen, wie viel T1 leisten > muss und habe deshalb auch keinen blassen Schimmer, wie groß R3 sein > muss. Der Wert ist eher geraten bzw. geschätzt. Passt schon. Kommt aber im Prinzip auf den Pullup deines Busses an. > Den Eingang (Bus ==> uC) habe ich so gedacht: Den uC direkt an eine > mehrere Meter lange Busleitung anzuschließen dürfte zu unsicher sein. Warum? Beim Ausgang machst du das ja auch mit 1k und einer hauchdünnen Siliziumschicht im Transistor... > und den internen Schutzdioden auf 0V begrenzt werden. Gibt es da > irgendwelche Bedenken? Du solltest die Schutzdioden nicht als Bauteile verwenden, wenn du dich auf die Schaltung verlassen musst. Diese Dioden sind nämlich in keinem Datenblatt bezüglich Belastbarkeit oder Kennlinie spezifiziert. Mach externe Dioden ran, wenn du was Verlässliches willst. Ich würde übrigens auf jeden Fall den C1 weglassen. Denn eine hochfrequente ESD-Impuls geht sowieso geradeaus durch den durch... BTW: wie schnell soll denn der Bus "laufen"? Welche Datenrate hast du geplant? Wie machst du die Arbitrierung?
Ich würde auf jeden Fall mal noch einen R am Schreibtransistor vorsehen, da sonst bei versehentlicher Verwechselung der Transistor raucht. Was mir bei deiner Schaltung in den Kopf kam, war V-BUS (https://hobbyelektronik.org/w/index.php/VBus-Decoder), der lässt sich verpolungssicher anschließen. Man muss halt immer mit äußeren Störeinflüssen etc. rechnen. Ich persönlich bin ein Fan von RS458, die Treiber sind billig, einen UART haben die meisten Controller auch. Ansonsten finde ich CAN sehr interesant.
Den CAN-Bus kenne ich natürlich. Ich möchte das ganze im Ruhezustand so stromsparend wie möglich haben, und die ganzen CAN-Bus-Bausteine brauchen auch ne Menge Strom. Bin gerade bei ca. 5uA pro Teilnehmer (theoretisch - messen kann ich erst wenns fertig ist). Lothar M. schrieb: > Passt schon. Kommt aber im Prinzip auf den Pullup deines Busses an. Den passe ich an die Schaltung an. Lothar M. schrieb: >> Den Eingang (Bus ==> uC) habe ich so gedacht: Den uC direkt an eine >> mehrere Meter lange Busleitung anzuschließen dürfte zu unsicher sein. > Warum? > Beim Ausgang machst du das ja auch mit 1k und einer hauchdünnen > Siliziumschicht im Transistor... Weil ich davon ausgehe, dass je nach Leitungslänge und Verbraucher die Pegel am Bus nicht mehr zuverlässig sind. Lothar M. schrieb: > Du solltest die Schutzdioden nicht als Bauteile verwenden, wenn du dich > auf die Schaltung verlassen musst. Diese Dioden sind nämlich in keinem > Datenblatt bezüglich Belastbarkeit oder Kennlinie spezifiziert. Darum der Eingangswiderstand von 100kOhm, bei 12V macht das 0.12mA. Muss ich davon ausgehen, dass SCHUTZdioden das nicht packen? (dass sie drin sind steht ja im Datenblatt) Übrigens habe ich mal an einen ATtiny + und - vertauscht. Die Versorgungsspannung (60VA) ging in die Knie (min. 2-3V weniger), der uC wurde nicht mal warm und funktioniert noch. Scheint also sehr robust zu sein... Lothar M. schrieb: > Ich würde übrigens auf jeden Fall den C1 weglassen. Denn eine > hochfrequente ESD-Impuls geht sowieso geradeaus durch den durch... C1 hat einzig die Aufgabe, dass im Ruhezustand (Bus auf 12V) kein Strom fließt (und die Schutzdioden werden dann auch nicht belastet). Lothar M. schrieb: > BTW: wie schnell soll denn der Bus "laufen"? Welche Datenrate hast du > geplant? Wie machst du die Arbitrierung? 1000 Bit/Sekunde (steht im Ausgangsbeitrag). Kommunikation ist so geregelt, dass alle Teilnehmer syncron lesen/schreiben. Jeder, der schreibt, liest mit, und sobald das nicht übereinstimmt bricht er das Senden ab und versucht es später erneut. Sven L. schrieb: > Ich würde auf jeden Fall mal noch einen R am Schreibtransistor vorsehen, > da sonst bei versehentlicher Verwechselung der Transistor raucht. Guter Hinweis! Auf Verpolungsschutz habe ich an sich geachtet, wie muss ich denn den Bus falsch anschließen, damit hier was zerstört wird? +12 an den Buseingang dürfte nichts ausmachen (liegt ja immer an, T1 sperrt), vielleicht bei +12V an GND und 0V an der Busleitung? (stehe gerade auf dem Schlauch...)
Steffen H. schrieb: > Fertige Bus-Treiber-ICs möchte ich möglichst keine nehmen. Die Räder sind schon erfunden, und zwar von der Automobilindustrie. Das ganze nennt sich ISO 9141 und wird auch als K-Line bezeichnet. Dieser Physical Layer wird auch von LIN benutzt. https://www.cs-group.de/wp-content/uploads/2016/11/LIN_Specification_Package_2.2A.pdf Es gibt fertige Transceiverbausteine, die die Busankopplung, Spannungsversorgung und ESD/Überspannungsschutz machen. Z.B: http://www.microchip.com/wwwproducts/en/ATA6629 Dieses ganze Zeugs ist millionenfach erprobt und funktioniert einfach. Nutze das Know-How und versuche nicht schlauer zu sein als die Profis. Wenn DU das wärst, würdest Du hier nämlich nicht schreiben. Als Prozessor solltest Du einen Attiny 87/167 verwenden, wenn Du AVR verwenden willst. Das ist nämlich einer der wenigen AVRs, die normgerechten LIN-Support (LIN 2.1 certified) haben, und der wurde extra für die Automobilindustrie gebaut. Dazu gibts dann auch die passende AppNote: http://www.atmel.com/Images/doc8123.pdf Wie gesagt, die Denkarbeit haben andere Leute schon gemacht. fchk
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.