dropController V3

dropControllerV3 is now available in beta version. Download links are on the download page. Please be aware I am still tweaking things.

  • 6 valve connections
  • camera; focus and shutter connections
  • 3 flash triggers
  • 2 auxiliary triggers (in development)
  • updated apps

 

Circuit

Updated 18-05-2019
dropController_V3.0_Circuit_2019-05-18_2800
Download a hires image of the circuit

 

Breadboard Prototype


Updated 07.06.2019
I built the prototype using 3 breadboards to give me plenty of space. With a bit of work you could reduce it to 2 boards. I tried to keep the circuit as simple as possible and as part of this have used multiple components instead combined components. For example, I have used 5 separate 4N25 optocouplers. These can be condensed in to 1 or 2 chips. I use stereo sockets even when the connection is single channel. The only socket that needs to be stereo is the camera connector.

dropController_Breadboard_001_1600

dropController_Breadboard_002_1600

 
Power
The dropController can use 12v or 24v. The power supply should match the solenoid valves you are using (either 12V or 24V). Only use one type. Do not mix 12V and 24v valves.

The dropController and valves are powered from a single power supply. The power goes directly to the valves and is also converted using a buck converter. On the breadboard prototype I use a buck convertor with a display. This allows me to easily monitor the voltage in and out.

dropController_Breadboard_power_01_1600

dropController_Breadboard_power_02

The Arduino is powered using the 5V pin. This means the power is sent straight to the microprocessor avoiding the onboard regulator. This is fine as long as care is taken and the input voltage is a regulated 5V. You could use the vin pin but would need to raise the voltage to above 6V to compensate for the regulator. You then may have issues with the Bluetooth module which has a maximum input of 6V.

Reverse polarity protection
When the dropController is used with a PC it receives power from 2 sources, the usb and the main power supply. I have experienced issues due to this. Not when things are connected but when they are disconnected. Whenever I disconnect the usb my computer crashes (BSOD). To prevent this I added a P-channel mosfet for polarity protection.

Replacing the buck convertor with a LN7805
It is possible to replace the buck convertor with a LM7805 but care should be taken, especially if you using a 24V input. Although a 24V input is within the LM7805 specs, 24V to 5V means the 7805 will be working hard and producing a lot of heat. A lot. at the very least you will need a largish heat sink. The reason I moved to buck converters was due to hot LM7805s.

 
LEDs

  • D14/A0: Yellow LED
  • D15/A1: Green LED

dropController_Breadboard_LEDs_03_Circuit

The 2 LEDs show the device status:

  • The yellow LED shows the connected status; flashing means not connected. Solid on means connected to an app.
  • The green LED shows when the device is active (making drops).
  • Both LEDs solid on means the device is in sensor mode.

When drops are being produced the yellow LED turns off and the green LED turns on. When the drop sequence is finished they go back to Yellow on, green off.

dropController_Breadboard_LEDs_01

dropController_Breadboard_LEDs_02

 
Bluetooth Module
Either a HC-06 or HC-05 (in slave mode) can be used. I recommend the HC-06 though because it it easier to set up. The Bluetooth module connects to the Arduino using software serial on pins A4 & A5 which are used as digital pins (D18 & D19). Power is delivered directly from the buck converter.

dropController_Breadboard_Bluetooth_04

Voltage Divider
The actual Bluetooth module is a 3.3v device. The HC-06 and HC-05 have breakout boards that include a voltage regulator that converts the input vcc to 3.3v and is why the boards can be powered with 5V. The RX and TX pins are still 3.3v though. An Arduino reads 3.3v as HIGH which means we can connect the Bluetooth TX directly to the Arduino RX. The Arduino TX is 5V which is too high for the Bluetooth RX and so I use a simply voltage divider to reduce the %v to 3.3V.

The breadboard uses a pre-made voltage divider
dropController_Breadboard_Bluetooth_02_1600

dropController_Breadboard_Bluetooth_03

 
Camera and flash triggers
Optocouplers are used as digital switches to trigger the camera and flash guns. To help keep the circuit as simply as possible I use separate optocouplers. I also use stereo sockets throughout.
dropController_Breadboard_CamTrigger_Circuit
dropController_Breadboard_CamTrigger_01

Shutter and focus triggers always fire together and is required by some cameras to trigger bulb mode. For example, on my Canon 40D, Bulb mode does not start when triggering the shutter only.

Optocoupler
The circuit shows 4N25s (these are very common an very cheap) and similar chips (such s 4N26s) can be used. An optocoupler isolates one circuit from another. Using the 4N25 means the circuit on the dropController side is not electrically connected to the camera circuit and offers the camera a fair amount of protection. It is not 100% fool proof though, check the data sheets for the optocoupler you use for full details.

 
Solenoid Valve Triggers
The valves use higher voltages compared to the camera a flash triggers and optocouplers like the 4N25 are not suitable, instead, mosfets are used. Just like the optocouplers the mosfets are used as digital switches.

dropController_Breadboard_Valves_01
dropController_Breadboard_Valves_03

dropController_Breadboard_Valves_02_1600

Mosfets
To switch the solenoid valves I am using IRFZ44N and IRL540N mosfets (both are common and cheap) but anything similar will work. You just need a 5V logic level mosfet with a low RDS(on) value at 4.5v or 5v (ideally 4.5v or lower). I have a list I can publish if anybody wants it.

Flyback Diode
A solenoid is a electromagnet device and work by using a magnetic force to move a small piston. When the lose power the magnetic force collapses creating current which fed back to the main circuit. This can be a very high spike that is capable of destroying an Arduino. To stop the feed back a flyback diode is used. The diode directs the current back to the solenoid until it dissipates.

Manual Drain Switch
Not shown on the breadboard, a switch can be added to allow for manual control of the valves. This helps with draining and cleaning. The switch is added between the mosfet Drain and the mosfet Source. Closing the switch simply bypasses the mosfet.

dropController_Breadboard_ValveDrain_01

 
 

Proto-board Version

This is the first proto-board version. I use the initial version to make sure everything works and to tweak the layout. This is larger than it needs to be but since I don’t have a project box yet I wanted to use the available space. Some of the components can be moved for better placing.

dropControllerV3_Protoboard_01_1200The white 2 pin sockets (connected to the mosfets) allow for a manual valve drain switch to be added.

dropControllerV3_ManualValveDrainSwitches_01

dropControllerV3_WithValveSwitches_800
With manual drain switches attached.

dropControllerV3_Protoboard_02_BACK_1200

dropController_V3.0_Circuit_07_DesignFront_1600

dropController_V3.0_Circuit_07_DesignBack_1600

 

Android App

Drop data controls are the same.
Camera and flash triggers can be turned off.

dropControllerV3_AndroidApp_001_360

dropControllerV3_AndroidApp_002_360

 

Windows App

Cleaner interface using tabs rather than popup windows.
Extra controls for a second flash trigger.
Drop time graph – visual guide to the drop times.

dropController_WinApp_001_300

dropController_WinApp_002_300

 

Setting up a Bluetooth HC-06 module

I have a mini guide that explains how to set up the Bluetooth module.