HIH-4030 Breakout

Hi, ich wollte mal fragen ob einer von euch mit dem Sensor schon Erfahrungen gemacht hat und ggf. ein guten Guide,

oder dergleichen kennt um ihn in Betrieb zu nehmen, fener auszulesen.

Arbeite erst seit kurzem mit dem Arduino und dementsprechend wenig Erfahrung ist (leider) noch vorhanden.

Gruss

Hallo CFischer

http://www.sparkfun.com/products/9569: Description: This is a breakout board for Honeywell's HIH-4030 humidity sensor. The HIH-4030 measures relative humidity (%RH) and delivers it as an analog output voltage. You can connect the output of the sensor directly to an ADC on a microcontroller; and, thanks to the sensor's near linear voltage output, the data is very easy to process.

http://www.sparkfun.com/datasheets/Sensors/Weather/SEN-09569-HIH-4030-datasheet.pdf

[quote author=ArduinoM @ http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1267245927] Easyest way to map if you do linear regressionin excel. From: http://stevenengineering.com/tech_support/PDFs/31HUM.PDF You can see that: at 0C: 0.8V = 0% RH and 4.07V = 100% RH 25C: 0.8V = 0% RH and 3.90V = 100% RH 85C: 0.8V = 0% RH and 3.50V = 100% RH

now 0.8V = 164 when read from analog.read 4.07V = 833 ---------""---------------------- 3.90V = 798 ---------""---------------------- 3.50V = 716 ---------""----------------------

Now you do scatterplot in excel with known value as x-axis (That would be the number read from analog in pin) So: x-axis: analog in expected values y-axis: RH% expected values For 0C: %RH = 0,1495x - 24,514 ;where x=analog-in value For 25C: %RH = 0,1577x - 25,868 For 85C: %RH = 0,1812x - 29,71 For any temperature if Temp is known in C: %RH = ((0,0004*Temp_C + 0,149)*Analog_in)-(0,0617*Temp_C + 24,436) Let me know if it is not working Smiley David [/quote] Grüße Uwe

Danke für die Links,

ich frage mich nur wie ArduinoM auf die Werte gekommen ist.

bei 0° und 100% Humidity sollte Uout ja laut Figure 4 bei 3,9V sein.

Mit 70° Temperatur und 100% Humidity Uout = 3,5V.

D.h. pro °C Unterschied von den 0° haben wir 0,00571V Spannungsfall an Uoutmax.

Ich wollte das nun nach dem Schema machen mit den Formeln die Angegeben sind. Die Uout Formel wurde nach RH umgeformt:

// include the library code:
#include <LiquidCrystal.h>
#define zeroVoltage 0.8
#define Pin 2                             // Arduino input Pin


float value = 0;                          // analog sensor value
float RH = 0;                             // relative Humidity
float RH_true = 0;                        // real Humidty with respect to temperature
float room_temperature = 20;



// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11,10, 5, 4, 3, 2);

void setup()
{
  // set up the LCD's number of columns and rows:
  lcd.begin(8,2);
  analogReference(DEFAULT);
}

void loop()
{
  value=analogRead(Pin);
  lcd.setCursor(1,0);                     // column 1 row 0
  lcd.print("relative Humidity");
  RH = (((value/1023)*5)-zeroVoltage)*(1/0.031);  // calculate the RH
  RH_true = RH/(1.0546-(0.00216*room_temperature));
  lcd.setCursor(0,1);                     // column 1 row 1
  lcd.print(RH_true);
  lcd.print("%");
  delay(5000);                            // sensor response time 5s
}

Desweiteren weiss ich nicht wie er auf seine Steigung da kommt.

For 0C:
%RH = 0,1495x - 24,514 ;where x=analog-in value

wenn ich mir den Graphen da angucke aus Figure 3 dann habe ich:

b =0.8
m = 2-0.8 / 40- 0 = 0.03
=> V = 0.03*RH+0.8

damit RH = ( V-0.8 )*1/0.03

laut Datasheet wäre eine Umformung auf RH = ( V-0.8 )*1/0.031 rausgekommen, sollte also passen.

also ich hab das mal durchgerechnet und mit den Formeln sollte es so stimmen.

Die Luftfeuchtigkeit steigt bei einem Temperaturunterschied von 20°->40° um circa 2~% an.

Verifiziert wurde der Wert anhand der Kennlinien die im Datasheet stehen.

Da die Genauigkeit eh bei +- 3,5% steht ist das hier eh nicht so relevant.

Werde mal den Aufbau wagen und versuchen den Sensor zum laufen zu bringen.

Hoffe der Quellcode stimmt so.

Gruss

Viel Glück Uwe