久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9016|回復: 2
打印 上一主題 下一主題
收起左側

單相AC-DC 變換電路 2013年全國大學生電子設計競賽

[復制鏈接]
跳轉到指定樓層
樓主
ID:142955 發表于 2016-10-16 23:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
完整的設計論文下載:
2013全國電子設計競賽AC-DC變換電路(A題)設計報告 (1).doc (623.5 KB, 下載次數: 77)

下面是部分內容預覽:

2013年全國大學生電子設計競賽
單相AC-DC 變換電路(A題)
【本科組】





201397
摘要:本設計利用PFC控制系統和51單片機控制系統,通過對電路系統實施監控和調整,來達到對電路性能的提升,以保證電路輸出滿足題目要求,負載電壓誤差不超過±0.1V,負載調整率和電壓調整率均不超過0.5%,功率因數在95%以上。并且能夠使電路在出現過流時能系統斷電,實現保護,保證整個電路系統安全、高效的運行。
關鍵詞:PFC控制,單片機控制,自行校正
   
1.設計任務.... 5
2.設計要求.... 5
2.1基本要求... 5
2.2發揮部分... 5
3.設計方案評定與選擇.... 6
方案一:... 6
方案二:... 6
方案三:... 6
4.單元模塊設計.... 7
4.1 AC/DC電源模塊... 7
4.2 Boost升壓模塊... 7
4.2.1Boost升壓結構特性分析... 7
4.2.2 樣機電路設計... 9
4.2.3儲能電感L. 10
4.2.4 輸出電壓取樣電阻R1、R2. 11
4.2.5 開關S. 11
4.2.6 輸出二極管D和輸出電容器C2. 11
4.2.7 外補償網絡... 11
4.2.8 斜坡補償... 12
4.3 功率因數校正模塊... 14
4.4 功率因數測量模塊... 14
4.5 電路保護模塊... 15
4.6 89C54單片機控制模塊... 15
4.7 LCD液晶顯示模塊... 15
4.7.1液晶顯示原理... 15
4.7.2引腳功能說明... 16
4.7.3 1602液晶模塊的指令(說明:1為高電平、0為低電平)... 16
4.8 直流電源供電模塊... 17
5.程序設計.... 17
6.系統調試與分析.... 18
6.1測試儀器:... 18
6.2 硬件調試... 18
6.3 軟件調試... 18
6.4 軟硬聯調... 19
6.5結果分析(系統對題目完成情況)... 19
7.結束語.... 19
參考文獻:.... 19
附錄一:控制電路.... 20
附錄二:源程序.... 20


