首頁(yè) > 評(píng)測(cè) > 分分鐘帶你入門無(wú)刷電機(jī)控制——P-NUCLEO-IHM001套件評(píng)測(cè)
分分鐘帶你入門無(wú)刷電機(jī)控制——P-NUCLEO-IHM001套件評(píng)測(cè)
- [導(dǎo)讀]
- 電動(dòng)機(jī)作為當(dāng)今各個(gè)領(lǐng)域的動(dòng)力主要來(lái)源,如今全世界大約二分之一的發(fā)電量被電機(jī)消耗掉。這樣,它的控制能效至關(guān)重要。ST(意法半導(dǎo)體)公司致力于建立高效電機(jī)控制生態(tài)系統(tǒng),不僅有適用于電機(jī)控制的微處理器MCU、電機(jī)驅(qū)動(dòng)IC,還提供有免費(fèi)且易于使用的電機(jī)控制軟件算法,協(xié)助電機(jī)控制工程師快速實(shí)現(xiàn)高效的電機(jī)矢量控制方案。
三、P-NUCLEO-IHM001入門
在ST的生態(tài)系統(tǒng)中,為P-NUCLEO-IHM001套件提供了非常豐富的開發(fā)工具,有ST推出的STM32 CUBEMX配置工具可使用圖形化界面完成STM32微處理器的初始化配置工作,有IAR、MDK、GCC-based IDEs等集成IDE。另外ST還提供HAL軟件庫(kù)和標(biāo)準(zhǔn)庫(kù)方便用戶快速實(shí)現(xiàn)軟件功能。
除此之外,ST公司還針對(duì)電機(jī)開發(fā)提供了方便快捷且免費(fèi)的MC 6-STEP LIB軟件庫(kù),還有基于PC的免費(fèi)MC WORKBENCH軟件,可簡(jiǎn)化電機(jī)控制固件庫(kù)的自定義設(shè)置,幫助用戶設(shè)置不同的電機(jī)。最新算法庫(kù)(v4.2)引入一個(gè)便利的“Motor Profiler”工具,能夠自動(dòng)偵測(cè)電機(jī)參數(shù),自動(dòng)配置電機(jī)控制算法庫(kù),做到了一接觸即可進(jìn)行微調(diào)(One-Touch Tuning)的方式。
下面我們分別使用兩種方法來(lái)測(cè)試一下它們的使用,體驗(yàn)一下ST提供的軟件庫(kù)和工具的方便快捷。
1、基于X-CUBE-SPN7測(cè)試
(1)X-CUBE-SPN7軟件包介紹
ST公司提供的X-CUBE-SPN7軟件包是一個(gè)基于STM32Cube擴(kuò)展軟件包,程序采用了ST最新推出的HAL庫(kù)。軟件庫(kù)包含了在STM32運(yùn)行所需的驅(qū)動(dòng)程序、初始化函數(shù)和控制L6230接口等。軟件包采用了HAL庫(kù),可方便用戶在NUCLEO-F030R8、NUCLEO-F103RB、NUCLEO-F302R8、NUCLEO-F401RE等核心板上遷移而不需要過多的修改程序。軟件包還提供了驅(qū)動(dòng)P-NUCLEO-IHM001套件的例程。
X-CUBE-SPN7軟件包的下載地址:http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1920/PF262647
圖3-1 X-CUBE-SPN7軟件包下載
所述STM32Cube固件的結(jié)構(gòu)可以分成3個(gè)層,每層之間相互獨(dú)立,層與層之間通過API接口函數(shù)交互,如下所示:
圖3-2 X-CUBE-SPN7軟件包結(jié)構(gòu)
Level 0:這個(gè)層又分成了3個(gè)子層:
板級(jí)支持包(BSP):這個(gè)層提供了硬件板卡的內(nèi)部組件和外部資源的API接口,包括音頻編解碼器,IO擴(kuò)展器,觸摸屏,SRAM驅(qū)動(dòng)器,LCD驅(qū)動(dòng)器等。這里的組件是相對(duì)于外部電路資源,它們都是STM32微控制器的內(nèi)部硬件資源,可以移植到其他開發(fā)板上。而BSP驅(qū)動(dòng)程序是針對(duì)特定電路板的外設(shè)元件的驅(qū)動(dòng),比如用戶LED或按鈕,這部分提供的API接口函數(shù)的命名規(guī)則是BSP_FUNCT_Action(),比如:BSP_LED_Init()是開發(fā)板的用戶LED的初始化函數(shù),BSP_LED_On()是點(diǎn)亮LED的函數(shù)。
硬件抽象層(HAL):這一層提供了與低一級(jí)的驅(qū)動(dòng)程序和上層的接口,用戶不需要涉及更多的硬件信息,使用HAL層接口函數(shù)就可以訪問片內(nèi)外設(shè)I2C、SPI和UART等。
Level 1:這一層又被分成2個(gè)子層
中間件組件層:該層包含了USB主機(jī)和設(shè)備庫(kù)、STemWin、FreeRTOS、FATFS、LwIP、PolarSSL庫(kù)等。
基于中間層的實(shí)例:每個(gè)中間件組件帶有一個(gè)或多個(gè)實(shí)例(也稱為應(yīng)用)來(lái)給開發(fā)者參考使用。
Level 2:該層給出了基于中間層的實(shí)時(shí)和圖形工程實(shí)例應(yīng)用。
(2)下面使用IAR軟件和X-CUBE-SPN7軟件包測(cè)試
在這里選擇大家熟悉的IAR作為開發(fā)環(huán)境,基于X-CUBE-SPN7軟件包。完成的功能為,P-NUCLEO-IHM001套件上電后,10秒后自動(dòng)啟動(dòng)電動(dòng)機(jī)運(yùn)行,初始速度為2000rpm,運(yùn)行10秒后速度調(diào)整為4000rpm,運(yùn)行10秒后速度調(diào)整為6000rpm,運(yùn)行10秒停止電機(jī),之后重復(fù)上述過程。
為了快速實(shí)現(xiàn)功能,測(cè)試X-CUBE-SPN7軟件包,我在這里在自帶的實(shí)例工程的基礎(chǔ)上修改完成。
首先將X-CUBE-SPN7軟件包解壓,找到P-NUCLEO-IHM001套件的NUCLEO-F302R8核心板例程,位置在STM32CubeExpansion_SPN7_V1.0.0\Projects\Multi\Examples\MotorControl\EWARM\STM32F302R8-Nucleo這個(gè)位置,如下圖。
圖3-3 X-CUBE-SPN7軟件包例程
打開IAR工程如下圖,可以看到工程文件結(jié)構(gòu)相當(dāng)清楚。
圖3-4 X-CUBE-SPN7軟件包例程結(jié)構(gòu)
在使用X-CUBE-SPN7軟件的時(shí)候,如下圖的MC_SixStep_param.h文件非常重要,里面保存了基本的梯形6步法電機(jī)控制的參數(shù)設(shè)置。
圖3-5 MC_SixStep_param.h文件結(jié)構(gòu)
由上面可以看到,參數(shù)設(shè)置分為2大部分,基本參數(shù)和高級(jí)參數(shù)設(shè)置。我們首先來(lái)分析一下基本參數(shù)設(shè)置:
圖3-6 基本參數(shù)
NUM_POLE_PAIRS表示使用的電機(jī)的極對(duì)數(shù),后面的7表示BR2804-1700Kv-1型三相無(wú)刷直流電動(dòng)機(jī)的極對(duì)數(shù)是7。
DIRECTION表示電機(jī)的旋轉(zhuǎn)方向,0表示正轉(zhuǎn),1表示反轉(zhuǎn),在這里要注意電機(jī)的接線必須符合前面的介紹。
TARGET_SPEED表示電動(dòng)機(jī)的初始目標(biāo)速度,3000表示3000rpm。
POTENTIOMETER表示是否使用電位器調(diào)整電機(jī)的速度,0表示禁止,1表示允許,默認(rèn)是允許的。
高級(jí)參數(shù)在這里就不過多介紹了。
接下來(lái)看一下main_F302.c文件下的主函數(shù)。
首先是系統(tǒng)資源的初始化部分,可以看到,這里初始化時(shí)鐘和片內(nèi)外設(shè)資源。
圖3-7 主函數(shù)初始化
接下來(lái)是調(diào)用梯形6步電機(jī)控制庫(kù)的初始化函數(shù),對(duì)梯形6步使用到的各種硬件軟件初始化。
圖3-8 6步法初始化
下面是主函數(shù)的死循環(huán),在里面有關(guān)于6步發(fā)電機(jī)控制實(shí)例的說(shuō)明和參考API函數(shù),以及給用戶提供的編程位置。
圖3-9 主函數(shù)用戶代碼添加位置
我們?yōu)榱藢?shí)現(xiàn)預(yù)期的功能,修改MC_SixStep_param.h文件中的基本參數(shù)。
圖3-10 修改電機(jī)基本參數(shù)
main_F302.c文件中添加自己的程序。
圖3-11 添加用戶代碼
之后編譯下載調(diào)試程序,發(fā)現(xiàn)程序完成預(yù)期的效果,上個(gè)視頻,大家可以看到,這里使用X-CUBE-SPN7軟件包只需幾步就完成了預(yù)期的目標(biāo)。
視頻3-1 X-CUBE-SPN7軟件包測(cè)試
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前