
感謝大家對(duì)基于STM32的MATLAB電機(jī)控制方案直播的支持,謝謝大家的熱情參與!本文給大家匯總了本次直播回放視頻、直播答疑Q&A、直播講義、獲獎(jiǎng)名單等。我們從直播答疑中選一些比較有代表性的提問(wèn)在這里與大家分享,供大家回顧。
Q:STM32CubeIDE和STM32CubeMX是否必須升級(jí)到最新版本?A:安裝MATLAB SupportPackages 的時(shí)候?qū)?STM32CubeProgrammer 和?STM32CubeMX 的版本有要求,不能用最新版本。這個(gè)聯(lián)合開發(fā)過(guò)程中不用?STM32CubeIDE,需要使用 STM32CubeProgrammer2.6.0,STM32CubeMX6.4.0。
Q:STM32電機(jī)控制庫(kù)無(wú)感控制算法采用的是滑模觀測(cè)器嗎?A:不是,ST X-CUBE-MCSDK使用的是線性狀態(tài)觀測(cè)器。但是,直播中解說(shuō)的方案是用的滑膜觀測(cè)器。Q:STM32G4需要安裝哪個(gè) MATLAB SupportPackages呢?A:需要在MALTAB里安裝,Embedded Coder Support Package for STMicroelectronics STM32 Processors。
Q:STM32哪個(gè)型號(hào)帶16位ADC?A:STM32F373,STM32H7系列都帶有16bit ADC。Q:STM32用于電機(jī)控制推薦哪個(gè)系列的產(chǎn)品呢?A:所有集成高級(jí)定時(shí)器(Advanced Timer-ADT)的STM32都可以用于三相電機(jī)(全橋逆變器)控制。我們現(xiàn)在比較推薦STM32C0、STM32G0、STM32H5、STM32G4、STM32H7等系列產(chǎn)品用于電機(jī)控制。Q:STM32F4和STM32G4有什么區(qū)別,STM32F4適合電機(jī)控制嗎?A:STM32F4系列產(chǎn)品也可以用于電機(jī)控制。相對(duì)于STM32F4系列,STM32G4集成了CORDIC,和豐富的模擬外設(shè)有,比如運(yùn)放、比較器等。Q:CCM-SRAM跟普通SRAM有什么區(qū)別,不是都可以把需要快速訪問(wèn)的程序裝載到這里執(zhí)行嗎?A:CCM-SRAM只裝載FLASH中的程序,無(wú)需額外的程序預(yù)裝載。而SRAM一般只用于變量存取,如果需要訪問(wèn)FLASH中的程序 ,需要額外的程序裝載。Q:STM32電機(jī)控制庫(kù)可以工業(yè)應(yīng)用嗎?A:從SDK2.0到目前的SDK6.1.1,已經(jīng)廣泛地用于各類電機(jī)控制場(chǎng)合。包括風(fēng)機(jī)、水泵、通用變頻器、電動(dòng)自行車、變頻家電等等。Q:學(xué)生想看看CORDIC的手把手教程?A:CORDIC已經(jīng)做為硬件數(shù)學(xué)協(xié)處理器集成到STM32G4系列了,無(wú)需額外的程序。具體應(yīng)用,可以參考STM32 電機(jī)控制的軟件開發(fā)包,參看基于G4的電機(jī)控制方案的程序。A:G0目前沒有集成PGA。但是我們有帶預(yù)驅(qū)的STSPIN32產(chǎn)品,內(nèi)部是集成了運(yùn)放的。Q:STM32CubeMX,STM32CubeProgrammer以及STM32CubeIDE相互關(guān)系,主要區(qū)別是什么?以及在聯(lián)合開發(fā)過(guò)程中STM32生態(tài)的作用?A:首先STM32CubeMX和STM32CubeProgrammer 單獨(dú)運(yùn)行是沒有版本要求的。STM32CubeMX是配置工具,用于MCU選型,引腳配置,時(shí)鐘樹初始化 、外設(shè)配置,中間件配置,代碼生成等;STM32CubeProgrammer是用來(lái)燒錄程序的,兩個(gè)軟件都是STM32Cube家族的程序員,有不同的功能。STM32CubeIDE是集成開發(fā)環(huán)境,用于程序編輯,編譯和調(diào)試,本次聯(lián)合開發(fā)中并沒有涉及到它。
目前之所以要求?STM32CubeMX 采用6.4.0版本 和STM32CubeProgrammer采用2.6.0版本,以及G4Firmware的幾個(gè)固定版本,是因?yàn)樵贛ATLAB中安裝SupportPackages的時(shí)候?qū)@些內(nèi)容的版本有要求。在安裝SupportPackages時(shí),如果安裝了指定版本的STM32CubeMX,STM32CubeProgrammer,以及G4 FW pacakge的話,會(huì)很容易安裝成功,否則會(huì)提示報(bào)警信息。在聯(lián)合開發(fā)G474這個(gè)模型中,STM32CubeMX是用來(lái)對(duì)G474進(jìn)行時(shí)鐘、外設(shè)以及IO口設(shè)定的,文件后綴為.ioc。在Simulink編譯的時(shí)候,會(huì)調(diào)用這個(gè).ioc文件,生成的hex文件中已經(jīng)包含了對(duì)MCU的以上設(shè)定。Simulink在線調(diào)試時(shí)會(huì)后臺(tái)調(diào)用STM32CubeProgrammer,將編譯好的hex文件下載到芯片里,以便于硬件在環(huán)仿真。Q:MATLAB用于電機(jī)控制有哪些優(yōu)勢(shì)?A:MATLAB 軟件提供豐富的電機(jī)控制應(yīng)用相關(guān)模塊和算法,輔助用戶快速開展電機(jī)本體模型的搭建和控制設(shè)計(jì)的優(yōu)化。在算法開發(fā)后期,還可以利用MATLAB提供的豐富的測(cè)試驗(yàn)證工具鏈開展基于模型的測(cè)試和驗(yàn)證工作,進(jìn)而將可信賴的算法自動(dòng)生成C代碼/HDL代碼并下載到硬件中。Q:MATLAB是免費(fèi)的還是收費(fèi)的?A:MATLAB是MathWorks公司的商業(yè)軟件,收費(fèi)產(chǎn)品,按所需應(yīng)用購(gòu)買相關(guān)的產(chǎn)品模塊。Q:演示的Simulink模型可以發(fā)一下嗎?A:網(wǎng)絡(luò)研討會(huì)中使用的模型是MATLAB軟件自帶demo,點(diǎn)擊這里訪問(wèn)相關(guān)鏈接。A:MATLAB軟件除了控制設(shè)計(jì)之外,也深耕AI應(yīng)用,點(diǎn)擊這里訪問(wèn)相關(guān)鏈接。Q:可以把自己寫的代碼加到MATLAB里一起仿真嗎?A:可以。為了方便用戶將自己手寫的代碼集成到MATLAB/Simulink環(huán)境中集成仿真,MathWorks開發(fā)出各種模塊以及工具,便于實(shí)現(xiàn)代碼的集成,從高度靈活的S function,到簡(jiǎn)單易用的Legacy C Code Tool,再到C caller 以及Simulink Code Importer等等。Q:我生成的代碼可讀性比較差?是不是優(yōu)化沒做好?A:Simulink Coder可以將模型自動(dòng)生成c 代碼并用于實(shí)時(shí)應(yīng)用,但相比Embedded Coder 來(lái)說(shuō),可讀性較差,更多的用于實(shí)時(shí)仿真。如果想生成高度優(yōu)化的,可讀性好的代碼,需要使用Embedded Coder,該工具給用戶提供了大量的代碼生成配置選項(xiàng),可以生成媲美于手寫代碼的可讀性。Q:目前,基于STM32 的Matlab電機(jī)控制方案可否支持構(gòu)建位置-速度-電流三閉環(huán)控制?A:在Simulink 平臺(tái)下,可以支持PID三環(huán),或者任意結(jié)構(gòu)形式的控制。Q:MATLAB功能確實(shí)強(qiáng)大,但是自己不好搭建。有沒有介紹MATLAB常用功能模塊的手冊(cè)?A:MathWorks官網(wǎng)有大量的教學(xué)視頻,幫助用戶快速上手進(jìn)行建模仿真,點(diǎn)擊這里并按頁(yè)面左側(cè)的過(guò)濾器篩選出感興趣的內(nèi)容。
請(qǐng)以上獲獎(jiǎng)的小伙伴聯(lián)系客服(微信號(hào): STM32_01)領(lǐng)獎(jiǎng),沒有獲獎(jiǎng)的小伙伴也不要灰心!更多精彩活動(dòng)請(qǐng)關(guān)注STM32微信公眾號(hào)。
? THE END

▽點(diǎn)擊“閱讀原文”,可觀看直播回放