You are on page 1of 4

Digital implementation of flexible fault tolerant servo system in FPGA

Nitha.P.K, Member, IEEE and 2 V M Senthilkumar

Student , Associate professor

Electronics and Communication Department, Vivekanandha College of Engineering for Women Erode, Tamilnadu,
Abstract servomechanism, sometimes shortened to servo, is automatic device that uses error-sensing negative feedback to correct the performance of a mechanism and is defined by its function. It usually includes an built in encoder. The term correctly applies only to systems where the feedback or errorcorrection signals help control mechanical position. For example, an automotive power window control is not a servomechanism, since there is no automatic feedback which controls position - the operator does this by direct observation. By contrast a car's cruise control use closed loop feedback, which defines it as a servomechanism. In this paper, a new method of controlling position of DC Servomotor using Field Programmable Gate Array (FPGA) is proposed. FPGA controller is used to generate direction and the number of pulses required to rotate for a defined angle. Pulses are sent as a square wave, the number of pulses determines angle of rotation and speed is determined by the frequency of square wave. The proposed control scheme has been realized using XILINX FPGA SPARTAN 3E model Keywords: negative feedback, encoder, cruise control, closed loop feedback, FPGA (Field Programmable Gate Array) Fig 1. The D C servo motor control structure


The DC servomotor considered in the paper is a permanent magnet DC motor as shown in Fig. 2. The voltage and electromagnetic torque equation can be expressed as : Va = Ra+ ia+ La Vb= Kb+ m

+ Vb

Ta= Kt ia(t) A DC servo motor is used as an actuator to drive a load. It is usually a DC motor of low power rating. DC servomotors have a high ratio of starting torque to inertia and therefore they have a faster dynamic response. The speed torque characteristic of this motor is flat over a wide range, since the armature reaction is negligible. Armature of a DC servo motor is specially designed to have low inertia. Wound field DC motors can be controlled by either controlling the armature voltage or controlling the field current. The proposed scheme for DC motor position servo control is shown in Fig. 1. The current control loop is a current controlled pulse width modulation voltage source inverter, which is widely applied in high performance servo drivers. The outer loop controller is designed to achieve a fast and accurate servo tracking response under load disturbance and plant parameter variations. The dynamics characteristic of such systems are very complex and highly nonlinear, a conventional linear controller may not assure satisfactory requirements. The torque, velocity and position can be related by: Tm =Rm

+ Bm m+ Tl

m= m dt where ia is the armature current, Ra is the armature resistance, La is the armature inductance, Kb is the back-EMF constant, Kt is the torque constant, Jm is the inertia of the motor rotor, Bm is the viscous coefficient, Va is the armature voltage, Vb is the back-EMF, Tm is the motor torque, TL is the load torque, m is the motor velocity, m is the motor displacement

Fig 2. The D C servomotor modeling

The PWM-VSI as shown in Fig.1 can be simplified as a constant gain : Ka=Vdc/2 Ed Fig 4. Resolution of DC motor where Vdc is the DC supply voltage in the VSI and Ed are the triangular peak values in the PWM. Thus, the block diagram current controlled loop is shown in Fig. 3

Consider a DC motor which has a resolution of 0 to 180. The total time period of the motor is given by 20 ms. This means that an uninterrupted clock of 20 ms has to be given continuously. The direction is assigned using 0 and 1. 0 for clockwise direction and 1 for negative direction. The reference point is taken as 90,because if the angle is changed, direction of motion is determined based on 90 angle is for eg:+120, it can be obtained by adding 30 with reference 90.thus there is a clockwise motion for the DC motor. Actually 0.8 ms is the time period to start 0. It will further incremented to 1.6 ms,2.4 ms respectively for 90 and 180. Since we are taking 90 as the reference , time period for clockwise and counter clockwise is determined by either adding with 1.6 ms or subtracting from 1.6 ms.

Fig 3. Block diagram of the motor with current controlled loop

III.Working principle of DC servo motor In case of field controlled dc motor, the field is excited by the amplified error signal. The armature winding is energized from a constant current source. Torque developed is proportional to field current (Ifl) upto saturation level. This method is applied in servomotors which are small. It has longer time constant due to highly inductive field circuit so dynamic response is slower than armature controlled dc motor. But in armature controlled dc motor, the motor armature is energized by amplified error signal and field is supplied from a constant current source. High field flux density also increases torque sensitivity of motor (torque proportional to Ia) . Here dynamic response is faster because it has shorter time constant of the resistive circuit. A DC servo motor has 3 inputs namely ground, power supply and control signal. The signal which is used to control the DC motor is pulse width modulated (PWM) signals.

