91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

wkhn
認證:優(yōu)質創(chuàng)作者
所在專題目錄 查看專題
STM32G4系列MCU——數字電源入門(1)
STM32G4系列MCU——數字電源入門(2)
STM32G4系列MCU——數字電源入門(3)
STM32G4系列MCU——數字電源入門(4)
作者動態(tài) 更多
一種采用CAN總線方式升級F28035芯片Flash的方法(三)
2024-05-13 15:31
一種采用CAN總線方式升級F28035芯片Flash的方法(二)
2024-05-13 15:31
一種采用CAN總線方式升級F28035芯片Flash的方法(一)
2024-05-13 15:31
STM32G4系列MCU——數字電源入門(4)
2023-03-14 10:46
STM32G4系列MCU——數字電源入門(3)
2023-03-13 20:05

STM32G4系列MCU——數字電源入門(1)

     前段時間在學習STM32G4系列的MCU的過程中,想找個實際的項目來練練手,所以就用筆者上一篇文章中提到的2KW交錯并聯+同步整流DC-DC的主板,加上STM32G474VE的MCU做主控芯片操練了一下,也有了一些心得,想與大家分享一下。

     筆者初次使用ST平臺的產品,如有理解不對的地方,還請讀者賜教!

      STM32G4系列的產品是ST公司最近推出主流的面向數字電源、電機控制應用的MCU。最高支持170MHz的主頻,PWM最高分辨率184ps,12路PWM輸出。DAC帶斜率補償輸出,5個ADC,可以成對采樣,帶有豐富的ADC觸發(fā)模式,ADC最高采樣速度4MSPS。7個比較器,最低19ns的輸出延時,為功率電路提供更快的保護。具體參數就不再詳述了,可以去自行搜索。  

先介紹STM32平臺的搭建:

下載STM32CubeIDE和STM32CubeMX,安裝好。其中STM32CubeIDE是集成開發(fā)環(huán)境,STM32CubeMX是芯片的圖形配置開發(fā)包和代碼生成器。筆者用的集成開發(fā)環(huán)境是ST官方的,當然也可以選擇第三方的產品。還要說一句,安裝好STM32CubeMX后,最好也裝上MX中的數字電源插件(X-CUBE-DPower)。這個插件中有許多值得仔細閱讀的例程代碼,而且配合ST官方的開發(fā)板B-G474-DPOW1,能進行數字電源的開發(fā)工作。筆者本項目中的許多代碼就從這些例程代碼中移植而來。

如果環(huán)境搭建和IDE使用過程中有什么問題,請自行搜索。

筆者用的仿真器是ST-LINK/V2,在網上可以很方便的買到,但最好買隔離版本的。

      筆者用的是STM32G474VE這枚芯片,現將該練手的數字電源主要輸入輸出參數列出來:

輸入電壓:38VDC——58VDC

輸出電壓:26VDC±0.5VDC

輸出電流:77A

功率電路拓普:兩相交錯并聯+同步整流BUCK電路。

控制環(huán)路模式:峰值電流型全數字控制環(huán)路,恒壓恒流輸出。

功率電路的框圖如下:

下面介紹STM32G474VE外設資源的分配:

PWM輸出:     TA1——PWM1A

                        TA2——PWM1B

                        TB1——PWM2A

                        TB2——PWM2B

ADC采樣:       輸出電壓采樣Vout_FB——ADC3的IN11通道

                        輸出電流采樣Iout_FB——ADC1的IN3通道

比較器:           輸入電流互感器信號CS1+——COMP1+

                        輸入電流互感器信號CS2+——COMP3+

DMA:            連接ADC3的IN11通道,傳送輸出電壓采樣值。

串口:              USART2

FMAC(濾波計算加速器):用硬件來做環(huán)路算法,只提供了一個。分配給穩(wěn)壓環(huán)路計算,穩(wěn)流環(huán)路就只能用軟件計算了。

外設中斷:     FMAC中斷(計算電壓環(huán)路)、ADC1采樣中斷(計算電流環(huán)路)、串口中斷。

系統(tǒng)中斷:       系統(tǒng)tick定時器中斷,用來產生1ms的系統(tǒng)定時心跳。默認優(yōu)先級最低,為了不被其它的中斷干擾,將其改為0(最高)優(yōu)先級。

DAC:              DAC1——COMP1-(帶斜率補償)

                        DAC3——COMP3-(帶斜率補償)

下圖就是芯片外設的配置及互連框圖:

接下來,在MX中先配置系統(tǒng)時鐘。

本例中,用的是外接12MHz的晶振,所以這樣配置:

再選擇編程接口,筆者用的是Serial Wire接口。

選擇系統(tǒng)外接晶振選項:

接下來,詳細說明外設的配置過程。

1)PWM輸出

      在STM32G474VE中PWM輸出是由HRTIM(高精度定時器)來完成的。HRTIM又包含多個定時器子模塊:MasterTimer、TimerA至TimerF,總共7個獨立定時器,其中MasterTimer不能輸出PWM,其它的TimerA至TimerF每個定時器都能輸出一組(兩路)PWM。筆者用到的是TimerA(TA1和TA2)、TimerB(TB1和TB2)共四路PWM輸出。TA1和TA2互補,TB1和TB2互補。因為TA和TB交錯180°,所以要用MasterTimer同步TA和TB的相位。下圖是PWM產生的原理。

本例中每路PWM的工作頻率為150KHz。先配置MasterTimer

周期寄存器的計算公式:

MasterTimer中的Compare1寄存器的值為周期寄存器的1/2,設為18133。