單相AC-DC 變換電路(A題)
【本科組】
1.設計任務
設計并制作如圖1 所示的單相AC-DC變換電路。輸出直流電壓穩定在36V,輸出電流額定值為2A。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
圖1 單相AC-DC 變換電路原理框圖
2.設計要求2.1.基本要求
(1)在輸入交流電壓Us=24V、輸出直流電流Io=2A 條件下,使輸出直流電壓Uo=36V±0.1V。
(2)當Us=24V,Io在0.2A~2.0A 范圍內變化時,負載調整率SI ≤ 0.5%。
(3)當Io=2A,Us在20V~30V 范圍內變化時,電壓調整率SU ≤ 0.5%。
(4)設計并制作功率因數測量電路,實現AC-DC 變換電路輸入側功率因數的測量,測量誤差絕對值不大于0.03。
(5)具有輸出過流保護功能,動作電流為2.5A±0.2A。
2.2.發揮部分
(1)實現功率因數校正,在Us=24V,Io=2A,Uo=36V 條件下,使AC-DC 變換電路交流輸入側功率因數不低于0.98。
(2)在Us=24V,Io=2A,Uo=36V條件下,使AC-DC 變換電路效率不低于95%。
(3)能夠根據設定自動調整功率因數,功率因數調整范圍不小于0.80~1.00,穩態誤差絕對值不大于0.03
3.設計方案評定與選擇
89C52單片機控制模塊、LCD液晶顯示模塊、按鍵控制模塊、直流電源供電模塊組成。在本設計中,核心采用PFC校正技術,因此重點對PFC控制方案的選取進行論證。
方案一:使用PWM斬波后利用高頻變壓器隔離升壓的方案。該方案電路原理簡單,所需元器件少,方便焊接。但由于高頻變壓器的加工設計等問題,改進難度大,使用受到限制,而且其電壓需要高頻整流濾波,電壓毛刺較大,精度低,所以不用該方案。
方案二:選用TI公司的UC3854。UC3854封裝引腳多,從而導致應用電路復雜,線路之間的干擾較大,因此產品的噪聲較大。對焊接工藝要求較高,而且調試電路的難度較大。UC3854 組成的PFC 電路還需要調節電壓放大器電流、放大器和乘法器。
方案三:采用帶PFC的Boost型DC—DC升壓器。該電路有專用的控制芯片,容易實現,電路結構簡單,同時采用PFC功率因數校正技術,功耗低,輸出電壓范圍寬。輸出電壓波形中毛刺也比方案一要小。選用TI公司的UCC28019。UCC28019交流輸入市電電流總諧波畸變率低,功率校正因數高,抗干擾能力強,封裝引腳較少,PFC控制部分電路相對簡單。只需調節一個放大器的補償網絡即可, 高壓起動源直接接在高壓輸入端,光耦直接接到IC 的端子,不再處理放大器的補償,前沿消隱做在IC 內部,IC 外部只有電流取樣。這樣的做法使設計的步驟減少了。
綜合比較,選擇方案三。
方案流程圖如圖2所示
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
2  方案流程圖
4.單元模塊設計4.1 AC/DC電源模塊
       自耦變壓器是輸出和輸入共用一組線圈的特殊變壓器。通過改變初、次級的線圈匝數比的關系來改變初、次級線圈端電壓,實現電壓的變換。由于初級和次級線圈直接相連,致使會有跨級漏電的危險。
       隔離變壓器是一種1/1的變壓器,它的輸出端跟輸入端是完全“斷路”隔離的,這樣就有效的對變壓器的輸入端起到了一個良好的過濾作用,從而給用電設備提供了純凈的電源電壓。加之它的次級不與大地相連,任意兩線與大地之間沒有電位差,人接觸任意一條線都不會發生觸電,這樣就比較安全。
由于MOSFET管工作時頻繁的開關,因此對電路的干擾較大,在整流電路前加入EMI濾波電路,從而達到降低噪聲的作用。設計中還加入了壓敏電阻VAR1,當電路中回路電流過大時,壓敏電阻VAR1閉合保險絲F1熔斷從而達到保護電路的目的。當輸入為220V交流電壓時,首先經過隔離變壓器降至18V左右交流電壓。再經過保護和濾波后輸出端接入整流橋,整流部分選用了全波橋式整流電路,輸出為直流電壓。在選擇二極管時,其額定正向電流必須大于流過它的平均電流ID,其反向擊穿電壓必須大于它兩端承受的最大反向電壓VRM 。由此確定整流二極管的參數。
利用上述特點,按自耦變壓器、隔離變壓器和橋式整流器的順序將三者連接起來,就夠成了一個可調、濾波、安全的AC/DC降壓模塊,如圖3所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
圖3       AC/DC降壓模塊
4.2 Boost升壓模塊
4.2.1Boost升壓結構特性分析  
Boost升壓電路,可以工作在電流斷續工作模式(DCM)和電流連續工作模式(CCM)。CCM工作模式適合大功率輸出電路,考慮到負載達到10%以上時,電感電流需保持連續狀態,因此,按CCM工作模式來進行特性分析。Boost拓撲結構升壓電路基本波形如圖3所示
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
圖4   Boost升壓電路基本波形
ton時,開關管S為導通狀態,二極管D處于截止狀態,流經電感L和開關管的電流逐漸增大,電感L兩端的電壓為Vi,考慮到開關管S漏極對公共端的導通壓降Vs,即為Vi-Vston時通過L的電流增加部分△ILon滿足式(1)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif                    (1)
式中:Vs為開關管導通時的壓降和電流取樣電阻Rs上的壓降之和,約0.6~0.9V。
    toff時,開關管S截止,二極管D處于導通狀態,儲存在電感L中的能量提供給輸出,流經電感L和二極管D的電流處于減少狀態,設二極管D的正向電壓為Vf,toff時,電感L兩端的電壓為Vo+Vf-Vi,電流的減少部分△ILoff滿足式(2)。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gif               file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif(2)
