(Variable) Rate control

I built a custom pcb that uses the current nano code. It can control two rates at once. I am using it on our fertilizer truck. The software is set up so that each nano can control up to two rates.

4 Likes

Do you have the Gerber Files for that PCB?

Yes, I will have to dig them up and a parts list also. I would move the upper capacitor slightly so it is not interfering with the USB cable. You can see they are touching in the picture. USB is not needed for operation but only for programming the nano.

1 Like

I started building it for a flexi coil cart, but it’s in bench test phase right now. It works for three or 4 meter rollers. Calibration is a bit tricky but in general it works ok.

1 Like

Dear Jimc; When you say fertilizer truck, do you mean fertilizer spreading machine? And are you controlling linear actuators with 2 rate control?

Whiterose,

It is controlling hydraulic motors. I explain the configuration of the spreader in this video post.

2 Likes

Dear Jimc; Congratulations on your excellent work.

Here are some pictures of my test setup .
AOG - Rate controller

With one Nano you can control two meter rollers.
The RC config program is used to program the Nano’s.
If you want to read fan speed you’d have to add another Nano if you have 4 metering systems.

At first I couldn’t get the 3rd meter to work, re-programming the Nano fixed that…
In my case the fan is hooked up to the 2nd Nano.

I didn’t build or use a board, I ordered dual motor drivers rated for 20A because the FC motors have a 15 fuse and the MD13S is good for 13A .

As for opto-couplers I used a 817 module with 4 opto-couplers.

You can run a Network cable to your AOG box or everything via USB, but Network is so much nicer.
My plan was to install a WiFi router on the cart that connects the the AOG Wifi Router on the tractor.

3 Likes

I have a question about using rate control on a spreader truck. My uncle lives in a different state, and he wants me to build a rate control system for him. I think his primary use is spreading chicken litter at 1-4 tons an acre, so no need to be terribly accurate. My question is, does he need scales on the spreader truck? Because their ground is rough and hilly, and they don’t know if scales would hold up in that condition.

Their hauling trucks do have scales on them, so they could check their rate from time to time to see if it is following close.

Well that stuff is potent for sure. But i think scales is a nice to have feature. You can estimate the denisity like dry / wet and use the volume of the spreader. Then you’d have an idea how much weight you have on the spreader.

The rate controller could do some of the math if you get it calibrated. When sperading poultry manure a conservative application rate is usually the wiser choice. You can always add nitrogen, but if you have to much the crop lays down.

1 Like

@SK21
How to modifiy / setup IP-adress, without PCBSetupApp?

After modifiying the IP-adress I have to set the new subnet in the networks dialog.
Is there a PGN sent to arduino/Teensy? PGN32502 perhaps?

The modules will accept the IP address change from AGIO.

Also for then nano version?

Yes nano version as well.

Update:
Did the sprayer configuration as per this:
It has 5 sections with nozzle distances at 50cm. Outer sections have 8-8 nozzles while the middle has only 4. This means our width is: 400-400-200-400-400

UPM Target calculation is good.

Our flowmeter sensor is 250 pulse / liter (yet to 100% be sure about this)
We noticed that the PCB / code wasn’t capable to go beyond ~270 interrupts / second.

Does this means any pulse that occurs more often than 3 ms we’re unable to detect? Seems as we cap at 270 interrupts / second.

Our pulse generator was just a mega 2560.
We took an analog input and did:

 pulseTime = analogRead(A0);
 if(micros() - lastMicros > pulseTime * 40) {
   lastMicros = micros();
   output = !output;
   if(output) pulse++;
   digitalWrite(1,output);
 }
 if(millis() - lastMilis > 1000) {
    lastMillis = millis();
    Serial.print("pulse:");
    Serial.println(pulse);
     pulse = 0;
 }

Setting the counts per unit in RC as 120 gave us the same UPM value as it was printed on the Serial as pulse.

We set it to 120 then it was bang on with Arduino.

Our optocoupler works really well, looking at it with a scope there’s no raising edge more like a slope, but the falling edge is very short.

Then we started to increase the pulse and it started to fall apart around 275 pulse/second…
image
After looking at the code the debounce value catched our eyes. It is set to 3ms.

Modified the debounce to be 250 and it was capable to reach 600 pulse / minute.
image

Now we’re able to go until 600 interrupts / second.

This 600 pulses / second and the theoretical 250 pulse/liter flowmeter should mean 2.2 liter / second.
That would mean around 22 minutes to empty a 3000 liter sprayer.

These numbers make sense or not? :smiley:
Do you see any issues by chaing the debounce this drastically? (It was 3000 now it’s 250 )

Seems we should really update our code to the latest branch :slight_smile:
With 120 counts / units we get the same UPM as Hz the oscilloscope shows.

ESP32 has no problem handling 2.6kHz :slight_smile: (with debounce value at 30 instead of 3000)

Time to validate it on the sprayer I guess.

Hello, I am currently carrying out a project
pneumatic seeder. Can the RCnano manage a fan at 5000 rpm?

The app is designed to handle fans but it is untested.

After a problem with my PC i want to re-install the AGO with variable rate but i can find the rigth versione…
Someone help me please!!!

Maybe this one:

1 Like