CuVoodoo

the sorcery of copper

User Tools

Site Tools


dehumidifier

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revisionBoth sides next revision
dehumidifier [2020/10/19 12:14] – created kingkevindehumidifier [2020/10/19 13:06] – add sources kingkevin
Line 2: Line 2:
  
 ====== dehumidifier ====== ====== dehumidifier ======
 +
  
 here pictures of the dehumidifier: here pictures of the dehumidifier:
  
-here pictures of a sensor module (not mine, but also not an original):+{{:dehumidifier:dh10_front.jpg?400|}} 
 +{{:dehumidifier:dh10_top.jpg?400|}} 
 +{{:dehumidifier:dh10_back.jpg?400|}} 
 +{{:dehumidifier:dh10_label.jpg?400|}} 
 +{{:dehumidifier:dh10_radiator.jpg?400|}}firmware source code
  
-the sensor module keeps failing. +here pictures of sensor modules (not mine, but also not an original): 
-my guess for the reason is that the IC and passives are right next to the cold and humid metal radiator.+ 
 +{{:dehumidifier:sensor1_top.jpg?300|}} 
 +{{:dehumidifier:sensor1_bottom.jpg?300|}} 
 +{{:dehumidifier:sensor2_top.jpg?300|}} 
 +{{:dehumidifier:sensor2_bottom.jpg?300|}} 
 + 
 +the sensor modules kept failing. 
 +my guess for the reason is that the IC and passives are right next to the cold and humid metal radiator, and the plastic separator isn't enough to protect it.
  
 ====== sensor module ====== ====== sensor module ======
  
-====== protocol ======+ 
 +===== protocol ===== 
  
 the sensor module uses an unidirectional pulse-width modulation protocol (similar to Infra-Red protocols used by remote controls): the sensor module uses an unidirectional pulse-width modulation protocol (similar to Infra-Red protocols used by remote controls):
  
-the data line is pulled up by the receiver, and the sensor module pulls it low to transmit bits +  *  the data line is pulled up by the receiver, and the sensor module pulls it low to transmit bits 
-0 bits are transmitted using a 500 µs low, 500 µs high pulse +  0 bits are transmitted using a 500 µs low, 500 µs high pulse 
-1 bits are transmitted using a 500 µs low, 1500 µs high pulse +  1 bits are transmitted using a 500 µs low, 1500 µs high pulse 
-4 bytes are transmitted +  4 bytes are transmitted 
-this is followed by a break condition using a 15 ms low pulse +  this is followed by a break condition using a 15 ms low pulse 
-the first byte encodes the temperature, in °C +  the first byte encodes the temperature, in °C 
-the second byte encodes the relative humidity, in % +  the second byte encodes the relative humidity, in % 
-the third byte is the first negated, to detect transmission errors +  the third byte is the first negated, to detect transmission errors 
-the fourth byte is the second negated, to detect transmission errors+  the fourth byte is the second negated, to detect transmission errors 
 + 
 +===== replacement module ===== 
  
 the replacement modules I designed implements this protocol in an STM8S003 micro-controller, and gets the humidity measurements from an AHT20 sensor over I²C. the replacement modules I designed implements this protocol in an STM8S003 micro-controller, and gets the humidity measurements from an AHT20 sensor over I²C.
 the parts are placed on the front side of the PCB, less exposed to the cold humid metal plate. the parts are placed on the front side of the PCB, less exposed to the cold humid metal plate.
 +
 +{{:dehumidifier:module.jpg?300|}}
 +
 +here is the {{ :dehumidifier:humid.sch.pdf |schematic}}, {{ :dehumidifier:humid.brd.zip |fabrication output}}, {{ :dehumidifier:humid.src.zip |hardware source files}}, [[https://git.cuvoodoo.info/stm8s/?h=dh10|firmware source code]], {{ :dehumidifier:stm8s.bin.zip |firmware binary}}
dehumidifier.txt · Last modified: 2024/01/07 17:49 by 127.0.0.1