Minimallösung für 1x Ein per USB gesucht (Schalten von 12V-Lüftern)

Begonnen von Dr. Boris Neubert, 29 März 2014, 17:25:07

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

in meinem Rack wird es wohlig warm, wenn mehrere virtuelle Maschinen den Virtual Machine Server auf Temperatur bringen. Ich habe daher zwei 12V-Lüfter zur Belüftung des Racks  eingebaut, die ich allerdings wegen Stromverbrauch und Lärmerzeugung nur bei Bedarf laufen lassen möchte (Servertemperatur wird gemessen und über FHEM sollen die Lüfter an- oder ausgeschaltet werden). Mein erster Versuch mit einem fertigen Thermostat-Modul (NTC schaltet Relais) ist gescheitert, weil die Hysterese zu gering war.

Ich würde gerne per USB-Port schalten. Das Ganze sollte preiswert sein (max. 15 €) und selbst möglich wenig Strom verbrauchen.

Ich habe mal einen Shop gesehen, wo es fertig bestückte USB-Module mit einem Atmel-µC für den Bau eigener Anwendungen gab, aber den finde ich nicht mehr.

Habt Ihr Anregungen oder Empfehlungen?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Nimm einen einfach usb/seriell Adapter FT232 und benutze die seriellen Leitungen zum Schalten eines Transistors, der die Lüfter schaltet..

Deine gesuchte Bastelanleitung könnte eventuell diese hier sein?
http://www.obdev.at/products/vusb/powerswitch.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 29 März 2014, 17:31:06
Nimm einen einfach usb/seriell Adapter FT232 und benutze die seriellen Leitungen zum Schalten eines Transistors, der die Lüfter schaltet..

OK, das ist wirklich simpel, zumal ich noch Adapter in der Schublade habe.

Anfängerfrage: was muß ich auf /dev/ttyUSB0 schreiben, damit am Adapter ein Pin auf 0 oder 1 geht?

Zitat
Deine gesuchte Bastelanleitung könnte eventuell diese hier sein?
http://www.obdev.at/products/vusb/powerswitch.html

So ähnlich. Was ich meine war eine fertig mit einer der USB-Varianten vom ATTINY und weiteren SMD-Bausteinen bestückte Platine im DILxx-Format, welche auf der einen Seite einen USB-Anschluß hatte und ringsherum die restlichen Pins des µC herausgeführt. Ebenfalls Transistor* dran und rasch ein einfaches Programm mit LUFA aka MyUSB draufgebraten - fertig.

Viele Grüße
Boris

* entsprechend 2x 12V/0,451A dimensioniert
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

#3
Zitat von: Dr. Boris Neubert am 29 März 2014, 18:09:35
Anfängerfrage: was muß ich auf /dev/ttyUSB0 schreiben, damit am Adapter ein Pin auf 0 oder 1 geht?

Ich würde einfach eine der Handshake-Leitungen zum Schalten nehmen. So wie man das vor 30 Jahren schon an RS232 gemacht hat. Und genau so lange ist es her, dass ich das zum letzten Mal selbst gemacht habe. Da muss ich auch erst Google bemühen.

setserial /dev/ttyUSB1 0 0

Irgendwas in der Art - schau dir mal die manpage zu setserial an.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

UweH

http://www.sprut.de/electronic/pic/projekte/luefter/luefter.htm
Nicht unbedingt minimal, aber ein cooles Teil. Hab ich bei mir im PC und funktioniert seit Jahren zuverlässig. Regelt CPU- und Grafiklüfter und ist mit den beiden Temperaturanzeigen auch noch ein hübsches Mäusekino  :)
Nur kein USB...

betateilchen

#5
 :o ich könnte auch noch ein paar Brotbackrezepte beisteuern. Das wäre auch nicht minimalistisch und auch nicht mit USB.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pfriemler

Ich hatte schon das "wieso soll sich FHEM darum kümmern" in den Fingern - aber das machte mich neugierig:

Zitat von: Dr. Boris Neubert am 29 März 2014, 17:25:07
erster Versuch mit einem fertigen Thermostat-Modul (NTC schaltet Relais) ist gescheitert, weil die Hysterese zu gering war.

Waren die Lüfter ständig am Schalten oder wie?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Dr. Boris Neubert

Zitat von: Pfriemler am 29 März 2014, 22:05:58
Waren die Lüfter ständig am Schalten oder wie?