Fig 5.Time period of PWM


Simulation is done by considering the time period of PWM at different angles.

motors to drive robots' wheels. The theory behind this modification is to make the servo think that the output shaft is always at the 90 degree mark. This is done by removing the feedback sensor, and replacing it with an equivalent circuit that creates the same readings as the sensor being at 90 degrees. Thus, giving it the signal for degrees less than 90 degrees will cause the motor to turn on full speed in one direction. The signal for degrees greater than 90 degrees will cause the motor to go the opposite direction. Since the feedback from the output is disconnected, the servo will continue in the appropriate direction as long as the signal remains. The result of this is a really nice compact gear head motor with built in electronics. The interface to this motor unit is a 1 wire control line, +5 volts for power, and a ground. There are actually only two modifications to make to the servo motor. 1. Replace the position sensing potentiometer with an equivalent resistor network

Fig 6. PWM at reference position

2. Remove the mechanical stop from the output shaft The modifications need to be provided are: 1. Small philips screwdriver for opening the case 2. A soldering iron 3. A desoldering pumps or solder wick for removing the poteniometer 4. A sharp knife or wire cutters for removing the mechanical stop 5. Two 2.2k resistors The steps for the modifications. 1. Open the case by removing the 4 screws located at the bottom of the servo. The bottom plate should come off easily. Remove the top of the case.The gears under the top case, a several blobs of white grease. 2. Be careful to note how the gears arranged, and remove them from the top of the servo. The large fine tooth gear in the middle does not need to be removed. 3. Locate and remove the two small philips head screws on the the case near one of the shafts. These screws go through the top case and into the drive motor.. 4. Next, it is required to remove the circuit board carefully from the case. The board should slide out with the motor and potentiometer attached. 5. Now for the actual modifications. First, it is required to de solder the potentiometer from the board.

Fig 7. Clock wise rotation at +120

Fig 8.counter clockwise rotation at -120 V.Application of servo motor The servo motor rotates less than 360 degrees. They can, however, be modified into continuously evolvable DC gear head 6. Once the pot has been removed, it is needed to wire in the resistor network in its place. To do this, place the resistors side by side and twist one pair of leads. Solder them together. 7. Now, reassemble the circuit board into the case.

8. Before reinstalling the gears, it is needed to modify the gear with the output shaft so that the mechanical stop is removed. The mechanical stop is a small tab of plastic on the lower gear surface. This should be cut down flush with the surface by using a wire cutter or a sharp knife. 9. Replace the gears as they were when the motor apart, replace the top of the case, the bottom plate, and the screws. The motor should now be able to turn all the way around

[7] Pimentel, J.C.G. ,Hoang Le-Huy A VHDL-based methodology to develop high performance servo drivers ,2000

VI.Results and Conclusion

The written code is simulated using Modelsim. The simulation results for different inputs are shown in Fig.6,7,8. The motor reaches the required position in one of the direction (clockwise or anticlockwise) that takes less possible time. The motor rotations in degrees for few inputs are shown in Table I. The result shows that the motor rotates with the minimum of 0 % error to maximum of 8%. The maximum error can be reduced to 1% if we consider the motor that takes3600 pulses to rotate 360 degrees.

Sl no

Angle (D) (0360) 0 22 13 207 05

Input from keyboard (Angle/.09) 0 24 14 230 05


1 2 3 4 5

0 0 1 1 1 Table 1 REFERENCES:

Motor rotatn from current positon(D) 0 21.6 09 165.6 157.32

Motor rotatn from refernce positon(D) 0 21.7 12.7 207.2 4.32

[1] Kantawong, Songkran , Development of RFID dressing robot using DC servo motor with fuzzy-PID control system, 4-6 Sept. 2013 [2] Puneet Pahuja, Sushil Kr. Singh and HM Rai, Design of Robust Position Control ofDC Servo Motor Using QFT, VSRD-IJEECE, Vol. 2 (3), 2012, 135-143 [3]Rajasekhar,A. Abraham, A. ; Kunathi, P. ; Pant, M., Fractional order speed control of DC motor using levy mutated Artificial Bee Colony Algorithm, 11-14 Dec. 2011 [4] Kariyappa B. S., Hariprasad S. A., and R. Nagaraj, Position Control of an AC Servo Motor Using VHDL & FPGA,2009 [5] Phongsak Phakamach, Control of a DC Servomotor Using Fuzzy Logic Sliding mode Model Following Controller, 2009 [6]Monmasson,E. Cergy-Pontoise Pontoise Cirstea, M.N.FPGA Design Methodology for Industrial Control SystemsA Review, Aug. 2007