Wanted to share this with anyone who is using an
@wykat hat.
The circuitry for the dosing pump part of the build is different than what
@Ranjib has in his dosing pump module. The official Adafruit guide uses 2 GPIO pins (18 & 19) to run the dosing pumps and wykat's pi hat uses 1 (18). This presents a problem with controlling the dosing pumps individually. If you just setup the dosing pumps using the dosing tab, both pumps run at the same time.
My solution was to use timers to run the dosing pumps at different times while turning one pump off and letting one stay on during dosing times. I can still run both pumps at different speeds, duration and direction by setting up different profiles in the main dosing pump tabs and then assigning those pump profiles to a phantom equipment slot and selecting different GPIO pins to activate the pumps.
There are 4 GPIO pins used in the wykat hat (13,14,15, and 16) that are used to control the direction the pumps run and can be assigned to outlets to turn the pumps off and on, which is different from the pins used in Ranjib's official build guide (5,20,22 and 27). You still need to create 4 outlets just like the official build guide and this allows you to change the pumps direction.
For example set 2 equipment slots for pump 1 using GPIO pins 13 and 14.
Selecting GPIO pin 13 for Pump 1A and assigning it to an equipment slot will cause the motor to run clockwise. Selecting pin 14 for Pump 1B and creating an equipment slot will cause the motor to run counter clockwise.
The same can be done for Pump 2 using GPIO pins 15 and 16.
After you decide which direction to run the pumps and calibrate the speed and duration you want to get the desired amount of solution you want to dose, you can set timers that will tell reef-pi which pump you want to run and what time you want to run it. You also need to set a timer so that the opposite pump is turned off during the time the pump you want to run is on.
Does this make sense?
Here's some screen shots of how I have things set up. For testing purposes I set 1 pump to run for 10 seconds at 60% speed 6 times an hour and the second pump to run for 25 seconds at 100% speed 5 times an hour. After the better part of a week they have worked flawlessly.
I also included part of the documentation from github that shows the overview of the motor direction table from wykat's documentation.
GPIO pin assignment for outlets.
Dosing pump Timers
wykat's direction and GPIO pin table.