ja, es wird halt die warme Luft aus dem Gehäuse geblasen und dann schaltet der Thermostat ab, bis sogleich die erwärmte Luft, die aus den Servern kommt, für das Wiedereinschalten sorgt.

Mit Temperaturmessung via sensors oder ipmitool und Regelung per Fhem geht das sicher besser.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Zitat von: betateilchen am 29 März 2014, 18:17:26
Ich würde einfach eine der Handshake-Leitungen zum Schalten nehmen. So wie man das vor 30 Jahren schon an RS232 gemacht hat. Und genau so lange ist es her, dass ich das zum letzten Mal selbst gemacht habe. Da muss ich auch erst Google bemühen

Es gibt tatsächlich reihenweise Google-Ergebnisse, aber wenig Ausgegorenes. Ein ausgearbeitetes Beispiel aus dem Jahr 2000(!) ist hier:

http://www.linux-community.de/Internal/Nachrichten/Serielle-Fernsteuerung-Schnell-geschaltet
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Pfriemler

Ok, bei vielen Wärmequellen diese abzufragen und daraus einen Bedarf zu errechnen macht natürlich schon Sinn. Sonst hätte ich jetzt einen Lüfternachlauf ins Feld geworfen, aber dessen Kosten ziehen mit der eleganten USB-Lösung gleich. Oder aber ich würde gleich mal über eine Lüfterdrehzahlregelung nachdenken... wäre mit PWM ja kein Hit.

Geht nich gips nich

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

betateilchen

ZitatEs gibt tatsächlich reihenweise Google-Ergebnisse, aber wenig Ausgegorenes.

Ich hatte Dir doch setserial genannt - das Programm ist ausgegoren. Hilft Dir das nicht weiter?

Ansonsten nimm die kleine Homematic-Schaltplatine und häng ein Relais dran. Dann hast Du zwar kein USB, bist aber out-of-the-box fhem-kompatibel :)

http://www.elv.de/homematic-schaltaktor-fuer-batteriebetrieb-komplettbausatz.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 30 März 2014, 12:02:02
Ich hatte Dir doch setserial genannt - das Programm ist ausgegoren. Hilft Dir das nicht weiter?

man setserial hat mir nichts darüber verraten, wie ich einzelne Leitungen der seriellen Schnittstelle setze.

Zitat
Ansonsten nimm die kleine Homematic-Schaltplatine und häng ein Relais dran. Dann hast Du zwar kein USB, bist aber out-of-the-box fhem-kompatibel :)

Homematic kommt mir gar nicht erst ins Haus  :o

Ich habe aber noch einen FS20-4fach Schaltaktor...

Jedenfalls liegt jetzt hier schonmal das Meßgerät, der USB-nach-RS232-Konverter, und eine Sub-D-Buchse auf dem Tisch, und vielleicht wird daraus ja schon was.

Jetzt gehe ich aber erstmal grillen!

Viele Grüße
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

PeMue

RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Beispiel in py (sowas sollte aber in perl auch möglich sein)


import time
import serial

ser = serial.Serial(0)
ser.setRTS(False)
time.sleep(0.5)
ser.setRTS(True)
time.sleep(0.5)
ser.setRTS(False)


Damit kann man einen Blinker bauen  :P
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

So, das habe ich heute mal mit einem modifizierten C-Programm aus Udos Link ausprobiert, und siehe da, es geht mit einem USB-RS232-Konverter basierend auf dem PL2303 nicht. Öffnen des Devise setzt RTS (RTS geht dann von -6,4 V auf +6,6 V). Man kann aber RTS nicht mit ioctl setzen oder löschen. Gelöscht wird es erst, wenn ich das Device wieder schließe.

Werde mir jetzt mal ein FT232RL-basiertes Modul für dreifuffzich in China bestellen...

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Na immerhin bist Du ja jetzt schon ein ganzes Stück weiter mit Deiner Minimallösung :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pfriemler

Mir fällt gerade ein, dass ich vor Jahren mal kleine Reglerplatinen an (vor)laute Prozessor- und Grafikkarten-Lüfter verbaut habe (diese hässlichen kleinen 40mm-Dinger). Die schalteten nicht, sondern regelten in einem Bereich von etwa 10 Grad. Da pumpte nix. Kostete ca 5 Euro... (wegduck)

Geht nich gips nich

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."