式中:Vf為整流二極管正向壓降,快恢復二極管約0.8V,肖特基二極管約0.5V
   
在電路穩定狀態下,即從電流連續后到最大輸出時,△ILon=ILoFf,由式(1)(2)可得
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif                    (3)
因占空比file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif,即最大占空比file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif             (4)
如果忽略電感損耗,電感輸入功率等于輸出功率,即
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif                    (5)
由式(4)和式(5)得電感器平均電流
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif                   (6)
同時由式(1)得電感器電流紋波
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif                      (7)
式中:f為開關頻率。為保證電流連續,電感電流應滿足
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif                       (8)
考慮到式(6)、式(7)和式(8),可得到滿足電流連續情況下的電感值為
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif                  (9)
另外,由Boost升壓電路結構可知,開關管電流峰值Is(max)=二極管電流峰值Id(max)=電感器電流峰值ILP
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif                               (10)
開關管耐壓  file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif           (11)
二極管反向耐壓file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif            (12)
4.2.2 樣機電路設計
樣機的電路圖如圖2所示,是基于UCC28019控制的升壓式DC/DC變換器。電路的技術指標為:輸入Vi=18V,輸出Vo=30V、Io=2A,頻率f≈49 kHz,輸出紋波噪聲1%。根據技術指標要求,結合Boost電路結構的定性分析,對圖5的樣機電路設計與關鍵參數的選擇進行具體的說明。
   file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg
圖5   Boost升壓模塊
4.2.3儲能電感L
根據輸入電壓和輸出電壓確定最大占空比。由式(4)得
DMAX≈file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image044.gif=file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image046.gif=0.4當輸出最大負載時至少應滿足電路工作在CCM模式下,即必須滿足式(9),
   Lfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image048.gif=file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif=220μH同時考慮在10%額定負載以上電流連續的情況,實際設計時可以假設電路在額定輸出時,電感紋波電流為平均電流的20~30%,因增加△IL可以減小電感L,但為不增加輸出紋波電壓而須增大輸出電容C2,取30%為平衡點,即
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image052.gif
流過電感L的峰值電流由式(10)得
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image054.gif
L
可選用電感量為200~500μH且通過4.5A以上電流不會飽和的電感器。電感的設計包括磁芯材料、尺寸選擇及繞組匝數計算、線徑選用等。電路工作時重要的是避免電感飽和、溫升過高。磁芯和線徑的選擇對電感性能和溫升影響很大,材質好的磁芯如環形鐵粉磁芯,承受峰值電流能力較強,EMI低。而選用線徑大的導線繞制電感,能有效降低電感的溫升。
4.2.4 輸出電壓取樣電阻R1R2
因UCC28019的腳2為誤差放大器反向輸入端,芯片內正向輸入端為基準2.5v,可知輸出電壓Vo=2.5(1+R1/R2),根據輸出電壓可確定取樣電阻R1、R2的取值。由于儲能電感的作用,在開關管開啟和關閉時會形成大的尖峰電流,在檢測電阻Rs上產生一個尖峰脈沖,為防止造成UC3842的誤動作,在Rs取樣點到UC3842的腳3間加入R、C濾波電路,R、C時間常數約等于電流尖峰的持續時間。
4.2.5 開關管S
開關管的電流峰值由式(10)得
Iv(max)=ILP=4.17A
開關管的耐壓由式(11)得
Vds(off)=Vo+Vf=30+0.8=30.8V
按20%的余量,可選用6A/50V以上的開關管。為使溫升較低,應選用Rds較小的MOS開關管,要考慮的是通態電阻Rds會隨PN結溫度T1的升高而增大。
下圖為實測開關管的開關電壓波形和電流瞬態波形圖如圖6所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image056.jpg
6   實測開關管的開關電壓波形和電流瞬態波形圖
4.2.6 輸出二極管D和輸出電容器C2
升壓電路中輸出二極管D必須承受和輸出電壓值相等的反向電壓,并傳導負載所需的最大電流。二極管的峰值電流Id(max)=ILP=5.11A,本電路可選用6A/50V以上的快恢復二極管,若采用正向壓降低的肖特基二極管,整個電路的效率將得到提高。輸出電容C2的選定取決于對輸出紋波電壓的要求,紋波電壓與電容的等效串聯電阻ESR有關,電容器的容許紋波電流要大于電路中的紋波電流。電容的ESR<△Vo/△IL=30x1%/1.33=0.22Ω。另外,為滿足輸出紋波電壓相對值的要求,濾波電容量應滿足
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image058.gif1157μF
根據計算出的ESR值和容量值選擇電容器,由于低溫時ESR值增大,故應按低溫下的ESR來選擇電容,因此,選用1000μF/50V以上頻率特性好的電解電容可滿足要求。
4.2.7 外補償網絡
   UCC28019誤差放大器的輸出端腳l與反相輸入端腳2之間外接補償網絡Rf、Cf。 Rf、Cf的取值取決于UCC28019環路電壓增益、額定輸出電流和輸出電容,通過改變Rf、Cf的值可改變放大器閉環增益和頻響。為使環路得到最佳補償,可測試環路的穩定度,測量Io脈動時輸出電壓Vo的瞬態響應來加以判斷。
     圖7為Cf選用0.0lμF和470pF時動態響應控制波形的區別,上沖下降幅度和復位時間都有差別。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image060.jpg
