Upload
kundan-namade
View
142
Download
7
Embed Size (px)
Citation preview
Development of DC Servo Motor Control
Presented byDhiraj s. Mahajan
MIS : 121094003M.Tech(Mechatronics)
Under the guidance ofMrs. Snehal Unde
College Of Engineering, Pune
Abstract
Servo refers to an error sensing feedback control which is used to correct the performance of a system. Servo or RC Servo Motors are DC motors equipped with a servo mechanism for precise control of angular position. This study focuses on the position feedback control problem of DC servo motors. In the paper are explained in details of dc servo motor control using pic microcontroller. This report presents a circuit diagram of the DC servomotor control board.
INTRODUCTION
The PICmicro MCU handles many functions in theservomotor application, such as:
• User control interface• Measurement of motor position• Computation of motion profile• Computation of error signal and PID compensation
algorithm• Generation of motor drive signal• Communication with non-volatile EEPROM
Memory
HARDWARE
Main Parts
DC SERVOMOTORPIC 18C452 Microcontroller
DC POWER SUPPLY RS232 (DS275)
SCHEMATIC DIAGRAM
1. DC SERVOMOTOR
A servo motor mainly consists of a DC motor, gear system, a position sensor which is mostly a potentiometer, and control electronics
Inside a DC Servo Motor
• A Pittman Inc. 9200 Series DC motor was used to develop the application source code.
• 24 VDC bus voltage• Back-EMF constant (KE) is 3.82 V/kRPM.• This motor has an internal incremental encoder providing a resolution of
500 counts-per-revolution(CPR)
• The DC motor is driven by a SGS-Thomson L6203 H-bridge driver IC that uses DMOS output devices and can deliver up to 3 A output current at supply voltages up to 52 V.
• The PWM1 output from the MCU is connected to both sides of the H-bridge driver IC with one side of the bridge driven with an inverted PWM signal.
• The quadrature pulse outputs from the encoder are connected through external pull-up resistors.
• The outputs are then filtered and decoded into up and down pulse trains with a 74HC74 dual D flip-flop.
• The primary user interface is a RS-232 connection to a host PC. A Dallas Semiconductor DS275 transceiver is used in the design.
DECODER CIRCUIT TIMING DIAGRAM
PIC Microcontroller
Peripheral Features:• High current sink/source 25 mA/25 mA• Three external interrupt pins• Timer1 module: 16-bit timer/counter• Timer2 module: 8-bit timer/counter with 8-bit period register (time-base for
PWM)• Timer3 module: 16-bit timer/counter• Addressable USART module:- Supports interrupt on Address bit• Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator Start-up Timer
(OST)• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable
operation• Programmable code protection• Power saving SLEEP mode
PIC Microcontroller
Operating Frequency : DC - 40 MHzProgram Memory : 32KCapture/Compare/PWM Modules : 2Data Memory (Bytes) : 1536Instruction Set : 75Packages : 40-pin DIP10-bit Analog-to-Digital Module : 8 i/p ch
SOFTWARE
The servomotor software performs the servo position calculations and provides a command interpreter to create and control motion profiles.
• Servo Calculations The entire servomotor function is implemented in the Interrupt Service
Routine (ISR), which must perform the following tasks:• Get current motor position• Get desired motor position• Find the position error• Determine new PWM duty cycle
Timer2, the timebase for the CCP1 module, is used to generate interrupts that time the servo calculations. This ensures that the PWM duty cycle changes are synchronous with the PWM period.
• Position Updates : UpdPos() is called to get the new motor position.• Trajectory Updates : UpdTraj() function controls the speed and
acceleration of the motor. its purpose is to determine the next required value for position, based on the current motion profile parameters.
• Error Calculation : The CalcError() function subtracts the measured motor position, mposition, from the commanded motor position in the variable position, to find the amount of position error.
• Command Interpreter : The servomotor software has a command interpreter that allows you to enter motion profile segment data,run motion profiles, and change the PID gain constants.