Sonntag, 12. Mai 2013

Hobel sind Präzisionsinstrumente ....


und vor allem wenn sie aus Holz sind sehr empfindlich. Ein gut eingestellter Hobel nimmt grade mal ein Hundertstel dicke Späne ab. Das bedeutet aber auch, dass die Geometrie des Hobels in eben dieser Größenordnung stimmen muss. Leider verändert Holz seine Größe mit der Luftfeuchtigkeit, Holz arbeitet eben.


Um diesen und anderen Unbillen zu trotzen, schützt man empfindliche Werkzeuge üblicherweise durch eine Werkzeugkiste (oder einen Schrank, der ist aber erheblich schlechter zu transportieren). Am besten eine möglichst dichte, die Feuchtigkeit gar nicht erst eindringen läßt. Voila !


In einer ausgeglichen temperierten Werkstatt reicht das aus, in einem feuchten Keller nicht :-( Dabei ist nicht einmal der tatsächliche Wert entscheidend, sondern die Schwankungen. Aber wie vermeidet man die ?

Die erste Idee war eine Heizung: Im Inneren der Werkzeugkiste angebracht, erhöht sie erstens die Temperatur (und senkt damit die relative Feuchtigkeit) und sorgt zweitens durch Konvektion durch die unvermeidlichen Lecks in der Hülle der Werkzeugkiste für einen Abtransport der eingedrungenen Feuchtigkeit. Doch wie ? Zu viel Heizleistung ist ja auch eher kontraproduktiv, wegen Energieverschwendung und dann viel zu warmen und zu trockenen Werkzeugen, die sich dann beim ersten Kontakt mir der Umgebung verziehen. Also nur ein paar Watt.

Nach längerer (na ja, so lang war das gar nicht) Überlegung die Lösung: Ein LED-Streifen von 2m Länge liefert die grob überschlagen nötige Heizleistung:

Vermutlich bin ich einer der wenigen Menschen mit einer beleuchteten Werkzeugkiste ;-)
Sieht - ehrlich gesagt - auch etwas dekadent aus, wenn man den Deckel aufmacht, vielleicht stelle ich irgendwann mal auf eine inverse Kühlschrankbeleuchtung um: Leuchtet nur, wenn der Deckel zu ist.

Idee gut, Ergebnis leider nicht überzeugend: Bringt etwa 0,2 Grad und knapp 3 Prozent weniger Luftfeuchtigkeit .... Nächster Versuch.

Vielleicht erstmal messen .... also eine kontinuierliche Messung von Temperatur und Luftfeuchtigkeit installiert. Für die "normalen" Anwendungen arbeiten wir ja mit  Datenloggern, aber für diesen Zweck ist das zu mühsam: Alle paar Tage in den Keller gehen, den Windows-Rechner hochfahren um die Auswertesoftware zu starten, Daten runterladen, in Excel transferieren usw. Das dauert insgesamt etwa eine halbe Stunde, zu viel für die regelmäßige Verwendung. 

Normalerweise hätte ich das zähneknirschend akzeptiert. Aber da ich zur Zeit sowieso gemeinsam mit einem Startup an einer Lösung zur industriellen Datenerfassung bastle, stapeln sich die Sensoren, Controller, Funkmodule usw. sowie auf meinem Schreibtisch also musste eine professionelle Lösung her

Ein Carambola Board und ein Feuchtesensor mit digitalem Ausgang liefern nach etwa einem Tag fluchen über die I2C tools unter Linux (die nämlich exakt nicht den I2C Bus unterstützen sondern nur so etwas ähnliches und deshalb zu einem Tag verschärftem debugging und bare metal Programmierung führen - dazu demnächst mehr) ein System, das die Temperatur und Luftfeuchtigkeit in meiner Werkzeugkiste misst und (mehr oder weniger - auch dazu demnächst mehr) live ins Internet bringt.

Hoch interessant, was man mit geeigneten Sensoren alles messen kann ....