7  Cf選用0.0lμF470pF時動態響應控制波形
4.2.8 斜坡補償
在實用電路中,增加斜坡補償網絡,一般有二種方法,一是從斜坡端腳4接補償網絡Rx、Cx至誤差放大器反相輸入端腳2,使誤差放大器輸出為斜坡狀,再與Rs上感應的電壓比較。二是從斜坡端腳4接補償網絡Rx、Cx到電流感應端腳3,將在Rs的感應電壓上增加斜坡的斜率,再與平滑的誤差電壓進行比較,作用是防止諧波振蕩現象,避免UC3842工作不穩定,同時改善電流型控制開關電壓的噪聲特性。本文采用方法二。
4.3 功率因數校正模塊
該系統(如圖7所示)采用有源功率因數校正,可改善電源輸入功率因數,減小輸入電流諧波。其主要實現方式有2 種:(1)兩級PFC技術,即在整流濾波和DC/DC功率級之間加入有源PFC電路為前置級,用于提高功率因數和實現DC/DC級輸入的預穩,該技術一般用于較大功率輸出場合;(2)單級PFC技術,即將PFC級與DC/DC級中的元件共用,實現統一控制,通常共用器件為MOSFET。該方式設計與優化尤為重要,適用于小功率應用。
有源功率因數校正的控制方式又可根據電感電流是否連續分為平均電流型控制、CCM/DCM邊界控制和電流箝位控制模式。其中CCM/DCM邊界控制 Boost PFC是一種滯后控制技術,其上限為正弦基準電流,由輸出檢測信號經誤差放大后與輸入全波電壓檢測信號相乘得到,下限為零。具體工作過程為:檢測電感電流并與正弦電流基準信號相比較,當電感電流達到該基準時,關斷開關:當電感電流為零則再次導通,使電感電流為臨界電流工作狀態。即CCM/DCM邊界,可消除二極管的反向恢復損耗,大大減小主開關的非零電壓導通損耗。該技術優點是控制簡單,使用專用器件的外圍元件數量少。運用Boost電路的PFC,在 CCM模式下輸入電流畸變小且易于濾波,開關管的電流應力也小,可以處理較大的功率并保持較高的效率。
這里選用CCM模式PFC控制器UCC28019實現最終的功率因數校正。該器件采用軟啟動機制,動態響應良好,結合外圍電路可實現輸入欠壓保護,開環保護,輸出過壓保護,軟過流控制(SOC)和峰值電流限制等功能。系統輸出電壓由該器件VSENSE引腳所接分壓電阻與其內部+5 V的基準決定。由公式  file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image062.gif可得,通過調節分壓電阻的比率實現輸出電壓的數字可調。
PFC控制部分的電路設計見附錄1,芯片管腳3電流信號的采集通常采用串聯一個電阻,這種方案電路結構簡單,成本低,開關電流通過MOSFET開關源串連的分路電阻轉換為一個電壓。該分壓電阻從源極(地)連接到輸入整流器返回引腳3。這種檢測電流的方法會產生一個負電壓,這對于IC而言并不理想,但方案容易實現,所以本方案采用串聯一個電阻。
經計算file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image064.gif ,本方案用0.05file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image068.gif
圖7  功率因數校正框架
4.4 功率因數測量模塊
變壓器副邊處通過電流互感器和電壓互感器取樣交流信號,然后經雙路比較器LM393整形后利用等精度法測量相位差,得到系統功率因數。LM393的整形電路如圖8所示。
根據公式file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif進行編程,即可算出功率因數。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image072.jpg
圖8  功率因數測量模塊
4.5 電路保護模塊
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif
圖9  繼電器驅動電路圖
繼電器驅動接口電路如圖9所示,如果輸入信號為低電平,三極管的基極就會被拉低而產生足夠的基極電流,使三極管導通,繼電器就會得電吸合,從而斷電保護。繼電器的輸出端并聯100Ω的電阻和6800pF的電容,目的是避免繼電器吸合與釋放期間產生火花。每個繼電器都有一對常開常閉的觸點,便于在其他電路中使用,繼電器線圈兩端反相并聯的二極管是起到吸收反向電動勢的功能,保護相應的驅動三極管,這種繼電器驅動方式硬件結構比較簡單。
4.6 89C54單片機控制模塊   
       該系統采用AT89C52為控制和運算核心,通過等精度測相法測量出系統的功率因數。功率因數校正則以UCC28019為核心,利用硬件電路形成閉環反饋電路,實時監測輸出電壓、電流。單片機提供過流保護來控制繼電器以及采樣和顯示電壓電流。通過單片機實時采樣輸出電流。當電流過大時單片機控制繼電器模塊使其斷開,系統斷電;當故障排除后測得電流值小于預定值時單片機再次發出指令使繼電器閉合,電路重新開始正常工作。
