Im hoping some of you could give me some ideas on how to accomplish this project i have.
I have an machine that is hydraulically driven. The ground speed of the machine will run anywhere from 20 to 40 inches per minute(most of the time 25-36ipm). The speed is currently controlled with a manual hydraulic valve. Currently to verify the speed i mark the machines original position, wait 1 minute, then measure the distance the machine has traveled. Then adjust the hydraulic valve as needed to obtain my desired ground speed.
I want to add a stepper motor to the system to rotate the valve, then use a radio to control it from a distance. However I will need a way to measure the ground speed. My first though was GPS but looking at the data sheets I cant find one what will read in the 20-40ipm range. Unless I take a reading, wait then read again to determine the distance traveled. If I did use GPS, I will use my RTK base station for corrections so I could determine the speed more accurately and faster.
Ive also though about radar, but the module I have doesn't start reading speed until 348ipm
One other option is an encoder or hall effect sensor ect. but i dont have a way to attach the sensor to the drive motor or wheel easily.
Im at the beginning stages of this project and just looking to see if anyone has any suggestions.
For such slow speeds I think you need to count the revolutions of a wheel in contact with the ground. Could you mount a suitable trailing wheel on the machine and attach the sensor to that?
KEwert:
but im afraid that if the ground drive wheel becomes muddy it would create an issue.
Then I think your only option is to put the sensor on an existing part of the machine that is directly coupled to one of the machine's wheels - preferably one which is not powered as a powered wheel can slip under power.
I'm sure you have in mind what you want to do with your speed readings, but allow me to illustrate the lack of clarity at the reader's end.
Firstly, how often do you want to read the speed? If you want to read several times per second then the method of measurement must be capable of achieving this.
Secondly, how precise a speed reading do you want? 1 inch per hour, or 0.001 inch per hour?
Thirdly, how long will your sensor be expected to last? A few feet before it's worn-out? Several miles? Is it allowed to contact the surface on which the 'vehicle' is travelling? Is that surface smooth, slippery, uneven, etc.?
And lastly, what environment must it be expected to survive? Submersion? Dust? Heat?
All have relevance to the method of measurement and the success of your project, not to mention the expense.
A few more details may clear the way.
Sorry i dont have a picture of the project to post right now.
Maximum travel of the machine is miles in a agricultural field. GPS will definitely work, but I'd like to take a speed reading as soon as possible so I can leave and do other things. Yes, It would be nice to be able to just enter a speed value and the arduino automatically and continually adjust the hydraulic flow to meet the desired ground speed, but that will be the next version. Just looking to get a basics accomplished first
The radio signal will have to transmit 2,700ft at its maximum (I already have 900mhz xbees for this)
Right now, only need to read the sensor once. But at what frequency and period of time? Im not sure yet. Just long enough to be able to calculate the ground speed once for now.
Precision only needs to be +-2ipm
The machine travels 3.2miles each time it runs, Id plan it would run an average of 5 times a year so at least 16mi. (non contact like GPS or radar would be ideal)
Im not looking for you guys to solve my problem, just hoping I could get some ideas on general ways to measure slow ground speeds
Is your machine on tracks or rubber tired wheels? If wheels, are all wheels driven? If one or more wheel is used for steering and is not powered, us it for ground speed measurements.
If tracks, attach several magnets to the inside of the plates or the rubber track and count them as they go by.
@Robin2
The data provided is, copied from included code:
//Serial.println(gps.speed.knots()); // Speed in knots (double)
//Serial.println(gps.speed.mph()); // Speed in miles per hour (double)
//Serial.println(gps.speed.mps()); // Speed in meters per second (double)
//Serial.println(gps.speed.kmph()); // Speed in kilometers per hour (double)
Meters per second can easily be converted to inches per minute.
Going to measure inches with a device good to +/- 10 meters?
Maybe something behind that can be left sitting until the cable pays out and then reeled in. Something heavy enough the cable reel could be kept taut allowing distance measure by say an idler wheel turned by the cable?
Long ago, boat and ship crews used a similar method to guess their speed.
Railroader:
Meters per second can easily be converted to inches per minute.
I know that.
My point is that I don't think GPS is sensitive enough to give speeds in inches per minute (or its equivalent in metres per second). To get useful speed in inches per minute the sensor needs to be able to measure the distance moved to better than +/- 1 inch
You've got a point. But… somehow the NEO-6M manages to show speeds as low as a few km/h, walking speed. I don't even need to walk 10 meters to get readings.
What the accurazy might be has not been checked.
You've got a point. But… somehow the NEO-6M manages to show speeds as low as a few km/h, walking speed. I don't even need to walk 10 meters to get readings.
What the accurazy might be has not been checked.
In the OP, the mid range need is for 30"/minute measured over a minute, adjust and let it go. So, less than a meter: GPS just won't cut it.