Man sieht sehr schön, wie ich etwa am 27.4. am späten Nachmittag kurz zum Basteln in den Keller gegangen bin, die Feuchtigkeit steigt um gigantische 0,4% innerhalb weniger Minuten ...
Wenn drei Erwachsene (?) mit aller Hingabe an Bumerangs basteln, sieht das noch mal ganz anders aus:

3,6% in nicht mal einer halben Stunde ! Big Data ist was Feines ....
Wer sich selber den aktuellen Stand anschauen will, findet den (wenn ich nicht grade an der Hardware bastle) hier.

Conclusio

Erstens: Die Luftfeuchtigkeit konnte durch den Einsatz eines modernen Controllers mit WLAN-Interface nicht nur beobachtet, sondern um etwa 10% gesenkt, die Schwankungen erheblich reduziert werden. Insbesondere dadurch, dass der Controller und vor allem das WLAN-Interface so viel Strom verbrauchen, dass die Heizleistung zu eben diesem Effekt führt. Arduino und ZigBee, sie leben hoch !

Zweitens: 
Es ist inzwischen mit minimalem Aufwand (etwa 50 Euro und ein Tag Arbeit) möglich, sich einen "Internet-Kühlschrank" oder eben eine Internet-Werkzeugkiste zu bauen, ohne Experte zu sein (Ich bin Wirtschaftsinformatiker, kein E-Technik-Ingenieur).

Drittens:
Die Datenlogger, die wir bisher zur Messung von Temperatur und Feuchtigkeit verwendet hatten, zeigen die Temperatur recht genau (paar Zehntel Grad), aber die Feuchtigkeit zwar untereinander konsistent, aber absolut um etwa 6% zu niedrig an (ich traue den einzeln kalibrierten Luxus-Sensoren mit garantierter Maximalabweichung von 2% mehr als den China-Billigteilen. Fairerweise muss man aber auch sagen, dass hier der Sensor etwa soviel gekostet hat, wie der komplette Datenlogger). 

PS: Die allererste Idee zur Lösung des beschriebenen Problems war die Regulierung der Luftfeuchtigkeit durch wasseraufnehmende Salze, gibt's in jedem Baumarkt für wenig Geld, muss man aber regelmäßig kontrollieren und auswechseln. Nicht eben elegant. Wenn nichts anderes hilft, werde ich darauf zurück kommen, aber so leicht gebe ich nicht auf !

Samstag, 4. Mai 2013

Feuchtesensor


Für die Messung der Luftfeuchtigkeit und der Temperatur verwenden wir einen HYT939 Sensor der Firma IST. Der ist zwar ziemlich teuer, hat aber eine exquisite Performance, spezifiziert ist er mit +/-1,8% Fehler bei der Feuchte (bei einer Wiederholgenauigkeit von 0,2%) und +/- 0,2K bei der Temperatur. So wie es aussieht, halten die Sensoren das auch ein.

Die Anbindung an einen Controller (hier ein Arduino FIO) ist simpel, da I2C-Schnittstelle:

Source (vollständiger Quellcode bei Github):

// HYT 939 Humidity Sensor Address
#define I2C_SENS 0x28

Wire.beginTransmission(I2C_SENS);
// send MR command --> write address of sensor
Wire.write(I2C_SENS);
Wire.endTransmission();

// wait til sensor data available
delay(100);

Wire.beginTransmission(I2C_SENS);
Wire.requestFrom(I2C_SENS,4);
unsigned char data[4];

while(Wire.available()) {
data[i++] = Wire.read();
}
humidity = data[0];
humidity &= 0x3f;
humidity *= 255;
humidity += data[1];

double dHumidity = 100.0/16384.0*humidity;

temp = data[2];
temp *= 255;
temp += data[3];
temp /= 4;
double dTemp = 165.0/16384.0*temp-40;

Ein weiterer Vorteil dieses Moduls ist der niedrige Standby Verbrauch von < 1 µA (sleep) und wenigen µA während der Messung.

Durch das runde Gehäuse mit Keramikmembran ist auch die Montage sehr einfach. Deshalb. Trotz des Preises (etwa 40 € als Einzelstück) lohnt sich das in Summe.

Ergänzung: Die Faktoren zur Umrechnung finden sich in den Application Notes