Steering angle sensors

Hello
On my other tractor, here is an adaptation with height sensor 84031 ($10 aliexpress)
(There is an additional protection from the tractor on the cylinder and on the sensor)
The sensor is a 90 ° type, supply 5 V, trigger point connected to ADS1115.
IMG_20191225_121745
The problem is that the connection point on the wheel is far from center so the displacement is long.
And with the mudguard attachment, there are few possibilities for the sensor.
It requires a long actuator on the sensor. I’ve calculate to have the max precision ~80 ° from end to end.
Due to the non symmetri of the system, the response curve is not linear, max error is at middle point
2 v instead of 2.5 V.
Does it requires or does someone has add a linearization formula (correction with segments) in the Nano ?
francois

If you cannot find better mounting position. You can use the map function in arduino to make the output to what you expect.
Simple to do. Just take readings of your WAS at full left turn, straight, full right turn, then add the map() function with your calculated results in new line after the WAS is read in arduino code on nano.

To calculate. Work out how many points/degree to turn one way then map other direction to be same. You need to work with the digital output from the WAS not the voltage.

Careful though. Altering code can get addictive.

8 Likes

Hi Andrew,
Thanks for the remark, I think I’ll proceed as you mentioned
1 segment from right to -10°
1 segment from -10 ° to +10°
1 segment from +10 to left
It’ll be simple an will correct all the non linearities due to my geometry of the sensor and Ackerman effect.

Hello, friends.
did anyone try to use a compass sensor instead of electromechanical sensor?
I mean like in the Trimble autosteering - a sensor that is IP68 and doesn’t have any mechanical components and handles.
The user just needs to align both compasses - in the steering controller and on the steering axle.
The disadvantage of this approach is that the user need a tough wiring from the chassis to the rotating compass.
What do you think about?

Why make it simple when you can make it complicated ?

2 Likes

Do we know what information the trimble sensor is transmitting? Is it a compass bearing? A yaw rate? I have one of these on my sprayer but it’s in deep sleep for the winter. I’ll probably do some CAN sniffing in the summer to see what messages it is sending. I’m genuinely curious how one would use an inertial sensor instead of a steering angle sensor. The dynamics and numbers would be completely different and a different algorithm would be required than a WAS, no doubt.

Here is the inertial sensor in the Outback E-drive:

It looks like a CRS03-01T. Maybe you can get some info from it.

My E-drive quit working. It would steer all the way to one direction.

IMG_20191228_1949112 IMG_20191228_2003034

I think @alexbrooy was referring to the inertial sensor that’s mounted to the steering knuckle on some Case equipment like their sprayers. It measures the angle of the steering without any mechanical linkages or potentiometers. See this post for a picture of it: 7120 Fault Codes | The Combine Forum

Yes! You are right. Sorry if I missed detailes while explained. That black trimble box on the wheel seems to be inertial sensor. It doesnt have any linkage and thus (i think) it has less or even no mechanical histeresis , as electromechanical sensor does.

1 Like

Hi,

Do you have the part number of the connector used on this sensor?

Thanks!

Here’s a look inside the Trimble sensor: Viewing a thread - Inside a Trimble AutoSense (Pics)

The connector is some kind of screw on connector. I don’t have access to my sprayer right now or I’d go take a closer look for you. EDIT: I think it’s this connector: 1413840 Phoenix Contact | Mouser Canada

I wonder if something similar to this Trimble sensor could be hacked together using a 6dof IMU sensor and made to work with AOG. As near as I can tell the way this sensor works is that it’s measuring a relative angle and turn rate, and uses that with the GPS heading and speed of the machine to compute the steering angle. Would be interesting to avoid all the mechanical linkage and POTs that wear out.

See there: Steering angle sensors - #5 by doppelgrau
AMP MQS

I guess the question is which sensor @stariloss was talking about.

I need to map the readings coming from my WAS. I am using the ADS1115. What range of values should I shoot for and where in the arduino code do I place the mapped values (line #)? I can find a few places that look promising!!

Thanks

Not really sure what you are asking, but are you creating a map of reading to angle correction?

Hi,
For linearisation of the steeringPosition register, here is the code I’ve added just after AD conversion
This provides 3 segments, and the center segment (used in regulation) have the same slope.
On AOG, I’ve set 100 steps / degre
/* With Map */
if (steeringPosition < 1000)
steeringPosition = map(steeringPosition, -9500, 1000, -4000, -500);
else
if (steeringPosition < 3000)
steeringPosition = map(steeringPosition, 1000, 3000, -500, 500);
else
steeringPosition = map(steeringPosition, 3000, 7900, 500, 4000);

It correspond to this linearization
Capture
francois

1 Like

Brian, Yes I need to map the results of the wheel angle sensor. My turn angle is greater than 45 each way so I had to resort to a pot that will accommodate that. The analog read is 1024 rotating the full 360 rotation so I’m getting readings higher than 512 from the sensor before it gets to the digital conversion and not equal left and right. (if that makes sense).

Francois, Your example is just what I am needing to do. My best guess as to where in the code to add this is just before the #endif in this area?

#if A2D_Convertor_Mode==0 //WAS at arduino
analogRead(WAS_Ard_A0); //discard initial reading // Arduino ADC
steeringPosition = analogRead(WAS_Ard_A0); delay(1);
steeringPosition += analogRead(WAS_Ard_A0); delay(1);
steeringPosition += analogRead(WAS_Ard_A0); delay(1);
steeringPosition += analogRead(WAS_Ard_A0);
steeringPosition = steeringPosition >> 2; //divide by 4
######## MAPPING CODE HERE? #####
#endif

Thanks to both of you!!

1 Like

Something does not add up for me.
First it would make sense to know the exact WAS you have.
Analog read and a number like you say 1024 ? so you must have a digital pot?
So maybe you should not use the analog to digital ADS1115 converter?
You are not stuck with at pot, you could also get a Honeywell RTY 120 degree hall sensor, and get 0,5 to 4,5 v reading on 120 degree, or maybe you want another angle.

I am a farmer in Canada and i have been following this project for some time already. I am currently in the process of installing AgOpenGPS on a 3 wheeled sprayer. Just wondering if anyone has installed a WAS on a 3 wheel machine or what type of sensor would work the best. The steering range is 180 degrees of rotation. I have posted some pictures of the front end of the sprayer.
20200303_170735 20200303_170748

1 Like

Larsvest, Here’s the pot.

(Amazon.com)

When I test with a multi-meter I get the 0 - 1024 values. Weather still is not favorable to get this outside to see the values from AOG.

Whatever the values are, I can still map them to what I need??