4 wheel steer sprayer- steering motor system

Thinking of fitting a steering motor system to my 4 wheel steer self propelled sprayer.

Is this possible?

And are there any issues to consider with it being 4 wheel steer?

TIA

1 Like

4WS is quite easy to do. I did it a couple of years ago for a double articulated tractor. Just need an extra WAS and integrate it into the arduino code. so no need to initially dig into AOG code. set pivot point in AOG to suit your most used steer mode. it will show up wrong in AOG though if you flip between 4WS & FWS on your machine.
This little bit of code cut from the ino is really old now and I’m not sure if its the final version I ended up with on the tractor, but you’ll get the idea behind it. basically it adds the 2 WAS readings together to get your actual steer angle, initial calibration & setup was a bit tricky but works well once done. Crab steer mode is a bit of problem to solve, as machine moves sideways but steerangle is 0.
Maybe if you work out what works for you and enough people want it, we can update and see about adding 4WS as a machine type in AOG setup.

  //steering variables
  float steerAngleActual = 0;
  int steerPrevSign = 0, steerCurrentSign = 0; // the steering wheels angle currently and previous one
  float steerAngleSetPoint = 0; //the desired angle from AgOpen
  int steeringPosition = 0, steeringPositionZero = 512; //from one steering sensor , pos set in AOG
  int steeringPosition2 = 0, steeringPositionZero2 = 544; //from other steering sensor, **** set posZero2 here
  float steerAngleError = 0; //setpoint - actual
  float distanceError = 0; //
  float steerSensorCounts = 16;  // counts set in AOG
  float steerSensorCounts2 = 20; // ***** set counts here

void loop()
    
//steering position and steer angle specific for 4WS and Case accusteer tractor, for 2WS comment out all references to steeringPosition2
    analogRead(A0); //discard initial reading
    analogRead(A2); //discard initial reading
    steeringPosition = analogRead(A0);
    steeringPosition2 = analogRead(A2);
    delay(4);
    steeringPosition += analogRead(A0);
    steeringPosition2 += analogRead(A2);
    delay(4);
    steeringPosition += analogRead(A0);
    steeringPosition2 += analogRead(A2);
    delay(4);
    steeringPosition += analogRead(A0);
    steeringPosition2 += analogRead(A2); 
       
    steeringPosition = steeringPosition >> 2; //divide by 4 
    steeringPosition2 = steeringPosition2 >> 2; //divide by 4
         
          //steeringPosition = ( steeringPosition - steeringPositionZero + XeRoll/16.0);   //read the steering position sensor 
          //steeringPosition = ( steeringPosition - steeringPositionZero);   //read the steering position sensor
    steeringPosition = ( steeringPosition - steeringPositionZero);   //read the No1 steering position sensor
    steeringPosition2 = ( steeringPosition2 - steeringPositionZero2);   //read the No2 steering position sensor

    
    //convert position to steer angle. 6 counts per degree of steer pot position in my case 
    //  ***** make sure that negative steer angle makes a left turn and positive value is a right turn *****
    steerAngleActual = (float)((steeringPosition/-steerSensorCounts)+(steeringPosition2/steerSensorCounts2)); // 4 wheel steer or Case STX Accusteer
1 Like

If the wheels normally turn together, you could just treat it as a regular ackerman system with a shorter wheelbase. The pivot of the machine would be the center, and the wheelbase would be between that point and the front axle. Then you’d just need steering on the front axle.

But yeah mode switching gets complicated. If you locked up the rear steering, then the wheel base increases again, and the pivot point moves to the back axle.

There is a lot of 4WS spayer in Europe (and maybe me in couple of years) . Include this choice to AOG might be a good thing.

Ok. I got ideas how to best achieve, all will have to be controlled within AOG with some mod to existing setups and code, maybe code both axles for all machines to be steer axles but if in machine setup, machine is 2WS/RWS then other axle is locked to 0 steerangle, saves having multiple duplicated code. pivot point has to be dynamic according to each axles wheel angle. 2 hyd steer valves mean each axle can be programed individually and to activate in sequence for perfect track following, much better than most OEM, Will be possible to have different ratio of steer for front & rear axle referenced to speed, which will make turning at speed much more comfortable and safer. ( if you ever steered a telehandler down road flat out in 4WS you know what I mean). Still got to get my head around crabbing as each axle cancels other out for steerangle but affects heading, a solution may also work for skidsteer machines, but I really got no spare time right now so If anyone else wish to have a go at it, I will encourage it.