CanBus for Beginners - Super Simple

Yeah that’s true for the PWM, but it’s not super cheap either considering the separate cutoff valves, hydraulic lines etc. Did a system with Danfoss PVHC propo last year and ended up close to 2k with everything and takes bit of fiddling around where to fit etc. And gotta admit one part is just for the sake of testing it out :upside_down_face: And price premium compared to OSPE + PWM or CAN valve without steering controller is some hundreds according to my hydraulics guy. It’s really the integration to the orbitrol that I like in the setup.

Danfoss has pretty good documentation for the calibration and interfacing, so was thinking exactly the same thing that it should be doable with arduino to set the geometries etc. The Danfoss calibration tool is available free, though, and reckon you could use any USB-CAN gateway with it, the Danfoss one is aroubd 400 eur, quite a lot for a few bucks of HW.

As for CL vs. CLS I guess the difference is the SIL2 certified safety in the CLS…

1 Like

have a problem uploading the ino file to the adruino uno.

do you have any thing I am doing wrong now

You need to load the can library, it is at the very top of this subject.

Alright, some steps forward. Wanted to be the different kid, so put a PiCAN2 Duo and a RPi3 on order, hopefully start sniffing bus data next weekend.

My target would be to try to build a safety-compliant system as a retrofit, so that you could easily build a road legal system with as little effort as possible. To achieve that with CLS controller, you need to have redundant wheel angle sensor (hence the SASA, it’s a dual CAN output angle sensor) and a doubled vehicle speed signal on the CAN (the CLS is doing cross checking between the two values as it’s one of the key parameters for the safety functions). And also an external road switch, like so:


For the controller config you need PSAC (Parameter Sector Access Code), now checking with my dealer that they’ll supply me with the OEM level code. If I understood the documentation correctly, you need that even when configuring through canbus, you need to calculate a sort of checksum. Found also some schematics for the T4, for the low-spec hitec model but I guess the basic structure applies to Versu/Direct with the armrest electrohydraulics etc. with the CAN IDs. I guess the steering valve etc. goes to CAN1, but based on that all three buses are accessible from the cab service connectors (at least).


1 Like

After some heavy googling for service manuals, found the bus diagram from a news article :crazy_face:

So looks like the initial guess wasn’t that far off, in the original setup there’s a separate steering bus as well. Reinventing the wheel is always fun :slightly_smiling_face: I would guess the WAS is on the tractor bus along with the autosteer on/off and steering sensitivity controls, and the steering controller picks up those messages and relays to the CL valve, same thing with the autoguide display hooked up to Isobus for the steering controls etc. So AOG would take the place of the Isobus-connected display and the arduinos would play the part of the steering controller…

Something like this what I had in mind. Do I need isobus for anything, guess not?

1 Like

I didn’t think I needed it in the Fendt but Tony pointed out it was required if I needed to activate the autosteer from the tractor’s management system. I’ve no idea if the Valtra system is the same though.

The WAS has to be direct on the steering bus, or hard wired to it i’m pretty sure other wise your just asking for trouble.

If you want all that safety stuff to work it needs two of everything, 2 x WAS, 2 x SASA, 2 x Speed, etc and they must be different sensors / CAN-IDs.

What tractors have a CLS from factory?

JCB fastrac 4000 series have pved-cls and I think some case and new Holland also but not sure what models.

1 Like

The SIL2 safety features are sort of out of professional interest from previous non-agriculture work, spent way too many hours on SIL2 related project meetings so it’s like a tempting suicide plan :crazy_face: Danfoss is not marketing the CL anymore, so I guess it’s phasing out with some schedule.

-SASA is a dual CAN (the IID version) so it appears as two separate sensors.

-WAS is already installed on the machine, so it’s gotta be talking to the tractor bus as it is disengaging the diff locks based on steering angle etc, hence the idea for the schematic above. I would guess the sensor itself might well be a dual sensor (it’s the same as in Fendt). So if I hook it up to the steering bus directly I’ll need to send the values to the tractor bus… Looking at the parts catalogue, looks like 6 wires running from the sensor so keeping my hopes up it’s a dual.

