Control of a Brushless D.C. Motor12 zones in 360 degreesof mechanical rotation123456BACsrtController110Source: Eastern Air Devices, Inc. Brushless DC Motor Brochure120 0 hall spacing ispreferred over 60 0spacing sinceunpowered orunconnected sensorsproduce 111 or 000codes, which can beused for faultdetection.
BLDC CommutationQ1Fault input signalQ3Q4Q5Q6Q2Hall CHall BHall A
Commutation of a Brushless DC MotorNSNSNNSNSCCCCAAAABBBBN NSSNNS SNSNSNSNSNNSSNNSSNSNSNNSSNSSNNNSSNNSSSNSNSNSNNSSNCCCCAAAABBBBCCCCAAAABBBBCCCCAAAABBBBCCCCAAAABBBBCCCCAAAABBBBNSNSNSSN
Sensorless BLDC ControlControllerSource: Eastern Air Devices, Inc. Brushless DC Motor BrochureConditioning
Back EMF in a Single Loop of WireSource: Electric Drives, an Integrative Approach,by Ned Mohan, University of Minn. Printing Services, 2000NSUniform airgap flux density
Source: Electric Drives, an Integrative Approach,by Ned Mohan, University of Minn. Printing Services, 2000UniformwindingdensityBack EMF in a Multi-turn Winding
• In a sensorless BLDC system, only two coils are “on” at any moment in time. Theequivalent circuit of the motor with only two phases “on” is shown below• After the inductive flyback associated with Za has extinguished, The internalvoltages are visible when measuring Va. Assuming balanced windings where Zband Zc are equal, and Eb and Ec are equal, then the voltage at node N = Vdc_link/2.Therefore, the zero-crossing of Ea occurs when the Va reading is Vdc_link/2.Sensorless Control of BLDC MotorsEaEbEcVdc_link ZbZcZaVaIN
96% BLDC Motor EfficiencyUsing iron based amorphouscore material, Japaneseresearchers at Tokai Universitybreak 96% efficiency barrier!≈ 100W
High power output per frame sizeEasy to control with trapezoidal commutationHigh efficiency due to small rotor lossesLow profile designs possibleExcellent high speed performanceStructure inherently allows heat to be removed easierSlightly more torque ripple than sinusoidal motorsField weakening requires additional currentPermanent magnetic field causes viscous dragPermanent magnets can be demagnetized at high temp.AdvantagesDisadvantagesBrushless DC Motor Summary
Brushless DC with Hall FeedbackStellaris LM3S8971
Permanent Magnet AC Motor• This motor exhibits a smoothly rotating magnetic fieldwhere the magnetic gradient of the stator flux is illustratedby the color shading. There is no commutation to causemotor jerking. But how do you create such a smoothlyrotating magnetic field????Animation byKen Berringer
Sinusoidal Winding DistributionStator winding density is sinusoidally distributed,thus creating a sinusoidally distributed flux densityPhase A shownSource: Electric Drives, an Integrative Approach,by Ned Mohan, University of Minn. Printing Services, 2000
Source: Mahmoud Riaz, Sc.D., Professor of Electrical Engineering, Department of Electrical and Computer Engineering,University of MinnesotaFlux Resulting from Sinusoidal CurrentPretty cool,but norotatingvector!
PMSM Motors SummaryHigh power output per frame sizeHigh efficiency due to small rotor lossesLow profile designs possibleVery low torque rippleStructure inherently allows heat to be removed easierZero speed sensorless operation possible with IPM motorsMore elaborate control required compared to BLDCHigh rotor angle accuracy required vs. BLDC trapezoidalField weakening requires additional currentPermanent magnetic field causes viscous dragPermanent magnets can be demagnetized at high temp.(not as much of a problem with IPM motors)AdvantagesDisadvantages
PMSM Load AngleAnimation byKen Berringer0.0s 0.3s 0.6s 0.9s 1.2s 1.5s 1.8s 2.1s 2.4s 2.7s 3.0s 3.3s 3.6s-200V-150V-100V-50V0V50V100V150V200VV(treaction)Simulated Reactance Torqueas a function of angle deltafrom 2005 Prius Traction Motor0o 30o 60o 90o 120o 150o 180o-30o-60o-90o-120o-150o-180o501001502000-50-100-150-200Newton-MetersMaximum torque per amp
Orientation of Field for Max TorqueSource: Electric Drives, an Integrative Approach, by Ned Mohan, University of Minn. Printing Services, 2000(Reluctance torque assumed to be zero)Axis of rotor flux is fixed with respect to the rotor,i.e., it is “synchronous”.SN
+24 V0.015PWM1PWM1PWM2PWM2PWM1PWM2PIController-+ADC1Desired CurrentMeasured CurrentError SignalMeasure current already flowing in the motor.1.Compare the measured current with the desired current, and generate an error signal.2.Amplify the error signal to generate a correction voltage.3.Modulate the correction voltage onto the motor terminals.4.Commutator keepsrotor and stator fieldsproperly aligned!Brush DC MotorHow Do You Control Torqueon a DC Motor?Texas InstrumentsDave’sMotor ControlCenter
[ ]qsdr IPTorque λ223=Constant(for now)How Do You Control Torque on a PMSM?ConstantAdjustableSNSNSNInterrupt:Measure rotor flux angleRegulate current vector to be 90o wrt rotor fluxExit ISRInterrupt:Measure new rotor flux angleRegulate current vector to be 90o wrt rotor fluxExit ISRInterrupt:Measure new rotor flux angleRegulate current vector to be 90o wrt rotor fluxExit ISR
ABCABCibicia(implied)Controllerwith A/DiaibicMeasure and . FromKirkoff’s current law, calculate .ia ibicA, B, and C axes are “fixed” withrespect to the motor housing. Thisreference frame is also called the“stationary frame” or “stator frame”.1. Measure current already flowing in the motor.net current vectoriaibicTexas InstrumentsDave’sMotor ControlCenter
ABCsiibicia2. Compare the measured current (vector) with the desiredcurrent (vector), and generate error signals.We must regulate the current vector magnitude AND angleby regulating ia, ib, and ic.Rotor flux axis?
NSθdPart A. Measure the rotor angle to determine if thenet current vector is oriented at 90o with respect tothe rotor flux.This is called the “direct” or “d” axisUsually accomplished with aresolver or encoder.2. Compare the measured current (vector) with the desiredcurrent (vector), and generate error signals.
αiβiPart B. Convert the three phasecurrent vectors into twoorthogonal vectors that will resultin the same net current vector. Inother words, convert the 3-phasemotor to a 2-phase motor. Thenwe only have two current valuesto regulate instead of three!This is often referred to as theFORWARD CLARKTRANSFORMATIONABCsiaii 23=αcb iii 2323−=βia(t) ib(t) ic(t) iβ(t)iα(t)ibicia2. Compare the measured current (vector) with the desiredcurrent (vector), and generate error signals.
αiβiABCsiddqdddiiiiiiθθθθβαβαcossinsincos+−=+=4 trig calulations7 multiplications3 additionsTotalθdd axisq axisrotor flux axisiqidPart C. Jump up on therotating reference frame,whose x-axis is the rotor fluxaxis.2. Compare the measured current (vector) with the desiredcurrent (vector), and generate error signals.
Part D. and are handled independently. Since thecomparison is performed in the rotating frame, motor AC frequencyis not seen. Thus, they are DC quantities!id +-error(t)+-error(t)iqiq (commanded)(measured)can however be used to weaken the field of the machine.controls amount of torque generated by the motori di qid iq(commanded)id(measured)Under normal conditions, we have allthe d-axis flux we need supplied bythe permanent magnets in the rotor.So commanded id is set to zero.This is how much torque we want!2. Compare the measured current (vector) with the desiredcurrent (vector), and generate error signals.
id∫ IP+++-error(t)∫ IP+++-error(t)(commanded)id(measured)iqiq(commanded)(measured)vdvq3. Amplify the error signals to generate correction voltages.The PI regulator is a good choice for current regulation
Voltage vectorαvβvPart A. Transfer the voltage vectorsback on to the stationary rectangularcoordinate system.dqdddqddvvvvvvθθθθβαcossinsincos+=−=d axisq axisθdABCvdvqrotor flux axis4. Modulate the correction voltages onto the motor terminals.We now need to “jump off”of the rotating referenceframe.vd (t)vq(t)vα (t) vβ (t)
αvβvABCvavcv bβαβααvvvvvvvvcba3131313132−−=+−==Part B. Next, we transform thevoltage vectors from therectangular coordinate systemto three phase vectors.va(t) vb(t) vc(t)vα (t) vβ (t)Reverse Clark Transformation4. Modulate the correction voltages onto the motor terminals.Voltage Vector
Phase A - topPhase B - topPhase B - bottomPhase C - topPhase C - bottomPhase A - bottom4. Modulate the correction voltages onto the motor terminals.Over time, under steady-state conditions, the correction voltagesva, vb, and vc will be sine waves phase shifted by 120o.
AC InAC to DCConverterThreePhaseInverterGateDriversDC BusGateDriverPowerSuppliesAnalogConditioningSerialInterfaceF2803x12 BitADC TriggerFaultePWMModuleSyncIsolationeQEPModuleCommandedSpeedActual Speed+-PIControllerFieldOrientedControllerCommanded iqCommanded idPhaseCurrentReconstructioniciaSpaceVectorModulationVαVβibusBusOver-VoltageGPIO or PWMSpeedCalculationibVbusMotorPWMsOvercurrentBusCurrentBusVoltageProcessor Groundθ(t)θ(t)
θθ.TorqueTransmissionControllerCANVehicleSpeedPowerInverterPWMsCurrentFeedbackMotor θ feedbackEncoder I/Ftorque assistTo steering rackEssentially,a torque amplifier!PMSM3Texas InstrumentsDave’sMotor ControlCenterFOC in Electric Power Steeringresolver
MathematicalModel of ProcessΣ+-MeasurementEstimateError feedbackProcess ΣNoiseModel Based Filtering
( ) ( ) ( ) ( ) ( )( ) ( )⎟⎠⎞⎜⎝⎛−+−Δ=Δ⎟⎠⎞⎜⎝⎛−+Δ+=+∧∧∧∧∧nynynynynynynynynyβα)1(ˆ)(ˆ1Better tracking is obtained when α and β are highBetter filtering is obtained when α and β are lowΣΣ Σ ΣZ-1Z-1αβ+-+++ ++( )1+∧ny( )ny∧( )ny( )ny∧Δy correctionΔy correction( )nerrorIntegrator Integrator+^ ^Tracking Filters
Delay DelayDelay++ +X(n)X(n-1)Y(n+1)Y(n)Y(n-1)Accumulator+α−12−α−βα+β−αThe tracking filter is revealed to be a simple 2nd order IIR filter as shown below.The Tracking Filter…Unmasked!
ΣΣ Σ ΣZ-1Z-1αβ+-+++ ++Integrator Integrator+MeasuredPositionEstimatedPositionEstimatedVelocityEstimatedAccelerationErrorThis form of the filter reveals thestate variables of the system.State Variable Representation
Observers literally recreate the desired signal mathematically (great noise decoupling).The “guess” is corrected by comparison with an observable signal.Observers are used to “observe” a quantity which is difficult to measureby mathematically modeling the system.Model of H(z)Integrator IntegratorαβSource: Motion Controller Employs DSP Technology,Robert van der Kruk and John Scannell,Phillips Centre for Manufacturing Technology,PCIM – September, 1988By providing an additional feedforward input, the tracking filter canmake better output estimates. It then takes the form of an OBSERVER.Can be designed tohave zero (or nearzero) estimation lag.Parameter Estimation with Observers
0ms 20ms 40ms 60ms 80ms 100ms 120ms 140ms 160ms 180ms 200ms-15V-12V-9V-6V-3V0V3V6V9V12V15V18V-20V0V20V40V60V80V100V120V140V160V180V200V220V0.0KV0.2KV0.4KV0.6KV0.8KV1.0KV1.2KV1.4KV1.6KV1.8KV2.0KV2.2KVV(i_sampled)V(speed) V(encoder_speed)V(counts)0ms 20ms 40ms 60ms 80ms 100ms 120ms 140ms 160ms 180ms 200ms-15V-12V-9V-6V-3V0V3V6V9V12V15V18V-20V0V20V40V60V80V100V120V140V160V180V200V220V0.0KV0.2KV0.4KV0.6KV0.8KV1.0KV1.2KV1.4KV1.6KV1.8KV2.0KV2.2KVV(i_sampled)V(speed^)V(counts)Servo Performance with VelocityDirectly from Encoder vs. ObserverPositionVelocityCurrentVelocity from EncoderVelocity from ObserverVelocity from EncoderVelocity from ObserverActual VelocityVelocity from EncoderVelocity from ObserverOne revolution = 2000 encoder counts0.6 NM Load Torque Disturbance
sR lsL mLsynEk ωstator voltagesL( )( ) ⎥⎦⎤⎢⎣⎡−⋅+⎥⎦⎤⎢⎣⎡⋅+⎥⎦⎤⎢⎣⎡⋅=⎥⎦⎤⎢⎣⎡eesynEss kiipLiiRvvθθωβαβαβαcossinAssuming no saliency, stationary frame equations are:Rotor with surface-mount magnetsNon-salient design (magnetically round))Back EMF componentSensorless Sinusoidal PMSM Control
Dual Motor Control with One Piccolo!!AC InputAC/DCconversion(with PFC)3 PhaseMotor Driver3 PhaseMotor DriverSystemCommunicationF2802xDual Sensorless FOC with Sliding Mode ObserversDual Sensorless FOC with Sliding Mode ObserversDigital PFC implemented in the CLADigital PFC implemented in the CLA
Axis of rotor flux is fixed with respect to the rotor,i.e., it is “synchronous”.Source: Electric Machinery, by A. E. Fitzgerald, Charles Kingsley Jr., and Stephen D. Umans, McGraw-Hill, 1990( )[ ]qsdsqsdsqsdr IILLIPTorque −+= λ223Reaction TorqueReluctance TorquePermanent Magnet RotorNS…but what about SALIENT Machines?
Effect of Saliency on Optimum Torque AngleNew angle for optimum torque
C2000 Signal Processing LibrariesSignal Processing Libraries & Applications Software Literature #ACI3-1: Control with Constant V/Hz SPRC194ACI3-3: Sensored Indirect Flux Vector Control SPRC207ACI3-3: Sensored Indirect Flux Vector Control (simulation) SPRC208ACI3-4: Sensorless Direct Flux Vector Control SPRC195ACI3-4: Sensorless Direct Flux Vector Control (simulation) SPRC209PMSM3-1: Sensored Field Oriented Control using QEP SPRC210PMSM3-2: Sensorless Field Oriented Control SPRC197PMSM3-3: Sensored Field Oriented Control using Resolver SPRC211PMSM3-4: Sensored Position Control using QEP SPRC212BLDC3-1: Sensored Trapezoidal Control using Hall Sensors SPRC213BLDC3-2: Sensorless Trapezoidal Drive SPRC196DCMOTOR: Speed & Position Control using QEP without Index SPRC214Digital Motor Control Library (F/C280x) SPRC215Communications Driver Library SPRC183DSP Fast Fourier Transform (FFT) Library SPRC081DSP Filter Library SPRC082DSP Fixed-Point Math Library SPRC085DSP IQ Math Library SPRC087DSP Signal Generator Library SPRC083DSP Software Test Bench (STB) Library SPRC084C28x FPU Fast RTS Library SPRC664DSP2803x C/C++ Header Files and Peripheral Examples SPRC892Available from TI Website ⇒ http://www.ti.com/c2000
C2000 Modeling & Code Generation• Link for Code Composer Studio• Real Time Workshop Embedded Coder• Target for TI C2000Compile& LinkC/ASMCodeTexas InstrumentsCode ComposerStudio™EnvironmentDownloadDebugTI C2000DSCMathWorks: Modeling EnvironmentMATLAB®Simulink®Stateflow®The MathworksSupport for C2000VisSim/Embedded Controls Developer: ModelBased Development for TI C2000www.vissim.com