Water drop controller

bfgstew

Senior Member
Hi everyone,

I am after building a water drop controller so I can photograph the collisions. I have seen the Cognysis and Drop shot equipment but it far to expensive and spoils half the fun buying it!
I am after controlling up to 4 solenoid valves (12 or 24VDC) and have them drop 1, 2, 3 or 4 drops at variable times and sizes, independently of each other, it would be superb if it was in a hand held unit with a controlling interface rather than using an IR remote control or plugging into a PC to alter anything. Has anybody got any guidance or advice on this matter?

Many thanks

Stewart
 

bfgstew

Senior Member
Thanks E, good to hear from you again, will have a look through the threads and see if anything fits the bill.
Cheers.
Stewart
 

SAborn

Senior Member
have them drop 1, 2, 3 or 4 drops at variable times and sizes
Is not a water drop almost always the same size, as i thouht it was controlled by gravity/surface tention. (also a form of constant measurement)
If you can master the droplet control via automation then we can all make a water printer as used in some car adds, several have tried on other forums with little success.
 

smeagol

Member
Look at the Camera Axe, not based on Picaxe, for lots of ideas.

http://www.cameraaxe.com/wiki/index.php?title=Sensors#Valve_Sensor

Just use a picaxe output to switch a transistor.

These solenoid valves appear to work well

http://www.jaycar.co.uk/productView.asp?ID=SS0905&keywords=solenoid+valve&form=KEYWORD

The way to do it is use Picaxe to open the shutter of the camera, in Bulb mode, output to switch solenoid valve to produce your drops ( you have to work out your own timings by trial and error ) most water drop collisions use just one solenoid as you need the drops to collide, the use the picaxe to fire flash.

Opto Isolators for safety to control camera and flash, beware of voltage on some flashes as they can go up to hundreds of volts. The flash required needs a way to control power, as this controls the duration of the flash.

Rinse aid mixed with the water, for dishwashers, and various other liquids (milk) have varying viscosities that will produce slightly different effects.
 

bfgstew

Senior Member
Cheers guys, but so far not really what I was after, but as e says, nice one Smeagol.

I have have a camera trigger unit built on the HiViz multi trigger and it is superb. I just need to control these drops, but not just control them, I really need to make them dance for me, and the more control, the better.

I have attached a basic schematic of intended layout showing the option for more valves, adjustable height of the valves will be built into a frame. T1, T2 and T3 are the variable times between drops which need to be fully adjustable.
The time the valve opens needs to be fully adjustable to as this determines the size of the drop, so for example, we can have a large drop to start, then gradually reduce the size on each drop, or the other way round, or the same size!

drop.JPG
 

smeagol

Member
As SAborn said surface tension / gravity is likely to limit the size of the drops, and Texas has the right idea on size of orifice, as I said rinse aid added to water and different liquids are likely to produce different size drops, due to viscosity / surface tension.

The stop shot link you provided show the usual water drop photos that are all produced by one dropper, producing one or several drops falling into water.

Duration of the valve opening, orifice size and liquid used will all vary the drop size, to a certain extent.

Using a picaxe to control the valve opening is easy, just a transistor switch with the on time determined by your code, if you want more valves use multiple outputs on the picaxe.

I'm not really sure what more information you want?
 

bfgstew

Senior Member
Ok guys, I understand what you have all said and thanks for the links and info.

Right, the main question still seems to be unanswered though, can the Picaxe be controlled other than PC download or IR remote control? Is there a interface device to do this?

i.e. If running 4 valves - Valve 1 on pin 1 - Valve 2 on pin 2 and so on.
Say basically I want valve 1 to drop 3 drops - Pin 1 high
pause 100
pin 1 low
pause 500
pin 1 high
pause 150
pin 1 low
pause 400
pin 1 high
pause 200
pin 1 low
goto main

This should give 3 drops of differing sizes and differing durations between drops.

Can this be altered other than PC download or IR controller?

Stewart
 

smeagol

Member
Yes - for maximum flexibility I would go for an LCD display, or OLED, to display the intervals you are setting, and a menu system so you just need a few buttons, or a keypad, to select drop control and delay.

Display control is easy with a serial controller from RevEd - lots of info on the forum.

Menu system is just software, easy to do with button input, or even using IR remote control.

What you want to do is mostly about writing the code, the hardware part is relatively simple and the manuals will give all the info you should need.

What is your experience with coding in Basic? or any other language? Assign variables for solenoid open time and pause between drops, set these with some form of input then decide how you want to trigger the drop sequence.

Play with some coding to create a menu.
 

bfgstew

Senior Member
Hi smeagol,
Thanks for that, that is what I am after, a simplish interface to alter my timings.

Coding is the hard part, my knowledge is very basic as a I am a newbie to all this but am willing to learn.

Stewart
 

Technical

Technical Support
Staff member
This should get you going, 3 switches, 3 different drops:


Code:
do

if pin1 = 1 then 
  w1 = 150
  gosub doit
end if
if pin2 = 1 then 
  w1 = 250
  gosub doit
end if
if pin3 = 1 then 
  w1 = 350
  gosub doit
end if

loop


doit:
high 1
pause w1
low 1
pause 1000
return
 
Last edited:

Technical

Technical Support
Staff member
The error message is saying you missed the 'do' at top of your program.
Also we have changed b1 to w1 as 350 is bigger than a byte value
 

eclectic

Moderator
Going a bit more OTT, how about
Dial a drop?

Four 10k potentiometers and four push buttons.

Values read from the OLED/LCD screen.

e
 

smeagol

Member
Here's a snippet of code that uses a menu system. 3 momentary push switches ( Up, Down and Set ) and output to an LCD.

it should give you an idea about how to control the variables needed for the valves.

Code:
;Define symbols for input and output pins
symbol ButtonSET = pinc.5
symbol ButtonUP = pinc.6
symbol ButtonDOWN = pinc.7
symbol LCD = c.2

;Define Constants
symbol ButtonDelay = 10		                                        ;Delay between loops to give a debounce function

;Define Variables
symbol Flashdelay = b1			                             ;Delay before firing flash (maybe needs to be a word)

setflashdelay:
	serout LCD,N2400,(254,128,"                 ")			;Clear the top line
	serout LCD,N2400,(254,192,"Delay = ",#Flashdelay,"     ")	;Display the value of flash delay
	if buttonup = 1 then							;Increase delay on UP button
		inc Flashdelay
	else if buttondown = 1 then						;Decrease delay on DOWN button
		dec Flashdelay
	else if buttonset = 1 then						;return to MENUNOISE when set pressed
		return
	endif
	pause Buttondelay							;delay needed for debounce?
	goto setflashdelay							;loop if SET not pressed
 

bfgstew

Senior Member
Maybe I have bitten off more than I can chew with this one? For the time being at least...........

E may have the simpler solution, using pots and coupled to a 556 timer I would be able to get 2 controlled drops out of each one, an instant then a delayed one, use another pot to set the opening duration....................hmmmmmmmmmm

Right off to draw up some schematics to see if it is possible.

Thanks for the input guys, appreciated.

Stewart
 

bfgstew

Senior Member
Ok, been thinking about this a bit more and maybe I have a cunning plan, well not cunning as such, just easier, I hope, well anyway, here goes.

A Picaxe chip (not sure what one yet) programmed to use 4 output pins that control each solenoid valve, that's the easy bit.
Now I want to have full control over each output, if a basic programme is put onto the chip via PC, then can an interface, ie keypad and OLED be used to alter the programme once it's away from the PC, say I have pin 1 output times set at 500ms can it be changed via the interface to 600ms as I want it in a smallish handheld unit or smallish box?

Stewart
 

Dippy

Moderator
Yes, a keypad/handset can send data and your little box can recieve it.

The box then changes those byte-sized commands into action. Easy as 'IF' etc. and set parameters.

Buttons/PICAXE (convert buttons to bytes) -> Send wire/IR/RF -----> receiver/PICAXE/convert/perform action.
Just like your TV remote.
 

bfgstew

Senior Member
Thanks Dippy,

So we have established that once a Picaxe chip has been programmed it can be altered without using PC and download cables.

Now I do apologise if I sound like a complete numpty. As the programme is just basically a set of time parameters and it can be viewed via an OLED screen, if a numeric keypad is built into the system would this be able to alter the time parameters, simply by scrolling down the programme and entering new values into it?
 

Dippy

Moderator
Confusion alert!

Are you saying listing your actual programme on the OLED (and changing it)?

No, you wouldn't do that.

You would have parameters (variables).
Once your code is sorted that's all you need to change.

You could make a menu system.
Or just <Parameter> : Value
... and overwrite the value , store and run.

A lot of this simply depends on the code space, complexity and your ability.
 

bfgstew

Senior Member
Now thats put the damperners on it!!!!!!!!!

Yes Dippy, that was what I was after, just a simple interface to alter basic times.

Back to the drawing board......................:(
 

Dippy

Moderator
I think we're at cross purposes...

Your previous post suggested (to me) that you wished to list your whole programme code and tweak.

If you are simply changing PARAMETERs (varaible values) then that's perfectly easy.

Your screen could list the parameters/variables/values.
You change/edit/update and store/run/continue.
That's how a billion programmes work.

Saving a new time is a piece of cake.
Are you very new to programming? Sorry, I didn't realise.
 
Last edited:

eclectic

Moderator
Start with 3 Picaxe pins and an extra.

1. Is connected to a 10k pot.
Rotate the pot
and the "extra" pin sends the value to the LCD/OLED

2. Pin2 connected to the solenoid.

3. Pin 3 is a "Fire" button.

Then add three more sets of three pins,
one trio for each solenoid.

13 pins total
18M2 or larger.

Then if you really want, you could shrink the hardware
to one potentiometer.

e
 

smeagol

Member
Now thats put the damperners on it!!!!!!!!!

Yes Dippy, that was what I was after, just a simple interface to alter basic times.

Back to the drawing board......................:(
See that bit of code I posted, it does exactly that using 3 buttons!
 

bfgstew

Senior Member
Well thank you guys, that has has given me the confidence to take this to the next step.

Now need to order an OLED, and a project box, already have a 18M2 chip and several 08M2 chips so can start to move forward.

Many thanks guys, really appreciate all of your help.

Stewart
 

bfgstew

Senior Member
Now don't shout at me please..............

I have acquired this little piece of kit, sort of surplus to requirements, if you get my drift..........EA0145 - Mitsubishi / Beijer E100 HMI

Will it be able to work with picaxe, or vice versa, or at all?????
 

Dippy

Moderator
Now don't shout at me please..............

I have acquired this little piece of kit, sort of surplus to requirements, if you get my drift..........EA0145 - Mitsubishi / Beijer E100 HMI

Will it be able to work with picaxe, or vice versa, or at all?????

Sounds great ... what is it?

My poem:-

Dear old Stew give us a link,
My crystal ball is on the blink.
 
Top