1 Like

Had a test with AgOpenGPS steering the Fendt S4 724 today correctly.

Had the BNO085 IMU running with the main steering Arduino connected to the V-Bus this was sending the steering commands plus sorting the cutting out when steering wheel is moved etc.

I had a second Arduino connected to the ISO-Bus this was my remote engage so I can engage via the Arduino steer engage button, or the Fendt Teach-In or the arm rest button they all do the same thing.

The Fendt WAS and the steering valve must be calibrated through the dash before it will work nice tho. The standard AOG counts per degree and max steer angle in AOG still work and must be set in AOG etc.


That is very smooth!

Are you sending the AOG requested steer angle directly to the K bus or doing something similar to mine, running a variable with the AOG parameters then sending that?

Sending the steer angle directly. I had it running on another SCR that was abit rougher and couldn’t get my brain into gear to think about & program the steer speed like you have done. Swapped tractors and it was smooth as so thinks it’s more the tractor calibration that causes it.

I’ll find another tractor around that’s never had a GPS system in it, calibrate it from scratch and see what happens I guess

Does the steering sensitivity setting have anything to do with the difference between two tractors? I understood that the command from AOG is for the steering angle but the steering speed is not controlled? Or is this smoothness something completely different from speed?

I have no idea if the OEM screen “sends” settings to the steering controller or how would it take the setting into account. Does the setting on the screen have any effect in this project?

TBF, I haven’t calibrated mine so I may be able to do that too when I have.

Did you bother reading the WAS or just send the setcurve straight back to AOG?

I haven’t looked at the Fendt VarioGuide settings but I’ll check, assumed that was all dead because they don’t have a VarioGuide receiver? I’m pretty sure the factory settings are for the OEM Navigation not the hydraulics.

Pretty sure the OEM two settings are: 1-How fast you want the desired set wheel angle to change. 2-How sharp you want to approach the line.

I think the difference between the two tractors I had was the hydraulic calibration or maybe a small amount wheel angle sensor shaft play (there was 6000hrs difference between them)

1 Like

The WAS was reading and showing in AOG just for the operator reference. AOG wasn’t using it for anything tho.

I need to check my WAS for play too. The one on the 820 played absolute havoc with the topcon system. My 724 has over 12k hours on it so it’s likely!

The tractor is out a lot at the moment so I’m not really getting any chance to refine the code in situ.

Correct of course, I didn’t think it all the way through. Still wondering how the OEM system controls steer speed, is it smoothing the steer angle command. But two tractors should behave the same then.

WAS lash has a very significant effect. Possibly causing the difference.

1 Like

For once I’m trying to do all the googling before purchasing equipment :grin: So, looks like this with Valtra & CLS:

  1. CLS need either dual CAN or single or dual analogue WAS for SIL2 operation. I was thinking of a CAN bridge here, so that you’d hook up the dual CAN to CLS and then relay the info to the tractor bus?
  2. CLS needs doubled speed and steering angle (sorted with SASAIID)
  3. Original Valtra valve is CC. B2C in the picture is from WAS (it’s a dual sensor with an extra output available, the other goes to tractor bus). So the steering ECU does all the controlling here. The original buttons for autosteer on/off and steering sensitivity in the side console are not in the bus directly, but hooked up to the separate steering ECU that also operates the on/off solenoid valve, like so:
  4. The fault detection algorithm in CLS can be disabled so the valve doesn’t go to fault mode when it detect something wrong i.e. all the safety features are effectively off. The algorithm parameters should be trained with a specific Danfoss tool, which requires logged CAN data from real driving.

So shouldn’t be too bad of a retrofit after all. Even though it has the safety stuff in, you could use it in the same way as a CL valve. My feeling is that the CL would be somewhat easier to set up, though. Another option is to have the steering controls in the DIY part and just use the CAN valve and wheel angle sensor.