Summary of A pool cleaning robot custom electronic based on AVR ATmega8 microcontroller
This project revives a chlorine-damaged pool cleaning robot by replacing its original dsPic-based electronics with ATmega8 microcontroller-based custom electronics. It consists of two parts: a waterproof cleaning robot unit and a separate timer unit that controls the robot's operation. The timer converts 220V AC to low-voltage DC and programs automatic cleaning intervals (e.g., 30 minutes daily) displayed on a dual seven-segment display. User-configurable work and pause periods are selected via five buttons and stored in EEPROM to retain settings through power loss.
Parts used in the pool cleaning robot custom electronic:
- ATmega8 microcontroller
- 220V AC to low voltage DC converter
- Double seven-segment display
- Five push buttons (pause +/-, work +/-, start/stop)
- Internal AVR EEPROM (for storing settings)
Chlorine damage a gasket on the robot and cause the shorts of the electronics embedded. It is obviouslly out of warranty, and the manufactuer does not send me any information to repair it, moreover a new board will cost me more or less like a new robot, cause i’ve to sent it to a certified repair center. For information only, original board was based on a dsPic.
So, i decided to get it back to life, replacing the electronics that gets damaged.
My replacement electronics it is based on ATmega8 micros.
The project is divided into two parts:
- timer
- cleaning robot
The timer contains the 220 AC to low voltage DC current, and it is out of water, his purpose is to start and stop the cleaning pool robot, which of course is inside the swimming pool.
The timer is an ATmega8 based countdown programmable timer, it is like the one you can find here: http://davidegironi.blogspot.it/2013/10/an-atmega-countdown-programmable-timer.html
It alternates a “working” period, and a “pause” periods. So i can run the robot at a predetermined interval of days, for an amount of minutes you can chose. Let’s say for example 30 minutes every day.
- pause +/-: select the pause period
- work +/-: select the working period
- start and stop: iterate through perdiods.