84392699 Auto Guidance Valve

Looks proportional to me


1 Like

Yes and no. Yes if you have electronic for driving.

From manual:

“Electrical Signals It is important to note that solenoid force and valve flow are proportional to current—not voltage. Therefore, for optimum performance, a constant current electrical signal should be used. This type of signal will help compensate for the drift that would otherwise occur when current flow causes solenoid temperature and resistance to increase.”

“Dead band : 15–35%of full solenoid input. Vickers electronic controllers have a dead band eliminator to reduce this value to near zero.”


So we are good to go with AOG and the PCB. There is adjustment for dead band(Edit: adjusted by Minimum PWM Drive in AOG-autosteer configuration), and we have no use for constant flow so current is not important for us. We just want some oil until WAS tell it is enough.

(agopengps+win to arduino+WAS sensor) are slow , with no real closed loop you get all time overshoot undershoot.

Sounds like unfair criticism towards AOG, I’m sure you did not mean it that way.

AOG+win to arduino+WAS sensor is a closed loop. You must have been referring to a missing closed loop from the actual valve control. The part that is a well known failing part on Danfoss valves. :slight_smile: (Not really related to this thread but we’ve had thousands of Euros lost on these valves, had to mention it).

A very accurate propo-valve would allow faster steering control but by control theory, you can never avoid undershoot and overshoot completely. Judged by comments from several hydraulic steering valve users, looks like they have found a very acceptable compromise. A cm undershoot for a fraction of a second does not need to be too bad even if one half of it could be avoided with a faster and more accurate control loop?

1 Like

WIN send command from AOG to serial port (USB) with delay, delay is not constant, not problem in AOG , problem that WIN not real time operating system.
Same story, MACH3 under WIN and linux cnc under real time operating system.

I am very sceptic of driving solenoid (current control) with arduino PID and PWM(voltage control) without real closed loop, or something like lookup table for that solenoid.

1 Like

The reason to “want” current control is to have a setpoint of ,lets say 500 mA and that makes that specific valve yield lets say 8 liters of oil pr minute, and to keep the valve at 8 liters it must stay at 500 mA all the time and every day same yield, no matter the spool temperature/resistance.
We only put some volts on the valve, resulting in some mA, and it doesn´t matter how precise it is.
Anyway AOG adjusts volts up/down and forward/reverse all the time, so there is no specific demand.
Edit:Anyway NANO ( via motor controller)adjusts volts up/down and forward/reverse all the time, to hit setpoint coming from AOG so there is no specific liters of oil/minute demand.


On page 10 , chart for valve 2C19N
Valve start open on 30% PWM duty cycle, all for 30bar and 12V
25% valve closed
30% 0,5l/min
40% 3,5l/min
50% 6l/min
60% 10l/min
80% 18l/min

Which is why AOG uses a non linear control system of path planning. It isn’t a PID loop thru windows at all.

What do your measurements indicate for a delay?

1 Like

My English are not good:), not delay , jitter , windows and USB serial converter FT232, are very small.

PID loop calculation just in arduino?

Output from AOG to auto steer start with 0x0a (LF) and 9 byte and end with 0x0d ?
PS. I am test , arduino sending to AOG start 0x0a and end 0x0d.
AOG send to arduino binary.

AOG sends binary, but receives a text sentence, you can see it in a few places, but on the usb connect page is easiest.
going out: sdHeaderHi, sdHeaderLo = 1, sd2 = 2, sdSpeed = 3, sdDistanceHi = 4, sdDistanceLo = 5,
sdSteerAngleHi = 6, sdSteerAngleLo

Coming back:
127,253, 2 - actual steer angle100, 3 - setpoint steer angle100, 4 - heading in degrees * 16, 5 - roll in degrees * 16, 6 - steerSwitch position,;

so it looks like 127,253,200,205,9000,26,7,

UDP is binary both ways of course

Have you measured the jitter? Yes PID, but actually it is only P is done only on the arduino. It is not closed loop back to AOG, the Arduino Steer Module is responsible for making the steer wheels to be set to the right angle. The arduino/Wheel Angle Sensor is the only closed loop.

1 Like

I am just need write code from extracting sdSteerAngleHi = 6, sdSteerAngleLo=7 for PID on my changed software for driving old tipe DC servo motor on lathe.

AOG use for calculation actual steer angle and heading in degrees * 16, 5 from arduino?

Not for actual, no. For heading, only if you have a heading source like the bno connected to the autosteer board - which is terrible most times.