I'm knew to the Arduino world, having previous done a small amount of work with a Picaxe Plc.
I haven't bought any hardware yet and thought I'd ask for advise here before I do. Basically I'm wanting to use an Arduino as the core programmable drive for 2 proportional hydraulic valve coils. Input will be taken from a 0-5v single axis joystick which will cause the driver to supply a current of 0-3amps @ 12vdc proportional to the joystick movement (input voltage).
From the research I've done I know I can do this using PWM outputs and mosfet transistors with not to much work. However due to the changing temperature and therefore resistance in the coils I want to use negative feedback to provide stability and accurate control. Because of this I'm thinking an Op-amp may be the way to go.
Taking this into account along with my voltage and current requirements can anyone recommend an Arduino board and op-amp chip or shield that will do my job? Of course any advise would be greatly appreciated.
Do these proportional valves have laminated core for the winding? If not PWM can be
a problem as you might pump large eddy currents into the core if the PWM is too low a
frequency (ie check the datasheet for any driving recommendations)
Not sure on the laminated core, but I know PWM is suitable to drive them. Frequency of about 180-200hz if I'm correct.
Good - though that’s a lower frequency than the Arduino default, note. I suspect it
will probably be OK at a somewhat higher frequency.
Unfortunately the operating frequency is important.
If not in the recommended range you loose linearity with duty cycle and valve position.
Also getting the valve to open from closed can be a problem.
My mistake, the PWM frequency requirement of this particular coil is 110hz. What is the default Arduino PWM frequency? Is it possible to change this frequency to an alternative value?
I just need some information on what components I need to construct this setup?
After further reading I now know that an op-amp can't supply more voltage that what it's given. As the Arduino can only supply a 5v input how would I go about utilising an Arduino with a 12v op amp? By the way I do have access to a separate 12vdc supply.
Have a look at this device, I use it in a retro fit kit for hydraulic excavators. It is 5V input compliant and has two switches on it.
You don’t have to use all its bells and whistles.
BTS621L1_SmartFET_Siemens.pdf (183 KB)
Thanks for the reply, that's very interesting.
I've had a gander at the datasheet, but my electronic engineering is limited (not for long).
Basically I have a few questions regarding the BTS621L1
I presume the "Highside" means the sensing resistor goes between the load and positive supply? Is this a form of negative feedback to keep output current linear to input regardless of heat / resistance change?
Are the output channels either ON (giving a solid 12v @ 4.4 amps regardless of input voltage) or can the inputs be variably controlled by PWM from the Arduino. Thus giving an output current between 0 and 4.4 amps proportional to the input voltage? This is a must as my controller will be running proportional coils.
If the latter is correct, what would be the input voltage range on IN1 and IN2 (0 to 5 volts)?
- In order to achieve a 12v output I'm guessing I need to input a separate 12v supply in to pin 4 (Vbb)?
Forgive my basic knowledge, your help is much appreciated.
High side means the BTS621L1 is positioned on the positive side of the coil, with the other side of the coil at GND.
You can regard this as a switch, ON or OFF, yes you can PWM it, that is how I use it.
You supply the PWM signal to the inputs and is logic level, 0 - 5V.
Yes, you connect your coil power supply to Vbb.
It is designed for automotive use with logic level input.
Current is internally set with 8A as limit, but if you are using 12V coils it should not get that high.
It would be worth checking if there are lower current spec Power Switches in the same family as this one.