I have a Hardi Navigator trailed sprayer with HC5500 controller and JobCom.
Currently the sprayer section control is run through a Trimble 750 monitor via a serial connection. I would like to remove the Trimble 750 monitor from the tractor and run the Hardi section control via AgOpenGPS.
If only I had documentation on the serial protocol I could run the sprayer from AgOpenGPS with a serial connection. Without documentation there isn’t much I can do. I will off course share any progress I make on this so that others can use it.
The serial protocol that Hardi uses is called “Hardi VRA Protocol.” I have not been able to find any documentation or integration manual online. I have asked Hardi North America and Great Britain for such documentation a couple times but not received an answer.
I was hoping that maybe someone in Denmark would be willing to reach out to Hardi HQ and ask for such a manual? I think asking Denmark would get a better answer then I have been able to get. Preferably an English manual.
Asking here is a long shot but it’s a lot easier than sniffing serial lines.
Another doc: https://hardi.com/application/files/2916/8502/2861/HC5500_SW_4_00_US__67021003.pdf
Mentions this:
The external source is connected to the COM 1 or COM 2 via a 9 pin sub D connector.
The baud rate for the equipment should be set at one of the following before transmitting data:
19200 baud
9600 baud (HC 5500 default)
This doesn’t simply take care of sections but also responsible for the Variable Rate. so maybe there’s a speed / rate signal as well?
I have not managed to solve this. I worked on this in December/January and had to move to other things.
I added a y splitter to both lines and tried to sniff the connections. I started with one line at a time, but ended up with 2 lines at a time. With 2 lines at a time and ftdi, the information from the two lines does not always arrive in the terminal in the same order as it does in the hardware. A proper sniffer with proper software would have really helped.
There is an initial handshake at powerup that I assume contains things like section width and number of sections, without changing those settings this information was always the same and I didn’t bother to dissect it further.
After the handshake repeating information is sent back and forth, 2 PGNs. The PGNs contain information for 13 sections. I deciphered this without much trouble. Both the sending and the feedback to the Hardi’s status is straight forward.
There must be VRA information as the Trimble has the capability to both read and command a rate.
I did not try sending to the HC5500 directly from my own hardware. I didn’t have a proper rs232 converter at the time and ran out of time.
Seems like anytime I want to work on this I have a 2 hour block of time to work, between setting up, breaking down, and remembering what I was doing there is not much time to accomplish anything useful.
I have this original non-JobCom PCB at my desk and have started to reverse engineer the parts that pertain to me.
The section control signals pass straight through from one db connector to the other db connector.
Most of the breakout points are for options that I don’t have have. I think the only things that connect on my sprayer are the DB connectors, servo valve, speed input, and power inputs.
I want to make a DIY AOG board that replaces this board or is used in series with this board. There would be a micro controller that communicates with AOG using the section control PGNs. The microcontroller would command the motorized section control valves using relays or motor driver ICs. The microcontroller could read the status of the physical section control toggle switches in the cab and could manually override that way. The rate control signals would pass straight through and be controller by Hardi.
Alternatively the rate control signals could also be read/controlled by the micro controller, and then the PCB could allow you to remove the HC5500 completely and use the rate control app.
That means you don’t have those PGN-s / logs available right?
I think we could start by sending the handshake information via a USB-Serial adapter?
Or a simple program
Why not just Bypass all the Hardi controls and use @SK21 rate and section control boards.
I’ve done this to a few sprayers, all of them I leave a way to manually control the sprayer if there should be a technical problem with AOG, the last thing you want is thousands of £/$/€ of chemical in the tank with no way of getting it on the field.
So either used relay change over boards, or a wiring harness just requiring some Deutsch connectors swapping over.
The Hardi system is likely to be obsolete soon, Isobus is where everything is at or heading.
So much easier wiring direct to the section solenoids, flow meter and pressure control valve.
And nicer just having the AOG tablet as the one and only terminal in the Cab, very much like Isobus.
It is difficult to interface with the Hardi system the way everything is wired. I refuse to start cutting up the wiring. If you use relays then the HC5500 doesn’t know when all the sections are off and will continue to try to regulate the rate when all the sections are off, which is not desired behaviour.
What I’m proposing could basically be an SK21 rate control board with plugs and mounting that specifically match Hardi Sprayers. You’d clip this new board in above the factory basic board in my picture, provide power and ethernet, move over 2x db plugs, and move over a few sensor wires. Leave the old basic Hardi board in place so that you can revert everything back if you need to. If you have a JobCom board (its twice the size) you’d have to remove it to make room, but it could swap back in easily as well.
The Hardi JobCom board is capable of simple toggle control, serial control, and ISOBUS control. I believe it is still being used in current models.
With a Hardi sprayer, electronics don’t really prevent you from getting it on the field. Unplug or unpower everything. Manually turn on the section valve’s butterfly handles. Manually set the butterfly on the flow regulator while watching the pressure. Stay in the gear you are set for and you will have a constant rate. Turn your PTO on and off at headlands.
My notes are bad but I will attach here. Log4 is probably the most legible and usefull. Log and Log1 definitely have some cross talk that was confusing me for awhile.
Using a CNH fm750 (CNH branded version of a Trimble cfx750) with VRA unlock, connected by serial to a Hardi HC5500. Sprayer is a Navigator 3000 with JobCom and 6 sections.
Any snooping was done with an FTDI USB-serial adapter. These are ok to listen with, but won’t send since they use TTL and not RS232.
A79D is section on, A79F is section off. You’ll see these 13x in a row all over the place for the 13 sections that the board is capable of.
There seems to be a PGN for sections:
7F 56 96 ED 93 79
Then 13 section blocks (A7 + 9F) or (A7 + 9D)
what’s interesting is that sometimes it ends long, sometimes short:
f9 97 8f f7 00 7f ab 76 ed 93 7b f9 95 9b f7 00
I’m not sure what’s the purpose of the block beyond the F7 00
To which Hardi responds with 7F AA… (which honestly we don’t care about if we simply want something that works like a relay control that I consider the MVP )
Changing the UPM value doesn’t make a noticeable differrence in 7F AA so likely it’s really about sections and not VRA.
I’ve also noticed in your logs that there’s a mixup and sometimes a new line starts while the actual is not even finished. (Mostly due to those USB adapters and their timings.)
So maybe building an ESP32 sniffer with dual RS232 ports would probably help in these cases.
We could relay the messages but also dump to console.
I’ll also give a try to simply send section info to Hardi and see what comes out on the screen.
I don’t know why there are two endings either. Its difficult to be confident of the message timing with the sniffing setup that I had. The message order seems to follow a pattern, then in a different log they seem to follow a different pattern. I think there are 3 message/response sets, and they order which they occur in just depends on when the system is turned on? If you look at the bottom of log2 I think it’s the best evidence that there are 3x different messages from Trimble and 3x different messages from the HC? I’m not sure which controller initiates which set.
I’d mostly booted the Trimble before the HC and the HC seems to send out quite a lot of data on its first send. Sometimes its 1 message, sometimes 2, sometimes its a big jumble. I thought it was part of a hand shake. Maybe its just a jumble of partial messages until the monitors get synchronized and it can be ignored? Log4 chapter4 starts with the HC powered before Trimble and the first HC message is nice and clear.
Maybe it’s all wonky USB message timing and the real pattern is like the first part of Log4 Chapter 4? That would be really nice.
Maybe there are 3 message sets but we don’t need to use all 3 and you can just send 1? That would be really nice.
Relaying the messages (rather than snooping the messages) is definitely the way to go I think. I wasn’t able to do that. Relaying will settle any timing uncertainties.
Writing it down in case someone would have some docs ideas.
There are a few protocols that could be used for section control over RS232:
We have Bogballe: already known as the manufacture shared the whole protocol.
There’s LH5000 (I think from Müller?)
and TUVR (Trimble Universal Variable Rate) I think Hardi might use this actually. But we can’t really know.