After driving cars with dual-zone automatic climate control, switching to a manual HVAC system felt like the Stone Age. Needing to adjust the knobs to compensate for engine warm up, AC lag, and sun glare was wearing on me.
Challenges:
Proprietary radio/HVAC unit with integrated circuits
Reverse engineering analog/digital signals without CAN-bus simplicity
Safely and reliably intercepting and overriding legacy system with arduino automation
Salvaged from local U-Pull:
Head Unit & Pigtail
With combined radio and HVAC controls
Recirculation Control Motor
Moves damper to recirculate or draw fresh air
Mode Control Motor
Selects between floor, dash, and windshield vents
Temperature Control Motor
Adjusts blend of hot and cold air
Blower Motor Resistor
Adjusts fan speed
Evaporator Temperature Sensor
Reads temperature immediately in front of AC evaporator
Initial bench testing focused on powering and confirming control of motors via the HVAC unit. A wiring harness was prototyped using development board, soldering corresponding wires from the HVAC components to the control unit.
While the unit became operational, the subsequent testing proved extremely challenging as no attention was paid to probing individual connections while soldering.
The harness was remade then, with header pins to allow jumper wires to be connected to each wire leaving the HVAC unit.
This process introduced me to soldering and the basics of interpreting wiring diagrams.
Progressed continued towards reverse engineering the signaling protocols for each motor, the blower motor, and AC activation.
Initial progress was slow on an oscilloscope on campus, so a bench testing setup was constructed at home using a lawn mower battery as a power supply, and Arduino for data acquisition.
Once voltage dividers were set up, the Arduino enabled simultaneous monitoring of up to 5 connections at once. The Arduino scope proved to be an invaluable tool in reverse engineering the HVAC unit.
Develop a system of op amps for voltage regulation and multiplexers to handle the 10s of inputs and outputs demanded by this project
Design a control system utilizing inputs from additional thermometers installed in the car
Create the user interface (temp control buttons, set point screen etc)
Create a wiring harness to allow for install without modifying the harness in the vehicle