Εμφάνιση αναρτήσεων με ετικέτα HITACHI. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα HITACHI. Εμφάνιση όλων των αναρτήσεων

Πέμπτη 3 Ιανουαρίου 2013

CENTRALIZED SPLIT UNIT AIRCONDITIONING CONTROL

  Maximum HVAC efficiency is obtained with the use of inverter airconditioning units that have a  CEP  3.5 or more.
  The idea is to control some (3 or more) sets of split type airconditioner units with a central (master)  unit.  This  master unit runs a time schedule by reading the onboard RTC, logs data and slave responces to a micro SD card,  communicates with the slave units via RF24L01+ modules at 2.4GHZ and even takes care of local room temperature by reading a precision centigrade temperature sensor LM35Z and controlling   the local airconditioner unit with an IR led that emulates the original (Hitachi's) infrared remote control. And last , but not least, an input from a power meter (like an Electric Owl CM160 ) monitors electric power consumed by all air conditioner units to prevent power overload.  
  Slave units comunicate with master via  RF24L01+ modules,  read temperature with a LM35's as well , and send infrared commands to the remote airconditioner units. In case of RF link failure they can even take over  local control.
     All units are based on Arduinos's MCU's. Behind the idea of centralised HVAC control is, of course the optimisation of mains power consumption. Below is a photo of a master unit  prototype. On the prototype shield on top of an Arduino duemillenove, you can see the RF24L01+ module, the RTC module (a DS1307) with the backup battery, the infrared led and 2N2222 driver. The temperature sensor LM35Z is behind the RTC module adjacent to the analog pins of the shield. Sd card is an optional add-on . On the paper are my so-far failed attempts to decode the manchester-encoded pulses of the electric Owl's  CM-160 receiver output. On the oscilloscope you can see the infrared pulses that control the shutter of a Pentax X-5 camera which plays the role of the receiving airconditioner unit just to make sure that no interrupt handling inside RF24,RTC,SD,SPI  or WIRE libraries interferes with the time sensitive infrared carrier signal of 38.4KHZ Two buttons are also  provided to send commands like "emergency Power OFF all units" or "set all units to SLEEP 1H  mode".  

Master unit prototype
Code on the master unit takes approximately 26K of flash memory and on the slave a mere 14K.(Atmega328). We can also provide all units with PIR detectors to sense human presence and to inform master to take care accordingly. Every unit can also be connected via USB to a pc for debugging purposes.  

Δευτέρα 5 Σεπτεμβρίου 2011

INFRARED REMOTE CONTROL CODE HACKING FOR HVAC DEVICES

In a modern house , most electronic devices are controlled by an infrared remote. Hacking the infrared codes gives you endless possibilities:  Using a micro controller you can built an universal HVAC controller which can map the desired indoor temperatures and control all devices like air conditioning units, ceiling fans , heaters etc. You can use input from:
  • outdoor/indoor  humidity temperature and solar radiation sensors
  • input and return water temperatures from heater 
  • solar collector and/or electric boiler temperatures
  • time of day - season rtc
  • solar radiation sensors
  • movement sensors (to control temp of an occupied room)
  • internet weather forecast data
  • rain sensors
to control
  • oil boiler set point
  • air conditioning unit temperature and/or functions  (eg dehydrating)
  • ceiling fan speed to equalize  temperature in a room 
  • fan coil fan speed control
To be more specific you can control oil boiler set point by using a common servomotor connected mechanically to the water temperature knob,  infrared diodes to transmit commands to airconditioning units and ceiling  fans. I personally use three one-wire (or LM35DZ) sensors (one at the floor level, one at 1m height (bed level)  and one at 2.8m (ceiling level) to control ceiling fan speed  in conjunction with all other HVAC devices to maintain a steady comfort temperature and to not waste energy by over heating ceiling in winter or over freezing floor in summer. Using movement sensors the system knows when a person is in the room and acts accordingly - even at night when the person is sleeping.

Below are some hacked infrared codes from my HVAC devices:

HITACHI Inverter Air conditioning

At first a pulse of 9,2ms (of 38khz)  must be send followed by a 4.48ms pause
"1" (pause ) duration is 1620us, "0" (pause)  is 600us and signal (38KHZ) duration is 580us.
After last bit we have a pause of 40.6ms. Each pulsetrain  must be send once.
All pulses must be send. I have to separate them in command and common parts in order to use a micro controller for temperature control.

Power on (All Auto -mode auto, fan speed auto, set temp auto)
{1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,1,0,0} 
{0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1}  {1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0} {1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0}
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1}

Power off :Repeat all the above and  change red sequence with this:
{1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0}

Westinghouse ceiling fan infrared control hack (UC7130T)
 
We have no header or "wake-up" pulse here. Logic "0" is a pause of 840us followed by a pulse of 420us of 38KHZ and logic "1" is a pause of 430us  followed by a pulse of 820us of 38KHZ. After last bit we must wait for 15ms to send same sequence again. Each sequence  must be send at least 3 times. Infrared sender must have a powerful output (multiple leds and/or high voltage (9V) on collector - darlington driver).

{0,1,0,0,0,0,0,0,0,0,0,1,0}   FAN OFF
{0,1,0,0,0,0,0,0,0,1,0,0,0}   FAN SPEED 1 (MIN)
{0,1,0,0,0,0,0,0,1,0,0,0,0}   FAN SPEED 2 (MED)
{0,1,0,0,0,0,0,1,0,0,0,0,0}   FAN SPEED 3 (MAX)
{0,1,0,0,0,0,0,0,0,0,0,0,1}   LIGHT ON/OFF
{0,1,0,0,0,0,0,0,0,0,1,0,0}   LIGHT SLEEP