Steering a combine via GPS

For steering, I calculate a desired steering angle from a few components (speed, offline distance, heading relative to target heading, and wheelbase length). I then use a PI loop to get the steer angle to the desired steer angle, using a potentiometer as feedback of the steering angle. The output of the PI loop controls two solenoids that move hydraulic oil to the steering cylinder. In my case, it took a PWM value to 90 to get the valve to open, and full open was 255. You'll find a similar situation with an electric motor where it will take a certain level of PWM to get the motor to turn at all.

I have mostly dropped the Arduino as a development platform for steering, in favor of a Netburner. I intend to do communication to the cab computer via Ethernet instead of USB, although I may retain an Arduino for Analog to Digital and valve control. The intent is for the Netburner to do 100% of the steering control, IMU calculations, and read from a GPS receiver, which all gets controlled via web browser.