The first thing we need to understand is that what it servomechanism?
Servomechanism means generating error output as a difference between output feedback and control input and reduces this error until it becomes zero – that means
• when the system reaches desired state
• when the system produces desired output
It is widely used in
1. Industrial applications – flat belt, motion control, load positioning, close loop control systems
2. Defense applications – gun barrel positioning, target tracking and monitoring, guidance systems of missile or smart bomb
3. Automobile applications – automated guided vehicles (AGV), unmanned guided vehicles (UGV)
4. Aeronautic application – fly by wire system, unmanned air vehicle (UAV)
5. Power and voltage regulator applications – voltage regulator
6. Satellite application – satellite tracking
We can list out numerous such applications.
Let us understand one very interesting application in brief
Gun barrel position system
This is one of the most required systems for tank, anti-aircraft gun, ground base missile launcher or howitzer etc. In all such systems once the target is locked the gun should continuously point to target always till the shell (bomb or missile) is fired. The target is moving (like tank or aircraft) so according to its moving position the gun should also automatically move. The gun movement depends upon the difference generated due to the previous position and current position of target. And finally due to accurate calculation the bomb is fired that always hits the bull’s eye.
Here I have discussed another such application that is Automatic 2 dimensional (2D) angle (position) control for satellite dish antenna.
Automatic positioning of satellite dish antenna
The dish antenna should always point to satellite in space to receive maximum signal. A slight deviation may also reduce the signal strength. The antenna position is fixed by setting two angles (1) azimuth angle (2) elevation angle. These are set by entering their values. Once these values are entered the dish antenna moves in horizontal and vertical direction using 2 DC gear motors, one for each direction (angle). As it moves in either direction the deviation between desired position and current position gives an error that is fed back as an input. The position is sensed using two RVDTs (Rotary variable differential Transformer), one for each direction.
The above figure shows diagram of system. Position of azimuth motor (AZ motor) and elevation motor (EL motor) are as shown. The sensors are attached with shaft of antenna. As dish antenna changes its position, the analog output from sensor changes.
Once the sensor position matches with entered position in terms of azimuth angle and elevation angle, both the motors stop rotating. Afterwards if there is any deviation in antenna position due to any circumstances then automatically it reaches to desired position using motors. Also if we want to change the antenna position (may be to track other satellite) then we just change azimuth angle and elevation angle and again antenna moves to new modified position.
This is the description of actual system. It consists of big and heavy motors that can take the load and rotate dish antenna of size varies from 3 to 15 meter. The RVDT are chosen (or even custom made) as per desired degree of rotation of antenna. It gives corresponding analog voltage output as per the position of antenna changes. Entire system is precisely calibrated with respect to RVDT output as per antenna angle position in both dimensions.
For example, consider the RVDT have angular range of -45o to +45o and corresponding analog output is 0 to 5 V. That means for 90o change in angle the voltage change variation is 5V. So for each degree change in angle the output voltage changes by 5 / 90 = 0.055 = 55 mV (aprox.). Now if this RVDT is used in system such a way that as antenna moves from 0o to 90o it gives output as 0 to 5 V then the every degree change in antenna position sensed as ±55 mV change in voltage output. The control system senses this voltage and generates signals to drive motors. The motors and corresponding gear mechanism is also designed such that can rotate antenna in the range from 0o to 90o (or 180o or even more) in step of 1o in both dimensions. Generally elevation angle range is from 0o to 90o and azimuth angle range may be 0o to 180o or even completely 360o.
This is how actual system is designed and it works. But here I have discussed the demonstration of such system.
The figure shows the arrangement for system. There are two motors. Both motors are DC gear motor of 12 V with 10 RPM speed. The motor that rotates dish in horizontal plane is known as azimuth motor and another motor rotates it in vertical plane that is elevation motor. There are two opto-interrupt sensors that are used to provide feedback of motor angular position. It uses encoding wheel that is attached with shaft of each motor. The encoding wheel has holes (slots) at 10o, 20o, 30o, like wise. The arrangement is done in such a way that as motor rotates, the wheel also rotates, its holes pass through the gap of sensor and it generates one pulse. That means the sensor generates one pulse per 10o of motor rotation. The figure itself describes how the entire arrangement is done although let me discuss it step by step
• Entire system is set up on wooden box that is housing for circuit and it serves as base or platform for entire mechanism.
• 1st DC motor (azimuth motor) is fixed inside wooden box using bolt and screws. The encoding wheel (azimuth wheel) is attached with its shaft as shown
• MOC7811 sensor 1 (Azimuth sensor) is also mounted vertically using small wooden stand on same wooden platform such a way that the holes of azimuth encoding wheel passes through the gap of sensor
• A U shape metal strip of around 2 inch wide is directly welded with shaft of DC motor. one side of U shape is quite long with respect to other as shown.
• This strip is used to mount 2nd DC motor and another sensor. 2nd DC motor (elevation motor) is mounted on U-strip using mounting clamp and screws on shorter side while sensor 2 (elevation sensor) is fixed at the end of longer arm (side)
• A dish (made up of cardboard and aluminum foil) is directly fixed with shaft of this motor 2. 2nd Encoding wheel (elevation wheel) is also attached at the end of motor 2 shaft as shown
• This wheel and elevation sensor are again fixed in such a way that the holes of wheel pass through the gap of sensor
Here is the snap of model.
Working of demonstration model: –
• Initially the angle of both motors are set to 0o on encoding wheel. Means dish antenna has 0o azimuth angle and 0o elevation angle
• The azimuth angle can be set from 0o to 350o in step of 10o. The user can set the desire angle using push buttons
• Next the user has to set elevation angle. It can be set from 0o to 70o in step of 10o using push buttons
• When both angles are set, the user presses another push button to rotate the dish
• As the button is pressed, azimuth motor starts rotating to set azimuth angle. As the motor rotates, the encoding wheel also rotates and its holes pass through sensor gap. The sensor generates pulses that give feedback of motor’s angular position. The motor rotates till the set angle and motor actual rotation angle becomes equal. If the set angle is more than actual motor angle then motor rotates CW direction and if set angle is less, motor rotates CCW direction
• Next elevation motor starts rotating. It rotates dish as well as 2nd encoding wheel. Again motor rotates till the set angle and motor actual rotation angle becomes equal. It also rotates CW or CCW as per the set angle is more or less than actual angle
• Thus the dish antenna attains desire angular position in azimuth and elevation planes
As shown in figure the circuit is build using sensors MOC7811, motor driver chip L293D, 20×4 LCD and micro controller ATMega16.
• Sensor circuits are built around MOC7811. Both sensor circuits are identical. Internal IR LED is given 5 V supply through current limiting resistor of 330E and photo transistor is connected in switch configuration using external 1K resistor. The final output of sensor circuit is through collector of photo transistor
• Both sensor outputs are connected to external interrupt pins PD2 and PD3 of ATMega16.
• PORTA pins PA0 to PA4 are connected to ground through resistor network (5 resistors of 1K). Five push buttons are connected with these pins such that when button is pressed logic 1 is given as input. Rest of the pins of PORTA are connected with Vcc
• PORTC drives LCD data pins D0 – D7. Two control pins Rs and En or LCD are connected with PORTB pins PB4 and PB5 respectively. RW pin of LCD is connected to ground to make it write enable
• PORTB pins PB0 – PB3 drives 2 DC motors through L293D chip. These pins are connected to input of L293D and two motors are connected with outputs of L293D
• A 16 MHz crystal is connected to crystal input pins of ATMega16. Two 22pf capacitors are connected for biasing and stability of crystal
• Reset button connected as shown with reset input pin to provide manual reset to micro controller
• Initially LCD shows set AZ angle and set EL angle as 0o. Also shows current AZ angle and EL angle as 0o.
• User has to set AZ angle and EL angle by pressing AZ angle inc/dec buttons and EL angle inc/dec buttons
• Every time when button is pressed the angle is changed by 10o
• After setting angles to rotate dish button is pressed. Both motor rotates one by one till the dish antenna angles matches with set azimuth angle and elevation angle
• Software is written in C language
• Compiled using AVR studio 4
• Tested using AVR simulatro1 for ATmega16 device (available with AVR studio 4)