Hallo zusammen, ich möchte mich Tiefer in die Materie einarbeiten. Dafür habe ich mir ein Projekt herausgesucht. Ich möchte mit dem Raspberry Pi ein Ventil steuern, welches bei 12V und 300mA schaltet. Dazu stellen sich mir folgende Fragen, zu denen ich bisher nur eine Idee für eine Antwort habe. 1. Brauche ich eine galvanische Trennung? Also muss dazwischen z.B. ein Optokoppler verwendet werden? Durch meine Recherchen tendiere ich zu "nein", bin mir aber nicht sicher. 2. Falls ich keine galvanische Trennung brauche, kann ich alles mit einem Netzteil betreiben? Also ein 12V Netzteil, natürlich muss für den Pi die Spannung gewandelt werden. Hier bin ich mir nicht sicher, ob das Schalten des Ventils eine Spitze oder dergleichen verursacht, was sich negativ auf den Pi auswirken kann? Hier bin ich aktuell auf dem Stand, dass ich die Spitzen filtern/glätten kann. Bin mir auch hier nicht sicher. Danke
Steffen H. schrieb: > 1. Brauche ich eine galvanische Trennung? Also muss dazwischen z.B. ein > Optokoppler verwendet werden? Durch meine Recherchen tendiere ich zu > "nein", bin mir aber nicht sicher. Wenn's ordentlich gemacht ist: Nein Aber die GPIO Pins sind verdammt empfindliche kleine Dinger, da ist wenig Spielraum für Fehler. Wie willst du denn 12V und 300mA schalten? > 2. Falls ich keine galvanische Trennung brauche, kann ich alles mit > einem Netzteil betreiben? Also ein 12V Netzteil, natürlich muss für den > Pi die Spannung gewandelt werden. Abhängig vom Modell nimmt sich so ein Pi gerne mal ein Ampere oder mehr. Wenn du von 12V auf 5V regeln willst, böte sich ein Schaltregler an.
> da ist wenig Spielraum für Fehler.
Sicher verursacht das Ventil Funkstörungen und Spannungsabfälle auf der
Masseleitung.
Bei 300mA sollte es aber ausreichen, wenn du die Grundregeln für
sternförmige Masse und Freilaufdiode einhältst. Und die Kabel möglichst
kurz halten.
Danke für die schnellen Antworten > Wenn's ordentlich gemacht ist: Nein > Aber die GPIO Pins sind verdammt empfindliche kleine Dinger, da ist > wenig Spielraum für Fehler. > Bei 300mA sollte es aber ausreichen, wenn du die Grundregeln für > sternförmige Masse und Freilaufdiode einhältst. Und die Kabel möglichst > kurz halten. Baulich bedingt haben die Kabel zum Ventil eine bestimmte Länge. Es sind etwa 3m. Dann ist wohl eine galvanische Trennung notwendig, oder? Und daher sollte ich dann auch zwei Netzteile verwenden? Oder gibt es einen Weg, das mit einem Netzteil zu lösen?
Steffen H. schrieb: > Baulich bedingt haben die Kabel zum Ventil eine bestimmte Länge. Es sind > etwa 3m. Dann ist wohl eine galvanische Trennung notwendig, oder? NEIN! > Und daher sollte ich dann auch zwei Netzteile verwenden? NEIN! > Oder gibt es > einen Weg, das mit einem Netzteil zu lösen? Sicher! Man nehmen ein 12V Netzteil + DC/DC Wandler auf 5V/2A für den Raspberry PI. Relais mit Logik ansteuern.
Man kann auch ein 5V Netzteil nehmen und den Raspberry Pi direkt damit versorgen. Das 12V Relais mit nur 300mA wird dann über einen DC/DC Wandler auf 12V versorgt. Hat den Vorteil, daß die größere Leistung für den Raspberry Pi direkt aus dem Netzteil kommt und nicht noch durch den DC/DC Wandler muss, der dann entsprechend leistungsstark sein muss und mehr kostet. 12V/300mA sind nur 3,6W, ein 5W Wandler sollte reichen.
> Sicher! Man nehmen ein 12V Netzteil + DC/DC Wandler auf 5V/2A für den > Raspberry PI. Super. Das war einer meiner Gedanken, wie es umgesetzt werden kann. > Relais mit Logik ansteuern. Danke für den Link. Mir ist bewusst, dass die Ansteuerung intelligent gemacht werden muss. Sich die Details anzueignen ist mein zweiter Schritt, nachdem ich die Stromversorgung geklärt habe. > Man kann auch ein 5V Netzteil nehmen und den Raspberry Pi direkt damit > versorgen. Das 12V Relais mit nur 300mA wird dann über einen DC/DC > Wandler auf 12V versorgt. Hat den Vorteil, daß die größere Leistung für > den Raspberry Pi direkt aus dem Netzteil kommt und nicht noch durch den > DC/DC Wandler muss, der dann entsprechend leistungsstark sein muss und > mehr kostet. 12V/300mA sind nur 3,6W, ein 5W Wandler sollte reichen. Jetzt muss ich mal blöd fragen. 5V auf 12V Wandeln? Bisher dachte ich, dass funktioniert nur bei Wechselstrom mithilfe eines Trafos. Oder habe ich das falsch verstanden?
Man könnte auch einen Optomos einsetzen. z.B. AQZ202 Last-Nennstrom:3 A Last-Nennspannung:60 VAC, 60 VDC https://mou.sr/3yMfwWJ Beispiel: Beitrag "Ausgabemodul für Raspberry Pi"
:
Bearbeitet durch User
Steffen H. schrieb: > Jetzt muss ich mal blöd fragen. 5V auf 12V Wandeln? Bisher dachte ich, > dass funktioniert nur bei Wechselstrom mithilfe eines Trafos. Das ist auch so. > Oder habe > ich das falsch verstanden? Ja. In jedem DC/DC Wandler steckt ein Zerhacker, der Wechselspannung erzeugt und mittels Spule oder Trafo die Spannung hoch oder runter setzt.
> mich Tiefer in die Materie einarbeiten
Mit einem RPi wohl kaum. Das Bitwackeln dann per Python?
Richtig?
Blos die Haende nicht schmutzig machen.
Selbst wenn alles auf Anhieb funktioniert und anfaenglich nichts
kaputt geht, bist du danach weitestgehend genau so schlau wie davor.
Mit einem "allseits" beliebten A*ino wuerde es auch nicht besser.
Cartman schrieb: > Mit einem RPi wohl kaum. Das Bitwackeln dann per Python? Schwierig. Da so ein Relais ja durchaus mehrere hundert Millionen Mal pro Sekunde geschaltet werden muss, sollten wir da besser direkt auf Assembler Ebene arbeiten. Ach was red' ich, direkt auf Maschinenebene, echte Männer:innen brauchen keinen Assembler.
Cartman schrieb: >> mich Tiefer in die Materie einarbeiten > > Mit einem RPi wohl kaum. Das Bitwackeln dann per Python? > Richtig? > Blos die Haende nicht schmutzig machen. > > Selbst wenn alles auf Anhieb funktioniert und anfaenglich nichts > kaputt geht, bist du danach weitestgehend genau so schlau wie davor. > > Mit einem "allseits" beliebten A*ino wuerde es auch nicht besser. Mein Lernfokus liegt auf der Elektronik. Also wie kann ich das Signal der GPIOs abgreifen und damit dann Dinge tun. Wichtig ist mir dabei, dass ich die Schaltungen verstehe und nicht irgendwelche Sachen ohne Verstand übernehme. Ich möchte wissen, wie ich die Größen/Werte der verwendeten Bauteile ausrechnen kann. Da erscheint mir das simple Projekt des Ein- und Ausschalten geeignet für den Einstieg. Vor allem auch deshalb, weil ich Effekte entstehend durch hohe Schaltfrequenzen vernachlässigen kann. Am Ende möchte mich mit meinem Mobiltelefon mit dem Raspi kommunizieren. Bisher denke ich daran einen Webserver aufzusetzen. Das Frontend ist eine Website für Mobilgeräte, welche dann die Backend-Skripte ansteuert. Das scheint mir am einfachsten. Ob die Skripte dann in Python oder in einer anderen Sprache geschrieben werden, weiß ich noch nicht. Mit Python ist man sicherlich am schnellsten. Da ich am Ende mit dem Handy alles steuern möchte, wähle ich den Raspi und keinen anderen Mikrocontroller. Wenn das dann alles läuft ist ein weiteres Fernziel eine native-"hybrid"-App zu schreiben, die dann wahlweise nach iOS oder Android compiled werden kann. Da ich etwas lernen möchte und in Sachen Software sehr viel Erfahrung habe, ist das nicht mein Fokus. Was heißt denn in "Hände schmutzig machen" in diesem Kontext? Und welche Methode ist denn besser geeignet sich in die Materie einzuarbeiten? Grundsätzlich bin ich offen für andere Projekte, die eine steilere Lernkurve bieten.
Ja, würde auch so vorschlagen, erst mal mit Raspi, Webserver und CGI-Script irgend was ausprobieren. Dann mal schauen, ob dir so etwas liegt und du eine komplette Hausautomatisierung entwickeln willst, oder ob es wieder ein schläft. Ich gehe davon aus, wenn du das ganze Haus über App steuerst, kommst du zu der Einschätzung, Raspi ist ein Spielzeug. Da braucht man einen robusteren Server. Aber das ist im Augenblick vollkommen egal.
Du koenntest deinem "Ventil" einen eigenen kleinen Controller goennen. Der koennte dann auch die Funkton des Ventils ueberwachen und Fehler melden. Und bei Fehlern auch das System in einen sicheren Zustand bringen. So werden Systeme in der Industrie designt. Genau wie die Ueberwachung der Ventilspannung/strom, Umgebungstempetur und Stellzeiten. Alles Dinge, fuer die ein RPi wegen seiner notorischen Unzuverlaessig nicht brauchbar ist. Die dann bidirektionale Kommunikation dahin, kannst du dann auch mit Optokopplern galvanisch trennen und an deinen RPi tackern. Bei einem RPi einfach ein GPIO-Bit anzumachen, ist ja selbst wenn man das in (ARM-)Assembler und z.B. memmap()-Systemcall macht, viel zu trivial um irgendwelche Lerneffekte auszuloesen.
> Ich gehe davon aus, wenn du das ganze Haus über App steuerst, kommst du > zu der Einschätzung, Raspi ist ein Spielzeug. Da braucht man einen > robusteren Server. Aber das ist im Augenblick vollkommen egal. Die GPIO-Pins machen den Raspi sehr attraktiv. Darum fange ich damit an. Ob er sich am Ende als Spielzeug entpuppt ist, wie du geschrieben hast, erstmal egal. > Du koenntest deinem "Ventil" einen eigenen kleinen Controller goennen. Das ist eine schöne Idee. Allerdings möchte ich im Moment keinen Sensor verbauen. Somit kann der Controller lediglich messen, ob Strom fließt und das Ventil somit geschaltet hat. Oder gibt es noch etwas weiteres? > Bei einem RPi einfach ein GPIO-Bit anzumachen, ist ja selbst wenn > man das in (ARM-)Assembler und z.B. memmap()-Systemcall macht, > viel zu trivial um irgendwelche Lerneffekte auszuloesen. Wie oben schon erwähnt geht es mir nicht um die Programmierung. Da sage ich jetzt mal ganz selbstbewusst, dass ich viel Erfahrung habe. Als ich noch in der Schule war, lange bevor es den Raspi gab, habe ich solche Spielereien mit dem Seriellen Port eines PCs gemacht. Allerdings ohne Sinn und Verstand. Einfach Try and Error. Ich hatte mich damals gefreut, wenn ich so LEDs ein und ausschalten konnte, oder einen kleinen Motor zum laufen gebracht hatte. Mir geht es jetzt darum, was mache ich mit dem Pin. Den Pin kann ich ja nicht ohne weiteres mit dem Ventil verbinden. Diese Fragen möchte ich für mich in diesem Projekt beantworten.
> ganz selbstbewusst, dass ich viel Erfahrung habe
Das mag auf Webkram zutreffen. Du wirst sehen,
dass "Embedded" eine ganz andere Welt ist.
Ich kenne den Zweck deines Ventils nicht, aber ein
Kuehlkreislauf der wegen "Absturz" nicht peffnet, kann
ueble Folgen haben. Oder eben mal ein ganzes Stockwerk
ueberschwemmt.
Mal ein erlebtes Beispiel:
Die Spezialisten "brauchten" einen Controller der ca. 4 GFlops
konnte, um ein 200 Hz Digitalfilter mit nicht zu speziellen
Eigenschaften zu realisieren.
Und selbst das haben sie schlussendlich nicht geschafft.
Auch die haben gedacht dass sie viel Erfahrung hatten.
Das war wohl eher das Zusammenklicken von GUIs fuer eine DB.
>> ganz selbstbewusst, dass ich viel Erfahrung habe > Das mag auf Webkram zutreffen. Du wirst sehen, > dass "Embedded" eine ganz andere Welt ist. > Ich kenne den Zweck deines Ventils nicht, aber ein > Kuehlkreislauf der wegen "Absturz" nicht peffnet, kann > ueble Folgen haben. Oder eben mal ein ganzes Stockwerk > ueberschwemmt. Jetzt verstehe ich, was du meintest. Da stimmte ich dir zu. BTW: Mit Erfahrung meinte ich nicht Frontend, GUI oder dergleichen. Damit wollte ich ausdrücken, dass mein Fokus nicht darauf liegt, wie ich letztendlich die GPIOs mithilfe von Skripten von low nach high schalte. Ich komme aus der Bildverarbeitung. Hatte lange Zeit Algorithmen direkt auf der GPU implementiert. So hab ich auch mal eine zweidimensionale schnelle Fourier-Transformation zu Fuß implementiert, weil es damals noch keine passende Bibliothek gab. Somit habe ich auch eine Vorstellung von deinem geschilderten Beispiel. Mein Ziel ist vielleicht in deinen Augen zu primitiv, so dass du mich missverstanden hast. Ich möchte das Ventil einfach nur auf und zu machen. Ohne dass dahinter eine großartige Reglung steckt. Zumindest im ersten Schritt. Im Ebedded-Bereich habe ich etwas Erfahrung. Ist aber noch ausbaufähig. Hier habe ich zwar schon Mikrocontroller programmiert, aber nie selbst an einer Platine gelötet, zumindest nicht ernsthaft. Und das ist der Punkt, an dem ich ansetzen möchte. Die Fragen, die ich für mich als erstes beantworten möchte sind in der Art: - Wie kann ich mithilfe eines GPIO-Pins, der bei high >1,3V hat, besagtes Ventil schalten, ohne den Raspi dabei zu zerstören. - Wie kann ich sicherstellen, dass nicht mehr als 8mA aus einem GPIO gezogen werden. - Wie lange dauert das schalten von low nach high? Gibt es dazwischen einen undefinierten Zustand. Bisher habe ich viel gelesen und bereits ein gesundes Halbwissen aufgebaut. Doch wenn es konkret wird, bin ich bereits bei einfachen Fragen verunsichert. Daher auch meine Ausgangsfragen. Mit den Antworten kann ich dann weiter recherchieren.
Steff H. schrieb: > Wie kann ich mithilfe eines GPIO-Pins, der bei high >1,3V hat, Der GPIO-Pin sollte bei High in etwa die Versorgungsspannung und mithin etwa 3V ausgeben. > besagtes Ventil schalten, ohne den Raspi dabei zu zerstören. Du schaltest den üblichen Transistor dazwischen. Und die übliche Freilaufdiode parallel zur Relaisspule. > Wie kann ich sicherstellen, dass nicht mehr als 8mA aus einem GPIO > gezogen werden. Du berechnest den dafür nötigen Basiswiderstand so, dass nicht mehr als diese 8mA fließen. (wobei diese 8mA ein von dir angenommener Wert sind...) > Wie lange dauert das schalten von low nach high? Ein paar µs. > Gibt es dazwischen einen undefinierten Zustand. Nein. Entweder ist das Ventil ein- oder ausgeschaltet. Wenn das Ventil umgeschaltet hat, dann hilft eine magnetische Hysterese, dass kein andauernder "Schwebezustand" eintritt. Aber einfach mal mein Tipp: bau diese Transistorschaltung auf und steuere sie mit einem Kippschalter (0V/3V3) als PIN-Ersatz an. Dann kannst du ohne Gefahr für den µC deine Ansteuerschaltung unztersuchen und musst nur den Kippschalter umschalten, um zwischen High und Low zu wechseln... Steff H. schrieb: > Hier bin ich mir nicht sicher, ob das Schalten des Ventils eine Spitze > oder dergleichen verursacht, was sich negativ auf den Pi auswirken kann? Und es kann dir der Himmel auf den Kopf fallen... Natürlich kann es da Probleme geben, aber das ist ja die Aufgabe des Hardwareentwicklers: seine Schaltung so auszulegen, dass diese Probleme nicht auftreten. Zigmilliarden Geräte zeigen, dass solche Verbraucher (und noch wesentlich aufwendigere Lasten und sogar ganze Maschinen) problemlos auch ohne Potentialtrennung angesteuert weden kann. > Hier bin ich aktuell auf dem Stand, dass ich die Spitzen filtern/glätten > kann. Bin mir auch hier nicht sicher. Wenn du das richtig machst, gibt es da keine "Spitzen", die irgendwie gefiltert oder geglättet werden müssen.
Danke für die ausführliche Antwort. > Aber einfach mal mein Tipp: bau diese Transistorschaltung auf und > steuere sie mit einem Kippschalter (0V/3V3) als PIN-Ersatz an. Dann > kannst du ohne Gefahr für den µC deine Ansteuerschaltung unztersuchen > und musst nur den Kippschalter umschalten, um zwischen High und Low zu > wechseln... Das ist eine gute Idee und das versuche ich als erstes umzusetzen. Dazu habe ich noch eine Anfängerfrage: Muss ich den Schalter entprellen oder kann ich das in diesem Fall vernachlässigen?
Steff H. schrieb: > Dazu habe ich noch eine Anfängerfrage: Muss ich den Schalter entprellen > oder kann ich das in diesem Fall vernachlässigen? Ein Tipp: dnek einfach mal drüber nach, was passieren könnte, wenn der Schalter irgendwie prellt. Versuche, deine Überlegungen in der Praxis nachzuvollziehen. Bedenke dabei, wie schnell das Ventil, das Messgerät und dein Auge reagieren reagieren können. Und wie tolerant dein Gehirn gegen einen einmalig auf dem Messgerät dargestellten "Zwischenwert" ist... (Die korrekte Antwort ist natürlich: Entprellen ist für diesen Testaufbau nicht nötig.) Steff H. schrieb: >> Aber einfach mal mein Tipp: bau diese Transistorschaltung auf und >> steuere sie mit einem Kippschalter (0V/3V3) als PIN-Ersatz an. > Das ist eine gute Idee Sie basiert auf dem alten Strategieansatz "teile und herrsche". Denn nicht der µC ist dein Problem und nicht das Ventil, sondern nur die Schaltung dazwischen. Also simulierst du einfach mal den µC durch den Schalter und das Ventil wird ohne nachfolgende Maschine betrieben. Und wenn dabei was kaputt geht, kann es nicht mehr als ein paar Cent kosten.
Beitrag #7132031 wurde von einem Moderator gelöscht.
Vorbeugen ist besser als nach hinten umfallen! schrieb im Beitrag #7132031: > Entgegen der Ansicht einiger hochkarätiger Experten hier wäre ich mir > nicht zu schade, den sicher hohen finanziellen Aufwand für ein paar > Optokoppler zu treiben. Ja, die Optokopplerindustrie muss ja auch von was leben. > Angesichts der heutigen Preise und der Verfügbarkeit von jeglichen > Raspberrys würde ich alles tun, um einen Schutz dafür zu gewährleisten. Ich finde die vorteilhaft stromgerenzend wirkende Art und Weise eines Widerstands da völlig ausreichend. Wenn schon Optokoppler, dann unbedingt auch getrennte Versorgungen von Logik und Last. Und dann am bsten gleich ein Halbleiterrelais (Photomos o.ä.), das das Ventil direkt ansteuern kann. Und eines ist klar: mit der falschen Beschaltung bekomme ich den Rechner auch mit einem Optokoppler kaputt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.