4.7 LCD液晶顯示模塊 4.7.1液晶顯示原理
液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。
4.7.2引腳功能說明
  
編號
  
  
符號
  
  
引腳說明
  
  
編號
  
  
符號
  
  
引腳說明
  
  
1
  
  
VSS
  
  
電源地
  
  
9
  
  
D2
  
  
數據
  
  
2
  
  
VDD
  
  
電源正極
  
  
10
  
  
D3
  
  
數據
  
  
3
  
  
VL
  
  
液晶顯示偏壓
  
  
11
  
  
D4
  
  
數據
  
  
4
  
  
RS
  
  
數據/命令選擇
  
  
12
  
  
D5
  
  
數據
  
  
5
  
  
R/W
  
  
讀/寫選擇
  
  
13
  
  
D6
  
  
數據
  
  
6
  
  
E
  
  
使能信號
  
  
14
  
  
D7
  
  
數據
  
  
7
  
  
D0
  
  
數據
  
  
15
  
  
BLA
  
  
背光源正極
  
  
8
  
  
D1
  
  
數據
  
  
16
  
  
BLK
  
  
背光源負極
  
4.7.3 1602液晶模塊的指令(說明:1為高電平、0為低電平)
指令1:清顯示,指令碼01H,光標復位到地址00H位置。
指令2:光標復位,光標返回到地址00H。
指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。
指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。
指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。
指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時
為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。
指令7:字符發生器RAM地址設置。
指令8:DDRAM地址設置。
指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。
指令10:寫數據。
指令11:讀數據。
設計測量輸出電壓、電流電路圖如圖5所示,該電路采用霍耳傳感器采集電流信號,提高了采集信號的精度,減小了測量誤差。單片機內部具有D/A轉換功能,通過編程即可將輸出電壓、電流顯示在LCD上。
4.8 直流電源供電模塊     
電源按功能分為主電源模塊和輔助電源模塊兩類。主電源由變壓部分、濾波部分和穩壓部分組成。為整個系統提供高電壓或者大電流,確保電路的正常穩定的工作。這部分電路由自耦變壓器、隔離變壓器和整流橋組成。輔助電源是控制電路、驅動電路的電源。其作用是給控制電路、驅動電路提供穩定的低壓穩壓電源。要求能輸出12V、5V的穩壓直流電。
5.程序設計
程序功能設計,該設計采用相位差測量法,即分別對變壓器副邊檢測的電壓、電流信號先經比較器整形,然后通過計算得到電壓電流的相位差,再進行余弦運算,即可得到系統的功率因數。負載端輸出電壓、電流經采樣得到系統視在功率。根據P=S×COSQ=S2-P2(Q表示無功功率)計算電源的有功功率、無功功率等參數。具體算法見圖10。該方法易于操作,而且通過等精度法測相,可達到很高精度,從而能很好滿足系統要求(程序見附錄)。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif
10  程序算法
6.系統調試與分析6.1測試儀器
(1)數字萬用表
(2)雙蹤示波器GOS—6051(50MHz)
(3)失真度測試儀
6.2 硬件調試
       整個主電路比較復雜,有三部分:AC\DC電路,boost電路及控制電路, 當電路焊接好后,首先要做的就是檢查電路的連接狀況,看是否有短路的地方或者是接錯了的地方,然后測量輸入電壓是不是在預定的范圍內,通常是沒有什么問題的,因為前級的電路就是一個整流橋加一個電感濾波輸出通常是輸入的0.9-1.2倍,具體值與電容值有關。輸出只會有兩種情況,一是有輸出但輸出的電壓不是設定值,這種情況很好解決 就是改變電壓反饋電阻的值,如果怎么改都沒有效果則電路元件的參數沒有選好,需要好好的將電路的參數重新計算一遍,二是沒有輸出,導致這個結果的可能有很多的情況,需要認真讀控制器的數據手冊查看芯片,然后根據電路的狀態確定控制器的工作情況,這是最麻煩的事情了。而且問題比較難找到!很幸運我們沒有碰到這個問題,雖然電路的輸出與設定值有一定的差距但改變反饋電阻后可以達到設定值。
