Example: barber

Sensored 3-Phase BLDC Motor Control Using …

ApplicationReportSLAA503 July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 BhargaviNisarga, ( bldc )motorsareelectronicallycommutatedm otorsthatoffermanyadvantagesoverbrushedD Cmotorsand,therefore, sensored3- phasebldc motorcontrolsolutionusingMSP430 : (OneElectricalCycle)..44 Flowchart (PIController)..119 Flowchart C a ,ExcelareregisteredtrademarksofMicrosoft Corporationin July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedSpeed ControlInputMSP 430 Open Loop ControlMotor (rotor)anda fixedarmature(stator).Anelectroniccontro lleris usedformotorcommutationinsteadofthebrush edcommutationusedin ,whichincludeincreasedspeedvstorqueeffic iency,longerlife(asnobrushesareused),noi selessoperation,andincreasedefficiencyin convertingelectricalpowertomechanicalpow er(especiallybecausetherearenoelectrical andfrictionallossesduetobrushedcommutati on).

Application Report SLAA503–July 2011 Sensored 3-PhaseBLDC Motor Control Using MSP430 Bhargavi Nisarga, Daniel Torres.....

Tags:

  Phases, Using, Control, Motor, Bldc, Sensored 3 phase bldc motor control using, Sensored, Sensored 3 phasebldc motor control using, Phasebldc

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Sensored 3-Phase BLDC Motor Control Using …

1 ApplicationReportSLAA503 July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 BhargaviNisarga, ( bldc )motorsareelectronicallycommutatedm otorsthatoffermanyadvantagesoverbrushedD Cmotorsand,therefore, sensored3- phasebldc motorcontrolsolutionusingMSP430 : (OneElectricalCycle)..44 Flowchart (PIController)..119 Flowchart C a ,ExcelareregisteredtrademarksofMicrosoft Corporationin July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedSpeed ControlInputMSP 430 Open Loop ControlMotor (rotor)anda fixedarmature(stator).Anelectroniccontro lleris usedformotorcommutationinsteadofthebrush edcommutationusedin ,whichincludeincreasedspeedvstorqueeffic iency,longerlife(asnobrushesareused),noi selessoperation,andincreasedefficiencyin convertingelectricalpowertomechanicalpow er(especiallybecausetherearenoelectrical andfrictionallossesduetobrushedcommutati on).

2 Themotorcommutationin bldc motorsis implementedbyanelectroniccontrollerand,t odeterminetherotorpositionandtoknowwhent ocommutate,eitherHallsensors(sensoredcom mutation)orthebackEMFgeneratedin thestatorwindingsofthemotor(sensorlessco mmutation) ,asnobackEMFis presentwhenthemotorisstationary;thisis workedaroundbystartingthemotorfromanarbi traryposition;however, , bldc motorsareavailablein 1-phase,2-phase, typicalHallsensored3- phasebldc motorcontrolis discussedin a simplecontrolsystemin whichthesystemdoesnottracktheoutputofthe processit is ,open-loopcontroldoesnotusefeedbacktodet ermineif usedin systemsin whichtherelationshipbetweeninputandthere sultantstateis well-definedandthefeedbackis.

3 Simplicityin designingthecontrolsystem Lowercostasthefeedbacksignalchainis ,open-loopcontrolis thehalfbridgesofthemotor-drivecircuitand thisin showsa ,theopen-loopcontrolsystemimplementedint heMSP430eitherincreasesordecreasesthePWM dutycycle,whichin July2011 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedVCCADCO penLoopControlTimer BPWMO utputsMSP430 DRIVERPWM1 PWM2 PWM3 PWM4 PWM5 PWM6 Vmotor +Vmotor -LS_ULS_VLS_WHS_WHS_VHS_UPWM2 PWM1 PWM4 PWM3 PWM6 PWM53-ph CommutationHallUHallVHallWNSSUVWM otor Drive CircuitMotorMSP430 Open measuredbytheanalog-to-digital(A/D)conve rterintegratedin linearrelationshipbetweentheADCinputvalu emeasuredandmotorspeedis assumedin thisimplementation,suchthatADCoutputrang ingfrom0 tomaximumcountscorrespondstomotorspeedra ngingfrom0%to100%.

