日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 嵌入式微處理器
[導(dǎo)讀]所選擇的芯片未包含在MC Workbench中怎么辦?本文教你使用STM32CubeMX結(jié)合MC Workbench生成FOC代碼。


所選擇的芯片未包含在MC Workbench中怎么辦?

本文教你使用STM32CubeMX結(jié)合MC Workbench生成FOC代碼





前言

當(dāng)前ST的產(chǎn)品豐富多彩,多達(dá)1000多種的料號(hào)可供客戶選擇,同時(shí)ST針對(duì)電機(jī)FOC控制,推出了MC SDK V5.x的馬達(dá)控制軟件系統(tǒng)該軟件結(jié)合STM32CubeMX生成馬達(dá)控制代碼。由于MC Workbench軟件芯片選擇有限,不可能包含所有ST的產(chǎn)品料號(hào),因此有些客戶需要使用該軟件時(shí),會(huì)發(fā)現(xiàn)選擇的芯片未包含在workbench中。本文針對(duì)這種場(chǎng)景,詳細(xì)說(shuō)明如何結(jié)合STM32CubeMX與MC Workbench生成未包含的芯片程序。客戶通過(guò)該文檔可以使用全系列ST產(chǎn)品用于電機(jī)的FOC控制,為客戶帶來(lái)便利。本文使用Nucleo-STM32G474RET6(控制板) + X-Nucleo-IHM16M1(功率板)+ GBM2804H-100T(電機(jī))


1

MC Workbench操作


1.1新建工程


如果有Demo板和電機(jī),則選擇對(duì)應(yīng)的Demo板與電機(jī)型號(hào);如果沒(méi)有,直接選擇customer board這邊我們看到?jīng)]有Nucleo-STM32G474RET6,因此我們選擇customer board。



1.2配置電機(jī)與功率板相關(guān)配置


分別配置電源,電壓保護(hù),電機(jī),電流采樣,功率管。因?yàn)槲覀兪褂昧爽F(xiàn)成的功率板與電機(jī),這邊我們使用默認(rèn)參數(shù)即可。如果是自己的電機(jī)與功率板,請(qǐng)參考ST往期的技術(shù)培訓(xùn)。



1.3芯片選擇與配置


首先我們看到在MC workbench中并沒(méi)有STM32G474RET6這個(gè)芯片型號(hào),因此我們需要選擇與之相近的單片機(jī)。原則是Flash大小相同優(yōu)先選擇,型號(hào)相似次之,同一系列最后。這邊我們可以選擇STM32G474QE作為參考型號(hào)。



1.4數(shù)字端口配置


這邊我們使用的功率器件為單一PWM與控制使能方式,結(jié)合硬件連接為如下配置。


如果PWM互補(bǔ)的方式則還需要配置下橋控制引腳。



1.5模擬端口配置


同樣的配置與硬件采樣相關(guān)的模擬端口。?


1.6生成代碼


生成STM32G474QE的電機(jī)控制代碼,用于參考配置STM32G474RET6的CubeMx配置。


2

基于STM32CubeMX生成電機(jī)控制外設(shè)的初始化代碼


2.1新建STM32CubeMX工程


新建STM32G474RET6的工程



2.2配置ADC


配置ADC1配置引腳


可以直接打開(kāi)MC Workbench生成的STM32G474QE的*.ioc文件做為參考。



配置ADC1功能


這邊注意ADC1左對(duì)齊,觸發(fā)信號(hào)為Tim1 Trigger Out Event,只有Inject模式?jīng)]有Regular模式。


使能ADC1/2中斷



配置ADC2引腳與功能


這邊ADC2_IN14是復(fù)用在ADC1_IN14的引腳上。



配置ADC2功能


ADC2有兩個(gè)通道用于電壓與溫度傳感采樣,使用Regular模式。用于電流采樣的使用Inject模式,這點(diǎn)區(qū)別于ADC1的配置。



2.3配置Timer1


配置TIM1輸出管腳


這邊只使用上橋的PWM輸出,因此只配置上橋輸出PWM波,其中CH4用于ADC觸發(fā),無(wú)外部PWM輸出



配置TIM1功能


這邊有些宏定義,可以參考MC Workbench生成的工程,注意定義為相同名字。



使能TIM1的中斷



2.4配置調(diào)試串口



2.5使能STM32G4特有的Cordic外設(shè)



2.6重新分配管腳


將管腳定義為硬件控制的引腳,增加輸入輸出引腳。



2.7管腳名稱重定義


重新定義管腳名稱,符合MC Workbench生成的命名。



2.8規(guī)劃NVIC的中斷優(yōu)先級(jí)


這邊特別注意中斷優(yōu)先級(jí)別的設(shè)定,將影響到程序運(yùn)行。



2.9不生成電機(jī)相關(guān)的中斷程序


因?yàn)殡姍C(jī)相關(guān)的中斷程序中電機(jī)庫(kù)中已經(jīng)有了,這邊不使用STM32CubeMX生成中斷代碼。



2.10系統(tǒng)其他的配置


分別配置RCC為外部晶振,GPIO口的默認(rèn)設(shè)置,Sys的調(diào)試部分。



2.11時(shí)鐘配置


這邊我們外部晶振為24MHz,System時(shí)鐘配置為170MHz。



2.12生成工程



3

對(duì)生成工程進(jìn)行修改、添加


3.1拷貝文件


將MC Workbench生成的文件夾下的MCSDK_v5.4.3拷貝到STM32CubeMX直接生成的G474_MC文件夾下,另外Inc與Src文件也同時(shí)拷貝進(jìn)去,需要選擇不覆蓋同名文件。



3.2添加電機(jī)FOC庫(kù)


打開(kāi)STM32CubeMX生成的工程,在工程中添加Group以及增加文件到工程中。



3.3增加API以及控制文件到工程中



3.4增加頭文件包含目錄




3.5修改Main.c文件


包含頭文件以及增加電機(jī)控制初始化函數(shù)。



4

驗(yàn)證是否正常工作


編譯下載后,使用Workbench控制電機(jī)轉(zhuǎn)動(dòng)。




END

來(lái)源:STM32公眾號(hào)

版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。

推薦閱讀

飛機(jī)上一般是什么操作系統(tǒng)?

高速CAN、容錯(cuò)CAN、LIN總線有什么區(qū)別?

大佬終于把鴻蒙OS講明白了,收藏了!

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