Hallo,
ich bin gerade dabei, endlich meine Bus-Slave-Platinen fertig zu stellen.
Das System soll mit externer als auch Busspannungsversorgung funktionieren.
Soll heißen, wie bei vielen anderen auch, ist vorerst geplant, 4 Leitungen für den Bus zu nutzen.
VIN (7-15V), GND, A und B. Alternativ kann VIN wegfallen, wenn der µC von einem eigenen Netzteil versorgt wird. Spannungsversorgung erfolgt über einen 1117er. Brauche am Bus so gut wie keinen Strom (~50mA).
Nun zum eigentlich "Problem" mit dem MAX483/485.
In den Datenblättern werden gern einmal diverse Widerstände in Verbindung zum AVR nicht erwähnt.
Meine Verschaltung sieht derzeit so aus,
das DE und ~RE mit einander verbunden sind, und mit einem 10k-PullDown beschaltet sind. So dass der MAX483 den Bus nicht blockiert, wenn dieser ausfällt.
DI und RO sind mit Tx bzw. Rx verbunden und werden über einen 10k-PullUp mit Vcc verbunden. Ansonsten befindet sich in der Schaltung des MAX lediglich noch ein 100nF an den Versorgungspins.
Habe ich da jetzt irgend ein Bauteil vergessen? Der 120 Abschlusswiderstand wird hier nur als PTH rausgeführt vor den Klemmen A und B, falls es sich hier um das letzte Gerät handelt wird dieser manuell eingelötet.
Falls ich dazu komme werde ich den Schaltplan gleich noch einmal nachzeichnen, damit man das auch erkennen kann.
So, als Nachtrag nun einmal die Eagle Zeichnungen der ersten Vorversion.
Es werden noch Status Leds für Rx/Tx geben, sowie eine Debug Möglichkeit über die 2. Serielle Schnittstelle. ...
Habe ich da jetzt irgend ein Bauteil vergessen? Der 120 Abschlusswiderstand wird hier nur als PTH rausgeführt vor den Klemmen A und B, falls es sich hier um das letzte Gerät handelt wird dieser manuell eingelötet.
Ich vermute mal das deine Bords irgendwo fest verbaut werden sollen (Hausinstallation?). Ansonsten könntest du den Abschlusswiderstand doch auch zuschaltbar machen, oder wird deine Platine dann zu groß?
Meine Verschaltung sieht derzeit so aus,
das DE und ~RE mit einander verbunden sind, und mit einem 10k-PullDown beschaltet sind. So dass der MAX483 den Bus nicht blockiert, wenn dieser ausfällt.
Das ist ne super Idee. Demnach wieviele Teilnehmer es mal werden sollen, findest du schnell heraus welcher defekt ist bzw kannst es dir vielleicht sogar anzeigen lassen.
Ansonsten sieht das gut aus, ich finde auf den 2 Adapterplatinen die ich habe keine Bauteile die du nicht auch drin hast
Gruß
Wieso kann man denn jetzt schon wieder nicht Benachrichtigen lassen wenn ne Antwort kommt?!!
Also ich hatte es nach dem Bild ganz unten gemacht, nur 680 Ohm und am ende 120 Ohm.
Ging aber auch ohne den beiden 680, 150 Meter und 3 Slaves.
Du sagst der MAX blockiert, warum?
Wenn A&B nicht angeschlossen sind oder der Attiny kein Saft hat, gibt es halt den Slave 28 nicht im Netz, ganz einfach, da werden die Daten einfach weitergereicht auf der Leitung.
Das ist ne super Idee. Demnach wieviele Teilnehmer es mal werden sollen, findest du schnell heraus welcher defekt ist bzw kannst es dir vielleicht sogar anzeigen lassen.
Ist es, hab ich aber bisher noch nichts mit Arduino gesehen.
Wenn ich es richtig verstanden hab, muss die Modbus Lib die Function unterstützen.
Könnte die Function 8 sein, Diagnose und Service 16Bit.
Die 680 Ohm Widerstände sind ja nur beim Master wichtig.
Der MAX blockiert den Bus, wenn der Attiny/Atmega nicht aktiv ist. Weil er dauerhaft im Reset steckt o.ä.
Arduino Libs werde ich später nicht nutzen. Da soll was eigenes in avr-gcc entstehen.
So, hab das Layout sowie den Schaltplan noch einmal erneuert. Vorschläge?
Dachte du willst alles Idiotensicher machen, mit Ummantelte Stiftleisten (Verpolungsschutzt).
Und warum bei den Schraubklemmen solche große Vias?
Bei dem Attiny würd ich die Vias nicht so nah setzen.
Top ist GND und Bottom VCC? Hat da nicht jemand meine Version1 der Busankoppler bemängelt, vonwegen EMF?
Hallo skorpi. Vcc und Gnd habe ich bei dir bemängelt -> Kondensator.
Das habe ich auch nicht gemacht. Komplettes Layout ist geroutet ohne Massefläche/Kupferfüllung. Das kam nachträglich. Kupferfüllung sind nur GND!
Welche Vias meinst du bei den Schraubklemmen? Die Pads größer als normal. Die Pads unter den Schraubklemmen sind normale 2,54mm Stiftleisten -> Alternative zum Anschluss, falls keine 3,5mm Klemmen eingesetzt werden.
Moin Stefan,
Genau das meinte ich bei den Schraubklemmen. Ich denke es wäre besser wenn man mehrere Stiftleisten nebeneinander setzt, fallen die Kabel nicht so leicht ab. Also anstatt wie bei dir 1x2 besser 2x2.
Kannst du nachher ein Screenshot von dem Gerber Viewer reinstellen? Oder hast du immer noch kein Viewer gefunden?
Funzt eigentlich der MAX485 auch mit 3.3V?
Ich überlege ein ESP8266 mit anzubringen, der läuft halt mit 3.3V
Die mini Stepdown kann man dann wahlweise einstellen.
Also wer will nimmt RS485 TCP mit 3.3V und wer RS485 RTU will nimmt 5V.
Also so recht versteh ich nicht, worauf du hinaus willst mit den Schraubklemmen. Die 2x1 Stiftleisten sind nur optional. Ich habe nicht vor, in dem System irgendwo die Buchsen einzusetzen. Die Ports A und B sind komplett rausgeführt, für AddonPlatinen. UART ist nur zum Debugging, wenn die Jumper für RS485 nicht gesetzt sind.
Soweit ich weiß, ist die ganze MAX Familie für 5V ausgelegt. Da wird es nichts mit 3V3. Dann müsstest du Levelshifter dazwischen bauen. Wobei ich nicht genau weiß, was der ESP da macht.
Kabellos Werte empfangen und dann über die Busleitung ausgehen?
Kabellos Werte empfangen und dann über die Busleitung ausgehen?
Gedacht war, entweder oder.
Man könnte aber auch beides nehmen, muss ich dann aber 2 Pins die für Relais gedacht waren opfern.
hi,
der max485 läuft nur mit 5V. es gibt andere für 3,3V, allerdings zu preisen um die 5 euro, wenn ich mich recht erinnere. außerdem (Ihr wißt ja, ich kann keine datenblätter...) konnte ich nicht rauskriegen, ob die dann 3,3V oder 5V auf die reise schicken. also levelshifter bei mir.
gruß stefan
PS.: den IC für 3,3V hat mit uwe empfohlen, aber ich finde den beitrag nicht.
Ist dieser Beitrag nicht von dir, sschultewolter?
Eisebaer hab ich da auch schon getroffen
Also wenn fail safe schon integriert ist, brauchste den DE/RE Resistor nicht.