Ich möchte mit Arduino eine Steuerung für viele 12V Verbraucher erstellen.
Mein Sohn hat eine elektrische Eisenbahn mit vielen kleinen 12V Lampen entlang der Strecke, die einzeln per Ein/AUS geschaltet werden können. Die Lampen haben eine eigene Stromquelle. Die Arduino Steuerung soll die Schalter ersetzen. Mit Lautsprecherklemmen und Relais oder MOSFETs möchte ich die analogen Schalter ersetzen.
Ich möchte die Lampen einzeln oder mehrere gleichzeitig ein/aus bzw. nach einem definierten Schema schalten kann.
Die Eingabe erfolgt entweder per LCD mit Tastern oder anfangs über den PC-USB Port
Arduino hat jedoch viel weniger Pins als ich gerne Ausgänge hätte. Ich werde also einen DA Wandler brauchen, der mir aus meinen digitalen Signalen den jeweils richtigen Kanal ansteuert. Hierzu habe ich leider keine Anleitung oder Beschreibung gefunden, wie man so etwas umsetzt.
Fürs Verständnis reichen ein paar analoge Kanäle, in weiterer Folge hätte ich gerne mehrere hundert Kanäle.
Wahrscheinlich gibt es fertige Schaltungen zu kaufen. Mich würde jedoch die Funktion interessieren. Daher möchte ich gerne selber so etwas bauen.
Hat jemand einen Link zu einer Anleitung oder eine Beschreibung wie man solch eine Steuerung prinzipiell umsetzt?
Ich erbitte natürlich kein fertiges Projekt, sondern nur praktische Ansätze und Anregungen wie ich diese Schaltung bauen kann.
Ist das 12V Gleich oder Wechselspannung?
Wenn das Gleichspannung ist dann kannst du Schieberegister nutzen (74HC595) in Verbindung mit UDN2981 (Plus Schaltenend=Spannungsquelle) oder ULN2803 (Minus schaltenden Storm senke). Die reichen für deine Zwecke aus.
Gruß
DerDani
Mohol:
... Ich erbitte natürlich kein fertiges Projekt, sondern nur praktische Ansätze und Anregungen wie ich diese Schaltung bauen kann. ...
IMO: Wenn Du zukünftig quasi beliebig viele Dinge schalten können möchtest, solltest Du etwas bauen, das beliebig erweiterbar ist. Zum Beispiel: Du legst Dir einen zweiten Arduino zu und programmierst etwas, das ihn zum „Slave“ macht, den Du über den ersten Arduino steuern kannst.
Ich bastle derzeit an einem Ding, das den I²C-Bus nutzt, um eine Echtzeituhr abzufragen und ein Display anzusteuern. Falls Du Dich mit dem I²C-Bus befassen möchtest, hilft Dir vielleicht mein „Merkzettel“ dazu: Siehe hier.
du verwechselst hier etwas.
Schalter sind sind auch digital (ein/aus = 1/0)
Für die Porterweiterung kannst du auch I2C nehmen, diese arbeiten als Eingänge oder Ausgange.
Haben den Vorteil, die brauchen am Arduino nur 2 Ports und gibt es für 8 Ein/Ausgänge (PCF8574) oder 16 Ein/Aus (MCP23017). Einen DA Wandler benötigst du dafür nicht.
Solltest du dich für eine der vorgeschlagenen Techniken entscheiden, bekommst du auch weitere Hilfe und Informationen. Jetzt würden die dich sicher "erschlagen".
Edit:
Der Vorteil von I2C ist hier, es ist ein Bus-System und du kannst problemlos dezentral die Bausteine auf der Anlage einsetzen und deine gewünschten Lampen steuern bzw. Schalter anschließen.
aber I2C klingt noch besser!
in I2C muss ich mich erst mal einlesen. Natürlich möchte ich später das System erweitern können. daher dürfte I²C besser geeignet sein
Zur Spannung:
Aktuell werden die Lampen mit 12V Gleichspannung betrieben. Dabei wird es nicht bleiben. Ich möchte auch andere Verbraucher damit schalten. Von 3V Gleich- bis220V Wechselspannung mit unterschiedlichen Strömen.
Die Waschmaschine werde ich nicht damit schalten, das System sollte aber einen breiten Bereich abdecken. Dafür ist I²C mit dezentralen Bausteinen sicher besser. So könnte ich mehrere Einheiten bauen, deren Kanäle jeweils für einen bestimmten Strom/Spannungsbereich zusammenpassen.
Die Schaltung soll nur die (zu Strom/Spannung passenden) Relais/Mosfets schalten.
Alles was du auf der Anlage (12 Volt -Gleichspannung) o.ä. schaltest, kannst du mit einem Transistor (NPN, PNP oder Mosfet) erledigen.
230 Volt Wechselspannung mit einem Relais odes SSD-Relais.
Diese Bauteile werden dann von den jeweiligen I2C-Bausteinen gesteuert.
Aber bitte trenne die 230 Volt konsequent von der Kleinspannung (12 oder 3 Volt).
Was I2C betrifft, kannst du jederzeit weitere Informationen hier oder im Web erhalten. Natürlich auch zu allen anderen Fragen zu deinem Projekt.
Und hier Wire - Arduino Reference
Kannst du noch einiges darüber lesen.