DC motors – module for motion of autonomous robot for EUROBOT competition
In this article, we will present one solution of the module for an autonomous robot motion. This module is designed for an autonomous robot for EUROBOT competition. The module consists of one main controller, two motor controllers and DC motor driver with H-Bridge. Each motor controller drives one DC motor driver which then moves one wheel. System has two wheels, left and right. The robot uses MAXON RE35 DC motor with permanent magnet.
What is EUROBOT competition?
In order to obtain the experience required for engineering practice, socializing and entertainment, many students team up to design and create an autonomous robot. This way students from electronics and mechatronics present themselves and their faculty at an amateur robotics competition named EUROBOT. This European manifestation is held every year with matches that change rules every year that robots play. Detailed information about the EUROBOT competition can be found at (www.eurobot.org).
Image 1. Robot for the Eurobot 2006 competition
Image 2. Playground for the Eurobot 2006 competition
Due to the rules of the game, robots are created every year to be adapted to the new rules of the game. Some modules of robots such as module for autonomous robot motion, navigation, etc. are always same. It doesn’t change from year to year. It needs to be designed as the universal and separated part so it can be incorporated into a new robot every year without any changes or major adjustments.
Basics of the module for an autonomous robot motion
This chapter describes the hardware of the DC motor module for the motion of the autonomous robot. The hardware consists of two motor drivers, one motor driver per wheel. In the output stage, DC motor driver has an H-bridge that is controlled via signals generated by motor controllers. Each motor driver is operated by one motor controller controlled by the main controller.
The block diagram for the autonomous robot module is shown in Image 3.
Image 3. Block diagram of the module for the autonomous robot drive
The main microcontroller and motor microcontrollers of the autonomous robot motion module
The main microcontroller passes commands to the left and right motor microcontrollers. Motor controllers further process signals. The parameters sent by the main controller to the motor controllers are:
1. the length required to cross the wheel,
2. the direction of motor shaft rotation,
3. the motor speed and
4. acceleration of the shaft of the engine.
Based on these parameters, as well as feedback from encoder (speed and position) the control signals for the H-bridge drivers are generated. More precisely, the controller sends three control signals, which are:
1. PWM (Pulse Width Modulation) signal,
2. direction of the rotation of the motor (Direction) and
3. signal for switching off the H-bridge (Brake).
There is no special voltage regulator for the H-bridge driver. Therefore, the power supply voltage (Vcc Logic) and the ground (GND Logic) are powered from the control unit. The control unit is rounded with dashed lines in Image 3.
AT89S8252 microcontroller has less CPU and memory power. AT89S8252 microcontrollers are used as motor controllers and the main controller. To achieve a large PWM resolution, the PWM frequency is set to only 1 kHz. It is quite low frequency for this type of application. The low frequency of PWM causes a higher current fluctuation, so the torque and speed of the motor are less stable. The effect of the frequency on the current and voltage of the motor will be discussed later.
Possible improvements with MikroElektronika, Arduino, Raspberry Pi… Platforms
If you are more prefer platforms such as MikroElektronika Hardware and Software Embedded Tools, Arduino, Raspberry Pi… control signals can be easily generated with those platforms. New platforms can set a PWM frequency more than 1 kHz.
Communication between the main microcontroller and the motor controllers
The master controller communicates with motor controllers using 8 bits parallel communication by sending five bytes of data. First, two bytes contain information of the length of the path and the direction in which the robot should move. Then follows a byte that contains speed information. After that, the byte contains information of acceleration, and at the end it receives a byte check, in this case called the start byte.
The same process is in the other direction, only the motor controller and the main controller are now changing the role. The only difference is that the motor controller sends information about the length of the path in two bytes and byte check, the total of three bytes.
There are 16 additional input/output pins on the main controller, which are used to connect various sensors and actuators.
An additional option of the unit is to connect the main controller to a computer or other device via serial RS232 communication.
Tutorials in the category: DC motors and drivers