Options for which PID Control system project I should embark on!

So… I posted a similar thread on here a week or so ago, but given what I have learned about the Arduino and related coding this past week, and what I have read on here & the net in general, I thought it warranted a new thread of its own.

The reason I started looked at the Arduino - which was only a week or so ago - was because of a long standing interest in a project idea I've had for many, many years (but having never done anything about it!!). This project is building some form of PID control system and associated control algorithm - which I can then play with: monitoring and varying system variables such as Set Point, Proportional, Integral and Derivative input elements, and subsequently plotting graphs showing real-time events and actions etc. all good stuff eh!

OK, sure it's geeky I appreciate, but I’ve thought about doing something like this for many years (honestly >20!!) but have never actually gone and done anything about it... until recently that is.

However... the plot thickens!!

Since obtaining my Arduino Uno a week ago and gaining some albeit limited knowledge on it, I've reconsidered the options for the selection of which system I should choose to base the project around!

I'd originally considered the most straightforward ‘PID control system’ to build at home for a hobby project would be some form of temperature control system - where a temperature sensor was mounted say, at the end of a pipe, with a heater and a fan providing the ‘heat’ and ‘heat control’ for the system. Alas… given (1) a combination of additional knowledge I've acquired over the years, (2) what I've read and researched here on the Arduino forum (and the net), and (3) the incredible plethora of sensors currently available for the Arduino, I am now beginning to think that temperature control is perhaps not the most pragmatic ‘system’ to build and base such a project around.

So I’ve looked into it a little more, and it seems the issue with a PID temperature control system is that there seems to be a difficulty for the Arduino to control varying power to 240V AC device (thus limiting what I can control re the ‘heat’ input to such a PID system). So naturally I took a look at current 12V heating pads as used in 3D printers etc - which sadly seem to lack the available immediate heat output for such a real-time system etc. (d'oh, which is obvious really given the 12V limitation eh!) NB: and also might need some additional current control circuitry which is presently of my comfort zone and knowledge - though I am sure many here would be willing to help with!

So… given the huge array of sensors that are now available for the Arduino system, the alternate ‘PID control system’ project options I am able to consider are…

1 - controlling water level
2 - controlling air flow
3 - a.n.other

1 - water level
I could potentially rig up a small bore water level system (small bore meaning the level could be raised or lowered more easily in a small diameter pipe rather than a cistern or bucket!!). The water level could be measured by IR sensors or even differential pressure sensors (both of which are readily available for the Arduino) and the PID control element provided by controlling the V supply to submersible 12V pumps (think fish tanks!!) - I think this could work!

2 - air flow
I have seen demos of Arduino compatible sensors that measure air speed, and so the ‘control’ element could be provided by simply varying the Vin of 12V DC fans etc. to regulate the air flow - though in this scenario I am uncertain as to how the ‘load’ element could be varied (thus requiring a PID type control algorithm).

3 - a.n.other
Do you have any other ideas as to what I could select as my project and control in real-time? Your input here would be most appreciated.

So, I find myself here and wondering where this leaves me? Do I choose temperature control, level control or air speed control, or even another alternate one….? Not sure which way to go just yet, and so I am thinking I need a little more input from project and Arduino experts and those better informed than I, which would be most appreciated before I embark on The Final Journey!

Resistance is futile, I AM going to do this! :slight_smile:

Your input and thoughts would really be most appreciated, thankyou - Oh, and if you managed to get this far... you deserve a medal, thank you for reading.
John

Often you will see Arduino people using PID in two wheeled “balance bots”. That seems like a fun project that give a very obvious immediate feedback as to how well your PID system is working.

how about an "anti slosh" system ?

Say you have a tub, plate, tube, glass of liquid that's level and you suddenly tilt the whole a few degrees you can use 3 load sensors ( and maybe a few distance sensors if you want to be precise ) to map out the wave in your tub.

you can then use 3 step motors under the device and a movable object inside the liquid to generate a movement in the bucket that makes a wave that cancels out the one that got formed by tilting the thing.

Pretend you're in the bath tub and you're moving the water around so it creates a sway, you can intuitively go against it by moving your body to make your water go level again. Or if you have a bucket of water that sloshes you can move the bucket in such a way it goes level again.
Or take again, a sloshing bucket, stick your hand in and move your hand in such a way the water goes calm by first going along with the sway then going a bit faster or slower than the wave to cancel it out. We can do these things quite instinctively using our brain's model of the world but making a computer do something like this equally well must be quite a challenge.
I'm sure you can combine multiple ways to make something precise and fast.

Also, about that sprinkler system..

Here's a routine that predicts how much sunshine a plant would get in a solar system with 3 suns.
You can input the velocity, spin and mass of each sun and planet then it will predict their position relative to each other for the next few thousand years. Then depending on where you put the flowerpot on the planet show the amount of light it gets.

3 Star system prediction.

Phoenixxl:
how about an "anti slosh" system ?

Loving these ideas Phoenix... they're awesome. I must lookup the syntax for the GetSlosh(lump1, lump2, lump3...) and PlanetMassSensor(n,n1,n2...) expressions. :slight_smile:

theMusicMan:
Loving these ideas Phoenix... they're awesome. I must lookup the syntax for the GetSlosh(lump1, lump2, lump3...) and PlanetMassSensor(n,n1,n2...) expressions. :slight_smile:

Sigh.. Fine... lol

I thought the same

Phoenixxl:
Sigh.. Fine... lol

I thought pretty much the same thing after reading my news feed on twitter for just about a minute earlier - decided it's probably best not to use it for this mornigns daily news updates!! Might wait until later:)