Hello, I am trying to control the three knobs on this
In the initial research I have done, I think that I need to use a digital servo motor.
I need to be able to get the positional feedback from the servo.
The first switch is 5 positions over 90 degrees
The second switch is 19 positions over 180 degrees
The third is a little more complicated with 11 positions over 180 degrees (but some are double movements)
Can someone please make a recommendation as to what brand/type I should use for this?
Also any ideas on how to attach the servo would be greatly appreciated.
it will actually be hidden so no I do not plan on turning them manually (only in an emergency situation where the servo wasnt working) I actually have two of these and could switch them out if that ever happened.
I think servos are a very inefficient solution, as they require power constantly, even to maintain their position.
If you break down the function of each knob, it's all about making contacts that probably activate relays elsewhere.
I would look at the back of that panel, see how many wires each knob has, and figure out which two wires are connected for each setting.
Being that you posted on an Arduino forum, I'm assuming you'll be using an Arduino for this project. And since you're not going to need to manually override these knobs, you can just focus on having the Arduino connect the appropriate ones with transistors/optocouplers/whatever. Turning knobs is for human interfacing, electronics can do it without that movement component.
EverydayDiesel:
In the initial research I have done, I think that I need to use a digital servo motor.
I need to be able to get the positional feedback from the servo.
I reckon any type of servo would be suitable. The servo will be where your code told it to go. I can't see any need for feedback from the servo.
It is possible to modify a servo to take a feed from the internal potentiometer to an Arduino analog pin to read the position - but I don't see the need for it.
If you insist on a very sophisticated solution use a simple DC motor to turn the knob and put a rotary encoder on the knob shaft.
INTP:
I think servos are a very inefficient solution, as they require power constantly, even to maintain their position.
If you break down the function of each knob, it's all about making contacts that probably activate relays elsewhere.
I would look at the back of that panel, see how many wires each knob has, and figure out which two wires are connected for each setting.
Being that you posted on an Arduino forum, I'm assuming you'll be using an Arduino for this project. And since you're not going to need to manually override these knobs, you can just focus on having the Arduino connect the appropriate ones with transistors/optocouplers/whatever. Turning knobs is for human interfacing, electronics can do it without that movement component.
Originally this is the direction that I was going to go, however after reviewing it seems that the fan wire carries the current/load of the dc blower motor. I estimate 20-30 amps. Where it really gets over my head is the multiplexing that this thing does. It even has its own micro processor and in my opinion is way over engineered for what it does.
Robin2:
I reckon any type of servo would be suitable. The servo will be where your code told it to go. I can't see any need for feedback from the servo.
It is possible to modify a servo to take a feed from the internal potentiometer to an Arduino analog pin to read the position - but I don't see the need for it.
If you insist on a very sophisticated solution use a simple DC motor to turn the knob and put a rotary encoder on the knob shaft.
...R
I would like feedback because I would like to 'query' to see the position of the controls at any given time. (ie if the car turns off, then comes back on) I have also read about the servos not reliability making it to a given position. I will look into the DC motor with the rotary encoder (I am very comfortable with c/c++ as that is my profession but electronics is where I struggle)
Thanks for the reply, i guess i dont have to have it.
my biggest fear is that I would get off track and the software would move the hardware beyond the pysical limits and break something.
if only there was a way to calibrate it. I have heard of the commands being sent to the motors but it does not actually do what was commanded. That is the biggest reason I want to be able to query the position.
INTP:
I think servos are a very inefficient solution, as they require power constantly, even to maintain their position.
If you break down the function of each knob, it's all about making contacts that probably activate relays elsewhere.
I would look at the back of that panel, see how many wires each knob has, and figure out which two wires are connected for each setting.
Being that you posted on an Arduino forum, I'm assuming you'll be using an Arduino for this project. And since you're not going to need to manually override these knobs, you can just focus on having the Arduino connect the appropriate ones with transistors/optocouplers/whatever. Turning knobs is for human interfacing, electronics can do it without that movement component.
I am not opposed to this so I took it apart to see what is in side.
You can see there are 3 pots (the black/white one is a high current one)
Standard pot, legs are just for mounting. Maybe additional grounding.
If repeatable, reliable, stop positions are a priority, physical microswitches as limit switches are a good option. You don't need constant feedback of position reading from a servo, you can just track last known position. If necessary you can even have it recalibrate at a 'home' position on startup.
I reckon they're switches.. and probaby have a mechanical detent.
If, you're willing to have a go, remove the switch ( carefully ) and measure with a meter which pin is connected to each other at each position .
Then make up a seperate circuit - replace the contacts with relays which reproduce those connections, and drive the relays with your arduino. Optocouplers might do - depends on what the existing circuit expects.
Very cumbersome - depends how desperate you are.
or since you're just driving a big fan motor, why not replace that board completely with an arduino-based controller, using it's PWM and a big mosfet to drive the fan..
After all the output of this whole gubbins is just a variable big current........
Since the fan control seems to have absolutely no connection to the rest of the electronics, then that should be simple to replace with a simple Arduino motor driver. If you know how many amps the motor uses, you can pick a driver. Or just use a Monster Moto shield which will power every motor in the car except for the starter.
That does seem a little unusual though, as most cars will never run the AC compressor unless the fan is running. That interlock may be elsewhere in the vehicle.
For the other switches, I imagine they are Grey Code encoders. A little experimentation should be able to determine the codes. The switch inputs could possibly be connected directly to the Arduino outputs, with the rotary switches removed.
As for remembering the last position, I would write the Arduino code to store the current positions in the EEPROM. Maybe add a small timeout so that it only saves after the input command has not moved for 1 second.
Thank you for the reply, I am actually trying to automate the entire piece, fan speed, temperature, vent position, defroster button and a/c (compressor) button
MorganS:
That does seem a little unusual though, as most cars will never run the AC compressor unless the fan is running. That interlock may be elsewhere in the vehicle.
The a/c compressor is controlled by the button at the top right. The fan can run regardless if the compressor is on or not.
MorganS:
For the other switches, I imagine they are Grey Code encoders. A little experimentation should be able to determine the codes. The switch inputs could possibly be connected directly to the Arduino outputs, with the rotary switches removed.
When I test the switches, am I looking for the difference resistances between the positions?
allanhurst:
or since you're just driving a big fan motor, why not replace that board completely with an arduino-based controller, using it's PWM and a big mosfet to drive the fan..
This is interesting but I wonder if I can use PWM for my application
Currently what I have is +12v to one side of the motor
and then a BIG resistor with 4 different levels of resistance determines the fan speed. Could I some how control this fan by simply using PWM to +12 side of the motor and the other side to ground?
I am still researching but I believe the blower motor uses a 30amp fuse
Yes, that looks more like I was expecting to see on a blower fan circuit.
Even easier than that: you can do PWM with one single transistor between the negative terminal of the fan and ground. And a diode across the motor. Leave the resistors in place and connect to the BLU/YEL wire.
You need to pick a transistor with enough current capacity but 30A is fairly easy to get. Go a bit bigger for safety, to make sure the fuse blows first. Say 60-120A max rating on the transistor. You must get a "logic level" transistor unless you also get a driver to drive higher voltage into the main transistor. An N type MOSFET will do the job nicely.
There are also other dedicated chips available for this type of thing, with more protection and monitoring circuits built in.