A bit of a math problem

# Thread: A bit of a math problem

1. ## A bit of a math problem

I need to control 4 pumps in relation to the rate that the level of a tank is reducing.

This could be solved with a derivative but there should be a better solution for an 8-bit humble PIC.

There is a rate variable that the user sets, 4 outputs (to the pumps) and a sensor for the current water level.

If the rate the tanks empties is small then one pump operates. If this rate increases then another pump up to four contribute to fill the tank.

Thanks
Ioannis

2. ## Re: A bit of a math problem

number of pumps = ((discharge rate) /(individual pump capacity))+1

if the rate of change of tank level is not linear with discharge rate then use a lookup table

3. ## Re: A bit of a math problem

Thanks Richard.

My problem is to find that rate of change.

I have a sensor that gives me the level of the tank. Also a variable 'rate' that is set by the user.

Now I have to combine these two and decide how many pumps should work at a time.

Ioannis

4. ## Re: A bit of a math problem

Take measurement ever XYZ sec.
Discharge rate is First-Second.
Eg do something like this:
Code:
```RunFirstTime:
OldSensorValue=SensorValue' initialization at beginning of program
return

SubRoutineToRunEveryXYZsec:
DischargeRate=OldSensorValue-SensorValue
OldSensorValue=SensorValue
RETURN```
Depending on how often you call SubRoutineToRunEveryXYZsec you can get quicker response, or better resolution(wider range of values). That all depends how quick your process is.

5. ## Re: A bit of a math problem

Thanks Richard. I see what you mean.

Greet help on that small hour that my mind is almost in literary sleep mode!

Ioannis

6. ## Re: A bit of a math problem

Another approach would be:
SELECT CASE Level
CASE < 80 : HIGH Pump1 : LOW Pump2 : LOW Pump3 : LOW Pump4
CASE < 70 : HIGH Pump1 : HIGH Pump2 : LOW Pump3 : LOW Pump4
CASE < 60 : HIGH Pump1 : HIGH Pump2 : HIGH Pump3 : LOW Pump4
CASE ELSE : HIGH Pump1 : HIGH Pump2 : HIGH Pump3 : HIGH Pump4
END SELECT

7. ## Re: A bit of a math problem

Thanks mpgmike. Good one too!

Ioannis