版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
STM32G4入門與電機(jī)控制實(shí)戰(zhàn)基于X-CUBE-MCSDK的無刷直流電機(jī)與永磁同步電機(jī)控制實(shí)現(xiàn)目錄TOC\h\h第1章STM32G4概述\h第2章STM32電機(jī)控制套件P-NUCLEO-IHM03\h第3章軟件開發(fā)環(huán)境\h第4章NUCLEO-G431RB基礎(chǔ)實(shí)驗(yàn)\h第5章無刷直流電機(jī)控制技術(shù)\h第6章永磁同步電機(jī)控制技術(shù)\h第7章基于P-NUCLEO-IHM03套件的電機(jī)入門控制實(shí)例\h第8章基于P-NUCLEO-IHM03套件的有感電機(jī)控制案例第1章STM32G4概述意法半導(dǎo)體(ST)于1987年6月由意大利的SGS微電子公司和法國的Thomson半導(dǎo)體公司合并而成,名為SGS-THOMSONMicroelectronics。1998年5月,公司名稱改為意法半導(dǎo)體有限公司(簡稱意法半導(dǎo)體)。意法半導(dǎo)體是世界領(lǐng)先的提供半導(dǎo)體解決方案的公司,致力于為人類如今及未來的生活做出杰出貢獻(xiàn)。意法半導(dǎo)體于2007年發(fā)布了第一款STM32產(chǎn)品,在之后十余年的時(shí)間里累計(jì)推出多條產(chǎn)品線,產(chǎn)品系列不斷完善,STM32產(chǎn)品平臺(tái)陣營如圖1-1所示。其中,STM32G4高性能微控制器是意法半導(dǎo)體獨(dú)特打造的新一代數(shù)?;旌衔⒖刂破?,其性能優(yōu)異,適用于電機(jī)控制、工業(yè)設(shè)備、數(shù)字電源、高端控制應(yīng)用等眾多領(lǐng)域。圖1-1STM32產(chǎn)品平臺(tái)陣營STM32G4分為三大產(chǎn)品系列:入門型、性能型和高精度PWM型,對(duì)應(yīng)的產(chǎn)品分別是STM32G4x1、STM32G4x3和STM32G4x4。為擴(kuò)大其應(yīng)用范圍,STM32G4產(chǎn)品目前覆蓋32引腳~128引腳,32~512KBFlash,擁有一個(gè)完整的平臺(tái),且有眾多型號(hào)可以選擇。1.1STM32G4系列的特性STM32G4并不是從零開始的新產(chǎn)品線,它是2012年發(fā)布的STM32F3產(chǎn)品線的延續(xù)版本,繼承了很多STM32F3的理念和基因,同時(shí)帶來更強(qiáng)勁的性能和數(shù)模效果。意法半導(dǎo)體在2012年發(fā)布了首款混合信號(hào)微控制器STM32F3,后續(xù)發(fā)布了STM32F343,從而進(jìn)入原來被DSP壟斷的數(shù)字電源市場。為滿足不斷升級(jí)的市場需求,2019年意法半導(dǎo)體又推出了性能更強(qiáng)大的STM32G4。從STM32F3到STM32G4的迭代和延續(xù)如圖1-2所示。圖1-2從STM32F3到STM32G4的迭代和延續(xù)STM32G4是STM32F3的升級(jí),并不是完全取代,因?yàn)镾TM32G4各方面的配置比STM32F3更高級(jí),資源也更豐富。STM32G4具有170MHzCortex-M4內(nèi)核,集成浮點(diǎn)運(yùn)算、單指令乘加單元和坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)(CoordinateRotationDigitalComputer,CORDIC),內(nèi)部集成高速比較器、高速運(yùn)算放大器(簡稱運(yùn)放)、高速ADC、高速DAC,支持CANFD、在線升級(jí),以及高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)和信息安全,集成USBType-CPD3.0,同時(shí)具備高性能和低功耗特性。STM32G4在很大程度上填補(bǔ)了STM32F3的市場空白。STM32F3和STM32G4的性能對(duì)比如圖1-3所示。圖1-3STM32F3和STM32G4的性能對(duì)比STM32G4系列基于170MHz的Cortex-M4高速內(nèi)核,具有浮點(diǎn)單元和DSP擴(kuò)展指令集支持功能,其性能測試取得了213DMIPS和550Core-Mark的成績。STM32G4可以有效地幫助用戶優(yōu)化PCB設(shè)計(jì),其內(nèi)置多種模擬外設(shè)及周邊和MCU配套的分離器件,在提高集成化的同時(shí)縮小PCB設(shè)計(jì)面積,進(jìn)一步降低系統(tǒng)級(jí)的設(shè)計(jì)成本。與STM32F3系列相比,STM32G4在性能、豐富的內(nèi)置數(shù)模外設(shè)、功能安全與信息安全,以及完整的產(chǎn)品目錄4個(gè)方面有創(chuàng)新和技術(shù)優(yōu)勢。1)性能除了內(nèi)核170MHz高主頻,為了提升性能,STM32G4系列增加了3種不同的硬件加速器,包括ART加速器(動(dòng)態(tài)緩存),用來實(shí)現(xiàn)全部代碼加速,幫助用戶提高代碼綜合執(zhí)行效率;關(guān)鍵程序加速器CCM-SRAM(靜態(tài)緩存),用來預(yù)配置確定性保障;數(shù)學(xué)加速器,涉及三角函數(shù)和數(shù)字濾波器,這對(duì)STM32G4來說具有革新意義。例如,在電機(jī)控制應(yīng)用中若遇到三角函數(shù)計(jì)算(矢量旋轉(zhuǎn)、矢量轉(zhuǎn)換、雙曲正弦、雙曲余弦、反正切、反雙曲正切)則會(huì)交給數(shù)學(xué)加速器來處理,這樣不僅可以減輕CPU的負(fù)擔(dān),而且可以提高計(jì)算效率,可比原來由CPU處理的效率提升5倍。2)豐富的內(nèi)置數(shù)模外設(shè)STM32G4采用集成化設(shè)計(jì),擁有豐富的內(nèi)置數(shù)模外設(shè)。內(nèi)部集成了所有模擬分離器件,這種集成化的設(shè)計(jì)不僅減小了PCB尺寸,而且節(jié)約了項(xiàng)目開發(fā)成本。在25個(gè)模擬外設(shè)中,包括5個(gè)400萬次/s的12位ADC,其具有硬件過采樣功能,相較于全部在軟件中執(zhí)行的產(chǎn)品,它可以在很大程度上減輕CPU的負(fù)擔(dān),實(shí)現(xiàn)16位分辨率;6個(gè)高速、高增益帶寬運(yùn)放;7個(gè)1500萬次/s的12位DAC;7個(gè)比較器,傳播延遲為16.7ns。一個(gè)STM32G4就可以實(shí)現(xiàn)雙電機(jī)三電阻電流采樣,雙FOC控制,無須外加比較器和運(yùn)放,使電機(jī)控制設(shè)計(jì)更加簡潔,BOM成本更加優(yōu)化。同時(shí)STM32G4添加了CAN-FD接口,不僅“負(fù)載能力”更強(qiáng),速度更快,而且增加的3個(gè)CAN-FD可以滿足更多的CAN總線應(yīng)用的需求。高精度定時(shí)器能夠生成精度達(dá)到184ps的PWM波形,USBType-C控制器及內(nèi)置的1%精度的時(shí)鐘提高了數(shù)字電源控制精度。為多種應(yīng)用場景提供的數(shù)模外設(shè)如表1-1所示。表1-1為多種應(yīng)用場景提供的數(shù)模外設(shè)續(xù)表3)功能安全與信息安全STM32G4產(chǎn)品采用雙BankFlash機(jī)制,這一創(chuàng)新應(yīng)用主要考慮到信息的安全性。STM32G4內(nèi)部有兩個(gè)用戶Flash區(qū)域,支持同時(shí)在兩個(gè)不同的Bank上加載應(yīng)用程序,一個(gè)Bank用來運(yùn)行程序,另一個(gè)Bank可以在線升級(jí)固件程序。這兩個(gè)Flash區(qū)域是一模一樣的,并且地址是連續(xù)的,兩個(gè)地址還可以互相切換,用戶只需設(shè)置一個(gè)寄存器就可以實(shí)現(xiàn)瞬間切換兩個(gè)Bank的地址,這樣可以保證應(yīng)用軟件在線升級(jí)的同時(shí)不影響系統(tǒng)的正常運(yùn)行。在這兩個(gè)Flash區(qū)域中可以設(shè)定一塊安全存儲(chǔ)區(qū)域(在燒寫程序前配置,一旦設(shè)定不可更改),其大小可根據(jù)項(xiàng)目需求配置,在系統(tǒng)退出時(shí)可以配置為鎖定,使應(yīng)用程序無法再被讀取或調(diào)試,該區(qū)域不僅適合用于存儲(chǔ)關(guān)鍵程序和密鑰等敏感信息,而且可以保護(hù)固件安全實(shí)時(shí)升級(jí);編程后調(diào)試訪問禁用功能可以降低風(fēng)險(xiǎn);其他安全機(jī)制包括先進(jìn)的AES-256加密引擎、唯一設(shè)備ID碼和硬件隨機(jī)數(shù)生成器。4)完整的產(chǎn)品目錄STM32G4產(chǎn)品擁有一個(gè)完整的平臺(tái),包含10余種類型的開發(fā)板,覆蓋從入門到高端的不同需求。STM32G4產(chǎn)品系列構(gòu)成如圖1-4所示。相較于STM32F3系列,STM32G4的封裝引腳更加豐富,增加了80引腳和128引腳的產(chǎn)品,給用戶提供了更多的選擇。目前STM32G4產(chǎn)品線從32KB覆蓋至512KB,它的引腳數(shù)從32引腳覆蓋至128引腳。在溫度方面,STM32G4有更高溫度的認(rèn)證,它可以在環(huán)境溫度達(dá)到高溫125℃的場景應(yīng)用。特別是一些對(duì)環(huán)境溫度嚴(yán)苛的場景中,如“硬件板級(jí)嵌入式”控制器、編碼器、四輪車控制器和在特殊環(huán)境工作下的數(shù)字電源等。STM32G4主流型號(hào)的外設(shè)資源對(duì)比如表1-2所示。▲圖1-4STM32G4產(chǎn)品系列構(gòu)成▼表1-2STM32G4主流型號(hào)的外設(shè)資源對(duì)比STM32G4擁有強(qiáng)大的生態(tài)系統(tǒng),其基于ARM內(nèi)核,可幫助用戶更好地利用ARM強(qiáng)大的生態(tài)系統(tǒng)來進(jìn)行設(shè)計(jì)。意法半導(dǎo)體還為STM32G4配備了Nucleo開發(fā)板(NUCLEOG474RE和NUCLEO-G431RB)、功能齊全的評(píng)估板(STM32G474E-EVAL和板載加密加速度計(jì)的STM32G484E-EVAL)和STM32CubeG4軟件包、Nucleo電機(jī)控制專用開發(fā)板(PNUCLEO-IHM03)和軟件開發(fā)套件(X-CUBE-MCSDK),以及探索套件(B-G474E-DPOW1*和B-G431B-ESC1*)。其產(chǎn)品系列如圖1-5所示。圖1-5STM32G4產(chǎn)品系列1.2STM32G4的主要應(yīng)用STM32G4作為一款基于ARMCortex-M4架構(gòu)的產(chǎn)品,其定位為主流型MCU,主要針對(duì)電機(jī)控制、工業(yè)設(shè)備與測量儀器、高端消費(fèi)類應(yīng)用和數(shù)字電源等應(yīng)用場景,通過數(shù)模組合的方式來滿足用戶對(duì)兼顧控制邏輯與模擬信號(hào)處理的需求。特別是在無線充電、電信電源、電機(jī)控制、LED驅(qū)動(dòng)、電焊機(jī)、工業(yè)、UPS、功率因數(shù)校正、服務(wù)器和數(shù)據(jù)中心、光伏逆變等場景下,STM32G4得到較多應(yīng)用,其主要性能配置如表1-3所示。表1-3STM32G4的主要性能配置在電機(jī)控制領(lǐng)域,意法半導(dǎo)體除了提供專業(yè)的電機(jī)驅(qū)動(dòng)庫和針對(duì)電機(jī)驅(qū)動(dòng)的硬件開發(fā)套件NucleoPack,還為開發(fā)者免費(fèi)提供矢量控制、6-step算法、無傳感器算法等先進(jìn)的電機(jī)驅(qū)動(dòng)算法。在數(shù)字電源領(lǐng)域,意法半導(dǎo)體除了提供完整的硬件、軟件、工具、資料等資源,還專門為高精度定時(shí)器量身定做了使用手冊(cè),該使用手冊(cè)詳細(xì)介紹了高精度定時(shí)器針對(duì)不同數(shù)字電源拓?fù)浣Y(jié)構(gòu)的使用和配置方法。1.3STM32生態(tài)資源意法半導(dǎo)體建立了完整的生態(tài)系統(tǒng),擁有豐富的生態(tài)資源,包括本地化的在線資源、最新資訊發(fā)布、互動(dòng)活動(dòng)和視頻講座等。1)網(wǎng)址、公眾號(hào)、官方郵箱網(wǎng)址包括STM32全球網(wǎng)頁、STM32中文官網(wǎng)、STM32社區(qū)、STM3221ic社區(qū)、ST中國大學(xué)計(jì)劃主頁、電堂科技官網(wǎng)等;微信公眾號(hào)包括ST微信公眾號(hào)、AI電堂微信公眾號(hào)和小程序;官方郵箱包括STM32中文技術(shù)支持郵箱、STM32大學(xué)計(jì)劃聯(lián)系郵箱。相關(guān)鏈接和二維碼等可以通過網(wǎng)絡(luò)搜索獲取。2)STM32G4電機(jī)控制相關(guān)技術(shù)文檔打開STM32中文官網(wǎng),在“產(chǎn)品”菜單下選擇“STM32MCU”→“STM32G4”,打開STM32G4的產(chǎn)品介紹界面,單擊“相關(guān)設(shè)計(jì)文件”選項(xiàng)卡可以查看對(duì)應(yīng)的技術(shù)文檔。數(shù)據(jù)手冊(cè)、參考手冊(cè)、編程手冊(cè)、應(yīng)用筆記、用戶手冊(cè)等相關(guān)資源均可進(jìn)入對(duì)應(yīng)界面進(jìn)行下載。STM32G4產(chǎn)品主頁如圖1-6所示。圖1-6STM32G4產(chǎn)品主頁3)STM32G4電機(jī)控制相關(guān)視頻資源(1)《STM32G4系列產(chǎn)品特性以及電機(jī)領(lǐng)域應(yīng)用》。該課程從對(duì)ST生態(tài)系統(tǒng)的介紹和使用展開,結(jié)合當(dāng)前熱門的電機(jī)控制領(lǐng)域,把產(chǎn)品特性深入實(shí)際應(yīng)用,點(diǎn)面結(jié)合,讓讀者更熟悉和掌握STM32G4優(yōu)秀的特性,為未來產(chǎn)品的使用打下基礎(chǔ);同時(shí)結(jié)合STM32Cube生態(tài),以及電機(jī)FOC控制生態(tài),可讓讀者全方位熟悉使用ST打造的完整生態(tài)環(huán)境,為電機(jī)領(lǐng)域的開發(fā)帶來便利條件。課程內(nèi)容如下。①STM32G4的特性和市場介紹。②STM32工具的介紹與使用。③使用STM32Cube工具上手STM32G4。④內(nèi)核介紹:ART、CCMSRAM、浮點(diǎn)運(yùn)算、乘加指令。⑤VREFBUF、Timer&ADC介紹,以及二者在電機(jī)應(yīng)用中的聯(lián)動(dòng)機(jī)制。⑥特別外設(shè):CORDIC、FMAC、運(yùn)放、比較器、DAC。⑦結(jié)合STM32CubeMX、MCSDKV5.4移植STM32G4電機(jī)矢量控制代碼。⑧STM32G4的特別外設(shè)應(yīng)用于電機(jī)控制。課程資源獲取方式如下。打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32G4系列產(chǎn)品特性以及電機(jī)領(lǐng)域應(yīng)用”并搜索,就可以檢索到該課程。進(jìn)入課程界面并單擊“立即訂閱”按鈕即可進(jìn)行課程學(xué)習(xí)。也可以通過掃描本書附帶資源中提供的二維碼進(jìn)行觀看學(xué)習(xí)。(2)《基于MCSDKV5.4電機(jī)庫的STM32電機(jī)控制理論與實(shí)踐》。無刷直流電機(jī)(BrushLessDirectCurrentMotor,BLDCM)和永磁同步電機(jī)(PermanentMagnetSynchronousMotor,PMSM)在諸多領(lǐng)域均有著廣泛應(yīng)用。電機(jī)的驅(qū)動(dòng)和控制技術(shù)作為核心部分直接影響產(chǎn)品性能。隨著MCU的性能提升,有眾多優(yōu)勢的磁場定向控制(FieldOrientedControl,F(xiàn)OC)技術(shù)已經(jīng)被廣泛應(yīng)用,其中,ST已經(jīng)在STM32全系列產(chǎn)品上實(shí)現(xiàn)了FOC技術(shù)。該課程將介紹FOC控制理論,以及電機(jī)軟件庫的構(gòu)成與使用;同時(shí)針對(duì)實(shí)際應(yīng)用設(shè)計(jì)了幾個(gè)實(shí)驗(yàn),指導(dǎo)用戶一步步實(shí)現(xiàn)真實(shí)的電機(jī)控制,讓用戶輕松地上手使用ST的電機(jī)控制庫。課程內(nèi)容如下。①M(fèi)CSDK電機(jī)控制庫的總體概況。②電機(jī)FOC控制原理。③電機(jī)控制硬件注意點(diǎn)的介紹。④MCSDKV5.4軟件詳解及應(yīng)用調(diào)試說明。⑤實(shí)驗(yàn)環(huán)節(jié)。課程資源獲取方式如下。打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“基于MCSDKV5.4電機(jī)庫的STM32電機(jī)控制理論與實(shí)踐”并搜索,就可以檢索到該課程。進(jìn)入課程界面并單擊“立即訂閱”按鈕即可進(jìn)行課程學(xué)習(xí)。也可以通過掃描本書附帶資源中提供的二維碼進(jìn)行觀看學(xué)習(xí)。(3)《STM32電動(dòng)機(jī)控制應(yīng)用系列講座》。該課程通過六大系列主題課程全面介紹ST的MCU在電機(jī)控制領(lǐng)域的應(yīng)用,使讀者深入理解電機(jī)控制的基本概念和方法,并學(xué)會(huì)如何充分利用ST提供的產(chǎn)品、硬件評(píng)估板及電機(jī)控制軟件開發(fā)包(STMCSDK)來開發(fā)一套電機(jī)控制器。課程內(nèi)容如下。①STMCSDK5.x概覽。②永磁同步電機(jī)矢量控制基礎(chǔ)。③電機(jī)相電流檢測與重構(gòu)方法及轉(zhuǎn)子位置檢測與估計(jì)方法。④STMCSDK5.2WB應(yīng)用指南及STMCSDK5.2固件詳解。⑤應(yīng)用STMCSDK5.2及ST硬件評(píng)估板調(diào)試電機(jī)實(shí)例。⑥STMCSDK5.2電機(jī)參數(shù)測試。課程資源獲取方式如下。打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32電動(dòng)機(jī)控制應(yīng)用系列講座”并搜索,就可以檢索到該課程。進(jìn)入課程界面并單擊“立即訂閱”按鈕即可進(jìn)行課程學(xué)習(xí)。也可以通過掃描本書附帶資源中提供的二維碼進(jìn)行觀看學(xué)習(xí)。(4)《STM32G4在電機(jī)控制及數(shù)字電源中的應(yīng)用》。課程內(nèi)容如下。①STM32G4在電機(jī)控制中的應(yīng)用——市場介紹。②STM32G4在電機(jī)控制中的應(yīng)用——技術(shù)講解。③STM32G4在電機(jī)控制中的應(yīng)用——答疑篇。④STM32G4高精度定時(shí)器及其在數(shù)字電源中的應(yīng)用——市場篇。⑤STM32G4高精度定時(shí)器及其在數(shù)字電源中的應(yīng)用——技術(shù)講解。⑥STM32G4新一代數(shù)?;旌衔⒖刂破鳌辈セ胤?。課程資源獲取方式如下。打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32G4在電機(jī)控制及數(shù)字電源中的應(yīng)用”并搜索,就可以檢索到該課程。進(jìn)入課程界面并單擊“立即訂閱”按鈕即可進(jìn)行課程學(xué)習(xí)。第2章STM32電機(jī)控制套件P-NUCLEO-IHM03STM32電機(jī)控制套件P-NUCLEO-IHM03包括NUCLEO-G431RB開發(fā)板、X-NUCLEOIHM16M1三相驅(qū)動(dòng)板、三相云臺(tái)電機(jī)GBM2804H-100T,以及直流電源(DC電源)。STM32電機(jī)控制套件P-NUCLEO-IHM03的組成如圖2-1所示。該平臺(tái)為三相低電壓低電流的無刷直流電機(jī)或永磁同步電機(jī)提供基于STSPIN830驅(qū)動(dòng)器的控制解決方案。圖2-1STM32電機(jī)控制套件P-NUCLEO-IHM03的組成2.1NUCLEO-G431RB開發(fā)板2.1.1NUCLEO-G431RB開發(fā)板概述STM32G431RB是一款32位微控制器,基于高性能ARMCortex-M432位RISC內(nèi)核,其最高頻率可達(dá)170MHz,帶有浮點(diǎn)單元,內(nèi)嵌高級(jí)模擬外設(shè)集。NUCLEO-G431RB開發(fā)板代表了價(jià)格實(shí)惠的靈活解決方案,可幫助用戶使用STM32G4微控制器實(shí)踐新理念并構(gòu)建原型。NUCLEO-G431RB開發(fā)板實(shí)物圖如圖2-2所示。圖2-2NUCLEO-G431RB開發(fā)板實(shí)物圖NUCLEO-G431RB開發(fā)板的通用功能如下?!げ捎肔QFP64封裝的STM32微控制器?!ぞ哂信cARDUINO共享的1個(gè)用戶LED?!ぞ哂?個(gè)用戶按鈕和1個(gè)復(fù)位按鈕?!ぞ哂?2.768kHz的晶體振蕩器?!ぐ暹B接器:帶有兩種類型的擴(kuò)展連接器,即ARDUINOUnoV3接口和STmorpho擴(kuò)展插頭。其中,STmorpho擴(kuò)展插頭支持訪問所有STM32IO?!ぞ哂徐`活的電源選項(xiàng):ST-LINK、USBVBUS或外部電源?!ぞ哂蠻SB重新枚舉功能的板上STLINK-V3E調(diào)試器/編程器,該調(diào)試器/編程器具有大容量存儲(chǔ)器、虛擬COM端口和調(diào)試端口?!ぬ峁┤娴拿赓M(fèi)軟件庫和例程,可從STM32CubeMCU軟件包中獲得?!ぶС侄喾N集成開發(fā)環(huán)境,包括IAREmbeddedWorkbench、MDK-ARM及STM32CubeIDE。NUCLEO-G431RB開發(fā)板的特有功能如下?!ね獠縎MPS可生成Vcore邏輯電源?!?4MHzHSE(高速外部時(shí)鐘信號(hào))?!ぐ暹B接器:外部SMPS實(shí)驗(yàn)專用連接器、Micro-AB或Mini-ABUSB連接器(用于ST-LINK)、MIPI調(diào)試連接器?!ぜ嫒軦RMMbedEnabled?。2.1.2NUCLEO-G431RB開發(fā)板的硬件構(gòu)成1)硬件設(shè)計(jì)框圖NUCLEO-G431RB開發(fā)板的硬件設(shè)計(jì)框圖如圖2-3所示。圖2-3NUCLEO-G431RB開發(fā)板的硬件設(shè)計(jì)框圖2)元器件的布局NUCLEO-G431RB開發(fā)板的正、反面元器件布局分別如圖2-4、圖2-5所示。▲圖2-4NUCLEO-G431RB開發(fā)板的正面元器件布局▲圖2-5NUCLEO-G431RB開發(fā)板的反面元器件布局3)電源供應(yīng)電源可由以下5種不同的供電方式提供?!ねㄟ^USB電纜連接至CN1的主機(jī)PC(默認(rèn)設(shè)置)?!みB接至CN7引腳24的外部7V-12V(VIN)電源?!みB接至CN7引腳6的外部5V(E5V)電源。·連接至CN1的外部5VUSB充電器(5V_USB_CHGR)。·連接至CN7引腳16的外部3.3V電源(3V3)。NUCLEO-G431RB開發(fā)板的電源拓?fù)鋱D如圖2-6所示。圖2-6NUCLEO-G431RB開發(fā)板的電源拓?fù)鋱D4)NUCLEO-G431RB開發(fā)板與Arduino的連接Arduino連接器CN5、CN6、CN8和CN9是與Arduino標(biāo)準(zhǔn)兼容的內(nèi)螺紋連接器。NUCLEO-G431RB開發(fā)板上的Arduino連接器支持ArduinoUnoV3。開發(fā)板上的Arduino連接器標(biāo)示圖如圖2-7所示,Arduino和STmorpho連接的引腳圖如圖2-8所示。▲圖2-7開發(fā)板上的Arduino連接器標(biāo)示圖▲圖2-8Arduino和STmorpho連接的引腳圖5)NUCLEO-G431RB開發(fā)板IO口的分配NUCLEO-G431RB開發(fā)板IO口的分配如表2-1所示。表2-1NUCLEO-G431RB開發(fā)板IO口的分配續(xù)表2.2X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板2.2.1X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板概述X-NUCLEO-IHM16M1是基于STSPIN830面向BLDCM/PMSM的三相驅(qū)動(dòng)板,為三相低電壓低電流無刷直流電機(jī)提供電機(jī)控制解決方案,其規(guī)格參數(shù)和主要功能如下?!?biāo)稱工作電壓范圍:直流7~45V?!ぽ敵鲭娏骺蛇_(dá)1.5A(有效值)?!ぞ哂羞^流保護(hù)和互鎖功能。·具有過熱保護(hù)和欠電壓保護(hù)功能?!ぞ哂蟹措妱?dòng)勢(BEMF)感應(yīng)電路?!ぶС秩娮杌騿坞娮桦娏鞑蓸訖z測?!ぶС只诨魻栃?yīng)的傳感器或編碼器輸入連接器?!ぞ哂锌捎糜谡{(diào)速的電位計(jì)?!づ溆蠸Tmorpho連接器?!た稍?個(gè)或6個(gè)PWM輸入之間直接進(jìn)行驅(qū)動(dòng)。·具有可調(diào)節(jié)閾值的限流器?!ぞ哂蠦us電壓和PCB溫度感應(yīng)功能。·具有待機(jī)模式。2.2.2X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的硬件構(gòu)成1)基于STSPIN830驅(qū)動(dòng)器X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的核心驅(qū)動(dòng)器STSPIN830是一款緊湊型三相電機(jī)驅(qū)動(dòng)器,適合磁場定向控制方案,它集成了一整套功率級(jí)保護(hù)功能,使其成為高要求工業(yè)應(yīng)用的解決方案。STSPIN830驅(qū)動(dòng)器集成于一個(gè)非常小的(4mm×4mm)QFN封裝。它具有控制邏輯和完善的保護(hù),以及導(dǎo)通內(nèi)阻較低的三相半橋功率級(jí),并基于用戶設(shè)置的參考電壓和關(guān)斷時(shí)間來實(shí)現(xiàn)PWM電流控制。其主要特點(diǎn)如下?!(HS+LS)=1Ω(典型值)。DSon·支持單個(gè)和三個(gè)電阻采樣電流架構(gòu)?!た烧{(diào)OFF時(shí)間的電流控制?!せ谕獠侩娮璧碾娏鳈z測?!れ`活的驅(qū)動(dòng)方法,通過專用的MODE輸入引腳,用戶可在6個(gè)輸入(高側(cè)和低側(cè)獨(dú)立驅(qū)動(dòng))和3個(gè)輸入(直接PWM驅(qū)動(dòng))之間進(jìn)行設(shè)置?!び捎谥С秩娮璨蓸与娏魍?fù)?,因此可?shí)現(xiàn)更好的FOC。·全面保護(hù)措施:瞬時(shí)過流保護(hù)、欠電壓保護(hù)、過熱保護(hù)、互鎖功能、待機(jī)電流消耗低。X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板及其核心驅(qū)動(dòng)器STSPIN830的位置如圖2-9所示,STSPIN830的功能框圖如圖2-10所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DS12584:Compactandversatilethree-phaseandthree-sensemotordriver》),STSPIN830的部分電路原理圖如圖2-11所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DB3613:Three-phasebrushlessDCmotordriverexpansionboardbasedonSTSPIN830forSTM32Nucleo》)?!鴪D2-9X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板及其核心驅(qū)動(dòng)器STSPIN830的位置▲圖2-10STSPIN830的功能框圖▲圖2-11STSPIN830的部分電路原理圖2)電流采樣檢測及其他感應(yīng)控制X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板上的運(yùn)放TSV994可將采樣電阻上的電壓放大和偏移到可采樣的范圍,并把得到的信號(hào)輸入MCU的ADC端口,從而完成電流的采樣。采樣方式可以選擇三電阻或單電阻。TSV994在X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板上的位置如圖2-12所示,X-NUCLEO-IHM16M1電流檢測和調(diào)節(jié)電路如圖2-13所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DB3613:Three-phasebrushlessDCmotordriverexpansionboardbasedonSTSPIN830forSTM32Nucleo》)。▲圖2-12TSV994在X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板上的位置▲圖2-13X-NUCLEO-IHM16M1電流檢測和調(diào)節(jié)電路X-NUCLEO-IHM16M1的傳感器及其他相關(guān)電路圖如圖2-14所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DB3613:Three-phasebrushlessDCmotordriverexpansionboardbasedonSTSPIN830forSTM32Nucleo》)。其中,NTC為熱敏電阻,通過溫度升高使電阻減小,進(jìn)而實(shí)現(xiàn)PCB溫度的感應(yīng)。R20、R21、R22和R23、R24、R25,以及C10、C11、C12構(gòu)成了一個(gè)具有限流上拉的低通濾波回路,可以濾除高頻干擾?!鴪D2-14X-NUCLEO-IHM16M1的傳感器及其他相關(guān)電路圖▲圖2-14X-NUCLEO-IHM16M1的傳感器及其他相關(guān)電路圖(續(xù))3)BEMF感應(yīng)電路通過旋轉(zhuǎn)電機(jī)的BEMF可進(jìn)行位置估算。電機(jī)的BEMF與磁場和電機(jī)速度的乘積成正比,且電機(jī)位置是磁場的函數(shù)。借助BEMF可以知道并控制BLDCM的位置和速度。通過采集三相電壓并將其輸入觀測器以實(shí)現(xiàn)位置檢測。BEMF感應(yīng)電路原理圖如圖2-15所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DB3613:Three-phasebrushlessDCmotordriverexpansionboardbasedonSTSPIN830forSTM32Nucleo》),其中,S1751-46RTP6、S1751-46RTP7和S1751-46RTP8是測試點(diǎn)。圖2-15BEMF感應(yīng)電路原理圖4)X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板與STM32Nucleo開發(fā)板相連X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板上集成了Arduino和STmorpho連接器,因此它可以與STM32Nucleo開發(fā)板相連,并與其他的STM32Nucleo擴(kuò)展板兼容。CN7、CN10這兩個(gè)公共引腳頭在板子的兩面都有突出,可以用來將X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板與NUCLEO-G431RB開發(fā)板相連。所有MCU的信號(hào)和電源腳位在STmorpho連接器上都有效,MCU的詳細(xì)引腳分布圖如圖2-16所示(截圖來自ST官網(wǎng)數(shù)據(jù)手冊(cè)《DB3613:ThreephasebrushlessDCmotordriverexpansionboardbasedonSTSPIN830forSTM32Nucleo》),X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的跳線接口如圖2-17所示?!鴪D2-16MCU的詳細(xì)引腳分布圖▲圖2-17X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的跳線接口X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的跳線配置如表2-2所示,其中,JP4和JP7必須同步配置,當(dāng)其同時(shí)開時(shí),為三電阻電流采樣;當(dāng)其同時(shí)關(guān)時(shí),為單電阻電流采樣。X-NUCLEOIHM16M1三相驅(qū)動(dòng)板元器件功能描述如表2-3所示。▼表2-2X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板的跳線配置▼表2-3X-NUCLEO-IHM16M1三相驅(qū)動(dòng)板元器件功能描述2.3三相云臺(tái)電機(jī)GBM2804H-100T三相云臺(tái)電機(jī)GBM2804H-100T的外觀如圖2-18所示,電機(jī)結(jié)構(gòu)及尺寸如圖2-19所示。電機(jī)上引出的3根接線分別對(duì)應(yīng)U、V、W相,在使用時(shí),3根接線分別連接到XNUCLEO-IHM16M1三相驅(qū)動(dòng)板上CN1對(duì)應(yīng)的U、V、W處?!鴪D2-18三相云臺(tái)電機(jī)GBM2804H-100T的外觀▲圖2-19電機(jī)結(jié)構(gòu)及尺寸三相云臺(tái)電機(jī)GBM2804H-100T的規(guī)格參數(shù)如下?!ぷ畲笾绷麟妷海?4.8V?!ぷ罡咿D(zhuǎn)速:2180rpm。·最大扭矩:0.981N·m?!ぷ畲笾绷麟娏鳎?A?!O對(duì)數(shù):7。2.4DC電源DC電源的規(guī)格參數(shù)如下?!?biāo)稱輸出電壓:直流12V?!ぷ畲筝敵鲭娏鳎?A?!ぽ斎氲墓ぷ麟妷悍秶航涣?00~240V?!ゎl率范圍:50~60Hz。第3章軟件開發(fā)環(huán)境本書主要用到的軟件開發(fā)工具有MotorControlWorkbench(MCSDK)、STM32CubeMX、STM32CubeIDE、Keil等。STM32G4軟件生態(tài)系統(tǒng)的組成如圖3-1所示。圖3-1STM32G4軟件生態(tài)系統(tǒng)的組成STM32電機(jī)控制SDK工作流如圖3-2所示。MotorControlWorkbench主要用于創(chuàng)建工程;STM32CubeMX主要用于配置及初始化代碼的生成,解決資源配置的沖突問題;STM32提供的免費(fèi)集成開發(fā)環(huán)境CubeIDE或第三方集成開發(fā)環(huán)境(如IAR、Keil)用于代碼的調(diào)試、編譯與下載。圖3-2STM32電機(jī)控制SDK工作流以電機(jī)控制套件P-NUCLEO-IHM03為例,首先使用MotorControlWorkbench創(chuàng)建工程,選擇ControlBoard為NUCLEO-G431RB開發(fā)板、PowerBoard驅(qū)動(dòng)板為X-NUCLEOIHM16M1三相驅(qū)動(dòng)板、Motor為GBM2804H-100T。工程生成完畢,調(diào)試參數(shù)后在STM32CubeMX中生成代碼。初始化代碼生成后,將代碼在CubeIDE或Keil中打開并進(jìn)行調(diào)試、編譯與下載。當(dāng)代碼下載到單片機(jī)中進(jìn)行電機(jī)控制時(shí),使用MotorControlWorkbench可以實(shí)現(xiàn)對(duì)電機(jī)的在線調(diào)試、波形觀測與狀態(tài)監(jiān)測。3.1開發(fā)環(huán)境概述1)STM32CubeMXSTM32CubeMX是針對(duì)STM32系列微控制器的可視化配置工具,通過分步過程可以非常輕松地配置STM32微控制器和微處理器,以及為ARMCortex-M內(nèi)核或面向ARMCortex-A內(nèi)核的特定Linux設(shè)備樹生成相應(yīng)的初始化C代碼。它的主要功能有引腳配置、時(shí)鐘配置、中斷配置、片上外設(shè)配置、生成初始代碼等。2)STM32CubeIDESTM32CubeIDE是針對(duì)STM32系列微控制器的集成開發(fā)環(huán)境,具有STM32微控制器和微處理器的外設(shè)配置、代碼生成、代碼編譯和調(diào)試功能。STM32CubeIDE可以幫助用戶編譯調(diào)試代碼,包括STM32CubeMX生成的項(xiàng)目代碼,同時(shí)集成了STM32CubeMX工具。3)KeilKeil是KeilSoftware公司開發(fā)的微控制器軟件開發(fā)平臺(tái),是目前ARM內(nèi)核單片機(jī)開發(fā)的主流工具。它提供了包括C編譯、宏匯編、鏈接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。其中,MDK-ARM是KeilSoftware公司開發(fā)的基于ARM內(nèi)核的系列微控制器的嵌入式應(yīng)用程序。4)IAREWARMEmbeddedWorkbenchforARM(EWARM)是IARSystems公司為ARM微處理器開發(fā)的一個(gè)集成開發(fā)環(huán)境(又稱IAREWARM)。與其他的ARM開發(fā)環(huán)境相比,IAREWARM具有入門容易、使用方便和代碼緊湊等特點(diǎn)。IAREWARM中包含一個(gè)全軟件的模擬程序,用戶不需要任何硬件支持就可以模擬各種ARM內(nèi)核、外部設(shè)備,甚至中斷的軟件運(yùn)行環(huán)境。5)MotorControlWorkbenchMotorControlWorkbench是STM32電機(jī)控制工作臺(tái),它可以減少STM32PMSMFOC固件配置所需的設(shè)計(jì)工作時(shí)間。用戶通過GUI生成項(xiàng)目文件,并根據(jù)應(yīng)用程序的需要初始化庫??梢允褂肕otorControlWorkbench對(duì)電機(jī)進(jìn)行調(diào)速、參數(shù)設(shè)置、在線調(diào)試、波形觀測,以及快速實(shí)現(xiàn)對(duì)電機(jī)的控制,包括有感/無感、方波控制和FOC控制。MotorProfiler是用來對(duì)電機(jī)參數(shù)實(shí)現(xiàn)快速測試的工具,集成在MotorControlWorkbench中。6)STMStudioSTMStudio是STM32的一款小巧的圖形化數(shù)據(jù)監(jiān)測軟件,通過實(shí)時(shí)讀取和顯示變量來幫助調(diào)試和診斷STM32的應(yīng)用程序,通過標(biāo)準(zhǔn)的ST-LINK開發(fā)工具與STM32連接。STMStudio是一種非侵入式工具,可以保留應(yīng)用程序的實(shí)時(shí)行為,它非常適合調(diào)試無法停止的應(yīng)用,如電機(jī)控制應(yīng)用。3.2STM32CubeMX3.2.1下載和安裝打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32新手入門-工具安裝”并搜索,即可檢索到參考視頻《STM32新手入門-工具安裝》。(1)打開ST官網(wǎng)主頁,在搜索框中選擇“Tools&Software”類別,搜索“STM32CubeMX”,在檢索結(jié)果界面中單擊“STM32CubeMX”,跳轉(zhuǎn)到“STM32CubeMX”界面,將語言切換成中文,單擊“獲取軟件”選項(xiàng)卡,如圖3-3所示。根據(jù)自己的電腦系統(tǒng)單擊對(duì)應(yīng)的“Getlatest”按鈕進(jìn)行下載,此處以6.5.0版本為例說明其安裝過程。圖3-3獲取軟件(2)在彈出的“許可協(xié)議”對(duì)話框中單擊“接受”按鈕,彈出“獲取軟件”對(duì)話框,如圖3-4所示。輸入電子郵件地址,勾選同意隱私聲明復(fù)選框,單擊“下載”按鈕,若彈出圖3-5所示的對(duì)話框,則表示注冊(cè)MyST成功?!鴪D3-4“獲取軟件”對(duì)話框▲圖3-5注冊(cè)MyST成功(3)進(jìn)入電子郵箱查看收到的反饋郵件,下載STM32CubeMX,如圖3-6所示。單擊“立即下載”按鈕,直接跳轉(zhuǎn)到ST網(wǎng)站,稍等片刻會(huì)開始自動(dòng)下載。圖3-6下載STM32CubeMX(4)下載完成后將軟件進(jìn)行解壓,建議解壓到英文目錄下(不要含有中文),然后雙擊“SetupSTM32CubeMX-6.5.0-Win.exe”文件進(jìn)行安裝,如果彈出提示安裝Java的窗口,那么按照操作進(jìn)行安裝即可。進(jìn)入STM32CubeMX的安裝流程后,根據(jù)提示逐步完成安裝。STM32CubeMX的安裝過程如圖3-7~圖3-14所示?!鴪D3-7STM32CubeMX的安裝過程(1)▲圖3-8STM32CubeMX的安裝過程(2)▲圖3-9STM32CubeMX的安裝過程(3)▲圖3-10STM32CubeMX的安裝過程(4)▲圖3-11STM32CubeMX的安裝過程(5)▲圖3-12STM32CubeMX的安裝過程(6)▲圖3-13STM32CubeMX的安裝過程(7)▲圖3-14STM32CubeMX的安裝過程(8)(5)安裝完成后,打開STM32CubeMX。STM32CubeMX的主界面如圖3-15所示。圖3-15STM32CubeMX的主界面3.2.2工具界面STM32CubeMX主界面的功能分區(qū)如圖3-16所示。圖3-16STM32CubeMX主界面的功能分區(qū)①在菜單欄中,“File”用于工程文件的管理,“Window”用于切換軟件的視圖效果,“Help”用于尋找軟件使用指南,如檢查更新或固件包的安裝等。②“ExistingProjects”欄中展示了近期的工程文件,方便快捷打開。一般利用MotorControlWorkbench生成的工程文件可以在此直接打開。③“NewProject”欄中除了可以打開MCSDK生成的工程文件,也可以選擇開發(fā)板自行創(chuàng)建新的工程文件。④“Managesoftwareinstallations”欄中的按鈕主要用于檢查STM32CubeMX的更新及固件包的下載與安裝。如果要?jiǎng)?chuàng)建新工程,那么可以單擊“NewProject”欄中的“ACCESSTOMCUSELECTOR”按鈕,進(jìn)入MCU/MPU選擇界面,如圖3-17所示。圖3-17MCU/MPU選擇界面以P-NUCLEO-IHM03套件為例,在“CommercialPartNumber”文本框中輸入“STM32G431RB”后雙擊“STM32G431RBTx”即可選中套件中的開發(fā)板,進(jìn)入配置界面,如圖3-18所示。配置界面內(nèi)具體包括引腳配置、時(shí)鐘配置、工程管理、工具、資源、代碼生成、引腳/系統(tǒng)視圖等內(nèi)容。圖3-18配置界面3.3STM32CubeIDE3.3.1下載和安裝打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32新手入門-工具安裝”并搜索,即可檢索到參考視頻《STM32新手入門-工具安裝》。(1)STM32CubeIDE的下載流程與STM32CubeMX的下載流程類似。打開ST官網(wǎng)主頁,在搜索框中選擇“Tools&Software”類別,搜索“STM32CubeIDE”,在檢索結(jié)果界面中單擊“STM32CubeIDE”,跳轉(zhuǎn)到“STM32CubeIDE”界面,將語言切換成中文,單擊“獲取軟件”選項(xiàng)卡,如圖3-19所示。根據(jù)自己的電腦系統(tǒng)單擊對(duì)應(yīng)的“Getlatest”按鈕進(jìn)行下載,此處以1.9.0版本為例說明其安裝過程。圖3-19獲取軟件(2)在彈出的“許可協(xié)議”對(duì)話框中單擊“接受”按鈕(請(qǐng)注意先登錄或注冊(cè)ST賬號(hào)),進(jìn)行下載。(3)下載完成后將軟件進(jìn)行解壓,解壓到英文目錄下(安裝目錄必須是英文的,否則會(huì)報(bào)“Errorlaunchinginstaller”錯(cuò)誤)。雙擊“st-stm32cubeide_1.9.0_12015_20220302_0855_x86_64.exe”文件進(jìn)行安裝。進(jìn)入安裝流程后,根據(jù)提示逐步完成安裝。STM32CubeIDE的安裝過程如圖3-20~圖3-24所示。(4)安裝完成后,打開STM32CubeIDE。STM32CubeIDE的主界面如圖3-25所示?!鴪D3-20STM32CubeIDE的安裝過程(1)▲圖3-21STM32CubeIDE的安裝過程(2)▲圖3-22STM32CubeIDE的安裝過程(3)▲圖3-23STM32CubeIDE的安裝過程(4)▲圖3-24STM32CubeIDE的安裝過程(5)▲圖3-25STM32CubeIDE的主界面3.3.2工具界面STM32CubeIDE主界面的功能分區(qū)如圖3-26所示。圖3-26STM32CubeIDE主界面的功能分區(qū)打開一個(gè)STM32CubeMX生成的工程文件,工程文件界面的功能分區(qū)如圖3-27所示。圖3-27工程文件界面的功能分區(qū)3.4Keil(MDK-ARM)3.4.1下載和安裝打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“STM32新手入門-工具安裝”并搜索,即可檢索到參考視頻《STM32新手入門-工具安裝》。(1)打開Keil官網(wǎng)主頁,在“Download”菜單下選擇“ProductDownloads”→“MDKArm”命令。若第一次打開該網(wǎng)站,則會(huì)進(jìn)入MDK-ARM聯(lián)系信息輸入界面,如圖3-28所示。圖3-28MDK-ARM聯(lián)系信息輸入界面(2)在圖3-28中填寫聯(lián)系信息,填好后單擊“Submit”按鈕,進(jìn)入MDK-ARM下載界面,如圖3-29所示,單擊“MDK536.EXE”按鈕進(jìn)行下載。(3)下載完成后雙擊“MDK536.exe”文件進(jìn)行安裝。進(jìn)入安裝流程后,根據(jù)提示逐步完成安裝。MDK-ARM的安裝過程如圖3-30~圖3-34所示?!鴪D3-29MDK-ARM下載界面▲圖3-30MDK-ARM的安裝過程(1)▲圖3-31MDK-ARM的安裝過程(2)▲圖3-32MDK-ARM的安裝過程(3)▲圖3-33MDK-ARM的安裝過程(4)▲圖3-34MDK-ARM的安裝過程(5)(4)安裝完成后,打開MDK-ARM。MDK-ARM的主界面如圖3-35所示。圖3-35MDK-ARM的主界面3.4.2操作簡介進(jìn)入MDK-ARM后,打開STM32CubeMX生成的工程文件。MDK-ARM主界面的功能分區(qū)如圖3-36所示。圖3-36MDK-ARM主界面的功能分區(qū)下面介紹固件包的安裝。(1)在Keil內(nèi)選擇直接安裝。單擊圖3-36中的固件包安裝按鈕,打開固件包安裝界面,如圖3-37所示。單擊左側(cè)“Device”欄中的“STM32G4Series”開發(fā)板,然后選擇右側(cè)“Pack”欄中的“Keil::STM32G4xx_DFP”固件包,下載后進(jìn)行安裝或更新。(2)首次安裝會(huì)進(jìn)入固件包下載界面,如圖3-38所示。選擇“STMicroelectronicsSTM32G4SeriesDeviceSupport,DriversandExamples”,單擊右側(cè)的下載箭頭按鈕進(jìn)行下載?!鴪D3-37固件包安裝界面▲圖3-38固件包下載界面(3)圖3-39所示為固件包導(dǎo)入界面。在固件包安裝界面中選擇菜單欄中的“File”→“Import”命令,將下載的固件包導(dǎo)入,或者直接單擊固件包進(jìn)行安裝。圖3-39固件包導(dǎo)入界面3.5IAREWARM3.5.1下載和安裝(1)打開IAR官網(wǎng)主頁,選擇“PRODUCTS”菜單下的“TrySoftware”命令,進(jìn)入IAR試用版下載界面,如圖3-40所示。單擊“IAREmbeddedWorkbenchforArm”右側(cè)的下拉箭頭,并單擊“Registeranddownload”按鈕,進(jìn)入IAREmbeddedWorkbenchforArm下載界面,如圖3-41所示?!鴪D3-40IAR試用版下載界面▲圖3-41IAREmbeddedWorkbenchforArm下載界面(2)單擊“Download”按鈕進(jìn)入IAR試用版注冊(cè)界面,如圖3-42所示,填寫帶“*”的信息并提交。圖3-42IAR試用版注冊(cè)界面(3)提交注冊(cè)信息后網(wǎng)站會(huì)發(fā)送一封確認(rèn)注冊(cè)郵件到填寫的郵箱中,IAR注冊(cè)確認(rèn)郵件的發(fā)送界面如圖3-43所示。打開收到的郵件,單擊郵件中的鏈接,進(jìn)入IAR注冊(cè)確認(rèn)界面,如圖3-44所示。圖3-43IAR注冊(cè)確認(rèn)郵件的發(fā)送界面(4)單擊“Downloadsoftware”按鈕進(jìn)行下載,下載完成后雙擊“EWARM-9204-47112.exe”文件進(jìn)行安裝。IAREmbeddedWorkbenchforArm的安裝過程如圖3-45~圖3-51所示。▲圖3-44IAR注冊(cè)確認(rèn)界面▲圖3-45IAREmbeddedWorkbenchforArm的安裝過程(1)▲圖3-46IAREmbeddedWorkbenchforArm的安裝過程(2)▲圖3-47IAREmbeddedWorkbenchforArm的安裝過程(3)▲圖3-48IAREmbeddedWorkbenchforArm的安裝過程(4)▲圖3-49IAREmbeddedWorkbenchforArm的安裝過程(5)(5)安裝完成后,打開IAREmbeddedWorkbenchIDE-Arm。IAREmbeddedWorkbenchIDE-Arm的主界面如圖3-52所示?!鴪D3-50IAREmbeddedWorkbenchforArm的安裝過程(6)▲圖3-51IAREmbeddedWorkbenchforArm的安裝過程(7)▲圖3-52IAREmbeddedWorkbenchIDE-Arm的主界面(6)選擇“Help”菜單下的“LicenseManager”命令,打開IARLicenseManager窗口,如圖3-53所示。圖3-53IARLicenseManager窗口(7)選擇“License”菜單下的“ActivateLicense”命令,打開激活向?qū)?duì)話框,選擇在線激活,輸入注冊(cè)確認(rèn)郵件中的licensenumber,逐步完成軟件激活。IAR的激活過程如圖3-54~圖3-57所示?!鴪D3-54IAR的激活過程(1)▲圖3-55IAR的激活過程(2)▲圖3-56IAR的激活過程(3)▲圖3-57IAR的激活過程(4)3.5.2操作簡介進(jìn)入IAREmbeddedWorkbenchIDE后,選擇“File”菜單下的“OpenWorkspace”命令,打開工作空間,如圖3-58所示。圖3-58打開工作空間打開STM32CubeMX生成的工程文件,如圖3-59所示,此處以6S_IHM16_SL_VM為例。IAREmbeddedWorkbenchIDE-Arm主界面的功能分區(qū)如圖3-60所示。▲圖3-59打開STM32CubeMX生成的工程文件▲圖3-60IAREmbeddedWorkbenchIDE-Arm主界面的功能分區(qū)3.6MotorControlWorkbench(MCSDK)3.6.1下載和安裝(1)打開ST官網(wǎng)主頁,選擇“Tools&Software”→“Ecosystems”→“STM32EcosystemforMotorControl”→“EmbeddedSoftware”→“X-CUBE-MCSDK”→“GetSoftware”命令,進(jìn)入X-CUBE-MCSDK軟件的下載界面,如圖3-61所示。選擇對(duì)應(yīng)版本進(jìn)行下載,此處以5.4.8版本為例說明其安裝過程。圖3-61X-CUBE-MCSDK軟件的下載界面(2)在彈出的“許可協(xié)議”對(duì)話框中單擊“接受”按鈕(請(qǐng)注意先登錄或注冊(cè)ST賬號(hào)),進(jìn)行下載。(3)下載完成后將軟件進(jìn)行解壓,然后雙擊“X-CUBE-MCSDK_5.4.8.exe”文件進(jìn)行安裝。進(jìn)入安裝流程后,根據(jù)提示逐步完成安裝(注意在安裝的路徑名中不要有中文,建議不要安裝在系統(tǒng)盤中)。MCSDK的安裝過程如圖3-62~圖3-65所示?!鴪D3-62MCSDK的安裝過程(1)▲圖3-63MCSDK的安裝過程(2)▲圖3-64MCSDK的安裝過程(3)▲圖3-65MCSDK的安裝過程(4)(4)安裝完成后打開軟件,MCSDK的主界面如圖3-66所示。圖3-66MCSDK的主界面3.6.2操作簡介打開“電堂科技”官網(wǎng)主頁,選擇“廠商專區(qū)”菜單下的“STM32”命令,在搜索框中輸入“MCSDK5.x軟件介紹【上】”并搜索,即可檢索到參考視頻《4.MCSDK5.x軟件介紹【上】》。STMotorControlWorkbench主界面的功能分區(qū)如圖3-67所示。用戶按鈕區(qū)用于創(chuàng)建新項(xiàng)目、加載已有項(xiàng)目或啟動(dòng)ST電機(jī)參數(shù)測量工具;最近項(xiàng)目區(qū)用于加載近期的項(xiàng)目;例程區(qū)用于加載項(xiàng)目示例。圖3-67STMotorControlWorkbench主界面的功能分區(qū)(1)創(chuàng)建新項(xiàng)目。在圖3-67中的用戶按鈕區(qū)單擊“NewProject”按鈕,彈出“NewProject”對(duì)話框。在“Applicationtype”下拉列表中選擇“Custom”,在“System”選項(xiàng)中選中“SingleMotor”單選按鈕。以本書使用的P-NUCLEO-IHM03套件為例,有兩種方法可以創(chuàng)建新項(xiàng)目。第1種方法如圖3-68所示,在“SelectBoards”選項(xiàng)中選中“MCKit”單選按鈕,在“MotorControlKit”下拉列表中選擇“P-NUCLEO-IHM033Sh”,在“Motor”下拉列表中選擇“GimBelGBM2804H-100T”。第2種方法如圖3-69所示,在“SelectBoards”選項(xiàng)中選中“Power&Control”單選按鈕,在“Control”下拉列表中選擇“NUCLEO-G431RB”,在“Power”下拉列表中選擇“X-NUCLEO-IHM16M13Sh”,在“Motor”下拉列表中選擇“GimBelGBM2804H-100T”。(2)硬件配置。硬件配置窗口如圖3-70所示,主要包括圖標(biāo)與菜單區(qū)、當(dāng)前硬件信息、硬件細(xì)節(jié)設(shè)定、主要硬件配置信息和用戶信息。電機(jī)監(jiān)測界面如圖3-71所示。按鈕①用于打開電機(jī)監(jiān)測界面;按鈕②用于連接電機(jī)(圖中電機(jī)尚未連接);按鈕③用于打開示波器窗口,示波器窗口如圖3-72所示?!鴪D3-68創(chuàng)建新項(xiàng)目方法1▲圖3-69創(chuàng)建新項(xiàng)目方法2▲圖3-70硬件配置窗口▲圖3-71電機(jī)監(jiān)測界面▲圖3-72示波器窗口(3)工程生成。單擊“Projectgeneration”按鈕可以選擇合適的IDE自動(dòng)生成代碼,生成的代碼可在CubeMX中打開并進(jìn)行下一步配置工作,具體操作流程將在7.1節(jié)中展示。代碼生成窗口如圖3-73所示。圖3-73代碼生成窗口3.6.3使用STMotorProfiler獲得電機(jī)參數(shù)STMotorControlWorkbench中集成的MotorProfiler工具如圖3-74所示。單擊“MotorProfiler”按鈕進(jìn)行參數(shù)測量,操作步驟如下。圖3-74STMotorControlWorkbench中集成的MotorProfiler工具(1)選擇開發(fā)板。在“STMotorProfiler”窗口中,單擊“SelectBoards”按鈕選擇開發(fā)板,如圖3-75所示,打開套件選擇窗口,選擇P-NUCLEO-IHM03套件(見圖3-76),該套件由NUCLEOG431RB和X-NUCLEO-IHM16M13Sh兩塊板子組成。▲圖3-75選擇開發(fā)板▲圖3-76選擇P-NUCLEO-IHM03套件如果是第一次使用該套件,則需要進(jìn)行板子配置檢查,如圖3-77所示,單擊圖中方框內(nèi)的“RemembertoproperlyconfiguretheboardsinMotorControlmode”鏈接,對(duì)板子需要進(jìn)行安裝的線帽進(jìn)行檢查。圖3-77板子配置檢查(2)填寫電機(jī)參數(shù)(見圖3-78)。根據(jù)廠家提供的信息填寫電機(jī)相關(guān)參數(shù),有助于縮短測量準(zhǔn)確數(shù)值的時(shí)間。其中,電機(jī)的極對(duì)數(shù)、磁體的內(nèi)置類型是必須填寫的,在ST官網(wǎng)中可以找到相關(guān)數(shù)據(jù)。本書使用的電機(jī)為表貼式電機(jī)(SM-PMSM),極對(duì)數(shù)為7。圖3-78填寫電機(jī)參數(shù)(3)連接開發(fā)板與軟件(見圖3-79)。單擊圖3-79中的“Connect”按鈕進(jìn)行連接。第一次連接成功會(huì)顯示連接成功的狀態(tài)框,如圖3-80所示?!鴪D3-79連接開發(fā)板與軟件▲圖3-80連接成功的狀態(tài)框若顯示其他提示信息,則根據(jù)提示內(nèi)容檢查相關(guān)問題,常見問題如下。①檢測不到ST-LINK。②檢測不到串口。③要連接的板子和所選的不同。④ST-LINK安裝的固件版本需要更新。⑤測量期間電機(jī)負(fù)載變化太快。⑥測量階段時(shí)間過長。(4)測量參數(shù)。開發(fā)板與軟件連接成功后,單擊“StartProfile”按鈕開始進(jìn)行電機(jī)參數(shù)測量,如圖3-81所示。測量過程如圖3-82所示?!鴪D3-81開始進(jìn)行電機(jī)參數(shù)測量▲圖3-82測量過程測量結(jié)果如圖3-83所示。測量結(jié)束后,電機(jī)的參數(shù)會(huì)以不同顏色顯示出來,包括電阻R、電感L、電勢系數(shù)K等。若顏色為綠色,則說明精度可靠;若有一個(gè)或多個(gè)結(jié)果的顏色為橙色,則需檢查硬件設(shè)置,并重新啟動(dòng)STMotorProfiler。測量成功后可單擊“Save”按鈕,將電機(jī)參數(shù)保存到C:\Users\name\.st_motor_control\user_motors目錄下,以供STMotorControlWorkbench使用。SSe圖3-83測量結(jié)果3.6.4STMCSDK5.x固件1)電機(jī)控制SDK概述在使用STMCSDK5.x固件時(shí)需要對(duì)軟件整體進(jìn)行了解。STM32電機(jī)控制固件架構(gòu)如圖3-84所示,從圖中可以看到三重架構(gòu),從下到上分別是外設(shè)層、電機(jī)庫層、電機(jī)應(yīng)用層。最下層為芯片外設(shè)庫,芯片外設(shè)庫使用STHAL/LL庫,可被各個(gè)層級(jí)調(diào)用,針對(duì)芯片的每種外設(shè)都有提供對(duì)應(yīng)的庫函數(shù),需要結(jié)合使用說明調(diào)用這些庫函數(shù)。芯片外設(shè)對(duì)應(yīng)的庫函數(shù)如圖3-85所示。我們必須掌握的外設(shè)有TIMER、ADC、GPIO。電機(jī)庫層是主要的電機(jī)FOC控制層,包含F(xiàn)OC算法、單片機(jī)外設(shè)配置、中斷機(jī)制等各個(gè)環(huán)節(jié)。最上層為電機(jī)應(yīng)用層,供用戶直接使用電機(jī)庫,且不需關(guān)心底層是如何實(shí)現(xiàn)的,加快用戶程序開發(fā),一般用戶只需要熟練掌握電機(jī)應(yīng)用層的API即可。▲圖3-84STM32電機(jī)控制固件架構(gòu)▲圖3-85芯片外設(shè)對(duì)應(yīng)的庫函數(shù)STMCSDK5.x固件主要由電機(jī)控制座艙、電機(jī)控制庫和用戶界面庫構(gòu)成。其中,電機(jī)控制庫是底層的組件庫,由被稱為組件的單元組成,每一個(gè)組件是完成特定功能的一個(gè)零件。電機(jī)控制座艙把這些組件有機(jī)地結(jié)合起來去完成整個(gè)電機(jī)控制的功能。用戶界面庫用于界面調(diào)試通信,通過DAC、UART等為開發(fā)者提供一組人機(jī)交互的工具,例如,用戶和Workbench之間的交互就是通過用戶界面庫實(shí)現(xiàn)的。(1)電機(jī)控制座艙。電機(jī)控制座艙將軟件組件集成到MC固件子系統(tǒng)中,并實(shí)現(xiàn)調(diào)節(jié)回路。它實(shí)例化、配置和連接在PMSMFOC庫和用戶界面庫中為用戶應(yīng)用選擇的固件組件。根據(jù)應(yīng)用特征,電機(jī)控制座艙代碼由STM32CubeMX產(chǎn)生,所以電機(jī)控制座艙代碼只包含所需內(nèi)容,易于讀取。電機(jī)控制座艙由電機(jī)控制動(dòng)態(tài)、電機(jī)控制配置和電機(jī)控制接口三部分組成,如圖3-86所示。電機(jī)控制動(dòng)態(tài)實(shí)現(xiàn)對(duì)電機(jī)的動(dòng)態(tài)性能的控制,包括FOC控制環(huán)路(高頻任務(wù))、電機(jī)控制環(huán)路(中頻任務(wù))、安全控制環(huán)路(安全任務(wù))。電機(jī)控制配置實(shí)例化并配置所有需要的組件。電機(jī)控制接口通過MCAPI來實(shí)現(xiàn),它是提供給應(yīng)用的主要且最直接的接口,用戶可以通過這組API安全高效地控制電機(jī)的運(yùn)行。在圖3-86中,虛線方框內(nèi)為可選擇組件,實(shí)線框內(nèi)均為主要組件,可以看到,整個(gè)控制圍繞著電機(jī)控制系統(tǒng)的各個(gè)方面。從圖3-86中可以看出,電機(jī)控制動(dòng)態(tài)的三個(gè)環(huán)路構(gòu)成了底層驅(qū)動(dòng)部分,對(duì)于整體程序控制流程,電機(jī)控制庫的控制過程都發(fā)生在中斷中,區(qū)別于普通程序控制流程,且無任務(wù)調(diào)度。這樣可以做到電機(jī)實(shí)時(shí)控制,因此整個(gè)STM32產(chǎn)品都可用于FOC控制。電機(jī)控制座艙是為提供用戶可直接使用的電機(jī)庫而準(zhǔn)備的,各種API函數(shù)可供用戶調(diào)用。簡單的應(yīng)用直接使用這些API函數(shù)就能夠?qū)崿F(xiàn),用戶不需要關(guān)心底層如何操作,只需要關(guān)注自身需要實(shí)現(xiàn)哪些必要的功能,從而使得項(xiàng)目開發(fā)更加快速有效。表3-1所示為可以直接使用的API函數(shù)?!鴪D3-86電機(jī)控制座艙組成▼表3-1可以直接使用的API函數(shù)續(xù)表(2)電機(jī)控制庫。電機(jī)控制庫是軟件組件的集合,每一個(gè)組件實(shí)現(xiàn)電機(jī)控制的一個(gè)功能。例如,速度和位置監(jiān)測、電流檢測、PID算法等。組件是一個(gè)自給自足的軟件單元,包含一個(gè)結(jié)構(gòu)體,在結(jié)構(gòu)體中定義了能完成此組件功能的數(shù)據(jù)變量,結(jié)構(gòu)體中放置的數(shù)據(jù)是表征該組件并調(diào)整其行為的參數(shù),它們充分描述了組件狀態(tài)。通過定義一種類型來將這些數(shù)據(jù)保持在一起,該類型的變量用作組件實(shí)例上的句柄。另外還包含一系列的函數(shù),這些函數(shù)通過操作結(jié)構(gòu)體中的數(shù)據(jù)變量來實(shí)現(xiàn)組件的功能。具有句柄和函數(shù)的組件如圖3-87所示。組件通常包含一個(gè).c文件和一個(gè).h文件。結(jié)構(gòu)體以“組件名縮寫+_Handle_t”命名,函數(shù)以“組件名縮寫+函數(shù)功能”命名,組件使得實(shí)現(xiàn)多個(gè)給定功能變得很簡單。圖3-87具有句柄和函數(shù)的組件X-CUBE-MCSDK_5.x中的組件如表3-2所示。其中,序號(hào)為1~22的組件以源程序的方式提供,序號(hào)為23~29的組件以庫的形式提供,可以根據(jù)提供的頭文件從庫里調(diào)用相應(yīng)函數(shù)。表3-2X-CUBE-MCSDK_5.x中的組件續(xù)表一般來說,普通應(yīng)用不會(huì)涉及電機(jī)控制庫,只有當(dāng)API層已經(jīng)無法滿足電機(jī)控制的需求時(shí)才會(huì)考慮修改這個(gè)部分,但在對(duì)電機(jī)運(yùn)行框架非常熟悉的前提下才能進(jìn)行修改。(3)用戶界面庫。用戶界面庫是負(fù)責(zé)通信的組件。電機(jī)控制代碼通過這些組件控制串口和DAC與外界通信。通過用戶界面庫可以連接MCU和Workbench,在Workbench中實(shí)現(xiàn)對(duì)電機(jī)運(yùn)行狀態(tài)的監(jiān)控。2)電機(jī)控制應(yīng)用工作流使用STM32電機(jī)控制SDK的電機(jī)控制軟件應(yīng)用設(shè)計(jì)通常從MCWorkbench開始。在SDK的使用過程中,電機(jī)本體、電機(jī)控制硬件板、控制引腳、控制策略在MCWorkbench中配置完成,順序?yàn)镸CWorkbench、STM32CubeMX工程、電機(jī)庫代碼(芯片外設(shè)庫+電機(jī)控制庫+電機(jī)控制座艙+用戶界面庫+系統(tǒng)初始化),該生成代碼加入簡單API后(如MC_StartMotor1)可以直接運(yùn)行對(duì)應(yīng)的電機(jī),當(dāng)需要細(xì)化控制或復(fù)雜控制時(shí)才有可能會(huì)修改電機(jī)控制座艙或電機(jī)控制庫中的代碼。電機(jī)控制固件在開發(fā)環(huán)境中的應(yīng)用如圖3-88所示。MCWB從PMSMFOC庫中選擇適當(dāng)?shù)墓碳M件,計(jì)算其配置參數(shù),生成STM32CubeMX項(xiàng)目文件,并使用此項(xiàng)目執(zhí)行STM32CubeMX。執(zhí)行的結(jié)果是生成了完整的軟件項(xiàng)目,包括讓電機(jī)旋轉(zhuǎn)的應(yīng)用的源代碼和庫。該軟件項(xiàng)目可在從工作臺(tái)上選擇的IDE中直接打開。STM32CubeMX生成的代碼使用MCWB提供的參數(shù)來配置控制應(yīng)用電機(jī)所需的所有外設(shè)。此代碼還可初始化MC固件子系統(tǒng)、設(shè)置STM32時(shí)鐘和中斷處理程序,以便正確控制電機(jī)。用戶可以修改生成的軟件項(xiàng)目,添加自己的代碼。對(duì)于上述工作流程,用戶看到的工具只有STM32MCWB。這對(duì)許多應(yīng)用來說已經(jīng)足夠。如果用戶還需要調(diào)整影響STM32電機(jī)控制的其他系統(tǒng)方面,那么可以直接使用STM32CubeMX,即首先加載STM32CubeMX中MCWB所生成的項(xiàng)目,然后進(jìn)行想要的修改,最終再次生成項(xiàng)目。圖3-88電機(jī)控制固件在開發(fā)環(huán)境中的應(yīng)用3.7STMStudio3.7.1下載和安裝(1)打開ST官網(wǎng)主頁,在搜索框中選擇“Tools&Software”類別,搜索“STMStudio”。檢索結(jié)果界面如圖3-89所示,單擊“STM-STUDIO-STM32”按鈕(請(qǐng)注意將語言切換成中文),然后單擊“獲取軟件”選項(xiàng)卡,跳轉(zhuǎn)到STM-STUDIO-STM32下載界面,如圖3-90所示,單擊“Getlatest”按鈕進(jìn)行下載?!鴪D3-89檢索結(jié)果界面▲圖3-90STM-STUDIO-STM32下載界面(2)進(jìn)入安裝流程后,根據(jù)提示逐步完成安裝。STMStudio的安裝過程如圖3-91~圖3-97所示。圖3-91STMStudio的安裝過程(1)第一次安裝的時(shí)候會(huì)彈出如圖3-92和圖3-93所示的對(duì)話框,要求下載安裝JavaRuntimeEnvironment,根據(jù)提示進(jìn)行安裝即可?!鴪D3-92STMStudio的安裝過程(2)▲圖3-93STMStudio的安裝過程(3)▲圖3-94STMStudio的安裝過程(4)▲圖3-95STMStudio的安裝過程(5)▲圖3-96STMStudio的安裝過程(6)▲圖3-97STMStudio的安裝過程(7)(3)安裝完成后打開軟件,STMStudio的主界面如圖3-98所示。圖3-98STMStudio的主界面3.7.2操作簡介STMStudio主界面的功能分區(qū)如圖3-99所示。圖3-99STMStudio主界面的功能分區(qū)在右鍵菜單中選擇“Import”命令,打開“Importvariablesfromexecutable”對(duì)話框,單擊文本框右側(cè)的“...”按鈕,打開“Selectexecutablefile”對(duì)話框,選擇要打開的文件,導(dǎo)入變量,如圖3-100所示。然后單擊“Selection”欄中的“Import”按鈕,如圖3-101所示。以上過程為STMStudio導(dǎo)入變量的過程?!鴪D3-100導(dǎo)入變量▲圖3-101單擊“Selection”欄中的“Import”按鈕STMStudio變量監(jiān)測如圖3-102所示。在右鍵菜單中選擇“SendTo”→“VarViewer1”命令,可以在“VarViewer1”窗格中查看變量的數(shù)值;在“Viewerssettings”欄中,可以在“Display”→“VarViewer1as”下拉列表中選擇變量的展現(xiàn)形式。圖3-102STMStudio變量監(jiān)測第4章NUCLEO-G431RB基礎(chǔ)實(shí)驗(yàn)經(jīng)過前3章的學(xué)習(xí),我們對(duì)STM32G4開發(fā)的硬件和軟件平臺(tái)都有了整體上的認(rèn)識(shí)和了解。STM32G4的內(nèi)部資源非常豐富,對(duì)初學(xué)者來說,快速入手有難度。本章將通過實(shí)驗(yàn),從最簡單的外設(shè)開始,由淺入深,帶領(lǐng)讀者逐步學(xué)習(xí)STM32G4的入門使用。本章共分為6小節(jié),每小節(jié)即一個(gè)實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)都配有詳細(xì)的步驟和解釋,手把手教讀者如何使用STM32G4的各種外設(shè)。具體內(nèi)容包括LED點(diǎn)燈實(shí)驗(yàn)、定時(shí)器PWM應(yīng)用實(shí)驗(yàn)、外部中斷實(shí)驗(yàn)、串行接口應(yīng)用實(shí)驗(yàn)、數(shù)/模轉(zhuǎn)換應(yīng)用實(shí)驗(yàn)和互補(bǔ)PWM輸出實(shí)驗(yàn)。實(shí)驗(yàn)注意事項(xiàng)如下:①在實(shí)驗(yàn)接線之前,要根據(jù)電路原理圖的布局、操作簡單及安全的原則擺放好所有儀器,將要調(diào)節(jié)的儀器放在離自己比較近的位置。②當(dāng)某個(gè)IO口用作其他用途時(shí),請(qǐng)先查看開發(fā)板的原理圖,確認(rèn)該IO口是否已連接在開發(fā)板的某個(gè)外設(shè)上。若已連接,則進(jìn)一步確認(rèn)該外設(shè)的信號(hào)是否會(huì)對(duì)此次使用造成干擾,若沒有干擾,則可以使用該IO口。③在上電之前,請(qǐng)注意板子上的跳線帽及板子與板子之間的連接方式,若跳線帽或板子之間的連接方式不對(duì),則會(huì)導(dǎo)致其功能無法正常使用,或者損壞電路板。④在實(shí)驗(yàn)過程中,一旦發(fā)現(xiàn)有特殊情況,如短路、導(dǎo)線著火等,必須馬上斷開電源。⑤在實(shí)驗(yàn)過程中,當(dāng)需要取下控制板上的某些短路帽時(shí),務(wù)必記住其所在的位置,并在實(shí)驗(yàn)結(jié)束后將短路帽放回原處,以免造成開發(fā)板損壞或影響開發(fā)板正常使用。4.1LED點(diǎn)燈實(shí)驗(yàn)1)實(shí)驗(yàn)?zāi)繕?biāo)按下按鍵后,實(shí)現(xiàn)LED燈閃爍。2)實(shí)驗(yàn)條件(1)硬件平臺(tái):NUCLEO-G431RB。(2)軟件平臺(tái):STM32CubeMX和KeilμVision5(MDK-ARM)。3)實(shí)驗(yàn)步驟(1)創(chuàng)建新項(xiàng)目。方法1:打開STM32CubeMX軟件,新建工程并選擇MCU,如圖4-1所示。單擊“ACCESSTOMCUSELECTOR”按鈕,進(jìn)入MCU選擇界面,選擇MCU具體型號(hào),如圖4-2所示。在“PartNumber”文本框中輸入“STM32G431RB”,然后雙擊“STM32G431RBTx”?!鴪D4-1新建工程并選擇MCU▲圖4-2選擇MCU具體型號(hào)方法2:打開STM32CubeMX軟件,新建工程并選擇開發(fā)板,如圖4-3所示。單擊“ACCESSTOBOARDSELECTOR”按鈕,進(jìn)入開發(fā)板選擇界面,選擇開發(fā)板具體型號(hào),如圖4-4所示。在“CommercialPartNumber”文本框中輸入“NUCLEO-G431RB”,然后雙擊“NUCLEO-G431RB”。(2)配置引腳。完成步驟(1)后,會(huì)進(jìn)入“Pinout&Configuration”視圖,如圖4-5所示。在右下角的搜索框中搜索PA5引腳,并將其設(shè)置為“GPIO_Output”,如圖4-6所示。▲圖4-3新建工程并選擇開發(fā)板▲圖4-4選擇開發(fā)板具體型號(hào)(3)生成代碼。①單擊“ProjectManager”選項(xiàng)卡,進(jìn)入工程配置界面,如圖4-7所示。②輸入項(xiàng)目名稱,選定項(xiàng)目存儲(chǔ)位置。③將“Toolchain/IDE”設(shè)定為“MDK-ARM”,版本選擇自己電腦安裝的版本。④單擊右上角的“GENERATECODE”按鈕,即可生成代碼。⑤代碼加載完畢后,彈出“CodeGeneration”對(duì)話框,如圖4-8所示,表示代碼生成。單擊“OpenProject”按鈕,進(jìn)入KeilμVision5?!鴪D4-5“Pinout&Configuration”視圖▲圖4-6將PA5引腳設(shè)置為“GPIO_Output”▲圖4-7工程配置界面▲圖4-8“CodeGeneration”對(duì)話框(4)代碼的編輯、編譯與調(diào)試。代碼的編輯如圖4-9所示。在KeilμVision5中的Application/User/Core目錄下打開main.c文件,在/*USERCODEENDWHILE*/和/*USERCODEBEGIN3*/之間添加代碼。代碼添加完成后,首先單擊工具欄中的“Build”按鈕對(duì)代碼進(jìn)行編譯,如圖4-10所示;然后單擊工具欄中的“Download”按鈕進(jìn)行下載燒錄,如圖4-11所示,實(shí)現(xiàn)程序的運(yùn)行。LED點(diǎn)燈實(shí)驗(yàn)的結(jié)果如圖4-12所示。按下藍(lán)色按鍵B1后,LED2開始閃爍,每經(jīng)過0.1s變化為相反狀態(tài),閃爍周期為0.2s。▲圖4-9代碼的編輯▲圖4-10對(duì)代碼進(jìn)行編譯▲圖4-11下載燒錄▲圖4-12LED點(diǎn)燈實(shí)驗(yàn)的結(jié)果4.2定時(shí)器PWM應(yīng)用實(shí)驗(yàn)1)實(shí)驗(yàn)?zāi)繕?biāo)利用定時(shí)器(Timer)實(shí)現(xiàn)LED燈的閃爍。2)實(shí)驗(yàn)條件(1)硬件平臺(tái):NUCLEO-G431RB。(2)軟件平臺(tái):STM32CubeMX和KeilμVision5(MDK-ARM)。3)定時(shí)器簡介定時(shí)器最基本的功能就是定時(shí),如定時(shí)發(fā)送USART數(shù)據(jù)、定時(shí)采集AD數(shù)據(jù)等。如果把定時(shí)器與GPIO結(jié)合起來使用,那么可以實(shí)現(xiàn)非常豐富的功能,如測量輸入信號(hào)的脈沖寬度、生產(chǎn)輸出波形等。定時(shí)器生成PWM控制電機(jī)狀態(tài)是工業(yè)控制采用的普遍方法。NUCLEO-G431RB具有豐富的定時(shí)器資源,包括2個(gè)高級(jí)定時(shí)器(TIM1和TIM8)、6個(gè)通用定時(shí)器(TIM2~TIM4和TIM15~TIM17)和2個(gè)基本定時(shí)器(TIM6和TIM7)。定時(shí)器要實(shí)現(xiàn)計(jì)數(shù)必須有時(shí)鐘源,基本定時(shí)器的時(shí)鐘源只能來自內(nèi)部,高級(jí)定時(shí)器和通用定時(shí)器還可以選擇外部時(shí)鐘源,或者直接使用來自其他定時(shí)器的等待模式。定時(shí)器/計(jì)數(shù)器的原理框圖如圖4-13所示。當(dāng)GATE=1時(shí),與門的輸出信號(hào)K由輸入電平和TRx位的狀態(tài)一起決定(此時(shí)),當(dāng)且僅當(dāng)TRx=1,(高電平)時(shí),計(jì)數(shù)器運(yùn)行;否則,計(jì)數(shù)器停止。當(dāng)引腳為高電平且TR0置位時(shí),TR0=1,啟動(dòng)定時(shí)器T0;當(dāng)引腳為高電平且TR1置位時(shí),TR1=1,啟動(dòng)定時(shí)器T1。當(dāng)GATE=0時(shí),或門輸出恒為1,與門的輸出信號(hào)K由TRx決定(此時(shí)K=TRx),定時(shí)器不受輸入電平的影響,TRx直接控制定時(shí)器的啟動(dòng)和停止。圖4-13定時(shí)器/計(jì)數(shù)器的原理框圖在對(duì)定時(shí)器進(jìn)行編程時(shí)常用的函數(shù)如表4-1所示。表4-1在對(duì)定時(shí)器進(jìn)行編程時(shí)常用的函數(shù)續(xù)表4)中斷資源NUCLEO-G431RB具有102個(gè)可屏蔽高端通道(不包括Cortex-M4F的16根中斷線)、16個(gè)可編程優(yōu)先級(jí)(使用4位中斷優(yōu)先級(jí))、低延遲異常和中斷處理。同時(shí)具有電池管理控制功能,實(shí)現(xiàn)系統(tǒng)控制寄存器。在編寫程序的過程中,當(dāng)需要使用定時(shí)器時(shí),先使能定時(shí)器,并調(diào)節(jié)定時(shí)器的頻率,然后才可以對(duì)定時(shí)器的相關(guān)功能進(jìn)行編程。定時(shí)器的使能配置如圖4-14所示。圖4-14定時(shí)器的使能配置5)實(shí)驗(yàn)步驟(1)創(chuàng)建新項(xiàng)目。與4.1節(jié)中的實(shí)驗(yàn)步驟(1)相同,創(chuàng)建一個(gè)新項(xiàng)目,此處采用方法1。打開STM32CubeMX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 協(xié)議履行情況總結(jié)與誠信承諾函6篇
- AI在工業(yè)領(lǐng)域的應(yīng)用策略
- 跨行業(yè)項(xiàng)目管理流程模板進(jìn)度與質(zhì)量控制
- 2026年東營港經(jīng)濟(jì)開發(fā)區(qū)所屬學(xué)校招聘急需緊缺教師備考題庫及答案詳解一套
- 2026年成都市泡桐樹中學(xué)教師招聘備考題庫及答案詳解一套
- 2026年佛岡縣石角鎮(zhèn)公開招聘專職消防安全監(jiān)管員備考題庫完整答案詳解
- 2026年北京郵電大學(xué)人工智能學(xué)院招聘備考題庫(人才派遣)備考題庫附答案詳解
- 2026年內(nèi)蒙古蘇尼特國有資產(chǎn)管理有限責(zé)任公司招聘7人備考題庫及答案詳解1套
- 2026年臨滄市易成實(shí)驗(yàn)學(xué)校招聘新媒體運(yùn)營工作人員5名備考題庫及答案詳解一套
- 2026年中國地質(zhì)調(diào)查局烏魯木齊自然資源綜合調(diào)查中心公開招聘工作人員12人備考題庫(第五批)及完整答案詳解1套
- 藥廠管理人員述職
- (12)普通高中技術(shù)與工程課程標(biāo)準(zhǔn)日常修訂版(2017年版2025年修訂)
- 2024集中式光伏電站場區(qū)典型設(shè)計(jì)手冊(cè)
- 2025秋期版國開河南電大??啤端刭|(zhì)與思想政治教育》一平臺(tái)作業(yè)練習(xí)及我要考試無紙化考試試題及答案
- (人教A版)選擇性必修一高二數(shù)學(xué)上冊(cè) 全冊(cè)綜合測試卷-基礎(chǔ)篇(原卷版)
- 導(dǎo)熱油爐安全操作規(guī)程
- 2025購房合同(一次性付款)
- GB/T 46161.1-2025道路車輛氣壓制動(dòng)系第1部分:管、端面密封外螺紋接頭和螺紋孔
- 絕緣技術(shù)監(jiān)督培訓(xùn)課件
- 2025秋季學(xué)期國開電大法律事務(wù)專科《刑事訴訟法學(xué)》期末紙質(zhì)考試多項(xiàng)選擇題庫珍藏版
- 東城區(qū)2025-2026學(xué)年九年級(jí)第一學(xué)期期末考試物理試題
評(píng)論
0/150
提交評(píng)論