4 Discussedin toVCC. Toboostthevoltagetodrivemotorsathighervo ltagelevels(Vmotor), thethreehalfbridgesareallNFETs,andthePWM signalwithvariabledutycycleis ,anditsdutycycleis usedtocontrolthecurrentthroughthepowerFE Tsandmotorwindingsand,in turn, , Hallsensorstatechangeevent, andFigure3 showthe3- phasebldc motorcommutationsequencein accordancewiththestandard120 July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedHall Inputs(U|V|W)State123456 Direction = CCW110101001011010100 PWM2HS_U PWM1LS_U PWM4HS_V PWM3LS_V PWM6HS_W PWM5LS_W (U|V|W)= ( | | )StateDIR= CWDIR= CCWA ctivePWMsandPowerFETs1001110 PWM4,PWM5HS_V,LS_W2011100 PWM2,PWM5HS_U,LS_W3010101 PWM2,PWM3HS_U,LS_V4110001 PWM6,PWM3HS_W,LS_V5100011 PWM6,PWM1HS_W,LS_U6101010 PWM4,PWM1HS_V, (OneElectricalCycle) thedemofirmwarethatis UserConfigurableParameterDefinitionsConf igurableParameter(Definedinmain_open_loo pHeaderFile)CommentsDemoFirmwareValuesCl ockTimingDefinitionsSYSTEM_FREQD efinesMCLK= SMCLK= TimerPWM16000kHzbasefrequency(inkHz)

5 4 Sensored3-PhaseBLDCM otorControlUsingMSP430 SLAA503 July2011 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporated16 MHz= 1023 kHzSYSTEM_FREQPWM_FREQ 122= 41023122 Timer_PWM_Period Dutycycle_MinTimer_PWM_Period 100 kHz 100 ms= 1510 PWM_FREQ MOTOR_STARTUP_TIME=DUTYCYCLE_CHANGE_PERI ODS = 2 Counts100 UserConfigurableParameterDefinitions(con tinued)ConfigurableParameter(Definedinma in_open_loopHeaderFile)CommentsDemoFirmw areValuesPWM_FREQD efinestimerPWMswitchingfrequency15640Hz( inHz)(seeNote(1))TIMER_PWM_PERIODR epresentsthenumberofdutycyclestepsorthen umberofmotorspeedsteps=SPEEDIN_PWM_FACTO R=(seeNote(2))DUTYCYCLE_MIND efinesminimumPWMdutycycleor5%minimummoto rspeed(inpercentage)MIN_PWM_DUTYCYCLED efinesminimummotorspeed(innumber1023 51 Countsofdutycyclecounts)=MotorStart-Upan dOpen-LoopControlDefinitionsMOTOR_STARTU P_TIMED efinesmotorstart-uptime(inms)100msDUTYCY CLE_CHANGE_PERIODSD efinesthenumberoftimerPWMperiods10 PWMP eriodsafterwhichPWMdutycycleupdateisexpe ctedduringmotorstart-uproutine(seeNote(3 ))

6 STARTUP_STEPSD efinesthenumberofPWMdutycycleupdatesteps duringmotorstart-upADC_SAMPLING_PWM_PERI ODSD efinesthenumberoftimerPWMperiods1000 PWMP eriodsafterwhichPWMdutycycleupdateisexpe ctedduringmotorstart-uproutine(seeNote(3 ))MAIN_PWM_BUCKET_PERCENTD efinesthePWMdutycycleresolution( ),alsocalledthebucketstep,thatis usedtoeitherincreaseordecreasePWMdutycyc levaluesand,in turn, (seeNote(4)) =TIMER_PWM_PERIOD MAIN_PWM_BUCKET%(1)ThePWMswitchingfreque ncyshouldbeselectedsuchthatit is , a multipleof2,whichgeneratesa wholenumberforthePWM_SPEEDIN_FACTOR(whic his aratioofthemaximumADCcountstomaximumduty cyclecounts).Thismakesnormalizationandot hercomputationsin firmwaresimpler shiftleft/rightinstructionsinsteadofmult iplyanddividefunctions.

