Go Down

Topic: Steering a combine via GPS (Read 29447 times) previous topic - next topic


RTK is nice, but everyone charges a lot of money for it. GPS+Glonass is the new thing, which gives you more available satellites. That eliminates those times when you don't have enough GPS satellites to get a RTK fix.

tytower, for the amount of time I have in this, it would have been cheaper to spend my time at a normal job and just buy a system. That wasn't really the motive though. When I started this project, it was partly because I was so disappointed with the user interface of the existing systems. The industry has figured out how to make it work, but hasn't figured out how to make it friendly. I think I have the UI part working well, but the technical part is a bit of a hang up for me. Of course, I didn't go to school for any of this ridiculous math stuff I've had to learn. Google "Kalman filters" if you want a headache. It has been a great learning experience.

There are pictures (and links to more pictures) in the first post of this thread.


Dec 19, 2009, 04:57 am Last Edit: Dec 19, 2009, 05:00 am by hurleywearshurley Reason: 1
Nice. it is this type of innovation people should do and not just repeat simple projects (just look at how many segway arduinos there are). Now you should add obstacle detection and a kill switch (i hope you have it and just didn't mention it).  


There is always an operator in the cab, so the obstacle detection is human. There are things such as inactivity timers and using the field perimeter as a virtual fence.

The kill switch is a sensor on the steering wheel, so when steering wheel movement is detected, the automatic system disengages.

Of course the human factor doesn't work 100% of the time, and sometimes you fall asleep. Then things like this happen:


and here I am, worried about getting stuck in the snow.. :D

You've got to let us know how you get it out! Haha. Time to add some boundries in the software, so hopefully you don't run off course.. or at least it'll know there's a stream ahead. :)


That pic isn't one of our machines. We've never had an issue, but I can see how it is possible. You run a machine with autosteer long enough, and you'll find yourself waking up to the end-of-row beeper once in a while.


Definitely must reiterate others' comments... it's great to see someone driven to apply these 'hobby-friendly' microcontrollers to a realworld application, especially a project so connected to your daily work/life. Kudos.

And of course, the scope of the effort speaks volumes too.

Saw your photos/webpage:
wanted to confirm that the driver circuit would work, that the solenoids work, and get a feel for how big the deadband is. Everything was successful. How many farmers do you know who have an oscilloscope in the shop? (pic)
Now I know what the expression "the Farmer and the Dell" means!


Hi Lance,
your project is pure inspiration.  On your site you make the statement:
  • "What is Lefebure.com GPS? This is a project to build an auto-steer system for agricultural use. More specifically, the system uses GPS data to create a coverage map, and also to steer the machine. The original goal was to build a system that is more intuitive and less expensive than anything else on the market."

The line I've underlined shows that you've achieved your goal.  And to think this is your 1st Arduino project!. Amazing.

It really show cases what Arduino is capable of.


You may want to look at the codes in the a programin[/url]g for some help in integrating the gps data and stearing into the arduino. the project is aimed at rc airplanes but it might give you some directions to consider. There are examples of gps parsing there too. I know there is a lot of ground based robots running the code.

I would love to see more details of your system, ie valve control interface etc.. :)



now maybe it will let men link.

Ardupilot [url]http://ardupilot.googlecode.com/files/ArduPilot_24.zip/url]


I've read a bit about the ArduPilot project, and it appears to be growing at a healthy pace. I'll look into it more deeply in February/March when I start prepping for spring planting. Working on some other projects currently.

I think it would be easier to couple GPS to IMU data on an airplane due to the high speed. The slower you go, the longer the time delay between when your heading changes and when you can pick that up in the GPS data. Even the big name companies are only able to make it work down to about 0.5 MPH. In addition, the location of the GPS antenna relative to the solid axle has an effect on how the GPS data can be used to correct the IMU data.

The valve controller is a pair of N-channel logic level mosfets that drive the two solenoids on my hydraulic valve. I think I even got the basic schematic off this forum, and adapted it for my load requirements.

Basically there is a Windows computer that gets NMEA data from a GPS receiver, determines how far offline it is from the target path, adds any tilt correction to that, and then determines what angle the steer axle should be at to get back to that desired line. Then a PI loop takes over and moves the steering valve left or right to get the steer axle angle to the desired position. The windows computer also keeps track of where the machine has been (coverage map) and shows that to the user as a 3d map in DirectX. The coverage map can also be used to turn things on and off to eliminate overlap of chemicals, seed, fertilizer, etc.




Sounds like you've put a great deal of thought into your program and it shows.  Take a look also at the programming for the ardupilot ground stations sorry i haven't looked up the link but you will be able to find it ao the same web page.

I like what you are doing, I was involved in agricultural retail for 26 years and played with many shapes and forms of precision placement over the years. Initially the electroniscs were not there, Now that that has changed I see more people interested. I hope the work of individuals like yourself can make systems more economical.

Also check out the forums for ideas, there ar a lot of people playing with helicopters and quadra-copters so the slow speed issue may be addressed as well.

Ardupilot is open source so the community is allways ready to help knowledgeable people. I'm sure there will be interest in your code and also helping you out. There are (literally) a lot of rocket scientists and aeronautical engineers working on it.


One word..

My compliments!


What a great project!

I found this thread looking for help with my boat auto pilot project. I want to drag lures in nice straight lines and update an old non functional system

I need to spin a 12V motor to steer the boat as you do the combine so anything you could share as to how that drive is constructed would be great.

My autopilot has a gizmo called a binnacle (not a flux gate) that finds a north reference and gives a deviation feedback (hold course) that is amazingly sensitive when read by arduino. it will tell you the variation from the original line even when stopped. The output is analog.

I could describe it's operation and how I am reading it with arduino if the interest exists..



For steering, I calculate a desired steering angle from a few components (speed, offline distance, heading relative to target heading, and wheelbase length). I then use a PI loop to get the steer angle to the desired steer angle, using a potentiometer as feedback of the steering angle. The output of the PI loop controls two solenoids that move hydraulic oil to the steering cylinder. In my case, it took a PWM value to 90 to get the valve to open, and full open was 255. You'll find a similar situation with an electric motor where it will take a certain level of PWM to get the motor to turn at all.

I have mostly dropped the Arduino as a development platform for steering, in favor of a Netburner. I intend to do communication to the cab computer via Ethernet instead of USB, although I may retain an Arduino for Analog to Digital and valve control. The intent is for the Netburner to do 100% of the steering control, IMU calculations, and read from a GPS receiver, which all gets controlled via web browser.


I'm making progress with my project. I'm only a couple of weeks in and have already come up with most of the code despite my total lack of c code ability. (asking questions in another thread)

I need to learn to build a big H bridge to run the motor to and fro using some existing transistors (NTE180/181) if someone want to chime in there... the rest of the motor control is toast (act of gods)

I have a couple of arduino shields that put out pwm...


Go Up