A little electronics project, anyone help?

Caporegime
Joined
24 Oct 2012
Posts
26,391
Location
Yer nan's knickers
We have a water feature at work. It has 18 pumps which *should* modulate up and down to make the water feature all singing and dancing. These controls are old, redundant and no longer serviceable. The inverters for each pump run off a 1-10v signal (from 0-100%) and a regular 240v supply. What I'd like to do is use something to create a control system to regulat ethe pumps, but don't really know where to start. Would a Raspberry Pi perhaps help with this?

It's a fairly ambitious project but something I could sink my teeth in to and hopefully learn a thing or two in the process.

This is the water feature, in case anyone's wondering :)


Any ideas?
 
A RaspberryPI is probably overkill for something like that - a smaller microcontroller-based solution might work better.

Try looking at Arduino - it's quite easy for beginners.
 
Arduino could be a good shout, thanks.

I'm busy looking at how to get a 0-10v signal from an Arduino which looks possible with a bit of tinkering.

How configurable would this be? If I wanted to create a custom design for the water feature, could an Arduino do that or is that more Pi territory?


Cheers :)
 
The 1-10V is just a signal, so very little current is drawn from this line, correct?

If so, grab an Arduino, which runs on 5V. You will need a 10V supply for a transistor, low pass RC filter the output. Attach the transistor gate attached to an Arduino PWM output, and you can linearly control the output voltage between 0-10V.

Do you want to control each of the 18 pumps individually? Or could you connect groups of 3 pumps (so you'd need 6 analogue channels)? This will determine the number of PWM channels you need (the Arduino Uno has 6 PWM channels, the Mega has 15). If you really do want 18 individual channels there will be a little extra hardware required.

This is very doable, go for it!
 
The 1-10V is just a signal, so very little current is drawn from this line, correct?

If so, grab an Arduino, which runs on 5V. You will need a 10V supply for a transistor, low pass RC filter the output. Attach the transistor gate attached to an Arduino PWM output, and you can linearly control the output voltage between 0-10V.

Do you want to control each of the 18 pumps individually? Or could you connect groups of 3 pumps (so you'd need 6 analogue channels)? This will determine the number of PWM channels you need (the Arduino Uno has 6 PWM channels, the Mega has 15). If you really do want 18 individual channels there will be a little extra hardware required.

This is very doable, go for it!

Excellent response, thank you :)


I'm going to start putting in some proper time to developing something like this. I reckon it'd be fun. There are 18 pumps in total, but I'll do them in groups, probably 3 or 6 in a group.

Work's just flung a load of stuff at me so I'm busy for the rest of the day but hopefully tomorrow I can get stuck in. Helps that I can order from RS too.

I'll probably return with loads of noob questions, so I apologise in advance :D
 
I think 6 groups with 3 pumps in each would work well, since that requires 6 PWM channels, which is exactly what the Arduino Uno has (these are the most popular and much cheaper than the Mega).

The Uno has an onboard regulator for its onboard 5V systems. So if you grab a single 10V supply and run the Arduino from that using the DC barrel jack, you'll have 10V on the VIN pin (use this as the supply for your transistors) and all the onboard stuff will be powered by the onboard regulator :) Cheap and simple.

Ask away, love seeing projects like this :)
 
Right, I've proposed this to my manager and he seems interested which is good!

RS has loads of Arduino kits, what would I bet looking at? Would an UNO be able to do this?

Cheers :)
 
The Uno has 6 PWM channels which is fine if you group the pumps in threes.

Will you program "patterns" into it and it just cycles through them? Or do you want some kind of remote control/monitoring?
 
Nah, just patterns. I have no idea what the limitations of these boards are or how much memory they have but it'd be nice to have two or three different ones to choose from. I'm assuming changing the patterns will simply be a case of changing some code?
 
Nah, just patterns. I have no idea what the limitations of these boards are or how much memory they have but it'd be nice to have two or three different ones to choose from. I'm assuming changing the patterns will simply be a case of changing some code?

Correct.

You have 32kB flash and 2kB RAM to play with. That probably means very little to you at the moment, but when you write some code and compile it in the Arduino IDE, it will tell you how much flash/RAM is used, giving you an idea of how much of the chip's resources you're using.

Unless you're considering extremely long patterns, the Uno will suffice.

To change patterns, the easiest thing is to just have multiple .ino files and flash the one you want to use. Alternatively you could program all 3 into the Uno, and switch between them using a button or something.
 
That's fantastic, thanks for the help! I'll order an Arduino on Monday. I'll grab a power supply as well, what else would I need to start off with? Assuming all I have is a laptop.
 
That's fantastic, thanks for the help! I'll order an Arduino on Monday. I'll grab a power supply as well, what else would I need to start off with? Assuming all I have is a laptop.

I suggest you have a play with generating analogue voltages using the PWM outputs on the Arduino.

Have a read of this appnote (particularly Figure 2-5) to see how to use a resistor and capacitor to make a low pass filter: http://www.atmel.com/Images/Atmel-2542-Using-the-AVR-High-speed-PWM_ApplicationNote_AVR131.pdf

Then using PWM you should be able to make an output between 0-5V. Hopefully you can get your hands on a multimeter to verify that it's working as intended. (An oscilloscope will also work of course).

Once you've got that working, you can look an including a transistor to increase that range to 0-10V as required by your application.

And once you've got that working on one channel, you can get it working on 6!

A ProtoShield will be useful, you can drop this on top of the Arduino and then use the breadboard to prototype your filter/amplifier.

You'll need some resistors and capacitors, I keep a few common values "in stock" for prototyping work like this.

Don't worry about the transistor for now, get the 0-5V one working first :)
 
Right, time to knock up an RS order :D

Shopping list:

Arduino Uno R3


Aaaand that's it. Do all Arduinos use the same power supply? This site gives a good example but does this cover all of them?

Can anyone recommend a power supply?

Apologies for the noob questions, this is all VERY new to me.
 
Here's a 250mA 12V supply with the right connector for the Arduino: http://uk.rs-online.com/web/p/plug-in-power-supply/7300262/

A 10V supply is going to be harder to find, but you don't need one.

You said the pump control signals are 1-10V. What happens if you give them 12V? Are we talking "above 10V they turn full-on" or are we talking "fire and explosions"?

Either way, this can be managed with a 12V supply (above), but in the latter case, we have to take careful precautions to never let the inputs go above 10V even if the Arduino fails.

If you've got the datasheet for the pump controllers to hand that would help :)
 
^^ Voltage regulation is one of the simplest things ever - unless the current demand is really high then plenty of simple 3 pin switching or linear regulators i.e. the LM317 that can easily drop 12V to 10V.
 
Back
Top Bottom