6.3 軟件調試
與硬件相比,軟件的調試麻煩的多了,對輸出電壓采樣顯示來說,為了達到一定的準確度好多的參數需要校準,將采樣值轉換為實際的電壓值時,其結果與ADC的參考電壓與硬件電路的放大比率值有直接關系,雖然參考電壓的值在數據手冊已經給定了但實際的參考電壓與數據手冊上有一定的差距,信號調理電路的放大比例也可以通過計算得到但元件的容差會使其不準確,而且這兩個量是獨立的沒有聯系,所以要在兩者之間權衡,根據多次的調試校準,獲得相對準確的值,具體的值在附件程序里見。調試功率因數檢測時首先觀察程序能不能進入外部中斷服務程序,其實只要硬件做好了,這一點問題也沒有,實際上也是這樣的,程序能夠進入中斷服務程序,然而在顯示器上卻看不到結果,顯示的只有亂碼,后來在線仿真可以看到在數據緩存時出了錯,在C54中sfr16 是定義一個寄存器變量,但必須是連續的兩字節才能這樣,然而定時器0的高低字節不是連續的所以把高字節的值沒有緩存,修改后就好了但顯示的數據一直在跳動,后來才知道計數值緩存后沒有清零,修改后就好了
6.4 軟硬聯調
       控制系統先加載程序,然后開始輸入電壓。改變輸入條件,檢測并記錄各類參數值,分析參數值的變化情況,判斷系統的運行情況,改進電路以提高電路效率和性能。
