Project goal
1. Build a controller that will control my swimming pool's temperature using a Raspberry PI. 2. The system will need to have manual overrides for the pool pumps that anyone can use.
3. It will need to be controlled at the device with a keypad and display by anyone.
4. The controller will need to turn on the cleaning pump by time schedule.
4. The controller will need to turn on solar pumps by time schedule and depending of temperatures.
Solar Pump.
Chlorination/cleaner pump.
Pool pump flow temperature sensor.
Pool Top temperature sensor.
Pool temperature sensor.
Outside air temperature sensor.
Roof temperature sensor.
Unit temperature sensor.
Internet connection for remote access.
3. It will need to be controlled at the device with a keypad and display by anyone.
4. The controller will need to turn on the cleaning pump by time schedule.
4. The controller will need to turn on solar pumps by time schedule and depending of temperatures.
External Components
Solar Panels.Solar Pump.
Chlorination/cleaner pump.
Pool pump flow temperature sensor.
Pool Top temperature sensor.
Pool temperature sensor.
Outside air temperature sensor.
Roof temperature sensor.
Unit temperature sensor.
Internet connection for remote access.
System control components
Keypad (up,down,left, right and ok buttons).4 x 20 LCD Display.
240 VAC supply plug for system and pump systems.
2 x 240 VAC 10 A relay outputs for the two pumps.
Override switches one for each pump (5V logic not power).
LED's for run status, pump status and alarms.
Real time clock.
Fuse 20A Slow blow (Pumps pull a large current starting)
LED's for run status, pump status and alarms.
Real time clock.
Fuse 20A Slow blow (Pumps pull a large current starting)
Software requirements
1. Two start and stop schedule periods for cleaning pump.
2. One time schedule period for solar pump (Day light hours).
3. Pool temperature setpoint.
4. LCD Display and keypad with temperature and settings must be easy to use.
5. Web interface for access using mobile phone or PC.
5. Web interface for access using mobile phone or PC.
Stage 1 - Bread board the concepts
I built a small bread board circuit of each item I needed and tested it until I was happy with the connections and operation.
1. LCD display - Link to Controlling 16 x 2 LCD Display with Python
2. MCP3008 analog input chip - Link to Adding analogue inputs using MCP3008
2. MCP3008 analog input chip - Link to Adding analogue inputs using MCP3008
3. Shift output chip for outputs - Link to Adding more outputs using the 74HC595
4. Shift input chip for the basic keypad - Link to Adding more inputs using the 74HC165
5. All of the item together
You can see a 16 x 2 LCD at the top. The sensor chip bottom left, shift output chip top right, shift input chip bottom right and a bread board keypad on the right. I was using pots for sensors.
Stage 2 - Solder on a PCB board
I then re-built the circuit on a standard PCB and soldered wires and components.
I then decided that a 20 x 4 LCD would be better. I decided that I would need to mount the LCD and keypad in the lid so I put them on ribbon cables.
The devices worked quite well but there are a few issues here
I then decided that a 20 x 4 LCD would be better. I decided that I would need to mount the LCD and keypad in the lid so I put them on ribbon cables.
The devices worked quite well but there are a few issues here
1. All the wires are starting to look messy
2. The connections are becoming a bit unreliable.
3. Its too big for most boxes
4. The keypad and screen need mounting some how
This comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete