STM32 電機教程 32 - 基於ST X-CUBE-SPN7 無刷無感電機庫的電機驅動實現

前言

      

上一節給大家分享幾篇比較好的介紹無刷電機無傳感控制的文章,不知大家學習得怎麼樣,其實很多芯片公司(比如TI,ST,MICROCHIP,SILICON)都有推出針對他們家控制或驅動芯片的無感無刷電機控制的軟硬件方案(軟硬件),本節將基於NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH開發板結合ST推出的 X-CUBE-SPN7 三相無刷無感控制庫爲大家演示三相電機無感控制效果,以及X-CUBE-SPN7庫使用的一需注意點。

本節所用電機爲2836無刷電機,電機有兩組線(hall傳感器線和電機三相線),工作電壓24V,最大轉速12000rpm:

 

示例詳解

本節用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 開發板。

 

 

 

    1. 準備操作

 

NUCLEO-F103RB開發板資料(含原理圖)獲取:

方式1,在ST官方網站搜索NUCLEO-F103RB 找到對應資料並下載

方式2,在文中公衆號發送 “下載|NUCLEO-F103RB

 

X-NUCLEO-IHM07M1 3SH開發板資料(含原理圖)獲取:

方式1,在ST官方網站搜索X-NUCLEO-IHM07M1 找到對應資料並下載

方式2,在文中公衆號中發送 “下載|X-NUCLEO-IHM07M1

 

X-CUBE-SPN7庫下載:

方式1,在ST官方網站搜索X-NUCLEO-IHM07M1 在其對應的軟件包中找到X-CUBE-SPN7並下載

方式2,在文中公衆號中發送 “下載|X-CUBE-SPN7

 

按下圖連接好 NUCLEO-F103RB、X-NUCLEO-IHM07M1和電機根據電機的工作電壓提供正確的電源,如我所演示電機工作電壓是24V,即需給X-NUCLEO-IHM07M1的J1接口提供24V電源,同時X-NUCLEO-IHM07M1一些跳帽設置爲:J5,J6選擇1sh, 兩個FOC跳帽都不接。

解壓X-CUBE-SPN7庫文件,得到如下文件目錄:

STM32CubeExpansion_SPN7_V1.0.0庫支持030R8-Nucleo、103RB-Nucleo、302R8-Nucleo、401RE-Nucleo等多個Nucleo開發板:

 

本節以STM32F103RB-Nucleo平臺作爲演示,進入

STM32CubeExpansion_SPN7_V1.0.0\Projects\Multi\Examples\MotorControl\MDK-ARM\STM32F103RB-Nucleo文件夾,打開Project.uvprojx工程:

在MC_SixStep_param.h中根據實際電機的參數修改對應參數,

 

 

編譯工程後下載到開發板後即可成功驅動電機,按STM32F103RB-Nucleo開發板上的藍色按鍵可以啓動或停止電機,調節X-NUCLEO-IHM07M1 3SH上藍色電位器可以對電機進行調速!

下面給出一張電機成功驅動後的效果圖:

 

OK,本期實驗完成!通過本節內容,基於X-CUBE-SPN7軟件庫我們可以很快(需配合X-NUCLEO-IHM07M1 3SH 和 STM32F103RB-Nucleo 開發板)完成對三相無刷電機的無感控制!

後續我們在自己的系統中要實現三相無刷電機無感控制,可以參考X-CUBE-SPN7軟件庫的實現方式,X-CUBE-SPN7的核心代碼主要集中在下圖的幾個文件中,至於其內部是怎麼實現的大家可參看源碼。

對了X-CUBE-SPN7庫實現的無感控制效果也是有很大的提高空間,包括它在電機啓動時有明顯的對齊操作(有可能會使電機反轉)帶來的停頓感,還有啓動不成功的機率比較高,這些都是後續可優化的方面。

 

最後,老規矩,在公衆號裏給十三發送 “下載|STM32 電機教程32” 即可下載文中資料及程序源碼。

 

微信關注圖中張十三的博客公衆號:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章