性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

wkhn
認證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
通向數(shù)字電源之路——初學(xué)者入門(1)
通向數(shù)字電源之路——初學(xué)者入門(2)
通向數(shù)字電源之路——初學(xué)者入門(3)
通向數(shù)字電源之路——初學(xué)者入門(4)
通向數(shù)字電源之路——初學(xué)者入門(5)
通向數(shù)字電源之路--進階(1)
作者動態(tài) 更多
一種采用CAN總線方式升級F28035芯片F(xiàn)lash的方法(三)
2024-05-13 15:31
一種采用CAN總線方式升級F28035芯片F(xiàn)lash的方法(二)
2024-05-13 15:31
一種采用CAN總線方式升級F28035芯片F(xiàn)lash的方法(一)
2024-05-13 15:31
STM32G4系列MCU——數(shù)字電源入門(4)
2023-03-14 10:46
STM32G4系列MCU——數(shù)字電源入門(3)
2023-03-13 20:05

通向數(shù)字電源之路——初學(xué)者入門(3)

      在之前的兩篇文章中,我介紹了Boost和Buck電路數(shù)字控制環(huán)路的實現(xiàn)。初步實現(xiàn)了數(shù)字電源的基本PWM調(diào)節(jié)功能,但是也存在一些問題,有以下幾點:

1)不能實現(xiàn)BUCK和BOOST電路的同時工作,本文將以兩電路同時工作為目標(biāo),對軟件進行改進。

2)在輕載或空載時,無法穩(wěn)壓,導(dǎo)致輸出電壓無法穩(wěn)定。這需要在電流采樣電路中加入一個上拉電阻,確保輕載或空載時,PWM脈寬能降為0。

3)將BOOST輸出電壓的采樣通道由AN5移到AN1,因為AN1是獨立的ADC內(nèi)核,而AN5是共享ADC內(nèi)核,所以AN1采樣速度比AN5要快一些。

4)寫入程序后,不能更改兩電路的輸出電壓。在程序中增加串口通訊的功能,通過串口改變輸出電壓。

原理圖和軟件,會在文中附件中提供下載。

1.如何讓兩電路同時工作?

      在前面的文中提到,控制環(huán)路的算法是在ADC采樣中斷中進行運算的,如果兩電路同時工作,ADC采樣中斷就有可能發(fā)生沖突(也許沖突導(dǎo)致其中一個中斷產(chǎn)生的延時并不會使環(huán)路不穩(wěn),但是筆者還沒測試過)。為了解決ADC采樣中斷沖突的問題,可以把采樣頻率降低,即不在是每個PWM周期都采樣,而是每兩個PWM周期采樣一次,同時錯開兩個電路的采樣時間(在PWM的配置中可以設(shè)),就能實現(xiàn)同時工作且ADC采樣不會產(chǎn)生沖突。具體設(shè)置如下:

在MCC中,點擊PWM設(shè)置。

因為兩個電路是PWM要同時工作,PWM時基就設(shè)為“主時基”,占空比設(shè)為“主占空比”

“Master Duty Cycle”為“主占空比”,“Period”為“主時基”。這里是將buck和boost的PWM頻率都設(shè)為100KHz,占空比最大為50%。

設(shè)置PWM1

這里將“Duty Cycle Mode”和“Independent Time Base Mode”都選擇“Master”。

請注意,在“Trigger Control”中,如下設(shè)置:

“Output Divider”中選擇“2”,表示每兩個PWM周期觸發(fā)一次ADC采樣,“Postscale Start Enable”中的“0”,表示從dsp上電后的第一個PWM開始計算ADC采樣周期。

PWM2設(shè)置:

這里“Postscaler Start Enable”選擇“1”,表示從dsp上電后第二個PWM周期開始計算ADC采樣時間,這樣PWM1和PWM2的ADC采樣時間就錯開了一個PWM周期,不會產(chǎn)生沖突。

然后進行ADC設(shè)置:(觸發(fā)源應(yīng)為PWM1 Primary和PWM2 Primary)

配置內(nèi)部比較器1、2

當(dāng)完成mcc設(shè)置后,將PI控制環(huán)路的差分方程寫入程序中。

編繹后,燒錄代碼,兩個電路能正常穩(wěn)定工作。輸入電壓為15V,輸出電壓buck電路為4.26V,boost電路為19.95V。至于ADC采樣頻率降低后,對整體控制環(huán)路有什么影響?有時間會在以后的文章中講述。

2.在上一版電路中,存在一個bug,電路空載時,兩電路輸出電壓都會不受抑制的增高,這非常危險。導(dǎo)致這個現(xiàn)象發(fā)生的主要原因是:內(nèi)部比較器在采樣電流信號為零時,并不會使PWM輸出0占空比,即使DAC的輸出為0!這就導(dǎo)致PWM永遠達不到0占空比!解決的方法很簡單,用電阻上拉電流的采樣,使DAC輸出為0時,PWM能達到0占空比。

3.AN5通道的ADC采樣,改到了AN3通道了。

4.增加了串口通訊功能

      為了能通過通訊的方式調(diào)整輸出電壓,并且了解電源內(nèi)部的工作狀態(tài),有必要增加串口通訊功能。串口通訊要求按照收到的電壓值輸出電壓,并定時發(fā)送某些狀態(tài)位。需要兩個外設(shè):UART和Timer。用32位Timer2,回調(diào)函數(shù)的執(zhí)行周期為1秒。

