Ich möchte 200 Relais steuern, ich möchte einen AVR-Controller verwenden. Da ich keine Pins mehr habe, dachte ich daran, den Mikrocontroller (für Routinen und solche Dinge) an ein FPGA anzuschließen und den Ausgang des FPGA zur Steuerung des Relais zu verwenden.
Ist das eine gute Idee oder gibt es eine andere Möglichkeit, die einfacher und effizienter zu implementieren ist?
Sie sollten eine Art Adressierungssystem oder Demultiplexer verwenden. Es gibt Demultiplexer-Chips, die Sie verwenden können. Wenn Sie beispielsweise genügend Demultiplexer verwenden, um 256 Ausgänge von 8 Adressleitungen zu erhalten, können Sie bis zu 256 Relais verwenden, vorausgesetzt, die Relais ziehen genügend Strom, um davon angetrieben zu werden. Und Sie wollen eine Möglichkeit, die Daten zwischenzuspeichern.
Wenn Sie genug Pins haben, würde ich es so machen:
Ihre Schaltung verfügt über 5 Adressleitungen, 8 Datenleitungen und eine Taktleitung, die es Ihrem Mikroprozessor ermöglichen, bis zu 256 Relais zu steuern.
Damit Ihr Mikroprozessor die Relais steuert, würde er ein Byte wie folgt an die Schaltung ausgeben:
Wenn Sie 256 Relais steuern möchten, benötigen Sie bei einem Datenbus von 8 Bit 5 Adressleitungen. Zwischen allen fünf Adresszeilen können die verschiedenen Kombinationen einen von 32 Standorten auswählen, wobei jeder „Standort“ 8 Ihrer Relais darstellt, deren Daten über die 8 Datenleitungen einstellbar sind. 8 x 32 = 256.
Für die Decoder könnten Sie den 54154 oder ähnliches verwenden. Jeder davon hat 4 Eingänge und 16 Ausgänge. Sie würden zwei davon benötigen. Oder Sie könnten so etwas wie 7411138 verwenden, das 3 Eingänge und 8 Ausgänge hat. das pdf ist hier . Es gibt ein Beispiel für den Aufbau einer Schaltung mit 5 Adressen und 32 Ausgängen mit mehreren Chips - genau das möchten Sie.
Dann würden Sie 32 Stück 8-Bit-Latches , wie den 74374, und auch 32 Stück oktale Darlington-Treiber benötigen , die den Spulenstrom des Relais verarbeiten würden. Es gibt jedoch einige Oktal-Latch-Treiber-ICs , die diese beiden Anforderungen vereinen. (Das ist für 256 Relais. Für 200 würden Sie 25 brauchen, nicht 32)
Sie könnten die Relais nicht direkt von einem FPGA mit Strom versorgen, da sie zu viel Strom ziehen würden und durch die Spitze beschädigt würden, die die Relaisspule beim Abschalten erzeugt. Sie müssten also 32 oktale Darlington-Treiber sowie das FPGA haben.
CPLD-Geräte sind pro Pin billig, aber Sie sind möglicherweise besser dran, einen modulareren Ansatz zu verwenden, wie z.
Welche Methode Sie auch verwenden, Sie müssen auf das Layout achten, insbesondere auf die Erdung, da Sie mit erheblichen Strömen von den Spulen und möglicherweise erheblichen EMI von den Kontakten zu tun haben. Wenn Sie viele Platinen haben, kann es sich lohnen, die Opto-Isolation von Datenleitungen pro Platine in Betracht zu ziehen.
Dwayne Reid
Dwayne Reid
FarhadA