|
Sweep is my newest project, it's a small robot which cleans my kitchen floor, I wanted to design a useful robot, but which wouldn't require any human intervention. Sweep achieves this by being able to charge itself, and keep out of the way. Sweep uses 2 senses to decide if it's ok to sweep the floor - light and sound, if it's dark an quiet it will clean the floor.
Sweep was designed to clean my kitchen floor. It's was designed to monitor it's light and sound sensor, when both sensors are off (i.e. there is no/little light and it's quiet) the robot comes out of his charging station and sweeps the floor in a random manner. If it detects any noise or light (i.e. someone enters the kitchen) then Sweep will return to his charging station. He does this by using an IR sensor, the charging station has an IR beacon on it so Sweep can return. The robot is driven by two 3v motors at the rear, using a 74HC245 as a H-Bridge, this is a design taken from BEAM technology and works very well. 4 I/O Lines are used to control the drive. and there is a control line for each of the sensors. The Bump sensors are simple switches and resistors, the closing of the switch pulls the I/O line high. The sound sensor (schematic below) is basically a noise detector, any noise and it pulls the I/O line high. The IR sensor, is taken from a BEAM design, at a certain threshold it pulls the I/O line high. The Light Sensor is a simple CDS circuit which pulls the I/O line high when the light level drops below a certain level. The Battery Sensor, is a voltage to frequency converter which is build around a 555 timer, the timer pulses regularly based on the supply voltage of the battery. To read the sensor, we wait for the I/O Line to go High, then Low then Time the duration of the next High, this gives an idea of the power left in the battery. Once it drops below a certain threshold Sweep is signalled to go an re-charge. Re-charging is done by two contacts on Sweeps underside, when he enters his base station (he reverses in - always) power is supplied by two pads on the base of his charging station. Once charging has started he times himself for 14 hours, once that time has elapsed, he goes back to the normal checks to see if the floor can be swept. The AT89C52 was one of many I 'salvaged' from a skip at my old workplace. I don't know how many write cycles it has left, or what used to be on it. I free-formed this processor using a PLCC socket! The Drive motors are from old CD-ROMS, they are the little ones with worm gears used to move the laser up and down. The wheels are old rubber paper guides from an Epson dot-matrix printer. The Gears on the wheels are from a Brother LPB660 laser printer which died. The Chassis is part of the Epson printers cover. The 74HC245 H-Bridge... I bought! Here is the source code to Sweep. It is written using SDCC Which I have found to be a very capable compiler. However I so use quite a bit of assembler in the files, the clock is from the RTC tutorial on the 8052 website. home |



