




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章
基于P-NUCLEO-IHM03套件的電機(jī)入門控制2024年6月26日無(wú)感FOC快速控制實(shí)例1234無(wú)感方波控制實(shí)例無(wú)感速度模式控制實(shí)例旋鈕控制電機(jī)運(yùn)行速度實(shí)例5故障處理及恢復(fù)實(shí)例6API函數(shù)應(yīng)用實(shí)例概述本章共分為6個(gè)小節(jié),每個(gè)小節(jié)即一個(gè)實(shí)例,每個(gè)實(shí)例都配有詳細(xì)的步驟和解釋,帶大家逐步學(xué)習(xí)基于P-NUCLEO-IHM03套件的電機(jī)入門控制。具體內(nèi)容包括:無(wú)感FOC快速控制實(shí)例、無(wú)感方波控制實(shí)例、無(wú)感速度模式控制實(shí)例、旋鈕控制電機(jī)運(yùn)行速度實(shí)例、故障處理及恢復(fù)實(shí)例和API函數(shù)應(yīng)用實(shí)例。無(wú)感FOC快速控制實(shí)例01實(shí)驗(yàn)要求(1)實(shí)驗(yàn)?zāi)繕?biāo)①初步掌握MC-SDKV5.4的基本操作②快速實(shí)現(xiàn)電機(jī)的轉(zhuǎn)動(dòng)控制(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXSTM32CubeIDE實(shí)驗(yàn)步驟參考視頻:/zh/evaluation-tools/p-nucleo-ihm03.html圖7-1參考視頻頁(yè)面實(shí)驗(yàn)步驟①首先打開(kāi)軟件STMotorControlSDK5.4,點(diǎn)擊NewProject,在Control欄中選擇NUCLEO-G431RB板圖7-3驅(qū)動(dòng)板型號(hào)選擇在Power欄中選擇X-NUCLEO-IHM16M13sh驅(qū)動(dòng)板Motor欄中選擇GimBalGBM2804H-100T,配置完成后點(diǎn)擊確定,彈出電機(jī)參數(shù)導(dǎo)入工程的信息提示。圖7-2開(kāi)發(fā)板型號(hào)選擇圖7-4電機(jī)型號(hào)選擇圖7-5電機(jī)參數(shù)導(dǎo)入工程信息提示實(shí)驗(yàn)步驟圖7-6MotorControlWorkbench主界面②工程生成點(diǎn)擊“SpeedSensing”,打開(kāi)如圖7-7所示的速度位置反饋管理界面,其中“Sensorselection”下拉框?yàn)椤癝ensor-less(Observer+PLL)”,可以看出本實(shí)例是采用無(wú)感FOC方式來(lái)實(shí)現(xiàn)永磁同步電機(jī)的控制。圖7-7速度位置反饋管理界面實(shí)驗(yàn)步驟在圖7-9所示界面處視頻中選用IAREWARMIDE,此處建議選用STSTM32CubeIDE或者KeilMDK-ARM。選擇后點(diǎn)擊GENERATE。圖7-8工程命名保存界面圖7-9工程生成配置界面點(diǎn)擊STMotorControlWorkbench主界面中的菜單Tools再點(diǎn)擊Generation后輸入工程名字進(jìn)行保存。實(shí)驗(yàn)步驟完成后點(diǎn)擊RUNSTM32CubeIDE按鈕即可打開(kāi)STM32CubeMX。圖7-10工程生成完成界面圖7-11STM32CubeMX主界面打開(kāi)STM32CubeMX后如圖7-11所示,進(jìn)入ProjectManager界面選擇IDE后點(diǎn)擊GENERATECODE實(shí)驗(yàn)步驟圖7-12代碼生成成功提示圖7-15發(fā)布配置界面圖7-13選擇工作空間目錄圖7-14編譯運(yùn)行界面代碼生成成功后,點(diǎn)擊OpenProject,再點(diǎn)擊Launch,進(jìn)人STM32CubeIDE后找到main.c文件,如圖7-14所示,點(diǎn)擊編譯按鈕,待編譯完成后點(diǎn)擊運(yùn)行按鈕即可,發(fā)布配置界面如圖7-15所示。實(shí)驗(yàn)步驟然后打開(kāi)Workbench,按圖7-16所示進(jìn)行設(shè)備連接,然后進(jìn)入Advanced界面,點(diǎn)擊StartMotor即轉(zhuǎn)動(dòng)電機(jī),可在Monitor界面觀測(cè)到實(shí)時(shí)速度。圖7-16電機(jī)控制監(jiān)測(cè)界面無(wú)感方波控制實(shí)例02實(shí)驗(yàn)要求(1)實(shí)驗(yàn)?zāi)繕?biāo)①了解電機(jī)的基本結(jié)構(gòu),熟悉BLDCM方波控制的基本原理。②基于BLDCM方波控制的原理,結(jié)合前面學(xué)習(xí)的STM32G4的知識(shí),通過(guò)MotorControlWorkbench5.4.8軟件包中自帶的6-StepsspeedregulationusingtheP-NUCLEO-IHM03kit的示例程序,基于P-NUCLEO-IHM03套件實(shí)現(xiàn)無(wú)刷直流電機(jī)六步方波控制。(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXKeil5(5.33版本及以上)實(shí)驗(yàn)步驟(3)X-NUCLEO-IHM16M1板的硬件設(shè)置為了運(yùn)行示例程序,X-NUCLEO-IHM16M1板應(yīng)做如下設(shè)置:?將跳線J5和J6設(shè)置在打開(kāi)位置;?將跳線J2設(shè)置在1-2位置;?將跳線J3設(shè)置在2-3位置;?可選擇關(guān)閉焊橋JP4和JP7,因?yàn)樗鼈儍H對(duì)電流檢測(cè)起作用,本例中并未涉及。(4)實(shí)驗(yàn)步驟①打開(kāi)示例工程打開(kāi)MotorControlWorkbench5.4.8軟件,如圖7-17所示,在軟件自帶例程里找到Six-stepdrivewithP-NUCLEO-IHM003kit并雙擊打開(kāi),打開(kāi)時(shí)會(huì)跳出readme.txt文件,同時(shí)彈出如圖7-18所示的提示窗口,請(qǐng)仔細(xì)查看readme.txt文件后點(diǎn)擊“確定”按鈕以打開(kāi)工程。圖7-17示例例程選擇圖7-18提示窗口實(shí)驗(yàn)步驟②保存工程將Sixstep_p-nucleo-ihm003.stmcx工程保存到另外一個(gè)空的文件夾下。請(qǐng)注意:請(qǐng)勿更改Sixstep_p-nucleo-ihm003.stmcx的名稱,否則示例將無(wú)法正常運(yùn)行或編譯。③更改extras.wb_def文件用記事本的方式打開(kāi)extras.wb_def文件,如圖7-19所示,用來(lái)更改用戶I/F。修改SERIAL_COMMUNICATION鍵的值為false,以便在CLI中使用(默認(rèn)情況下,它是STMCMonitor用戶界面,此鍵值為true)。圖7-19
extras.wb_def文件更改④選擇對(duì)應(yīng)的軟件版本參數(shù)生成電機(jī)工程單擊“Tools”—>“Generation”菜單項(xiàng)。這將彈出如圖7-20所示的工程生成窗口,允許用戶選擇參數(shù):?STM32CubeMX選擇5.3.0或更高版本;?TargetToolchain選擇KeilMDK-ARMV5或IAREWARM版本;?FirewarePackageVersion選擇STM32FWV1.1.0或更高版本;?選中DriveType下方的HAL-HardwareAbstractionLayer復(fù)選框。然后,點(diǎn)擊“GENERATE”按鈕生成工程。圖7-20工程生成實(shí)驗(yàn)步驟⑤打開(kāi)STM32CubeMX文件并生成Keil文件如圖7-21所示,點(diǎn)擊“GENERATECODE”生成Keil文件。⑥打開(kāi)Keil文件編譯并下載至單片機(jī)中如圖7-22所示,打開(kāi)Keil軟件后,點(diǎn)擊①框中的“OptionsforTargets…”,選擇ST-LinkDebugger,點(diǎn)擊②框中的“Settings”,打開(kāi)如圖7-23所示配置窗口,添加Flsah,點(diǎn)擊“確定”后,再點(diǎn)擊圖7-22中③框中的“Translate”和④框中的“Download”燒錄程序至單片機(jī)中。按下板上的黑色按鈕重置MCU板,運(yùn)行示例,再按下板上的藍(lán)色按鈕啟動(dòng)和停止電機(jī),實(shí)現(xiàn)了無(wú)刷直流電機(jī)的六步無(wú)感控制。圖7-21生成Keil文件圖7-23配置窗口圖7-22程序燒錄界面無(wú)感速度模式控制實(shí)例03實(shí)驗(yàn)要求(1)實(shí)驗(yàn)?zāi)繕?biāo)①初步掌握MC-SDKV5.4的基本操作②實(shí)現(xiàn)電機(jī)的無(wú)傳感運(yùn)行,電機(jī)從開(kāi)環(huán)啟動(dòng)到閉環(huán)運(yùn)行③使用API實(shí)現(xiàn)電機(jī)變速運(yùn)行,轉(zhuǎn)速在300RPM至600RPM之間進(jìn)行切換(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXSTM32CubeIDE實(shí)驗(yàn)步驟參考視頻:/coursedetail?id=b69fe93850df41cda9906991e5ec100d①Workbench創(chuàng)建工程與7.1小節(jié)電機(jī)快速控制實(shí)例類似,新建一個(gè)工程,按圖7-24所示選擇Control,Power與Motor,點(diǎn)擊OK。圖7-24新建工程因?yàn)閰?shù)已經(jīng)配置完成,所以直接點(diǎn)擊“保存”按鈕進(jìn)行保存。保存完成后點(diǎn)擊“工程生成”按鈕生成代碼,如圖7-25所示,點(diǎn)擊“GENERATE”,完成后打開(kāi)如圖7-26所示的工程生成窗口,點(diǎn)擊“RUNSTM32CubeIDE”按鈕打開(kāi)STM32CubeMX。圖7-25工程生成圖7-26工程生成完成界面實(shí)驗(yàn)步驟②如圖7-27所示,在ProjectManager界面選擇STM32CubeIDE后點(diǎn)擊“GENERATECODE”。連接設(shè)備,注意電源也要連接。代碼生成成功后,點(diǎn)擊“OpenProject”,再點(diǎn)擊“Launch”,進(jìn)入STM32CubeIDE后找到main.c文件,如圖7-28所示,點(diǎn)擊“Debug”與“Run”,編譯成功。圖7-27
ProjectManager界面圖7-28編譯運(yùn)行界面然后打開(kāi)Workbench,按圖7-29所示連接設(shè)備,然后進(jìn)入Advanced界面,點(diǎn)擊“StartMotor”即可轉(zhuǎn)動(dòng)電機(jī),可在Monitor界面觀測(cè)到實(shí)時(shí)速度。圖7-29電機(jī)控制監(jiān)測(cè)界面實(shí)驗(yàn)步驟③在圖7.2-7所示界面中輸入數(shù)值并點(diǎn)擊Execramp即可調(diào)節(jié)電機(jī)速度。圖7-30電機(jī)速度控制④上面使用Workbench對(duì)電機(jī)進(jìn)行簡(jiǎn)單調(diào)速,還可以通過(guò)代碼調(diào)用API對(duì)電機(jī)進(jìn)行精確調(diào)速,下面介紹如何調(diào)用API函數(shù)使得電機(jī)在300rpm與600rpm之間進(jìn)行均勻變速。本實(shí)例中使用的電機(jī)控制API函數(shù)包括:MC_ProgramSpeedRampMotor1();MC_StartMotor1();MC_StopMotor1();具體的API函數(shù)調(diào)用流程如下:首先,如圖7-31所示,打開(kāi)main.c文件,在/*USERCODEBEGIN0*/與/*USERCODEEND0*/之間添加代碼。圖7-31用戶代碼添加實(shí)驗(yàn)步驟然后按照?qǐng)D7-32所示找到int
main(void)函數(shù),在while(1)函數(shù)中調(diào)用HandsOn1()。(注意:HandsOn1();請(qǐng)放置在/*USERCODEEND3*/之前)圖7-32
HandsOn1()函數(shù)調(diào)用然后按照?qǐng)D7-33所示點(diǎn)擊“Debug”按鈕,若彈出圖示窗口點(diǎn)擊“Switch”,然后點(diǎn)擊“Run”按鈕就可以看到電機(jī)變速旋轉(zhuǎn)。圖7-33工程編譯運(yùn)行實(shí)驗(yàn)步驟如果想要更準(zhǔn)確的觀測(cè)到電機(jī)的速度變化,可以打開(kāi)MotorControlWorkbench,點(diǎn)擊電機(jī)監(jiān)測(cè)界面,如圖7-34所示,成功連接電機(jī)后打開(kāi)界面中的示波器工具。圖7-34電機(jī)監(jiān)測(cè)界面圖7-35電機(jī)運(yùn)行速度曲線程序燒錄到單片機(jī)后,按下開(kāi)發(fā)板的黑色按鈕(即復(fù)位鍵),可以觀測(cè)到電機(jī)的轉(zhuǎn)速變化,電機(jī)會(huì)在轉(zhuǎn)速變化五次后停止,顯示結(jié)果如圖7-35所示。旋鈕控制電機(jī)運(yùn)行速度實(shí)例04實(shí)驗(yàn)要求及條件(1)實(shí)驗(yàn)?zāi)繕?biāo)①學(xué)會(huì)使用STM32CubeMX修改已有的電機(jī)工程②學(xué)會(huì)ADC在電機(jī)工程中的使用③學(xué)習(xí)使用配置旋鈕等硬件對(duì)電機(jī)進(jìn)行調(diào)速(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXSTM32CubeIDE實(shí)驗(yàn)步驟①首先在7.3無(wú)感速度模式控制實(shí)例的基礎(chǔ)上,使用STM32CubeMX打開(kāi)已有的電機(jī)工程,進(jìn)入到如圖7-36所示的主界面,為了和7.3無(wú)感速度模式控制實(shí)例進(jìn)行區(qū)分,可將工程另行保存。按照?qǐng)D示流程,點(diǎn)擊“Analog”選取ADC1進(jìn)行ADC配置,將ADC1IN8配置為IN8Single-ended,然后右鍵選擇PC2管腳,將其配置為ADC1_IN8,此處管腳配置是為了后續(xù)將其作為旋鈕的ADC進(jìn)行使用,管腳配置完成后點(diǎn)擊“GENERATECODE”重新生成代碼即可。圖7-36STM32CubeMX主界面實(shí)驗(yàn)步驟②生成代碼后,點(diǎn)擊“OpenProject”,再點(diǎn)擊“Launch”,進(jìn)入STM32CubeIDE,打開(kāi)工程文件,可以看到7.3小節(jié)實(shí)例的代碼依然保留,通過(guò)STM32CubeMX只是配置了管腳,并不影響代碼文件。下面介紹如何在工程中使用ADC實(shí)現(xiàn)旋鈕調(diào)速。本實(shí)例中用到的API函數(shù)包括:RCM_GetUserConvState();RCM_GetUserConv();RCM_RequestUserConv();首先,如圖7-37所示,在7.3小節(jié)實(shí)例函數(shù)定義后加入的代碼。圖7-37用戶代碼添加實(shí)驗(yàn)步驟然后,如圖7-38所示,在main函數(shù)處調(diào)用初始化函數(shù)HandsOn2_Init()以及HandsOn2()。注意:①HandsOn2();應(yīng)放置在/*USERCODEENDWHILE*/之前(注釋掉7.3小節(jié)實(shí)驗(yàn)調(diào)用的HandsOn1();)②HandsOn2_Init();建議放置在/*USERCODEBEGIN2*/
與/*USERCODEEND2*/之間圖7-38初始化函數(shù)調(diào)用③代碼添加完成后點(diǎn)擊“DEBUG”與“RUN”。當(dāng)代碼燒錄至單片機(jī)之后,按下黑色按鈕即可開(kāi)始運(yùn)行,可以通過(guò)Workbench來(lái)觀測(cè)此時(shí)電機(jī)的運(yùn)行狀態(tài)。打開(kāi)Workbench連接電機(jī)后按照之前的方法進(jìn)入監(jiān)測(cè)界面,如圖7-39所示左側(cè)是電機(jī)實(shí)際的轉(zhuǎn)速,右側(cè)是電機(jī)設(shè)定的轉(zhuǎn)速。圖7-39電機(jī)監(jiān)測(cè)界面實(shí)驗(yàn)步驟可以通過(guò)旋轉(zhuǎn)藍(lán)色旋鈕來(lái)控制電機(jī)在300rpm至800rpm的范圍內(nèi)運(yùn)行。電機(jī)運(yùn)行速度曲線圖如圖7-40所示。圖7-40電機(jī)運(yùn)行速度曲線轉(zhuǎn)速控制旋鈕示意故障處理及恢復(fù)實(shí)例05實(shí)驗(yàn)要求及條件(1)實(shí)驗(yàn)?zāi)繕?biāo)①學(xué)習(xí)使用STM32CubeMX生成Timer初始化②學(xué)會(huì)如何得到電機(jī)狀態(tài)③學(xué)會(huì)如何清除報(bào)錯(cuò)狀態(tài),讓電機(jī)重新運(yùn)行(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXSTM32CubeIDE實(shí)驗(yàn)步驟①與7.4小節(jié)實(shí)例類似,用STM32CubeMX打開(kāi)之前的工程文件,按照?qǐng)D7-41所示的流程初始化Timer,在點(diǎn)擊“Timers”后選擇TIM3,將ClockSource配置為InternalClock作為高頻計(jì)數(shù),然后將CounterPeriod配置為0xFFFF即65535即可,此時(shí)設(shè)定的最大溢出時(shí)間約為385.5us。圖7-41Timer初始化配置界面實(shí)驗(yàn)步驟②時(shí)鐘配置完成后,點(diǎn)擊“GENERATECODE”生成代碼,再點(diǎn)擊“OpenProject”和“Launch”,進(jìn)入STM32CubeIDE,打開(kāi)工程文件,按照?qǐng)D7-42所示選擇打開(kāi)stm32g4xx_mc_it.c文件,在void
ADC1_2_IRQHandler(void)函數(shù)代碼中的/*USERCODEBEGINADC1_2_IRQn0*/和/*USERCODEENDADC1_2_IRQn0*/之間以及/*USERCODEBEGINADC1_2_IRQn1*/和/*USERCODEENDADC1_2_IRQn1*/之間添加兩段代碼。
volatile
static
uint16_tFOC_Cycle;
volatile
static
uint32_tFOC_Time; TIM3->CNT=0; TIM3->CR1|=0x01;
TIM3->CR1&=0xFFFE;FOC_Cycle=TIM3->CNT;FOC_Time=(uint32_t)FOC_Cycle/170;圖7-42代碼添加界面實(shí)驗(yàn)步驟③再打開(kāi)main.c文件,與7.4小節(jié)實(shí)例一樣,如圖7-43所示在定義的函數(shù)后添加代碼。然后,如圖7-44所示,在main函數(shù)中調(diào)用函數(shù)HandsOn3()(注釋掉HandsOn2();與HandsOn2_Init();)然后在main函數(shù)中調(diào)用即可(注釋掉HandsOn2();與HandsOn2_Init();)//HandsOn3FaultClear//static
uint16_tState_Mark;static
uint16_tFault_Mark;void
HandsOn3(void){
//GetMotorControlState// State_Mark=MC_GetSTMStateMotor1();
//GetFaultstate// Fault_Mark=MC_GetOccurredFaultsMotor1();
if(Fault_Mark!=MC_NO_FAULTS) {
HAL_Delay(2000);
MC_AcknowledgeFaultMotor1();
MC_ProgramSpeedRampMotor1(MC_GetLastRampFinalSpeedMotor1(),1000); }
if((State_Mark==IDLE)&&(Fault_Mark==MC_NO_FAULTS)) {
MC_StartMotor1(); }}圖7-43HandsOn3函數(shù)代碼添加界面圖7-44HandsOn3函數(shù)調(diào)用界面實(shí)驗(yàn)步驟④代碼添加完畢后,點(diǎn)擊“編譯”與“運(yùn)行”,當(dāng)程序燒錄到單片機(jī)上之后,電機(jī)會(huì)按照設(shè)定的轉(zhuǎn)速轉(zhuǎn)動(dòng),此時(shí)對(duì)電機(jī)進(jìn)行堵轉(zhuǎn),功率板上的三相指示燈會(huì)熄滅,當(dāng)結(jié)束堵轉(zhuǎn)后2秒(此處2秒是為了展示電機(jī)清除了錯(cuò)誤狀態(tài)而特意設(shè)定,日常應(yīng)用時(shí)電機(jī)會(huì)立即清除狀態(tài)并啟動(dòng)),電機(jī)會(huì)自動(dòng)清除Fault的狀態(tài)并且重新開(kāi)始轉(zhuǎn)動(dòng),功率板上的三相指示燈會(huì)再次亮起來(lái)。可以同樣通過(guò)Workbench對(duì)電機(jī)運(yùn)行狀態(tài)進(jìn)行監(jiān)測(cè),打開(kāi)Workbench并連接電機(jī)后進(jìn)入監(jiān)測(cè)界面,當(dāng)結(jié)束堵轉(zhuǎn)后,會(huì)看到圖7-45所示的狀態(tài)為Faultover并且顯示Fault為Speedfeedback。圖7-45電機(jī)故障報(bào)錯(cuò)實(shí)驗(yàn)步驟當(dāng)結(jié)束堵轉(zhuǎn)2秒后電機(jī)會(huì)清除錯(cuò)誤狀態(tài)并開(kāi)始啟動(dòng),如圖7-46所示,此時(shí)可以看到電機(jī)狀態(tài)為Start并且轉(zhuǎn)速為0。圖7-46電機(jī)清除故障并啟動(dòng)圖7-47電機(jī)轉(zhuǎn)速恢復(fù)當(dāng)電機(jī)正常啟動(dòng)后,如圖7-47所示,可以看到電機(jī)狀態(tài)會(huì)變?yōu)镽un,并且轉(zhuǎn)速與堵轉(zhuǎn)前的轉(zhuǎn)速保持一致。API函數(shù)應(yīng)用實(shí)例06實(shí)驗(yàn)要求(1)實(shí)驗(yàn)?zāi)繕?biāo)①掌握MC-SDKV5.4的基本操作②使用API函數(shù)實(shí)現(xiàn)對(duì)電機(jī)的多種控制方式,熟悉API函數(shù)庫(kù)(2)實(shí)驗(yàn)條件①硬件平臺(tái):P-NUCLEO-IHM03套件②軟件平臺(tái):STMotorControlSDK5.4STM32CubeMXSTM32CubeIDE或Keil5(5.33版本及以上)API函數(shù)介紹如圖7-48所示,API函數(shù)位于MC-SDKV5.4中的電機(jī)應(yīng)用層,處于用戶層與電機(jī)庫(kù)之間,一般初級(jí)的電機(jī)應(yīng)用操作利用API函數(shù)即可完成,基于電機(jī)庫(kù),便于用戶調(diào)用,更像是行為描述操作。例如,在7.3無(wú)感速度模式控制實(shí)例中用到的MC_ProgramSpeedRampMotor1()、MC_StartMotor1()、MC_StopMotor1()都是API函數(shù),他們分別是用來(lái)對(duì)電機(jī)進(jìn)行調(diào)速、啟動(dòng)和停止操作的。圖7-48API函數(shù)在MC-SDKV5.4中的位置API函數(shù)介紹表3-1展示了可以直接使用的API函數(shù)的名稱、參量、功能及返回值。下面利用表3-1中所示的部分函數(shù)作為示例,來(lái)展示API函數(shù)調(diào)用的具體操作,幫助讀者在7.3的基礎(chǔ)上更深入地了解API函數(shù)庫(kù)中其他函數(shù)的功能。實(shí)驗(yàn)步驟參考視頻:/coursedetail?id=e25dbe52d37b4e278c819ff6b61fe47e①Workbench創(chuàng)建工程與7.1小節(jié)電機(jī)快速控制實(shí)例類似,新建一個(gè)工程,按圖7.3-2所示選擇Control,Power與Motor,點(diǎn)擊OK。圖7-49新建工程因?yàn)閰?shù)已經(jīng)配置完成,所以直接點(diǎn)擊“保存”按鈕進(jìn)行保存。保存完成后點(diǎn)擊“編譯”按鈕,如圖7-50所示,點(diǎn)擊“GENERATE”,完成后打開(kāi)如圖7-51所示窗口,點(diǎn)擊“RUNSTM32CubeIDE”按鈕打開(kāi)STM32CubeMX。圖7-51工程生成完成界面圖7-50工程生成實(shí)驗(yàn)步驟②如圖7-52所示,在ProjectManager界面,Toolchain/IDE選擇STM32CubeIDE,F(xiàn)irewarePackageNameandVersion選擇STM32CubeFW_G4V1.4.0,然后點(diǎn)擊“GENERATECODE”。連接設(shè)備,注意電源也要連接。代碼生成成功后,點(diǎn)擊“OpenProject”,再點(diǎn)擊“Launch”,進(jìn)入STM32CubeIDE后找到main.c文件。圖7-52ProjectManager界面實(shí)驗(yàn)步驟③函數(shù)示例1:MC_ProgramSpeedRampMotor17.3小節(jié)中我們學(xué)習(xí)了如何對(duì)電機(jī)進(jìn)行調(diào)速,使用的是MC_ProgramSpeedRampMotor1()函數(shù),而這個(gè)函數(shù)不僅可以控制電機(jī)運(yùn)行的速度,改變第一個(gè)值的正負(fù)還能控制電機(jī)正反轉(zhuǎn)。打開(kāi)main.c文件,如圖7-53所示,在用戶代碼區(qū)2添加代碼。圖7-53正向轉(zhuǎn)動(dòng)代碼若要電機(jī)反向轉(zhuǎn)動(dòng),如圖7-54所示,將第一個(gè)參數(shù)由300/6改為-300/6,即可實(shí)現(xiàn)電機(jī)以300rpm反向轉(zhuǎn)動(dòng)。圖7-53正向轉(zhuǎn)動(dòng)代碼若要電機(jī)反向轉(zhuǎn)動(dòng),如圖7-54所示,將第一個(gè)參數(shù)由300/6改為-300/6,即可實(shí)現(xiàn)電機(jī)以300rpm反向轉(zhuǎn)動(dòng)。圖7-54反向轉(zhuǎn)動(dòng)代碼實(shí)驗(yàn)步驟然后按照?qǐng)D7-55所示點(diǎn)擊“編譯”按鈕,若彈出圖示窗口點(diǎn)擊“switch”,然后點(diǎn)擊“運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 邯鄲市永年區(qū)大學(xué)生回村工作選聘考試筆試試卷附答案
- 幼兒園個(gè)人禮儀情感培訓(xùn)
- 寫(xiě)生石獅子課件
- 腫瘤變大病歷書(shū)寫(xiě)規(guī)范
- 主動(dòng)脈瘤常規(guī)護(hù)理
- 艾滋病并發(fā)肺部感染護(hù)理查房
- 心內(nèi)科疾病防治科普
- 自然拼讀外教課件
- 無(wú)為教育案例分享
- 清收清欠培訓(xùn)
- 國(guó)家開(kāi)放大學(xué)電大《商法》期末題庫(kù)及答案
- 圖形的旋轉(zhuǎn)說(shuō)課課件
- 爆破安全生產(chǎn)獎(jiǎng)懲管理制度
- 【精編美術(shù)課】《仕女簪花》課件
- 半導(dǎo)體設(shè)備零部件公司質(zhì)量檢驗(yàn)
- Q∕SY 1302-2010 強(qiáng)制電流陰極保護(hù)電源設(shè)備應(yīng)用技術(shù)
- 2022年《基礎(chǔ)會(huì)計(jì)》第八版ppt課件(完整版)
- KTV工程預(yù)算表模板
- (完整版)鋼筋加工棚驗(yàn)算
- 黑龍江公共場(chǎng)所衛(wèi)生許可申請(qǐng)表
- 美的審廠資料清單
評(píng)論
0/150
提交評(píng)論