Gast
#4179674
Hi. Ich habe eine Schaltung für einen Modbus / RS485 Hub erstellt. Es ist die erste Vorab-Version. Ich habe es bewusst ohne Controller realisiert, da die Schaltung einfach die Daten, welche auf einem Port rein kommen, an den anderen Ports wieder ausgeben soll, aber nicht an dem Port wo es empfangen wurde. Die Schaltung soll in Abzweigdosen installiert werden und daher viele Jahre problemlos und Protokoll-Unabhägig arbeiten und einfach nur 1:1 durch reichen. Sie soll noch nicht mal eine Kollisionserkennung machen und auch keine Fehlererkennung. Die Baudrate soll auch nicht fix festgelegt sein, sondern die Schaltung soll einfach im Rahmen seiner elektrischen Werte alles durch lassen was geht. Funktion der Schaltung: Wenn an einem Port ein 0 Signal auf dem Bus empfangen wird, wird über die Diode der Kondensator schnell entladen, und der invertierende Schmitt-Trigger gibt ein 1 Signal aus. Bei einem 1 Signal auf dem Bus läd sich der Kondensator langsam auf und schließt irgendwann den Port wieder. (Bei einem X Signal auf dem RS485 Port gibt der MAX489 auch ein 1 Signal aus). Geplant ist, nach Empfang einer 0 den Port ca 10 ms für Datenfluss offen zu halten. Über den Schmitt-Trigger wird dann der Buffer 74HC126 freigegeben, und das Datensignal liegt auf der Hubinternen Datenleitung. Gleichzeitig wird das Signal auf ein XOR geführt. Der XOR 74HC86 überprüft, ob die ACT Leitung auf High ist Außerdem wird über eine Diode die Portübergreifende ACT Leitung auf High Pegel gebracht. Hierdurch wird der Sender des Ports, wo empfangen wird, nicht freigeschaltet, aber bei den anderen Ports wird der Sender aktiv und die empfangenen Daten werden 1:1 durch gereicht. Habe ich irgendwo einen Denkfehler drin, oder würde die Schaltung so funktionieren? Es geht um die Logik, Kondensator- und Widerstandswerte oder sonstige Konkrete Bauteilbezeichungen spielen erst mal keine Rolle. Anbei ist der Schaltplan angehängt. Vielleicht habt ihr auch noch Verbesserungsvorschlöge für mich. Viele Grüße