CanBus for Beginners - Super Simple

First is just to check it.

With it all running, remove the CAN wires or pull the power the Fendt should beep “lost steering commands”.

Then with it running, shut the Topcon down properly and see if the Fendt still beeps? If there’s no beeping then we just need to catch all the messages from the Topcon during shutdown.

I’ll have a go when I get chance. Pretty certain there are no beeps when shut down properly. His x30 used to mess about in cold weather and needed to be power cycled.

Missed this post, did you get the library / programming sorted? What project did you try and build?

I did, but its hard to get an accurate measurement as everything is angled. Ran out of time but wanted to get some quick readings.
steering to the right:
31,5° 29198
25,5° 23187
20,0° 17688
13,0° 10379
8,0° 6260

1 Like

Installed AGO on Valtra T 150 a few days ago. Carraro axle, sensor in axle like MF or Fendt. I traced the cables coming from the axis, on the right side of the engine there were 2 3 pin super seal connectors (like in RTY). I thought a dual sensor was installed. After careful examination, it turned out that only cables that end in the axis were installed. The sensor is not factory installed. Apparently, this is a typical Valtra policy, they put cables to everything, but not everything asembled.

its already fixid, a defect uno board.
will now try project 2

should project 2 ino also works on a johndeere?

Webp.net-compress-image Hello everyone,
first of all, thank you, @CommonRail for teaching us how to talk to our tractors!
To properly interface on all three Fendt buses of interest (K, ISO, V), I rewrote an autosteer Sketch for a Teensy 4.1 as it has triple CAN controllers, so just 3 transceivers are needed. Also the FlexCAN_t4 library is very powerful.
In my test setup, the F9P ist connected to the Teensy forwarding the data to AOG, so just 1 USB cable needed. Also, capturing IMU Data and sending to AOG is timed together with the GPS Data, so roll correction should be very accurate. First tests looked really good but I sadly neither have time nor a tractor in the next weeks to do further testing/tuning.

Did someone ever try to compare the steering angle values on the V Bus to to Guidance Machine Status Message on the ISOBUS? (PGN 0xAC00 - ID contains ACFF i think, first two bytes). The ISOBUS value for sure is curvature so we could then determine if the VBus value is Curvature or Angle.

6 Likes

The skpang CAN breakout board for the Teensy 4 is a convenient board. Has the transceivers onboard. Teensy 4.0 Triple CAN Bus Board With Two CAN 2.0B And One CAN FD Port - Copperhill or http://skpang.co.uk/catalog/teensy-40-triple-can-board-include-teensy-40-p-1575.html

@Tom_S are you using the FlexCAN_T4 library? Anything special you have to do to use a normal CAN bus on the CANFD (CAN3) port? On the skpang breakout board I notice they have a different transceiver for CAN3 to support CANFD. But probably can do normal CAN too.

1 Like

That is really interesting! I’ve not had time to do much more on mine lately unfortunately either.
I have found what looks like a really useful CAN sniffing QT python application though so will be a lot easier for me monitoring what the new system is up to.

I’ve never used Teensy uC’s but will take a look. Processing power wise how do they compare to the Arduino and also to the ESP32?

@torriem: The CAN3 port can just be treated like the other 2 for normal CAN. IT uses a different transceiver on the board because normal CAN transceivers can’t handle the higher datarates of CANFD, but in this case the MCP2562FD is fully compatible to CAN 2.0.

@Alan.Webb Teensies are really easy to work with coming from original Arduinos as all the standard libraries are fully supported. The Teensy 4 is running an M7 Processor at 600Mhz, which outperforms even the ESP32 by far, which is already way overpowered for what we’re doing here. But I chose to go for the T4 for triple CAN and ease of use.
coremark_barchart_t40_small
Also, I experimented a bit with Raw HID Mode in which you can send Raw 64byte USB packages instead of serial emulation. I wrote a little python program to translate AOG UDP to USB. This might be a good alternative to unite the advantages of USB und UDP.

4 Likes

Wow! Thanks for that. I’d been wondering about esp32 for my can bus board but this seems much better!

I haven’t looked for other competing boards but this popped up in my email today.

Teensy4.0 is a beast. you can also over or under clock it 1ghz to 24mhz. Makes it a really handy first time development board cause you can turn down the speed to see what you really need. I am a big fan.

Anything processing dual comms ports, serial or can, suggest minimum Arduino Due or higher. The teensy4.0 is actually cheaper than the DUE and way more gutsy.

4 Likes

It had better, as the CLS is now on order :grin: The needed OEM access codes are part of the delivery so should be good to go…

2 Likes

I have a Danfoss CLS on my Fastrac so will look forward to seeing how you get on nut!
Paul

The other day I connected my setup back onto the SCR Fendt that was abit rough.

The WAS and valve calibration through Fendt dash didn’t change anything.

So I just limited the setcurve change to 1500 counts (approx 2 deg) per 40msec cycle (I used the MAX PWM setting so I could change it easily from AOG 1000-2550)

Then it was working nice and smooth in the U Turns

Interesting. How did you implement the change limitation if you don’t mind me asking?

I’m trying to streamline how mine works but at the same time am wondering how the new AOG version is going to affect my system. Worried about spending lots of time getting it right just to have to do it all again!

I haven’t got my laptop with the program on it, tomorrow I’ll put it here tho.

Basically i had it like this:
If set curve > last set curve + steersettingsMaxPWM, set curve = last set curve + steersettingsMaxPWM

If not steering, set curve = est curve

I use a ttl to USB adapter as my temporary AGIO haha, then AOG is always connected to the USB port and I can turn the Arduino board on & off without upsetting AOG or the CAN-BUS. When the new system is all sorted out it will be good to test that’s for sure.

Cheers. That is basically the same method I used to smooth mine but instead of using maxPWM as a constant limiter I adjusted setcurve by increments proportional to the pwm value itself.

Spent some time today on the T4 Valtra scanning through the bus data. There’s three diagnostic connectors, EDT1 is hooked to the tractor bus and the exhaust after treatment bus. EDT 3 is hooked up to the hydraulics bus and the tractors bus. EDT2 I’m not really sure, only one bus there. Isobus I didn’t read yet as didn’t have the connector handy, maybe that’s hooked to EDT2 diagnostic as well…

Hydraulics figured out, just the armrest controller talking to the valves with the Isobus PGNs, next attemp to hook up a CAN bridge in between the valves and try to run them directly. For example: PGN 65075 and the first byte is the flow command 0-255, second byte is standard flow rate vs. high precision flow rate, third byte 4 bits is the direction (0000 blocked, 0001/0010 retract/extend), bits 7-8 fail safe so here it’s 1100XXXX, 11 failsafe=don’t care, XX direction. If using high precision, flow rate is in bytes 4 & 5.

3887 15.609880151 34 51 J1939 32 PGN: 65075 ae 00 c2 00 00 00 00 00

Valve responds with PGN 65043

3897 15.656419922 131 19 J1939 32 PGN: 65043 43 b6 02 ff ff ff ff ff

First & second byte is estimated flow between -125 and +125 from extend / retract ports, 3rd byte as above

WAS info I couldn’t find on the tractor bus, nothing that would make sense and those that are changing are mostly engine / transmission related stuff. Could it be available on the isobus? And yes, the WAS is actually installed on the tractor, checked today for physical evidence :grinning: