This is an old revision of the document!
Exercises
The goal is to write a program which is able to perform tasks described below.
Warm up exercise
Controlling the DC motor using buttons of a User Interface module. By pressing S1 button, the motor turns clockwise. By pressing S3 button, the motor revolves clock-counterwise. By pressing S2, the motor is stopped.
For beginners
DC motor control. Movement of a robot is simulated, by using DC motor and touch sensors. Touch sensors are the buttons S1, S2 and S3 of the User Interface module. The motor is controlled by pressing the buttons. S1 and S2 pressed separately stops the engine for two seconds and then start motor again. If both buttons are pressed, then the motor is stopped until the buttons are released. (For a robot, similar scheme should be implemented to control two separate motor).
Servo motor, the servo motor is controlled via the buttons of the digital board. By pressing down S1 the servomotor moves one step to the right. By pressing down S3, the servo motor moves one step to the left and S2 makes the servo motor to move to the initial (middle) position. The position of the servo motor is displayed live on the 7 segment display (each number corresponds to 10 degrees of the turn: middle position equals 5).
Radar, functioning of radar is simulated. In order to identify objects closer than 0,5 meters, IR distance sensor is installed to the lever of the servo motor. The lever of servo motor is moving constantly form one extreme position to the other and it carries this sensor all the time with itself. If there happens to be an object in closer range than 0,5 meters of the sensor, then the servo motor is stopped for 5 seconds and by signaling a LED (PB7) on the controller board detection of the object is announced.
Stepper motor, after each pressing on the buttons S1 and S3 it rotates 10 steps, accordingly clock wise and anti clock wise. The rotation is stopped immediately by pressing on the button S2.
All three different types of the motors are connected. By pressing a button it starts and stops a certain motor. S1 controls the DC motor. S2 controls the servo-motor and S3 controls the stepper-motor.
For advanced
DC motor accelerates when S1 is pressed down and holds achieved speed when the button is released. By holding S2 pressed down, the motor decelerates smoothly. By pressing button S3, the motor stops instantly (simulating emergency stop).
Tracking an object. By using ultrasonic distance sensor, which is installed on the lever of the servo-motor, the servomotor has to track a bypassing object. The motor turns according to the movement of the object so that the object is all the time in the middle of the tracking sector of the sensor.
Stepper motor keeps the last position of the motor after change of each sequence. When activating new sequence, use variable, so the movement continues exactly from the last position of the motor.
Acceleration, the program allows changing the acceleration/deceleration of the stepper motor. Use linear speed slopes which can be easily identified at visual inspection. Longer movements have to follow the following scheme: acceleration –> steady speed –> deceleration.
Design a PID regulator for a DC motor. NB! This exercise demands a motor with feedback. This exercise may be solved also theoretically.
Questions
For what is the H-bridge used? On what principle is it working?
How is the position of the shaft of RC servo motor determined?
What is the main difference between unipolar- and bipolar-stepper motors?
How can half step and micro step modes of stepper-motor be applied? Give an example.
How is the rotation speed of a DC motor controlled? Give an example.
Which PWM working cycle is needed to achieve DC motor's shaft rotation speed 70% of nominal?
How is the direction of motor's rotation determined when encoder is used?
How can a DC motor be electrically slowed?
What happens if the scheme of commutation of a stepper-motor is changing too fast?
Is it possible and if yes, how is it possible to use dynamical braking?