然后開始配置TA和TB。

TA

然后是TA1輸出高電平或低電平的條件:

設置TA1和TA2之間的死區(qū)時間:

死區(qū)時間的計算公式(設死區(qū)時間為200ns):

TB

TB1輸出的高低電平的配置與TA1相似,主要區(qū)別是TB1高電平是由MasterTimer的Compare1事件觸發(fā)的,以實現與TA1交錯180°相位差。

TB1和TB2的死區(qū):

說明一下:在前面的配置中周期寄存器和Compare1寄存器本應設定一個具體的數值,但為了以后修改方便,筆者將這些寄存器的內容在程序文件中用#define XXX   XXX的形式表示出來,這樣就可以通過修改預定義的值來達到修改寄存器內容的目地,會方便很多。

且該寄存器內容的選項中要勾選“No check”,否則MX會認為該寄存器內容格式錯誤。

然后就可以生成代碼了。

生成的代碼是基于ST官方的HAL庫。因為G474VE芯片不再支持以前的標準庫函數了,只支持ST的HAL庫和LL庫。至于HAL庫函數的優(yōu)缺點網上有詳細的說明,這里不再展開。

生成的代碼目錄結構如下:

*.ioc文件就是MX的圖形配置文件,直接雙擊就可以進入MX,進行配置的修改。

Drivers目錄中是HAL庫相關的驅動文件,包含了大量的功能函數,并進行了多次的封裝。這些文件不需要修改,也不能修改,否則系統(tǒng)將無法正常工作。

Core目錄就是用戶添加功能代碼的地方。

生成的PWM配置,還需要用戶添加相應的啟動代碼后,才能開始工作。

完成上述代碼后,PWM就可以輸出波形了。

下圖是控制板,原理圖在附件可以下載。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
本篇所含全部資料,點擊此處留下郵箱我會發(fā)給你
資料明細:S2301s1.rar
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 16
收藏 30
關注 593
成為作者 賺取收益
全部留言
0/200
  • 老師,能不能發(fā)我一下資料,謝謝! 13****@****.com
    回復 1條回復
  • dy-znTjTjSZ 06-05 14:04
    老師,能不能發(fā)我一下資料,謝謝! 11****@****.com
    回復 1條回復
  • dy-h5HUefVy 06-01 11:24
    老師,能不能發(fā)我一下資料,謝謝! 23****@****.com
    回復 1條回復
  • dy-Unz2dbvG 05-31 12:03
    老師,能不能發(fā)我一下資料,謝謝! qu****@****.com
    回復 1條回復
  • 西紅柿炒蛋. 05-23 20:09
    內容已刪除 24****@****.com
    回復 1條回復
  • 西紅柿炒蛋. 05-23 20:09
    老師,能不能發(fā)我一下資料,謝謝! 24****@****.com
    回復 1條回復
  • dy-UuaW84tM 05-22 14:09
    老師你好,我也想要一份資料,謝謝你,2143686621@qq.com
    回復
  • shanzhihun 05-16 23:27
    老師,能不能發(fā)我一下資料,謝謝! 33****@****.com
    回復 1條回復
  • 90badchild 05-10 09:15
    老師,能不能發(fā)我一下資料,謝謝! 46****@****.com
    回復 1條回復
  • dy-KFAii9YP 04-22 18:55
    老師,能不能發(fā)我一下資料,謝謝! 18****@****.com
    回復 1條回復
  • dy-b7ZQqRKb 04-21 17:06
    老師,能不能發(fā)我一下資料,謝謝! xw****@****.com
    回復 1條回復
  • dy-fEjyRVNq 04-13 11:36
    老師,能不能發(fā)我一下資料,謝謝! ls****@****.com
    回復 1條回復
  • dy-XHz3QvZc 04-08 14:45
    老師,能不能發(fā)我一下資料,謝謝! 14****@****.com
    回復 1條回復
  • tangtangtang 04-03 10:41
    老師,能不能發(fā)我一下資料,謝謝! qi****@****.com
    回復 1條回復
  • powerwang8888 03-27 08:23
    老師,能不能發(fā)我一下資料,謝謝! 44****@****.com
    回復 1條回復
  • jinshengfu777 03-26 11:08
    老師,能不能發(fā)我一下資料,謝謝! ji****@****.com
    回復 1條回復
  • dy-6AQvdBsP 03-19 13:19
    老師,能不能發(fā)我一下資料,謝謝! 1922484122@qq.com
    回復
  • dy-iGPZa8aE 03-10 09:37
    老師,能不能發(fā)我一下資料,謝謝! 73****@****.com
    回復 1條回復
  • dy-B5995S2t 03-03 18:27
    老師,能不能發(fā)我一下資料,謝謝! 48****@****.com
    回復 1條回復
  • 一步羅華 02-27 12:03
    老師,能不能發(fā)我一下資料,謝謝! we****@****.com
    回復 1條回復
主站蜘蛛池模板: 平度市| 玛多县| 克东县| 民乐县| 田林县| 赤水市| 黎平县| 防城港市| 宁远县| 丽水市| 同德县| 东海县| 墨竹工卡县| 崇信县| 刚察县| 六枝特区| 岳池县| 隆化县| 凉城县| 张家港市| 万载县| 磐安县| 屏东县| 江北区| 鄂州市| 崇义县| 宁明县| 弋阳县| 澜沧| 奎屯市| 安徽省| 成武县| 米易县| 林西县| 文化| 多伦县| 礼泉县| 乐清市| 谢通门县| 娄底市| 楚雄市|