Tags

Besides the pH and temperature, the Healthy pH Shield turns two pumps on and off. The purpose of these pumps is to allow the person writing the software the ability to adjust the amount of pH UP or DOWN depending on the pH measurement (adjusted for temperature) and the type of plant being grown.  Different plants are healthiest at different pH values.

Well guess what?  IT JUST WORKS! YIPPEE!!!

# The Goal

The goal of this post is to determine if two peristaltic pumps connected to the Healthy pH Shield can be turned off or on.

# Thanks to Those that Go Before

It is important to remember who has enabled me to do this stuff.  Thanks to Chris Gammell for his training and mentoring.  I highly recommend his Contextual Electronics course if you want to build PCBs.

The author of this post on a solenoid circuit.  It was clearly written.  This is the circuit I used for the pumps.

# The Pump Circuit

The pump circuit can be found in the Pumps.sch kicad schematic at this GitHub location.

The circuit design is basically the one in the image below.  There are two, one for pH UP and one for pH DOWN.

I found this article covering the circuit to be extremely useful.  Refer to the article for a walk through of the circuit.

The pumps use connectors 5 through 8 of the 8 connector terminal block.

While pins 5 and 6 reference the DownPump and pins 7 and 8 reference the UpPump in the schematic, it doesn’t matter if the DownPump is really hooked up the pH UP solution. I just use the naming convention to keep track of the wires and nodes in the circuit.

# The Tests

• TP14 – Arduino’s 5V power source relative to Arduino GND.  Measuring this test point = 4.99 – 5V.  The readings would go between these two values.
• Test the down and up pump circuits.  I attached a peristaltic pump to each and ran a simple sketch.  Here is the sketch for the down pump. The test code is located at this GitHub location.

## Down Pump Circuit

• The voltage across TP12 and TP15 will show that Q1 is drawing power.  Measuring this, on the DMM measurements jump around .4V.  Because of all the noise, I also measured on the scope:

while (Serial.available () == 0) {

analogWrite(pump_down,255);

Serial.println(“Down pump is ON”);

delay(2000);

analogWrite(pump_down,0);

Serial.println(“Down pump is OFF”);

delay(2000);

}