building an ac controler for my car. need some advice on code theory

Hey Guys,

i have a 66 chevelle and i'm building a controller for the aftermarket ac system.

the system can easily be controlled using the following protocol:

FAN 0v-off, 5v-100%

MODE 0v-dash, 2.5v-floor, 5v-defrost

TEMP 0v-cold/AC on, 5v-hot/AC off

the temp controls a servo controlled door that blends the hot and cold.

I'd like to be able to set a temperature and have the controller maintain that internal cabin temp. The easiest way i can think to code it is to have a thermistor on each of the outputs: dash, floor, defrost, to measure the temperature coming out of the unit, then have another thermistor in the cabin (it would be ideal to have a single thermistor right after the door that blends the hot/cold... but i think that would require me to hack the system and void a warranty). I could then compare the difference of the two locations and adjust temp based on that.

Is there a better way of doing this?

thanks in advance,

Scott

for those interested; here is the display i'm using (sorry for the horrible camera work):

Greensprings:
does a 66 still have a warranty?

No. But the ac unit is brand new, and that has a year warranty

I'd like to be able to set a temperature...

Like in my old car that has a red / blue band? If it's a bit warm, you turn a knob towards the blue.

Like in a new high end car that has a digital readout? If it's a bit warm, you turn a knob until the value changes from 24 to 22.

Like on a new car there is a temperature readout; say I set the dial to 70 degrees, i want to keep the car cabin at 70 degrees. The ac temp will vary based on many factors such as temperature outside... So it's not something I can calibrate once and forget it. The door set at 40% toward the hot side will be hotter in the summer than the winter, for example

i want to keep the car cabin at 70 degrees

Which part? Floor? Seats? Roof?

The point is, maintaining a temperature to the nearest degree Fahrenheit in the cabin of a 66 Chevelle may not be possible.

Are you prepared to have multiple cabin sensors? With a multivariate control strategy? (I assume that's how Mercedes-Benz® tackles the problem.)

When I had my corvette it had a single thermistor on the dash near the ignition. I was going to follow suit. It doesn't have to be to the degree or across the entire car. Just something that keeps the temp roughly consistent.

[quote author=Coding Badly li

nk=msg=2054495 date=1421896465]
Which part? Floor? Seats? Roof?

The point is, maintaining a temperature to the nearest degree Fahrenheit in the cabin of a 66 Chevelle may not be possible.

Are you prepared to have multiple cabin sensors? With a multivariate control strategy? (I assume that's how Mercedes-Benz® tackles the problem.)

[/quote]

it would be ideal to have a single thermistor right after the door that blends the hot/cold

That is a bad idea. When the sensor is placed too close to the control point there are two outcomes: constant oscillations and/or permanent offset. There has to be enough distance between the sensor and the control point so that the thing being measured (temperature in your case) is not affected by the control point (cold and warm air are completely blended).

It doesn't have to be to the degree or across the entire car.

Excellent choice.

There are three control points (FAN, MODE, and TEMP) but only one process variable (cabin temperature).

What's the plan for MODE? MODE = dashboard for cooling, MODE = floor for heating, MODE = defrost never?

What's the plan for FAN? Always at 100% so the system reacts quickly?

my plan would be to have mode user selectable and wont be affected by the auto feature.
I'm on the fence about the fan. I'll probably only affect the fan speed if the temperature difference is above a certain threshold in order to speed up the process. On the other hand, if the desired temp is within 5 degrees of the current temp then the code wouldn't affect the fan speed and would leave it at the user defined setting.

The modern AC system you see in many cars now has a temperature control calibrated in degrees C or F. However, this is just a fiction presented to the occupants so that they think they understand what it is doing. The actual system is controlling a large number of variables which add up to a perceived temperature. If you were to put an actual thermometer in such a vehicle, you would find surprisingly large variations.

All of these new cars have a black dome on the dash, usually in the center, pushed forward near the windscreen. This is an insolation sensor (sun strength.) It is measuring the amount of heat coming from the sun and modifying the AC cooling to compensate. Without this, you will feel hot on a sunny day and cold on a cloudy day even though the air temperature is the same.

The computer also does other smart things like not blasting you with hot air when you start a hot car: it waits for the AC to begin to work on cooling the air in the vents before it goes to full blast on the fan.

Every car manufacturer spends millions of dollars calibrating these systems for each different model they make. There isn't a plug-and-play solution that just works.

An Arduino is perfectly capable of measuring these variables and doing the calculations. It sounds as if this aftermarket AC system is perfectly matched to be controlled by an Arduino. Read up on perceived temperature and I'm sure you will get a great outcome.

wow! thank you for that awesome information. i'm going to read up on that as well.