Steuerung von mehr Relais als die Nr. von freien IO-Pins, die ein uC hat - Low-Cost-Optionen

Obwohl ich verstehe, dass die Umstellung auf einen uC mit hoher Pin-Anzahl die einfachste Option sein könnte, suche ich nach kostengünstigen Optionen, um dasselbe mit uC mit niedriger Pin-Anzahl zu tun.

Ich möchte maximal 8 Relais mit einem ATtiny85 steuern, der über 5 verfügbare GPIO-Pins verfügt, von denen ich definitiv 2 für andere Zwecke reservieren muss, sodass mir 3 übrig bleiben. Ein offensichtlicher Ansatz, der mir in den Sinn kommt, ist ein Mux . Bei 3 Pins, 2 ^ 3 = 8, passt gut. Ich habe mich jedoch gefragt, ob die Relais (die die Stromversorgungsbuchse für Server steuern) stromlos werden, während die Mux-Werte geändert werden.

Gibt es andere Fallstricke bei diesem Ansatz? Gibt es alternative Methoden? Ich habe von IO-Expandern gehört, aber wäre es aus Komplexitäts-/Kostensicht ein lohnender Ansatz?

Um Relais nicht abzuschalten, verwenden Sie einen Latch am Ausgang des Mux, der Latch behält die Logik (1) beim Umschalten zwischen MUX-Pins :)

Antworten (3)

Der TPIC6C595 ist eine Power-Version des 74HC595- Schieberegisters , seriell parallel heraus, mit 8 Ausgangskanälen, die jeweils 100 mA treiben können. Sie benötigen nur drei Pins: serielle Daten, serielle Uhr und Latch, und bei Bedarf können Sie mehrere Geräte für mehr als 8 Ausgänge kaskadieren.

Es enthält Klemmdioden zum Schutz vor der induktiven Spannung der Relais.

Als zusätzlicher Bonus ist dieses Gerät viel wahrscheinlicher als die anderen in der Lage, die Relais direkt ohne einen externen Transistor anzusteuern. Wie von mjh2007 angemerkt , benötigen die meisten anderen Lösungen einen weiteren Transistor. Dies erfordert natürlich immer noch eine Diode zum Schutz vor Schäden durch die Induktivität der Relaisspule.
"Das Gerät enthält eine eingebaute Spannungsklemme an den Ausgängen zum Schutz vor induktiven Transienten."
Danke @stevenvh. Dieses Gerät scheint ideal zu sein, und auch die aktuellen Kosten scheinen gut zu sein. Genau das, was ich brauchte. +1 und akzeptiert.

Es gibt viele E/A-Expander, die entweder SPI- oder I2C-Busse verwenden. Mit einem einzigen MSSP-Modul können Sie nahezu unendlich viele digitale Ausgänge wie LEDs oder Relais steuern.

Siehe Datenblätter oder Anwendungshinweise von Microchip für die folgenden Teile:
SPI - MCP23S08
I2C - MCP23008

HINWEIS: Diese Teile selbst werden nicht genug Strom aufnehmen/liefern, um ein Relais zu aktivieren, aber das Hinzufügen eines Transistors am Ausgangspin ermöglicht es Ihnen, ein Relais anzusteuern.

Ein Mux funktioniert nicht, da Sie den Ausgang mit einem anderen Ihrer Pins verriegeln / deaktivieren müssen und einen Eingangszustand für das Ein- / Ausschalten des Relais haben müssen, zu dem Sie mit einem anderen Pin verbunden sind. Ein SPI IO-Expander scheint besser zu sein, aber dann benötigen Sie eine SPI-Bibliothek auf Ihrem Chip.

Ja, in der Tat wird ein Mux allein nicht funktionieren, mein Fehler.