7 (2)MSP430F5529withADC12is usedin thedemofirmwareand,therefore,anADCresolu tionof212is usedin thisapplication.(3)TheTimerPWMperiodinte rvalis usedasa heartbeatsignaltokeeptrackofthePWMdutycy cleupdateandADCsamplingintervals.(4)Ensu rethattheMAIN_PWM_BUCKET_PERCENT selectedyieldsa July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 SubmitDocumentationFeedbackCopyright 2011, ,andthePWMdutycycleis directlyproportionaltothemotorspeed;ther efore,thesetermsareusedinterchangeablyin thedemofirmwareincreasesthemotorspeedfro mminimummotorspeed(pre-definedminimumPWM dutycyclevalue- MIN_PWM_DUTYCYCLE)tothedesiredspeedlevel (basedonthespeedinput)in a pre-definedperiodoftime(MOTOR_STARTUP_TI ME)andpre-definednumberofsteps(STARTUP_S TEPS).

8 Withthedesiredmotorspeedandpre-definedMO TOR_STARTUP_TIMEandSTARTUP_STEPS,thebuck etstepsizeorthedutycycleincrementvalueis computedruntimein ,in turn,themotorspeedis thedesiredspeedinputlevelis lessthantheminimummotorspeedlevel,thenth emotorspeedis July2011 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedMain()C onfigure MSP430 modulesConfigure System Clock = 16 MHzConfigure as GPIO Inputs (Hall SensorInputs)Configure TimerB PWM Outputs (PWM1-PWM6)with MIN_PWM_DUTYCYCLE andenableTimerB interrupts every PWM periodConfigure ADC to measure analog pot voltageused as Motor speed input controlInitialize variablesMotor_Status = StoppedStart_Motor()Sample_ADC =true?

9 Speed Input MeasurementTrigger ADC Conversion to sample Speed InputWait in LPM until ADC ISR exits hereAverage accumulated conversion resultsTranslate ADC conversion value tocorresponding PWM dutycycle value and updateDesired PWM DutycycleSample_ADC = falseRead Initial Hall States; Start MotorRead hall inputs to detect currentmotor stateBased on the hall input states read,update TimerB PWM output statesas per the commutation sequenceCompute Start-up dutycycle bucketsize (PWM_BucketStep) based ondesired PWM dutycycle, predefinedMOTOR_STARTUP_TIME andSTARTUP_STEPSM otor_Status = StartUpStart Timer (wait for Timer ISR)Initial Speed Input MeasurementTrigger ADC conversion to sampleinitial speed input valueTranslate ADC conversion value tocorresponding PWM dutycycle valueand update Desired PWM DutycycleNOYESS tart_Motor()Stop_Motor()

10 Disable and clear pending hall inputinterruptsDisable timer interrupts and stop allPWM outputsMotor_Status = StoppedENDStop_Motor()ENDS tart_Motor() thesystemis usedtocontrolthemotorspeedin thecurrentPWMdutycycleishigherorlowertha nthedesiredPWMdutycyclevalue,thePWMdutyc ycleis decrementedorincremented,respectively,in pre-definedPWMdutycyclebucketsteps(MAIN_ PWM_BUCKET_DC)insidetheTimerPWMISR andthis,in turn, asshownin Figure4 Open-LoopControlFunctions7 SLAA503 July2011 Sensored3-PhaseBLDCM otorControlUsingMSP430 SubmitDocumentationFeedbackCopyright 2011,TexasInstrumentsIncorporatedADC ISRPort ISR(Hall Event Occurred)Accumulate up to 4 ADC ConversionResultExit LPM on ISR exitENDADC ISRT imer_B ISR(Heart Beat Interfal)Update various interval countersPWM_Update_Counter++ADC_Sample_C ounter++Start-upMotor_Status?


Related search queries