Robot vacuum cleaner at home. Making a robot vacuum cleaner at home with your own hands

Science Vetal

Shows how to make a robot vacuum cleaner. It automatically avoids obstacles and vacuums, while collecting pieces of paper and crumbs of various origins.

You need a standard set for an arduino machine. We take one arduino uno, l298n motor driver, proximity sensor, old fan and computer system unit. First, I took a thick corrugated cardboard, tore out a picture of a circle, installed a fan, size. Started cutting. The size of the octagon should be slightly smaller than the fan. Then I took the fan and tried to insert it into the hole. I thought the outline would stretch a little. But that didn't happen. I trimmed it a little and only after that I was able to install the fan. The height of the fan above the table should be small, about 0.5 cm. Only then will it suck up dust well. Then I installed the engines and glued everything in place using hot glue. Including a fan. It needs to be glued after the motors are installed in order to see the required height. Practice has shown that debris will be sucked in well if the height above the table is from 0.5 to 1 cm. Then I started installing another wheel so that the system would stand on three wheels. The third wheel will not rotate.
All elements of the vacuum cleaner are attached using hot-melt adhesive. For such a device this strength is sufficient.

Cachaça suction of debris depends on the speed of work, it should not be high. Eyes need to be inserted. We use an ultrasonic sensor for arduino.

The button was installed on the side, but practice has shown that this is not entirely the right decision, because the robot turned itself off several times. He hit the wall with that particular button. In principle, this is not quite a classic vacuum cleaner, because a box is usually used. And here it stands directly for suction. But this does not degrade the performance. Please note that the master took an ordinary fan, not intended for sucking. He's just blowing air. Therefore, if you want to create a vacuum cleaner that will suck not only paper, then you need to install a more powerful motor. And give the blades the configuration necessary for the vacuum cleaner. The entire process of creating the robot took about 3 hours. As you can see, there is nothing complicated. The most difficult thing in this matter is programming. In this case, the master programs only a little. He took his car, which avoids obstacles, and modified it slightly to limit the robot's speed. To do this, I used PWM pins on the arduino and connected them with the corresponding pin on the motor driver. By the way, it is not such a small radiator calculation. But it has a big advantage compared to other motor drivers. Namely, the output is 50. They are very convenient for servos and also arduino. If you don't like the large size of this driver, you can simply remove the heatsink from there. The fact is that when using these two engines, it does not heat up much. The temperature does not rise above 40 degrees. The circuit receives power from the battery via a switch and a nano motor driver. A fan is also connected here.



Just as the appetite awakens while eating, so the desire to create grows with the number of completed projects. And consistent use of learned technologies increases interest and quality. This story began with the fact that I assembled a 3D printer 3D MC3 Master v1.1 and made movable ears with a reaction to sound.
But then I wanted to not only create something entertaining, but also useful. Therefore, I started working on creating my own robot vacuum cleaner and I urge the entire Habra community to connect and help somewhere with advice, and somewhere with logic and experience.

Well, since I already have a 3D printer, I will print as many parts as possible myself. And I successfully found the Arduino Mega 2560 controller and actuators on the MASTER KIT website. But we will return to the hardware later, but first we need to understand the logic of the movement and actions of the vacuum cleaner robot.

The rules for creating robotic vacuum cleaners were established empirically (not mine):
1. The robot must be round shape, low cylinder.
2. The wheels must be of a diameter so that it can turn around on the spot.
3. Steering wheel does not need a motor
4. The main thing is that the robot can collect garbage inside itself
5. You can’t do without a contact bumper; it must cover at least half of the robot’s perimeter
6. The center of gravity of the robot should be close to the wheels, ideally coincide with them - for better traction.
7. The robot must be charged from the charging station without removing the batteries
8. The garbage container should be easily removable.

Movement algorithm
There are two main ways to move robot vacuum cleaners and so far neither method has proven completely superior. The first is to move in an unwinding spiral. The second method is to move in a zigzag pattern.

This does not take into account the construction of a map of the room from images, and all movement occurs solely based on sensor readings. Next, what needs to be taken into account is overcoming and avoiding obstacles. For this, it is best to use bumpers and contact sensors. Because if there is a thin chair leg along the route, then the rays of several sensors may pass by. When colliding with a large bumper, the controller understands which side the obstacle is on and goes around it.

Cleaning
If a conventional vacuum cleaner takes its toll due to a powerful pump and high suction power, then the same power can be achieved with a small vacuum cleaner with autonomous power supply is not possible. Experience has shown that the combination of a small brush and a suction turbine is most effective. In addition, since the device is a washer, in order to pick up debris from the corners, two rotating brushes are placed in the front part, throwing debris towards the main large brush.

Driving force
The best movement speed will be 25-35 cm per second. It's not too fast to get everything together and not too slow for the battery to last in any meaningful space. The most commonly used are spring-loaded gearboxes with motors. This is done in order to stop the movement if the vacuum cleaner falls, hangs or is lifted. I believe that it would be correct to use stepper motors, since this will allow you to set the speed of movement programmatically, without using gearboxes that take power. The transmission to the wheels will be direct or belt. The vacuum cleaner will have only 5 motors: 2 for the wheels, one for the main brush, one for the two rotating brushes on the sides, one for the suction turbine.

Nutrition
It is planned to power the entire system from a gel battery with a voltage of 12V and a capacity of 7 Ah. That is, a standard battery from a UPS. It has the advantage of having enough capacity to get the job done, it's cheap and readily available, and it's weighty enough to hold the vacuum cleaner to the floor. There are two main charging methods: induction and direct contact. Despite all the advantages of direct contact, I decided to play in favor of wireless charging: partly because it is safer (and I have curious cats), partly because I don’t want to deal with the problem of oxidized or loose contacts later. Luckily I found a great wireless kit charger for 12 Volt PW-WL-12. A current of 350 mA will charge the battery when fully discharged in 10 hours, which is a bit much, and the battery cannot be drained like that. Therefore, I decided to get two of these chargers and install them on the bottom and top of the case, providing a double charge current of 700 mA.

Sensors
In order for the robot to be able to navigate in space, not fall down steps and not run into walls, it is required feedback. This will be implemented with a large number of sensors. For example, infrared sensors the distances will not allow you to get close to the wall and scratch it. If there is a small object on the way that does not fall into the field of view of the sensors, contact sensors in the bumpers are triggered. In addition, infrared sensors on the bottom edge will prevent the robot from falling if there is empty space under the leading edge. Also, a couple of sensors will need to be placed on the wheels so that when lifted off the floor, the device stops working.
The following sensors will be used: IR - for measuring distance, contact - for bumpers and wheels.

Return to base
One of the most difficult tasks that all robot creators try to achieve is returning to their own charging base. And it’s good when the room is strictly square or rectangular. In this case, it is enough to install the base in a corner or move it to the wall, and the mechanism for returning to the base becomes extremely simple: walk along the wall with one side until the robot hits the base. But as soon as you add furniture or have several openings to other rooms, the task immediately becomes more complicated. I decided to use a radio beacon to determine the distance to the base. As you move away, the signal fades out, and as you get closer, it becomes louder. My method of searching for a base will be based on this.

Programming and soldering
I initially did not want to do soldering and self-assembly controller straps. Since the Arduino platform already has a lot of standard shields for connecting sensors and actuators, I will use them and try to make the project as simple and easy to repeat as possible. Only sensor contacts will be soldered if they do not have standard connection wires. I will program in the standard version for Arduino, since it is: 1 - simple, 2 - easy to repeat. Even I, who was familiar with the basics of programming, was able to cope with learning the language and program the controller to automate the heating and ventilation system. Therefore, the calculation is precisely on ease of repetition and execution.

Stages
All work on the robot vacuum cleaner will be divided into several stages:
1. Creating a housing, chassis, dust collection unit and creating a normal dust collector with a turbine
2. Distribution of sensors along the body contour and coordination of their operation
3. Programming the simplest movement and cleaning functions
4. Avoiding obstacles and logic of movement when cleaning
5. Search for base and the right approach to it for full charging

Standard and follower
As in any experiment, there must be an experimental group and a reference group to compare the results obtained. It was decided to take as a standard

Automated vacuum cleaner with autonomous source nutrition, of course, does not develop such as manual option. Practical tests have shown greater efficiency using a small brush in conjunction with a suction turbine. For cleaning corners The front part of the vacuum cleaner is equipped with 2 brushes, which, during operation, sweep debris towards the main one.

The robotic system can be powered from several batteries, the voltage at the terminals of which is 12 V (18 V), and its capacity is 7 Ah. Charging is carried out by direct contact or wirelessly. The use of the latter increases the cost of components.

Returning a robot to its charging location on its own is a difficult task that can be solved by installing a transmitting beacon.

Any automated model is assembled controller based(brain of the system). Therefore, you should study its programming language to enter the command algorithm. You should also take into account the intuitive nature of the command interface, which greatly simplifies the process. Both the microcontroller and the sensors used often have standardized connections, so soldering is rarely required.

Preparation for practical implementation of the project

Let's consider the application of the above principles based on the Arduino Mega 2560 platform. The creation process will consist of several stages:

  • preparation of tools and materials;
  • production of a housing with wheels and a compartment for garbage, a dust collector and a turbine;
  • installation of sensors and microcontroller, motors with gearboxes, batteries, brushes;
  • making electrical connections;
  • introducing a program into Arduino, determining sensor consistency;
  • checking the performance of the robot vacuum cleaner and its ability to charge independently.

The idea is implemented using the following materials and tools:

  • Arduino controller – 1 piece, with drivers;
  • sheet of plywood (or thick cardboard) – 1 sq.m.;
  • wheels – 3 pcs;
  • wire with a cross-section of no more than 0.75 mm2 (twisted pair is suitable) - about 2 m;
  • power supply – 4 18 V batteries, charge indicator for them, charger;
  • infrared sensors – 4 pcs., contact sensors – 2 pcs.;
  • electric motors: for the turbine – 1 piece, rotating the brush – 1 piece, 2 motors with a gearbox provide movement;
  • polyvinyl chloride body – 1 piece;
  • glue – 1 pack, screws – 10 pcs, tape – 1 pc, set of magnets;
  • a set of screwdrivers and drills, pliers, a stationery knife, pencil, ruler, screwdriver, jigsaw.

Assembling a robot vacuum cleaner

Having prepared everything you need, you can begin assembly. It consists of going through the stages described above.


An important point in the work is the return of the bumper to its original position after hitting an obstacle, that is, its sufficient elasticity.

All parts are secured to the connectors available for these purposes with self-tapping screws or glue or tape. The result obtained is shown in the photograph:

Share