基于STM32的PMSMFOC软件库培训my_第1页
基于STM32的PMSMFOC软件库培训my_第2页
基于STM32的PMSMFOC软件库培训my_第3页
基于STM32的PMSMFOC软件库培训my_第4页
基于STM32的PMSMFOC软件库培训my_第5页
已阅读5页,还剩203页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STM32的PMSMFOC软件库培训MY参考文档20STM32FOCFWLIBRARYV20新功能1PDF基于STM32的PMSMFOC软件库培训_1PDF30STM32PMSMFOCLIBUPDATE_SDKV30_CHNXPDFSTM32PMSMFOCSDKV32培训课程1PDF40STM32_PMSM_SDK_V4_TRAINING_DAY1PDFSTM323PHASEPMSMMCLIBRARYDAY1V40PDF没有下载ST三相电机控制42新算法介绍PDFHANDSON_STM32_PMSMFOCSDKPDF15定子电流被分解成直轴电流IDS用于产生磁场,与转子的磁场叠加交轴电流IQS用于控制转矩(其作用等同于直流电机的电枢电流)。可进行位置控制通过瞬时转矩控制THE“MOTORPROFILER”ALGORITHMWILLDETERMINETHEFOLLOWINGPARAMETERSSTATORRESISTANCERSSTATORINDUCTANCELSBEMFCONSTANTKEKPANDKIOFSPEEDCONTROLLERNOMINALSPEEDOFTHEMOTOR一、介绍与应用STM32F100VALUELINEFOC性能1SHUNT/SENSORLESS20KHZPWM,10KHZFOCMOTORCONTROLCODESIZEIS1582KBMOTORCONTROLRAMUSAGEIS277KBFOCTOTALEXECUTIONTIMEIS6522USADCISRTIM1UPDATEISRFOCINTRODUCEDCPULOADIS652TOTALCPULOADIS7060AT8KHZFOCSTM32F103FOC性能209USECWITH3SHUNTRESISTOR145KBFLASH25KBRAM261USECWITHSINGLESHUNTRESISTOR162KBFLASH25KBRAM3SHUNTCPULOAD10KHZSAMPLINGTIME251SHUNTCPULOAD10KHZSAMPLINGTIME30STM32F103HD,双FOC驱动性能1MOTOR1,1SHUNT/SENSORLESS8KHZPWM/FOCFLUXWEAKENINGENABLEDMOTOR2,1SHUNT/SENSORLESS16KHZPWM,8KHZFOCMOTORCONTROLCODESIZEIS223KBBELOW15TIMESSINGLEMOTORCASEMOTORCONTROLRAMUSAGEIS401KBFOCSINTRODUCEDCPULOADINCLUDINGTIMXUPDATEISRSIS44TOTALCPULOAD50STM32F103HD,双FOC驱动性能2MOTOR1,3SHUNTS/SENSORLESS16KHZPWM/FOCMTPAANDFLUXWEAKENINGENABLEDMOTOR2,1SHUNT/SENSORLESS16KHZPWM,8KHZFOCMOTORCONTROLCODESIZEIS255KBMOTORCONTROLRAMUSAGEIS414KBFOCSINTRODUCEDCPULOADINCLUDINGTIMXUPDATEISRSIS626TOTALCPULOAD70FIELDORIENTEDCONTROL定子电流的幅值和相位相对于转子的磁链独立控制,因此必须读取定子的电流(1SHUNT/3SHUNT/ICS)必须读取转子的位置及速度(ENCODER/HALL/SENSORLESS算法)电流的实时控制(PI/D)不容易控制高频正弦参考值、幅值的调制及与转子磁链的耦合通过参考坐标系的转换来简化耦合问题速度及位置检测支持ENCODER成本较高,一般适用于伺服控制HALL成本较低,一般适用于马达静止或低速下也要求额定扭矩的应用SENSORLESS高频注入算法HFI适用于凸极马达(IPMSM,LDLQ)能实现马达转子位置的精确检测,即使在静止或低速下仅STM32F3和STM32F4系列支持STATEOBSERVERPLL基于马达的BEMF,使用相电流及相电压估计马达转子的位置适用于马达的转速范围额定转速的5100STATEOBSERVERCORDIC二、库20三、不同库中的不同算法30库32库中40库中42库中42库中四、电机参数测量POLEPAIRNUMBERTHENUMBEROFPOLEPAIRSISUSUALLYPROVIDEDBYTHEMOTORSUPPLIER,BUTINCASEITSNOTORIFYOUDLIKETODOUBLECHECKITCONNECTADCPOWERSUPPLYBETWEENTWOOFTHETHREEMOTORPHASESANDPROVIDEUPTO5OFTHEEXPECTEDNOMINALDCBUSVOLTAGEYOUMAYALSOSETCURRENTPROTECTIONTONOMINALMOTORCURRENTROTATETHEMOTORWITHYOURHANDS,YOUSHOULDNOTICEALITTLERESISTANCE,OTHERWISEIFYOUARENOTABLETOROTATETHEMOTOR,DECREASETHEAPPLIEDVOLTAGEIFTHEMOTORDOESNOTGENERATEANYRESISTANCE,GRADUALLYINCREASETHEAPPLIEDVOLTAGETHENUMBEROFROTORSTABLEPOSITIONSINONEMECHANICALTURNREPRESENTSTHENUMBEROFPOLEPAIRSSTATORRESISTANCEANDINDUCTANCEUSINGTHEMULTIMETER,MEASURETHEDCSTATORRESISTANCEPHASETOPHASERSANDDIVIDEITBYTWOCONNECTTHEDCVOLTAGEBETWEENTWOMOTORPHASESCONNECTTHEOSCILLOSCOPEVOLTAGEANDCURRENTPROBESASSHOWNINTHEFIGUREINCREASETHEVOLTAGEUPTOTHEVALUEWHERETHECURRENTEQUALSTHENOMINALVALUE,ROTORWITHALIGNDONTMOVETHEROTORANYMORESTATORRESISTANCEANDINDUCTANCEDISABLETHECURRENTPROTECTIONOFDCVOLTAGESOURCEUNPLUGONETERMINALOFTHEVOLTAGESOURCECABLEWITHOUTSWITCHINGITOFFPLUGTHEVOLTAGESOURCERAPIDLYANDMONITORONTHESCOPETHEVOLTAGEANDCURRENTWAVEFORMUNTILYOUGETSOMETHINGLIKETHEONESHOWNINTHEFIGURETHEMEASUREMENTISGOODIFTHEVOLTAGECANBEASSIMILATEDTOASTEPANDTHECURRENTINCREASESUCHASI1ETL/RMEASURETHETIMEREQUIREDTOCURRENTWAVEFORMTORISEUPTO63THISTIMEISLD/RSCONSTANTMULTIPLYITBYRSANDYOULLGETLDVALUEBACKEMFCONSTANTKETHEBACKEMFCONSTANTREPRESENTSTHEPROPORTIONALITYCONSTANTBETWEENTHEMECHANICALMOTORSPEEDANDTHEAMPLITUDEOFTHEBEMFINDUCEDINTOTHEMOTORPHASESTOMEASUREKE,ITUSUALLYSUFFICESTOTURNTHEMOTORWITHYOURHANDSORUSINGADRILLORANOTHERMOTORMECHANICALLYCOUPLEDANDUSEANOSCILLOSCOPETOLOOKFORTHEPHASETOPHASEINDUCEDVOLTAGEVBEMFMEASURETHEVBEMFFREQUENCYFBEMFANDTHEPEAKTOPEAKAMPLITUDEVBEMFACOMPUTEKEINVRMS/KRPM五、详细介绍32库STM32PMSMFOCLIBUPDATE_SDKV30_CHNXPDF32库中有视频51结构体系层结构SDK软件库分为若干个软件层,分别为MCU标准外设软件库、马达控制库及马达控制应用层还包含用户界面层及FREERTOS模块STM32FXXXSTANDARDPERIPHERALSLIBRARYANDCMSISLIBRARYMOTORCONTROLLIBRARYMOTORCONTROLAPPLICATIONDEMONSTRATIONUSERPROJECT每一个马达控制软件的WORKSPACE包含有2个PROJECTMCLIBRARYPROJECTUSERPROJECT包含MCAPPLICATION层即在V40中,USERPROJECT层和MCAPPLICATION层被放到了同一层每个PROJECT都需要分别编译,并最终连接生成可执行代码52OOP面向对象编程OBJECTORIENTEDPROGRAMMINGOOPISAPROGRAMMINGSTYLETHEDATAANDTHEFUNCTIONSTHATOPERATEONITAREPACKEDTOGETHER,FORMINGANOBJECTINSTANCEMETHODSAREFUNCTIONSASSOCIATEDWITHANOBJECTCLASSISTHEFACTORYFROMWHICHOBJECTSARECREATEDITISAUSERDEFINEDDATATYPEVARIABLES,PROPERTIES,METHODSADEDICATEDCEMBODIMENTOFOOPHASBEENDEVELOPEDFORIMPLEMENTINGTHEMCLIBRARY对象(OBJECT)对象是一个数据结构和函数的集合,其函数允许对对象自己的数据进行操作数据结构包含了对象的属性及变量,它描述了对象的状态类(CLASS)用户自定义的数据类型,包含了变量,属性及方法一个类可以用来产生多个单独的对象方法(METHOD)方法是唯一的可以改变对象的内部状态的操作,它通过修改对象的变量及属性来实现对象内部变量对于对象的使用者而言是隐藏的数据的封装及隐藏特性接口(INTERFACE)对象与外界的接口是由其定义的方法来实现通过方法实现对象与外界的接口使得类的使用更严谨OBJECTTHEOBJECTISACOLLECTIONOFDATASTRUCTUREMEMBERSANDFUNCTIONSMETHODSALLOWEDOPERATINGONTHEDATASTRUCTUREITSELFDATASTRUCTURECONTAINSBOTHOBJECTPROPERTIESANDVARIABLESANDCANALSOBEREFERENCEDASTHESTATEOFTHEOBJECTCLASSUSERDEFINEDDATATYPECONTAININGVARIABLES,PROPERTIESANDMETHODSACLASSCANBECONSIDEREDTHEFACTORYFROMWHICHINDIVIDUALOBJECTSARECREATEDMETHODMETHODSARETHEONLYOPERATIONSTHATCANCHANGETHEINTERNALSTATEOFANOBJECTBYMODIFYINGITSVARIABLESANDPROPERTIESOBJECTINTERNALVARIABLESAREHIDEDTOOBJECTUSERSDATAENCAPSULATIONORDATAHIDINGINTERFACETHEINTERACTIONOFOBJECTSWITHTHEOUTSIDEWORLDISDEFINEDBYTHEMETHODSTHATTHEYEXPORTMETHODSFORMTHEINTERFACEWITHTHEOUTSIDEWORLDALLOWINGACLASSTOBECOMEMOREFORMALABOUTTHEBEHAVIORITPROMISEANDPROVIDES继承定义一个新的类继承了另一个类的成员及方法。这种关系也可称之为“子类父类”或“派生类基类”。派生类(子类)是基类(父类)的一个特殊版本,它不但继承了基类(父类)的属性及行为,还可定义自己的属性及行为INHERITANCEPROCESSTHROUGHWHICHACLASSINHERITSTHEMEMBERANDTHEMETHODSOFANOTHERCLASSTHISTYPEOFRELATIONSHIPISALSOKNOWNASCHILDPARENTORDERIVEDBASECLASSDERIVEDCHILDCLASSESAREMORESPECIALIZEDVERSIONOFTHEBASEPARENTCLASSASTHEYINHERITATTRIBUTEANDBEHAVIORFROMTHEBASEPARENTCLASSBUTCANALSOINTRODUCETHEIROWN虚函数定义基类的方法,但其由派生类实现VIRTUALMETHODSBASECLASSESMETHODSWHOSEBEHAVIORDEPENDSONDERIVEDCLASSSPECIFICIMPLEMENTATIONOOP在马达库中的实现使用C语言实现,并不是用C实现真正的OOP每个类由3个文件组成接口(INTERFACE)头文件只包含了用户使用该类时的必要信息私有头文件PRIVATE包含了类的私有定义(如对象的变量,数据结构类型等)私有“C”文件PRIVATE包含了类的方法的真正实现ITSACIMPLEMENTATION,NOTREALLYOBJECTPROGRAMMINGEACHCLASSISCONSTITUTEDBYTHREESOURCEFILEANINTERFACEHEADERFILECONTAININGONLYWHATITNECESSARYTOTHEUSERTOWORKWITHTHATCLASSAPRIVATEHEADERFILECONTAININGPRIVATEDEFINITIONSEGOBJECTVARIABLES,OBJECTDATASTRUCTURETYPEAPRIVATECFILECONTAININGTHEREALIMPLEMENTATIONOFTHEMETHODSOOP在马达库中的实现类的帮助文档由DOXYGEN产生帮助文档,其格式为CHM该文档对库中的每一个类进行了详细描述53中断INTERRUPTHANDLING1/2SOMEDERIVEDCLASSESEGR1_LM1CLASS,ENC,NEEDTOEXECUTESOMECODEONINTERRUPTSERVICEROUTINESISRHEISRITSELFCANTBEMOVEDINTOOBJECTSIMPLEMENTATIONTOALLOWUSERADDINGHISOWNCODEONTHESAMEINTERRUPTASPECIALCLASSMCIRQHANDLERISCREATEDTOTHISPURPOSETHISCLASSCONTAINSANMCINTERRUPTDATATABLEWHICHISFILLEDTHROUGHSET_IRQ_HANDLERMETHODWITHASETOFOBJECTSASALREADYSEEN,THEPOINTERTOTHEBASECLASSOBJECTSTRUCTURECOINCIDESWITHTHEADDRESSOFTHEMCVIRTUALISR54电机库流程图55电机接口命令56电机调校56软件库中共使用了5个任务“HIGHFREQUENCYTASK”ADCJEOC中断调用执行马达控制任务(如FOC运算),要求高速率及定时精确“SAFTYTASK”500US执行一次故障处理机制管理“MEDIUMFREQUENCYTASK”固定速率执行(SPEED_LOOP_FRENQUENCY_HZ),执行速度环等要求定时精确的任务“LOWFREQUENCYTASK”10MS执行一次不要求定时精确的任务,如自举电容充电等任务“USERINTERFACETASK”100MS执行一次LCD及按键管理任务TASKSDESCRIPTIONFIVETASKSARECURRENTLYUSEDINTHEDEFAULTPROJECTORDEREDBYPRIORITYHIGHFREQUENCYTASKCLOCKEDBYADCSJEOCINTERRUPTS,EXECUTESMOTORCONTROLDUTIESREQUIRINGHIGHFREQUENCYRATEANDPRECISETIMINGEGFOCCURRENTCONTROLLOOPSAFETYTASKEXECUTEDEACH500US,ITHANDLESTHROUGHSTATEMACHINEOBJECTTHEFAULTGENERATIONMANAGEMENTMEDIUMFREQUENCYTASKEXECUTEDATCONFIGURABLERATESPEED_LOOP_FREQUENCY_HZ,DRIVEPARAMETERSHPROCESSESREQUIRINGAPRECISETIMINGAREHEREEXECUTEDEGSPEEDLOOPLOWFREQUENCYTASKEXECUTEDEVERY10MS,ITINCLUDESDUTIESNOTREQUIRINGAVERYPRECISETIMINGAND/ORNEEDINGALOWREFRESHRATEEGBOOTCAPACITORSCHARGETIMECOUNTINGUSERINTERFACETASKEXECUTEDEACH100MS,LCDANDKEYBOARDREFRESH57双电机介绍58电机启动配置59类命名法则STM32PMSMFOCFWLIBRARYCLASSLIST见七章510用户界面用户界面也是用类来管理(CUI),它通过MCAPPLICATION层来实现用户与MCLIBRARY层间的接口CMCP_UI用户界面由3个类组成CLCD_UILCD及按键管理LCDMANAGERCLASSCLCD_UI其代码已用C写成库的形式,因此必须先用STLINK把目标代码烧入MCU,再烧写MC代码CMCP_UI串口通讯管理,包括通讯协议MOTORCONTROLPROTOCOLCMCP_UICDAC_UIDAC输出管理,其又分为3个派生类DACMANAGERCDAC_UICDAC_UI用于带硬件DAC外设的MCU系列CDACT_UI用于不带硬件DAC外设的MCU系列CDACS_UI用于外扩的DAC外设(SPI接口)DACMANAGERCDAC_UI511配置STMCWORKBENCH六、介绍STMCWORKBENCH的应用七40库介绍八、42库中的新算法介绍THE“MOTORPROFILER”ALGORITHMWILLDETERMINETHEFOLLOWINGPARAMETERSSTATORRESISTANCERSSTATORINDUCTANCELSBEMFCONSTANTKEKPANDKIOFSPEEDCONTROLLERNOMINALSPEEDOFTHEMOTOR九、STM32PMSMFOCFWLIBRARYCLASSLIST61CURRENTREADINGANDPWMGENERATIONCPWMCANDITSDERIVEDCLASSES2462SPEEDANDPOSITIONFEEDBACKCSPDANDITSDERIVEDCLASSES2663ADDITIONALMETHODCLASSES2764BUSVOLTAGESENSORCVBSANDITSDERIVEDCLASSES2865TEMPERATURESENSORCTSNSANDITSDERIVEDCLASSES2866DIGITALOUTPUTCDOUTCLASS2867ENCODERALIGNMENTCONTROLLERCEACCLASS2968REVUPCONTROLLERCRUCCLASS2969SPEEDANDTORQUECONTROLLERCSTCCLASS29610STATEMACHINESTMCLASS29611PICPIANDPIDCPIDCONTROLLERCLASSES32612RAMPMANAGERCRMNGANDEXTENDEDRAMPMANAGERCREMNGCLASSES32613MOTORPROFILERCSCCANDONETOUCHTUNINGCOTTCLASSES32ABBREVIATIONDEFINITIONACALTERNATECURRENTAPIAPPLICATIONPROGRAMMINGINTERFACEBEMFBACKELECTROMOTIVEFORCECCRAMCORECOUPLEDMEMORYRANDOMACCESSMEMORYCORDICCOORDINATEROTATIONDIGITALCOMPUTERDACDIGITALTOANALOGCONVERTERDCDIRECTCURRENTFOCFIELDORIENTEDCONTROLGUIGRAPHICALUSERINTERFACEIPMSMINTERNALPERMANENTMAGNETSYNCHRONOUSMOTORICINTEGRATEDCIRCUITICSISOLATEDCURRENTSENSORIDEINTEGRATEDDEVELOPMENTENVIRONMENTMCMOTORCONTROLMCIMOTORCONTROLINTERFACEMCTMOTORCONTROLTUNINGMTPAMAXIMUMTORQUEPERAMPEREPGAPROGRAMMABLEGAINAMPLIFIERPIDCONTROLLERPROPORTIONALINTEGRALDERIVATIVECONTROLLERPLLPHASELOCKEDLOOPPMSMPERMANENTMAGNETSYNCHRONOUSMOTORSDKSOFTWAREDEVELOPMENTKITSMPMSMSURFACEMOUNTEDPERMANENTMAGNETSYNCHRONOUSMOTORSVPWMSPACEVECTORPULSEWIDTHMODULATIONUIUSERINTERFACE6STM32PMSMFOCFWLIBRARYCLASSLISTTHISSECTIONPROVIDESAGENERALVIEWANDASHORTDESCRIPTIONOFTHECLASSESUSEDINTHEMCLIBRARYFORADETAILEDDESCRIPTIONOFTHEMETHODSANDPARAMETERSOFEACHCLASS,SEESTM32FOCPMSMFWLIBRARYV4_1DEVELOPERHELPFILECHMNOTESOURCEFILESOFTHEMCLIBRARYCLASSESAREONLYPROVIDEDFREEOFCHARGEWITHINSTM32FOCPMSMSDKCONFIDENTIALDISTRIBUTIONCONTACTYOURNEARESTSTSALESOFFICEORSUPPORTTEAMFORFURTHERINFORMATION61CURRENTREADINGANDPWMGENERATIONCPWMCANDITSDERIVEDCLASSESTHISCLASSIMPLEMENTSBOTHTHEFUNCTIONALITYOFTHECURRENTREADINGSENSORANDPWMGENERATORANYOBJECTOFTHISCLASSMUSTBELINKEDTOADERIVEDCLASSOBJECTINORDERTOINCREASETHEMODULARITYOFTHELIBRARY,THEACCESSTOTHEMCUPERIPHERALSHASBEENMOVEDTOTHEDERIVEDCLASSES,WHICHHAVEBEENADDITIONALLYDIFFERENTIATEDBYTHEHARDWARECURRENTSENSINGTOPOLOGYTHEDERIVEDCLASSESARETABLE1DERIVEDCLASSESCLASSDEFINITIONR1_VL1CR1VL1_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORPLACEDONTHEDCBUSLINKANDIMPLEMENTEDONANSTM32F100XMCUVALUELINEDEVICESITONLYSUPPORTSASINGLEMOTORDRIVER1_LM1CR1LM1_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORANDIMPLEMENTEDONANSTM32F103XMCUWHERE,X4,6,8,BPERFORMANCELINE,LOWANDMEDIUMDENSITYDEVICESITONLYSUPPORTSASINGLEMOTORDRIVER1_HD2CR1HD2_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORANDIMPLEMENTEDONANSTM32F103XMCUWHERE,XC,D,EPERFORMANCELINE,HIGHDENSITYDEVICESALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR3_LM1CR3LM1_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F103XMCUWHERE,X4,6,8,BPERFORMANCELINE,LOWANDMEDIUMDENSITYDEVICESITONLYSUPPORTSASINGLEMOTORDRIVER3_HD2CR3HD2_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F103XMCUWHERE,XC,D,EPERFORMANCELINE,HIGHDENSITYDEVICESALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDICS_LM1CILM1_PWMCCURRENTSENSINGCARRIEDOUTTHROUGHISOLATEDCURRENTSENSORSANDIMPLEMENTEDONANSTM32F103XMCUWHERE,X4,6,8,BPERFORMANCELINE,LOWANDMEDIUMDENSITYDEVICESITONLYSUPPORTSASINGLEMOTORDRIVEICS_HD2CIHD2_PWMCCURRENTSENSINGCARRIEDOUTTHROUGHISOLATEDCURRENTSENSORSANDIMPLEMENTEDONANSTM32F103XMCUWHERE,XC,D,EPERFORMANCELINE,HIGHDENSITYDEVICESALTHOUGHITHASBEENSPECIFICALLYDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR1_F2XXCR1F2XX_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORPLACEDONTHEDCBUSLINKANDIMPLEMENTEDONANSTM32F2XXMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR3_F2XXCR3F2XX_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F2XXMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDICS_F2XXCIF2XX_PWMCCURRENTSENSINGCARRIEDOUTTHROUGHISOLATEDCURRENTSENSORSANDIMPLEMENTEDONANSTM32F2XXMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR1_F4XXCR1F4XX_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORPLACEDONTHEDCBUSLINKANDIMPLEMENTEDONANSTM32F40XORSTM32F41XMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR3_F4XXCR3F4XX_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F40XORSTM32F41XMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDICS_F4XXCIF4XX_PWMCCURRENTSENSINGCARRIEDOUTTHROUGHISOLATEDCURRENTSENSORSANDIMPLEMENTEDONANSTM32F40XORSTM32F41XMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDR1_F0XXCR1F0XX_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORPLACEDONTHEDCBUSLINKANDIMPLEMENTEDONANSTM32F0XXITONLYSUPPORTSASINGLEMOTORDRIVER1_F30XCR1F30XX_PWMCCURRENTSENSINGCARRIEDOUTVIAASINGLESHUNTRESISTORPLACEDONTHEDCBUSLINKANDIMPLEMENTEDONANSTM32F30XR3_4_F30XCR3_4F30XX_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F30XMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDITMAKEUSETHEEMBEDDEDPERIPHERALNOTSHARINGTHERESOURCESR3_2_F30XCR3_2F30XX_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F30XMCUALTHOUGHITISDESIGNEDTOSUPPORTDUALMOTORDRIVE,ITCANALSOBEUSEDWHENASINGLEMOTORDRIVEHASBEENINSTANCEDITMAKEUSETHEEMBEDDEDPERIPHERALSHARINGTHERESOURCESR3_1_F30XCR3_1F30XX_PWMCCURRENTSENSINGCARRIEDOUTVIATHREESHUNTRESISTORSPLACEDBELOWLOWSIDESWITCHESONTHETHREEINVERTERLEGSANDIMPLEMENTEDONANSTM32F30XMCUITMAKEUSEOFASINGLEADCPERIPHERALTOPERFORMTWOSUCCESSIVECURRENTSAMPLINGITONLYSUPPORTSASINGLEMOTORDRIVE62SPEEDANDPOSITIONFEEDBACKCSPDANDITSDERIVEDCLASSESTHISCLASSCARRIESOUTTHESPEED/POSITIONSENSORHANDLINGFORBOTHPHYSICALORFWEMULATEDSENSORSANYOBJECTOFTHISCLASSMUSTBELINKEDTOADERIVEDCLASSOBJECTACCESSTOHARDWAREPERIPHERALS,IFTHEREISANY,ISASKEDTODERIVEDCLASSESWHICHAREDIFFERENTIATEDACCORDINGTOTYPEOFSPEED/POSITIONSENSORINTHESTM32PMSMFOCFWLIBRARY,HALLSENSORS,QUADRATUREENCODERANDSENSORLESSARESUPPORTEDTABLE2SPEEDANDPOSITIONFEEDBACKCSPDANDITSDERIVEDCLASSESCLASSDEFINITIONENCODERCENC_SPDTHISDERIVEDCLASSSUPPORTSQUADRATUREENCODERANDCANBEUSEDWITHANYSTM32F0X,STM32F100X,STM32F103X,STM32F2X,STM32F40XORSTM32F41XMCUBYDEFAULT,INDEXSIGNALISNOTHANDLEDHALLCHALL_SPDTHISDERIVEDCLASSSUPPORTSTHREEHALLSENSORSITCANBEUSEDWITHANYSTM32F0X,STM32F100X,STM32F103X,STM32F2X,STM32F40XORSTM32F41XMCUHALL_F30XCHALL_F30X_SPDTHISDERIVEDCLASSSUPPORTSTHREEHALLSENSORSITCANBEUSEDWITHSTM32F30XMCUSTOCSTO_SPDTHISDERIVEDCLASSIMPLEMENTSSENSORLESSROTORPOSITIONRECONSTRUCTIONBASEDONCURRENTFEEDBACKS,BUSVOLTAGEANDAPPLIEDMOTORPHASEVOLTAGESINFORMATIONTHESENSORLESSALGORITHMCONSISTSOFALUENBERGERSTATEOBSERVERANDAPLLSTO_CORDICCSTOC_SPDTHISDERIVEDCLASSIMPLEMENTSSENSORLESSROTORPOSITIONRECONSTRUCTIONBASEDONCURRENTFEEDBACKS,BUSVOLTAGEANDAPPLIEDMOTORPHASEVOLTAGESINFORMATIONTHESENSORLESSALGORITHMCONSISTSOFALUENBERGERSTATEOBSERVERANDANITERATIVEALGORITHMFORTRIGONOMETRICARCTGFUNCTIONCOMPUTATIONVIRTUALSPEEDSENSORCVSS_SPDTHISDERIVEDCLASSISMAINLYUSEDDURINGRAMPUPIFANOBJECTOFONEOFTHESENSORLESSSPEED/POSITIONCLASSESCSTO_SPDORCSTOC_SPDISUSEDASAMAINSPEEDSENSORUSEDINCONJUNCTIONWITHAREVUPCONTROLLERANDASPEEDANDTORQUECONTROLLER,ITALLOWSCUSTOMIZINGRAMPUPANOBJECTOFTHISCLASSEMULATESAREALSENSORDURINGMOTORREVUPBYRETURNINGONDEMANDAVIRTUALANGLEAND/ORAVIRTUALSPEEDINACCORDANCEWITHTHETIMEBASEANDTHEACCELERATIONSETBYDERIVEDCLASSSPECIFICMETHODVSPD_SETMECACCELERATIONHIGHFREQUENCYINJECTIONSPEEDSENSORCHFI_FP_SPDTHISDERIVEDCLASSIMPLEMENTSENSORLESSROTORPOSITIONRECONSTRUCTIONBASEDONHIGHFREQUENCYINJECTIONTECHNIQUEFORIPMSMMOTORSSPECIFICFORSTM32F3XXANDF4XXSERIESEXPLOITINGTHEFLOATINGPOINTSUPPORT63ADDITIONALMETHODCLASSESASETOFCLASSESHAVEBEDEVELOPEDTOPROVIDESPECIFICFUNCTIONALITIESTHATCANBEOPTIONALLYENABLEDTOACHIEVESPECIFICPERFORMANCESSUCHASFLUXWEAKENING,MAXIMUMTORQUEPERAMPEREMTPAFORIPMSMMOTORS,FEEDFORWARDCURRENTREGULATIONANDHIGHFREQUENCYINJECTIONTOWORKWITHHFISPEEDANDPOSITIONFEEDBACKALLOFTHESECLASSESHAVEBEENIMPLEMENTEDANDAVAILABLEFORTHEUSERINTHEUSERPROJECTTHESEAREINSTANTIATEDANDCLOCKEDPROPERLYACCORDINGTHESETUPDONEBYTHESTMCWORKBENCHMOREOVEROTHERTWOCLASSESAREAVAILABLETOPERFORMTHEOPENLOOPVOLTAGEMODECONTROLUSEFULTODEBUGTHEHARDWAREBEFORETORUNTHEMOTORINFOCANDACLASSTHATIMPLEMENTSTHECIRCLELIMITATIONOFTHEVOLTAGEVECTORALPHABETAACCORDINGTHEMAXIMUMMODULATIONINDEXEACHOFTHESECLASSESCANIMPLEMENTONEORMOREOFTHEFOLLOWINGMETHODSUSEDINTHECURRENTREGULATIONXX_CALCCURRREF,ITCOMPUTESTHEIQDREFACCORDINGTHESPECIFICALGORITHMITISUSUALLYCLOCKEDATTHEFREQUENCYOFSPEEDREGULATIONXX_PREPROCESSING,THATPERFORMAPREPROCESS,BEFORECURRENTREGULATION,ONFOCRELATEDVARIABLES,ACCORDINGTHESPECIFICALGORITHMITISUSUALLYCLOCKEDATTHEFREQUENCYOFCURRENTREGULATIONXX_VQDCONDITIONING,THATMANIPULATETHEVQDVECTOR,COMPUTEDBYTHECURRENTREGULATORS,ACCORDINGTHESPECIFICALGORITHMTOBEIMPLEMENTEDITISUSUALLYCLOCKEDATTHEFREQUENCYOFCURRENTREGULATIONXX_DATAPROCESS,ITPERFORMAPOSTPROCESS,AFTERCURRENTREGULATION,ONFOCRELATEDVARIABLES,ACCORDINGTHESPECIFICALGORITHMITISUSUALLYCLOCKEDATTHEFREQUENCYOFCURRENTREGULATION64BUSVOLTAGESENSORCVBSANDITSDERIVEDCLASSESTHISCLASSIMPLEMENTSEITHERAVIRTUALORAREALBUSVOLTAGE,DEPENDINGONTHESENSORAVAILABILITYANYOBJECTOFTHISCLASSMUSTBELINKEDTOADERIVEDCLASSOBJECTIFANY,THEACCESSTOMCUPERIPHERALSISDELEGATEDTOTHEDERIVEDCLASSESSOTHATTHEBASECLASSIMPLEMENTATIONISKEPTHAR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论