
In this topic http://www.robotreviews.com/chat/viewto ... =1&t=15490, I was asked to write about my experiments are repair of Scooba_230.
So...
I have some experience in the repair Roomba and Scooba 3xx. So I thought well know products of iRobot.
How wrong I was! If I knew how many problems waiting for me, I would not buy on the cheap faulty Scooba_230!
If I first read the forums, I would have learned that it is absolutely non-repairable unit!
Scooba_230 not repaired, they just replaced under warranty or throw away!
But I had nothing left to lose, so it was decided to make of this at least something useful.
Do I have purchased Scooba were two problems. First - it does not turn on and do nothing.
Second, because of which the majority Scooba_230 rent in service center - full of holes "bladder" for clean water.
Here is the story of the restoration of the controller. About bladder repair (if successful) will be a separate post.
Trying to repair the controller ended in failure (see. Photo 1-4) - the controller is filled with some very hard compound.
I can hardly remove it and get access to the motherboard, but it was not enough.
Attempting to remove the motherboard over the fact that almost all the parts it came off and stayed in this terrible compound.
Bravo, iRobot! This I have not yet seen.





The funny thing is that for completely disposable design, all sensors and mechanisms connected to board over connectors!
So I got what I wanted for a long time - a complete platform for creating your own robot!

These things are expensive, and I had everything you need (body, wheels, motors, gearboxes and many sensors), and almost free.
So I decided to do its own controller and write a program for it.
To start using a different tool I removed the compound from the body (see photo 5). We can estimate the accommodation space of the controller.

Then I found out the pinouts of each connector - see photo 6 (Thanks for the help forum users).

Then I looked in their boxes with trash

Scheme in the process has changed several times:
Figure 7 - the scheme to work with Cliff-sensors, work with Wall- and Virtual_Wall-sensors is not assumed;

Figure 8 - scheme to work with and Wall- and Virtual_Wall-sensors, work with Cliff-sensors is not assumed;

Figure 9 - the final scheme to work with Virtual_Wall-sensor and Serial-BlueTooth-adapter, work with Wall- and Cliff-sensors is not assumed.

Figure 10 - calculations for all schemes.

During the experiments, stopped working the native speaker (replaced by outside) and the LED "Ok" (instead I use the green LED "Power").
The controller has been assembled on the breadboard (see. Photo 11). I do not do the normal printed circuit board for a single product.

Controller are installed in the body along with BlueTooth-adapter (see. Photo 12). Filled with thermoglue (see. Photo 13).


I have previously written in Assembler language. But this is a big project, so I learned BascomAVR (already good!). This is a very nice development environment.
We must bear in mind that my project - it's not the finished product. This "live" testing ground for training. Because the program is constantly being remade. Link to the current source and firmware - https://yadi.sk/d/35_ZunswZY8Pd
Function of the current version:
1. Automatic charge the battery (you can use Li-Ion).
Since the original charger does not work, I use a power supply 9V/0.5A from some modem.
If the charger is connected, run the red and green LEDs "Power":
Red lights, green is off - goes charging, the battery voltage less than 6V,
flashes red, green is off - comes charging voltage from 6 to 8,
green lights, red is off - comes charging, if the battery voltage increases from 8 to 8.4V or charger is disconnected, if the battery voltage has reached 8.4V and can now drop to 8V.
2. Cleaning mode.
To activate the cleaning, you need to unplug the charger (control of the connected charger), pour into a tank of clean water (control water availability) and briefly press the "Power".
If the battery is charged, the button "Clean" will light. Two minutes of the button will light. If the button is not pressed, the robot shuts down.
If you click on the glowing button "Clean", the robot emits a series of sounds and begin a 20-minute cleaning cycle. Backlight button "Clean" will blink.
In the current version there are two types of motion - left or right spiral and chaotic movement.
With spiraling robot starts cleaning. If you collide with an obstacle, proceeds to random movements. Then after 20 seconds. was not an obstacle, the robot re-enters the spiral movement. And so on.
Cleaning cycle can result due to several events. Pressing the button "Clean". Ended with clean water. Discharged battery. It took 20 minutes. from the beginning of cleaning. The robot is stuck and could not get out on their own.
3. Mode against the Stuck.
If, within 4 minutes did not work bumper or bumper constantly pressed, the robot "thinks" that stuck.
Then the robot turns off the pump and vacuum motors and trying to get out. There are 10 attempts. If the bumper does not change the state of, the robot "thinks" that finally stuck.
Then the robot turns off all motors, the red LED "Error" will light and 100 times played a short beep.
If at this time you click "Clean", the robot will continue cleaning cycle.
If the button is not pressed, the robot is turned off, the LED "Error" is lit.
4. Using the Scoobas Virtual Wall.
As usual. When you get close to the wall the robot turns away.
5. Work through BlueTooth-adapter.
Via BlueTooth-adapter robot can communicate with the host-system through emulation standard COM-port (settings 2400,8, N, 1).
You can send commands to the robot and receive a variety of messages.

The current version supports the following commands:
? - help for command
s - output status information: the current mode of operation of the robot, the state of the battery sensor, clean water tank and buttons, as well as the rest of the cleaning.
w - power on, equivalent to pressing the "Power". Not available if the charger is connected.
c - cleaning mode on, equivalent to pressing the "Clean". Not available if the charger is connected, or not powered.
A group of commands controlling the movement of the robot and the on/off all motors. These commands are available only when the charger is not connected, powered on, but not activated cleaning.
Cursor keys - movement forward/backward, turn left/right. Response bumper not included.
Spacebar - stop/continue moving.
p - turn on/off the pump motor,
v - turn on/off the vacuum motor.
Video - http://rutube.ru/video/4f0c9f3d02458869 ... 5848f8fe1/
Thank you for your attention.
