Using Deere OEM Steering Encoder?

should this not be in steup?

attachInterrupt(digitalPinToInterrupt(encAPin), EncoderJD, FALLING);

Also wondering why this check is needed if the ISR has already been triggered by a falling signal?

if (digitalRead(encAPin)==0) // decide if external triggered

Please don’t think I’m picking at your code, just looking into possibilities as to why it isn’t working for @darrenjlobb

A12 is kind of being planned to be a reset-to-defaults button, and A7 (serial 5 rx) is planned for BNO RVC input.

You are absolutely right. The encoder works in this way, that the “Encoder Library” describes it.

Have a look to the photos an videos in the international chat.

What would be ecxellent for testing, is a .INO where the encoder pin corresponds to the same pin as in the original AiO teensy .INO.

Would love to test, but I am busy the next three days…

A big THANK YOU to everybody who’s trying to help!!

Seem to have got this working now,

So ended up going back to original code (KISS!), but just changing the remote pin to use 26(A12) which is pin 11 in the ampseal… Then just used some resistors to make a voltage divider to get the signal voltage down below 3.3v, and it seems to work, havent actually been in the field yet, but autosteer seems to stay in, and setting the counts higher allows move movemen before it dissengages…

Im assuming this would work through the optocouper on the original pin if the 12v pullup was removed? Is this done via a resistor on the PCB or the optocoupler itself?

1 Like

Have figured now how to use the original remote input on ampseal and have it working, I removed the pullup resistor between +12v and remote / pressure pin (150ohm located just above far left optocoupler), then theres a 8k resistor between there and the teensy pin, which I havent tested yet, but fairly sure that will work as currently using a 10k and well under 3.3v peak.

So basically no code change, jumper in pressure position, and add a resistor between the encoder output and the ampseal pin. Software wise obviously leave encoder mode on (not pressure). And set steps, will test in field hopefully later / this week.

3 Likes

Could you put a photo of the resistors that you removed, and what value is the resistor that you put in the encoder signal.
Would you be using a Digital input (Pin 37) from the teensy, but handling it as Analog in AOG, as if it were Pressure?

For some reason I couldnt get it to work on that original pressure /remote pin, so have just left it on the other spare input for now (ampseal pin 11)

Here is my plan. It can be made with dupont jumper wires and is totally reversible/swappable to other boards. The Teensy will see anything above 2.31 volts as HIGH, so in lui of a better safety circuit its slightly safer to use equal value resistors, making the circuit safe up to a 7.2v input. 12v input to this circuit will harm the teensy.

Future versions of the AIO board will accommodate a 5v encoder.

Here’s why it didn’t work.

Software wise when you put AOG in encoder mode the teensy will monitor pin 37, and when you put AOG in pressure mode the teensy will monitor pin A10.

You had your signal physically connected to pin A10 but had the software setup to monitor pin 37.

It could have been made to work with a Teensy code change. I like this option as well, the 150 ohm is easy to remove and the 10k ohm is easy to add.

I changed the code… What you have shown above is exactly what I have done / explained in previous post… Works a treat…Just annoying as its not “stock” code, so has to be changed anytime firmware is updated

1 Like

Yeah,
If the board have appropriate input protection “remote” and “presure” could be read by the same pin.

Something to think for the next version.

The current board accepts 0v/float and 0v/12v signals with an opto isolator for protection.

Future boards will accept 0v/float and 0v/5+v signals, (5v and greater than 5v signals), still with an opto isolator.

Sadly no success here.
I’ve made the same installation as Darren has.

Have connected now to A10 Ampseal, comes out at the jumper, made there a voltage divider and went to A12, wich goes to pin 26 on the teensy.

For any help for a code witch takes care of the duty-varying behaviour would be superb, would love to test it.

Cheers

Is this the direction to go?

I’m not an hardware expert but I think It would be nice to be able to read a variable or “on/off” encoder, 0-5v pressure and 5-20ma pressure on the same pin with the same code.

What size resistors would you use for this?

1k ohm resistors should work nicely.

As long as the resistors are equal size, probably anything from 1k to 5k should work.

1 Like

Hi,

Here is how I controlled a JD 7530 with Danfoss valve.

I was able to take the signal from the sensor in the steering column with this ino modified by @buched

works well with the addition of a potentiometer to reduce the voltage below 3.3 v
Signal - potentiometer - pin 22 teensy
Autosteer_gps_teensy_v4_1_freq_v31 2.zip (46,6 Ko)



2 Likes

What did you set your counts to disable to?

Have you found in bumpy fields you get some false trips? I found with mine i had to have it pretty high to stop it false tripping in bumpy conditions… Personally I felt like a x pulses per second option would be handy…so it auto resets every second or two to prevent positives from slowly adding up over time and eventually tripping the steering…