6.5結果分析(系統對題目完成情況
①在輸入交流電壓file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif=24、輸出直流電流file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2A條件下,我們的設計作品能穩定輸出,但離指標還有一定的距離。
②當file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif=24file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif0.2A~2.0A范圍變化時,負載調整率file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif
③當file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2Afile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif20V~30V范圍變化時,電壓調整率file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif
④通過計算可得,電路的功率因數計算值和測量值相似,在誤差范圍內,
⑤當電路出現過流現象時,系統斷電,實現了過流保護功能。
⑥在人為改變電路,導致功率因數下降時,系統會自動校正功率因數,來提高功率因數值,但未達到題目的要求。
⑦在file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image084.gif=24V,file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif=2A條件下,file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif值穩定,但與指標有一定差距。
⑧本設計可以自動校正功率因數,穩態誤差絕對值與測量值接近,但未能達到0.89~1.00這樣的水平。
⑨本設計的特點之處在于,可以實時顯示輸出電壓、輸出電流和功率因數,且誤差率極小。
7.結束語
       通過此次競賽,加深了同學間的友誼,培養了學生間的合作能力,提高了學生的動手能力、創新能力和思考能力,使得我們受益匪淺。
參考文獻:
[1] 毛興武等. 功率因數校正原理與控制IC及其應用設計-北京:中國電力出版社,2007
[2] 王兆安等. 電力電子技術-北京:機械工業出版社,2000
[3] 張乃國. 電子電源技術與應用-北京:機械工業出版社,2007.4 
[4] 劉勝利. 現代高頻開關電源實用技術[M].北京:電子工業出版社,2001
[5] 劉生建. 兩種功率因數校區(PFC)—龍巖市:控制方法分析與比較龍巖學院報,2007
附錄一:控制電路
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image088.jpg
附錄二:源程序
#include  <reg52.h>
#define  uint unsigned int
#define  uchar unsigned  char
float num;
uchar xx=0;
ucharmsg1[]="0123456789";
ucharmsg2[]="00.000";
ucharmsg3[]="0.0000";
ucharmsg4[]="U:";
sbit c_rs=P3^4;
sbit c_rw=P3^5;
sbit c_e=P3^6;
sbit AD_OUT=P1^0;
sbit AD_IN=P1^1;
sbit AD_CS=P1^2;
sbit AD_CLK=P1^3;
sbit EOC=P1^4;
sbit P3_0=P3^0;
void  delay(unsigned int tt)
{
    while(tt--);
}
voidWrite_Cmd(uchar dd)
{
     c_rs=0;
     c_rw=0;
     c_e=0;
     delay(50);
     P2=dd;
     c_e=1;
     delay(50);
     c_e=0;
     delay(50);
}
void  Write_Dat(uchar dd)
{
     c_rs=1;
     c_rw=0;
     c_e=0;
     delay(50);
     P2=dd;
     c_e=1;
     delay(50);
     c_e=0;
     delay(50);
}
void Lcd_Init()
{                                 
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x38);
     delay(200);
     Write_Cmd(0x08);
     delay(200);
     Write_Cmd(0x01);
     delay(200);
     Write_Cmd(0x06);
     delay(200);
     Write_Cmd(0x0c);
     delay(200);
     Write_Cmd(0x80+0x00);
}
uint tlc1543(ucharport)
{
      uint m=0;
        uint h;
        uchar i;
        AD_CS=0;
        EOC=1;   
        port<<=4;
        for(i=0;i<10;i++)
      {               
               AD_IN=(bit)(port&0x80);
            AD_CLK=1;
               m<<=1;
          h=AD_OUT;
               m=m|h;         
               AD_CLK=0;                 
            port<<=1;      
        }   
        EOC=0;         
        AD_CS=1;
     return(m);  
}
void  main()
{      
     float res;
     uchar i=0;
        TCON=0x01;
        IP=0x01;
        IE=0x81;
        Lcd_Init();
     while(1)
        {   
                 if(xx==0)
                     {            
                              
                                 num=tlc1543(0);
                                    res=num*5.0/1023.0;      
                              msg2[4]=msg1[(int)(res*1000)%10];
                              msg2[3]=msg1[(int)(res*100)%10];
                                 msg2[1]=msg1[(int)(res*10)%10];   
                                 msg2[0]=msg1[(int)res];        
                                    if(msg2[0]==0x30)
                                    {
                                             msg2[1]=0x20;
                                    }
                                     Write_Cmd(0x80+0x02);                              
                                     Write_Dat(0x55);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);
                                    
                                 i=0;
                              Write_Cmd(0x80+0x44);
                                while(msg2!=0x00)
                                 {
                                           Write_Dat(msg2);
                                           i++;
                                 }
                                    Write_Cmd(0x80+0x50);                        
                                    Write_Dat(0x56);
                   }
                      if(xx==1)
                      {
                           
                                      num=tlc1543(1);
                                      res=num*5.0/1023.0/1.61;
                                      if(res<2.5)
                                      {P3_0=1;}
                                      if(res>=2.5)
                                      {P3_0=0;}
                                      msg3[4]=msg1[(int)(res*1000)%10];
                             msg3[3]=msg1[(int)(res*100)%10];
                                msg3[2]=msg1[(int)(res*10)%10];   
                                msg3[0]=msg1[(int)res];
                                       Write_Cmd(0x80+0x02);                          
                                     Write_Dat(0x49);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);   
                                i=0;
                             Write_Cmd(0x80+0x44);
                              while(msg3!=0x00)
                                {
                                       Write_Dat(msg3);
                                       i++;
                                }
                                      Write_Cmd(0x80+0x50);
                                   Write_Dat(0x41);
                     }
                     if(xx==2)
                     {
                             
                                   num=tlc1543(2);
                                   res=num*5.0/1023.0/40.16;     
                             msg3[4]=msg1[(int)(res*1000)%10];
                             msg3[3]=msg1[(int)(res*100)%10];
                                msg3[2]=msg1[(int)(res*10)%10];   
                                msg3[0]=msg1[(int)res];
                                    Write_Cmd(0x80+0x02);                                
                                     Write_Dat(0xE0);
                                      Write_Cmd(0x80+0x03);                           
                                     Write_Dat(0x3A);                              
                                i=0;
                             Write_Cmd(0x80+0x44);
                               while(msg3!=0x00)
                                {
                                          Write_Dat(msg3);
                                          i++;
                                }
                                   Write_Cmd(0x80+0x50);
                                Write_Dat(0x20);                              
                     }
      }
}
void ISR_INT0()interrupt 0 using 1
{
         xx++;
         if(xx==3)
         xx=0;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:546381 發表于 2020-8-11 11:36 | 只看該作者
如果有原理圖那就好了
回復

使用道具 舉報

板凳
ID:511461 發表于 2020-9-2 19:31 | 只看該作者
樓主的文檔里面的程序和你帖子上的程序不一樣
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩黄| av网站在线播放 | 国产激情视频在线观看 | 午夜网站视频 | 成人午夜免费网站 | 国产精品一区二区电影 | jizz视频 | 91香蕉视频在线观看 | 日本在线你懂的 | 超级碰在线| 午夜免费电影 | 国产视频第一页 | 久久久国产精品 | 午夜影视网 | 99亚洲精品 | 91精品久久久久久久99 | 超碰最新在线 | 夜夜艹天天干 | 在线播放一区二区三区 | 伊人青青久久 | 亚洲麻豆 | 欧美日韩久久 | 日韩欧美一级精品久久 | 精品国产青草久久久久96 | 99国产精品视频免费观看一公开 | 一区二区三区成人 | 国产精品国产a | 日韩欧美一区二区在线播放 | 亚洲综合区 | 日本一区二区三区四区 | 日韩欧美在线免费 | 日本精品一区二区三区在线观看视频 | 欧美一级一 | 免费中文字幕 | 日韩精品欧美精品 | 青娱乐自拍 | 亚洲成人黄色 | 波多野结衣中文字幕一区二区三区 | 久久久亚洲 | 欧美激情 一区 | 欧美一级片a |