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?
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.
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.
xsari3x