Analog Input and output with negative value

Hi!
I'm trying to develop an application to control an hydraulic servovalve and having an arduino board I'd like to give it a chance.
The first problem I have is thata the servovalve is controlled with a +/-10VDC signal and have a +/- 5VDC feedback.
How can i write and read such input/output? Is there a particular shield or software technics to do that?

Thank you so much!

Can you tell us the brand of type of the servovalve ?
Some of those valves need power of 24Vac and a 10V signal, and some can select to also a 5V signal.
Or does that servovalve use +10V and -10V to power it ? What current is needed ? How many wires are there for the power ?

The valve is already powered up by a 24Vac supplyer.
It need only a +/-10V (no or low current and no selectable range) as reference to position the 2 spools.

Please tell us the brand and type, or make a photo of it.
I think it is a directional servo valve, and they are normally controlled by a servo amplifier.
I guess it is also proportional, so you can set the valve half-open.

In most cases only 0...10V will do, but perhaps some need -10V ... +10V.
I don't know about industrial directional servo valves =( , so I'm not sure if you need a negative voltage.

If you do need a negative voltage and you do have two wires for that, use an H-bridge.
But I don't know if that is possible if there is also a ground wire.
It is also possible to create a voltage pump with a few components for 10V and -10V.
I have not heard yet of a shield for this.

If no one else replies, you could start a new topic with a specific question: Controlling a servo valve with +/-10V
If you do, copy a link to this thread in your text.

The servovalve is a standard MooG D77X servovalve.
It needs a -10V and it don't have any ground wire.
But the main problem is not the valve control (i can get a +/- 10V using two analog output and an amplifier 'cause the signal is differential so i can connect an analog out to the - pin and another to the + to have a +/-5V and then amplify it) the main problem is read the negative feedback.

We are almost getting there.

Are you sure it is a D77X ? and not a G77X ?

Which Arduino board do you want to use ?
Normal Arduino boards, like the Arduino Uno can output only a pwm signal. You can use a RC filter to make that an analog voltage.
The Arduino Due has DAC for analog output.

Reading a negative and positive voltage of -5...+5V can be done with an OpAmp, or a few resistors.
The most accurate is using an OpAmp to convert the signal into 0...5V range for the Arduino. When the input is 0V, the result for the Arduino would be 2.5V.

Yes sorry, is a G77X, the D77X is the same valve with an old name and i have both.
I have only an arduino uno board unfortunatelly.
You said that is possible to read the analog input and even write the analog output.
So, if i get all analog working, I need to read from feedback and with a PID write to the valve as fast as possible.
Which is the max speed do you think I can reach with an arduino board with a simple PID program?

The speed of a PID depends on its parameters.
This is the PID library: Arduino Playground - PIDLibrary
And someone made a autotune for it: Arduino Playground - PIDAutotuneLibrary

You have to test the servo valve if it can handle a little overshoot. The speed will be as fast as the PID can do. Using the Arduino instead of an optimized analog servo amplifier should be at least just as fast.

I wish I could help you with those voltages. There are so many chips that make and read negative voltages.
But I can only found this: http://nodna.de/analog-out-module
It outputs a voltage of -10V ... +10V and is controlled with a PC via the USB bus.

Does the original servo amplifier has a power supply of -15 and +15V ? Can you use that for OpAmps ? If not, there are DC-DC converters (small black boxes) that can make those voltages out of 5V, and you only need a few OpAmps to change the voltage range.

A fixed input (5V) dual output (-15V, +15 or -12, +12V) dc-dc converter is easy to find:

Some are regulated, but it depends on the OpAmp and the circuit if you need that:
http://www.ebay.com/itm/DC-DC-converter-2W-isolated-5V-IN-15V-dual-out-1pcs-/151226494396

I'm sure that you are not the first one trying to control such a valve, but sadly I can't find an example of it.

"You have to test the servo valve if it can handle a little overshoot. The speed will be as fast as the PID can do

That i mean.... With my actual servo controller, i can get a pid loop of 200usec (5Khz) that is not enough.

Could i get faster with arduino?

I don't know, I have not used PID and Arduino together yet.
But you can tweak the parameters and see what happens, but I can't guarantee anything.

Your question is harder and more specific and more industrial than my knowledge. There are other users that know more about it. I think if you start a new topic with a very specific question, you have more luck.