Timer定時器中斷和UART中斷全部打開。設(shè)置完成后,生成代碼。

定時器的代碼相對簡單,只需要在定時器2的回調(diào)函數(shù)中寫入發(fā)送函數(shù)(UART1_Write())或接收函數(shù)(UART1_Read())即可。

如果要讀取接收的數(shù)據(jù),就用UART1_Read()函數(shù)。請注意,由mcc自動生成的UART代碼,內(nèi)部定義了一個緩沖區(qū),緩沖區(qū)的大小可以自定義,比如緩沖區(qū)定義了8個字節(jié)。如果上位機一次發(fā)送了8個字節(jié),那么就要用UART1_Read()函數(shù)一次性接收這8個字節(jié)(for循環(huán)8次UART1_Read()函數(shù)),再處理接收的數(shù)據(jù)。當(dāng)dsp接收了8個字節(jié)后,緩沖區(qū)會滿,不及時讀出數(shù)據(jù),將會丟失后面接收到的數(shù)據(jù)。這就要求讀緩沖區(qū)數(shù)據(jù)的頻率要高于UART接收并寫滿緩沖區(qū)的頻率。如果發(fā)了8個字節(jié),只用UART1_Read()函數(shù)接收了7個字節(jié),則下一次再用UART1_Read()函數(shù)則會繼續(xù)接收緩沖區(qū)的第8個字節(jié)。

UART的代碼相對復(fù)雜,但是對于使用者來說只需要用UART1_Read()函數(shù)和UART1_Write()函數(shù)即可。不必關(guān)心內(nèi)部的緩沖機制。

總結(jié):

      1)一顆芯片可以控制兩個不同的電路的控制環(huán)路,增大了使用的靈活性。

      2)增加了通訊功能,在此基礎(chǔ)上,還可以把dsp內(nèi)部狀態(tài)通過通訊發(fā)送出來。

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
本篇所含全部資料,點擊此處留下郵箱我會發(fā)給你
資料明細:digital_power_kit_buck&boost.X.rar,C2103.pdf
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 7
關(guān)注 575
成為作者 賺取收益
全部留言
0/200
  • longhuayun9 03-26 10:58
    老師,能不能發(fā)我一下資料,謝謝! 13****@****.com
    回復(fù) 1條回復(fù)
  • 發(fā)燒小峰 02-01 16:12
    老師,能不能發(fā)我一下資料,謝謝! bc****@****.com
    回復(fù) 1條回復(fù)
  • 發(fā)燒小峰 02-01 16:03
    老師,能不能發(fā)我一下資料,謝謝! bc****@****.com
    回復(fù) 1條回復(fù)
  • 發(fā)燒小峰 02-01 16:00
    老師,能不能發(fā)我一下資料,謝謝! bc****@****.com
    回復(fù) 1條回復(fù)
  • 有時路過 2024-10-27 22:11
    老師,能不能發(fā)我一下資料,謝謝! 18****@****.com
    回復(fù) 1條回復(fù)
  • Jzz 2024-10-17 21:50
    內(nèi)容已刪除 96****@****.com
    回復(fù) 1條回復(fù)
  • Jzz 2024-10-17 21:50
    老師,能不能發(fā)我一下資料,謝謝! 96****@****.com
    回復(fù) 1條回復(fù)
  • Jzz 2024-10-17 21:50
    內(nèi)容已刪除 96****@****.com
    回復(fù) 1條回復(fù)
  • dy-mmS594yD 2024-07-20 01:41
    老師,能不能發(fā)我一下資料,謝謝! 17****@****.com
    回復(fù) 1條回復(fù)
  • 無雙葉子 2024-07-13 07:49
    老師,能不能發(fā)我一下資料,謝謝! 84****@****.com
    回復(fù) 1條回復(fù)
  • songxium 2024-01-26 13:49
    老師,能不能發(fā)我一下資料,謝謝! so****@****.com
    回復(fù) 1條回復(fù)
  • power小白 2024-01-10 23:23
    老師,能不能發(fā)我一下資料,謝謝! 13****@****.com
    回復(fù) 1條回復(fù)
  • dy-fr7bqalt 2024-01-04 16:10
    老師,能不能發(fā)我一下資料,謝謝! da****@****.com
    回復(fù) 1條回復(fù)
  • dy-iGugTBNk 2023-12-21 17:30
    老師,能不能發(fā)我一下資料,謝謝! pe****@****.com
    回復(fù) 1條回復(fù)
  • anono 2023-09-11 13:53
    老師,能不能發(fā)我一下資料,謝謝! 10****@****.com
    回復(fù) 1條回復(fù)
  • dy-GQbyZem1 2023-05-26 09:15
    老師,能不能發(fā)我一下資料,謝謝! 22****@****.com
    回復(fù) 1條回復(fù)
  • sdll825 2023-03-16 14:13
    老師,能不能發(fā)我一下資料,謝謝! sd****@****.com
    回復(fù) 1條回復(fù)
  • yangwenlong 2023-02-28 21:57
    老師,能不能發(fā)我一下資料,謝謝! ya****@****.com
    回復(fù) 1條回復(fù)
  • 熊紅 2022-11-27 11:25
    老師,能不能發(fā)我一下資料,謝謝! m1****@****.com
    回復(fù) 1條回復(fù)
  • dyy831 2022-11-07 14:25
    老師,能不能發(fā)我一下資料,謝謝! 49****@****.com
    回復(fù) 1條回復(fù)