如何用ST MC SDK生成自身不包含芯片的工程,
- 1.工程創建
- 2.引數設定
- 2.1電機引數設定
- 2.2電流檢測
- 2.3轉子位置檢測
- 2.4過流保護
- 2.5開光管的最小死區時間和開關頻率
- 2.6上下管驅動PWM的有效極性設定
- 2.7驅動控制管理
- 2.7.1啟動引數管理
- 2.7.2驅動設定
- 2.8欠壓檢測及保護
- 2.9電壓、電流、溫度采樣
- 2.10IO口配置
- 2.11DAC功能
- 2.12IO口沖突檢查
- 2.13生成工程
- 3.更改MCU型號
我用的是STM32F407ZGT6,但是 SDK支持的MCU里并不包含這款,如下圖所示,本文就來記錄如何創建一個工程以及將工程更改成適合自己MCU的檔案,

1.工程創建
雙擊打開SDK后,因為控制板和功率板都是自己的,并不是ST的套件,所以此處選擇應該如下圖所示,

選擇MCU 的時候盡量選擇與自己所用MCU型號相近的,首先基于相同系列,其次基于相同管腳數,所以這里選擇STM32F407IGT6,稍后需要做進一步的修改,
頻率的話只能選擇外部頻率,就要根據自己手里的硬體進行選擇,我手里的最小系統是25MHz外部晶振,如下圖所示,

進來以后如下圖所示,

2.引數設定
實驗室有直流電源,所以AC INPUT那里不用管,首先設定BUS VOLTAGE,功率板電路原理圖(母線電壓采樣)如下圖所示:

相應的工程設定如下圖所示:

2.1電機引數設定
電機用的是外轉子無位置無刷直流電機,需要知道自己電機的極對數、最大轉速、額定電流、額定電壓、相電阻、電感、反電勢常數,所以設定引數如下圖所示:

因為是無位置檢測,所以這兩項都不選,

2.2電流檢測
電流檢測引數設定如下圖所示,可以選擇單電阻、三電阻、ICS采樣方式,這幾個引數根據自己的功率板電路原理圖進行填寫,:

2.4過流保護

2.5開光管的最小死區時間和開關頻率

2.6上下管驅動PWM的有效極性設定

2.7驅動控制管理

2.7.1啟動引數管理

2.7.2驅動設定

這里的PWM頻率是16000Hz,然而根據程式里的設定,求出來PWM的頻率是32000Hz,但是因為波形是中心對稱波形,所以32000應該除以2.,
2.8欠壓檢測及保護

2.9電壓、電流、溫度采樣
電流:

電壓&溫度:
2.10IO口配置

2.11DAC功能

到這里一些基本的引數就設定完成了,接下來進行一下IO口的檢查,就可以生成工程了,
2.12IO口沖突檢查


可以看到有兩個沖突,一個是溫度采樣和DAC沖突,一個是TIM1的BKIN引腳和電流采樣的ADC12_IN6沖突,我們只需要回到設定的地方更改IO口即可,
2.13生成工程
在上方工具列先保存檔案,可以新建一個英文名的檔案夾,然后點擊下載按鈕進行生成,如下圖所示:

點擊“生成”圖示后會有下圖彈出,因為用KEIL進行編程,所以選擇Keil MDK-ARM V5,

然后點擊“GENERATE",可能會彈出警告,這個不用管,點擊“YES"就好,如下圖:

3.更改MCU型號
在新建的檔案夾里找到.ioc檔案,并用記事本打開:

然后在記事本里對這兩項進行更改替換,一個是MCU的型號,一個是MCU的封裝,

替換后如下圖所示:

保存后在把.ioc檔案用Cube-MX打開:

進入Cube-MX后然后對ADC進行使能,這個操作就是消除開始用ST SDK生成工程的那個警告,如下圖所示:


然后生成代碼,如下圖所示:

至此,工程基本計算生成完成了,編譯以后也是零警告、零錯誤,

當然,應用到實際工程中還有許多的路要走,對程式也需要做相應的修改,目前我也在摸索,如有錯誤之處,還望不吝賜教,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249818.html
標籤:其他
