高效直流穩定電源(C題) 《本科組》 摘要:本系統以可調降壓芯片TPS5430為核心,以MSP430單片機為主控制器,根據反饋信號進行可靠的閉環控制,從而實現穩壓輸出、穩流輸出。通過控制TPS540的VSNS端,實現穩壓源和穩流源輸出大小的控制。電壓檢測部分利用數字電位器實現穩壓的范圍控制,電流檢測電路以TI高精度儀表放大器INA210和LM358組成電流取樣電路。雙向模擬開關實現穩流和穩壓之間的切換。MSP430F149實現A/D轉換,1602液晶顯示器顯示出電壓、電流值。實現了基本部分和部分發揮部分。
Abstract:the sytem with adjustable step-down TPS5430 chip as the core,which is given priority to with MSP430 controller,according to the feedback signal is reliable closed-loop control,so as to realize stable voltage output,current output.By controlling the TPS5430 VSNS end,the size of the voltage source and current source output stabilization control.Voltage detecting part using the digital potentiometer voltage range control,current detection circuit with TI high precision instrumentation amplifier LM358 and INA210current sampling circuit.Two-way between analog switch to tealize steady flow and voltage stability.MSP430F149 achieve A/D conversion,1602LCD shows the voltage and current value.Implements the basic parts and play a part. Keyswords: stable voltage electric current TPS5430 digital potentiometer.
目錄 1 方案論證 1 1.1 穩定電源主回路拓撲 1 1.2 穩壓及穩流的控制方法及實現方案 1 1.3 提高效率的方法及實現方案 1 2 系統總體方案框圖設計 2 3電路設計與計算 2 3.1電路設計與計算 2 3.1.1主回路器件的參數計算 2 3.1.2 控制電路設計與參數計算 3 3.1.3 效率的分析與計算 4 3.1.4 保護電路設計與參數計算 4 3.1.5 數字設定及顯示電路的設計 4 3.2軟件設計 5 4 測試方案和測試結果 5 4.1 測試儀器 5 4.2 測試方法與測試數據及處理 6 4.3 誤差分析 7 5 結論與系統改進措施 7 6 參考文獻 8 附錄: 9
1 方案論證 1.1 穩定電源主回路拓撲 方案一:可調電壓芯片輸出可調電壓,控制電壓范圍。再用另一芯片輸出可調電流,控制電流范圍。 方案二:使用降壓芯片輸出穩定電壓,使用電位器分壓,控制電壓輸出為5V~10V,使用另一個電位器分壓,選用一電阻轉化為電流輸出,使用檢流芯片檢流,再經放大芯片放大后反饋。 綜合考慮,選用方案二。 1.2 穩壓及穩流的控制方法及實現方案 穩壓控制 方案一:LDO芯片和穩壓管聯合控制,使之輸出為5V,再使用電位器調節輸出電壓的范圍。 方案二:高效率的TPS5430芯片和肖特基二極管B340A聯合控制,使之輸出為5V,再使用電位器反饋回TPS5430的VSNS引腳調節輸出電壓的范圍。 綜合考慮,選用方案二。 穩流控制 方案一:直接串連一個電阻,從電阻的兩端取出電壓,進而轉化為電流。 方案二:電阻的電流經210檢流后,經過LM358放大,反饋回TPS5430的VSNS引腳經電位器調節輸出電流的范圍。 1.3 提高效率的方法及實現方案 方案一:選用普通型的降壓芯片.低壓線性穩壓器LDO,線性穩壓器的工作原理是通過消耗能量的方式來實現降壓,在線性穩壓器內部有一個功率耗散管,通過輸出的反饋電壓,內部參考電壓和誤差放大器產生一個控制電壓來控制功率管的導通程度,使得功率耗散管呈現出不同的阻抗來消耗不同的功率,從而得到穩定的輸出電壓。但是效率不是很高,無法滿足要求。 方案二:選用高效率的開關型的降壓芯片,TI公司的TPS5430DDA芯片,TSP5430是一種DCDC開關電源芯片,8個腳,工作溫度-40到125,底部帶散熱片,輸入電壓為5.5V-36V。能在5V輸出時提供3A的最大負載電流,最高效率95%左右。溫度范圍-40-125,系統過電流限制保護,過壓保護和熱關閉。只需外接電感、電壓反饋電阻、肖特基二極管 等。 根據效率要求,選用開關式降壓芯片,即方案二。 2 系統總體方案框圖設計 根據題目要求,系統總體方案如圖1所示。輸入信號經TPS5430輸出穩定電壓,經電位器反饋調節輸出穩定可調電壓,電壓轉換電流輸出可調穩定電流。 總體框圖如圖1所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61B5.tmp.png Ui
圖1 總體框圖 3電路設計與計算 3.1電路設計與計算 3.1.1主回路器件的參數計算 輸出5V的主回路電路圖如圖2所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61C6.tmp.png
圖2 5V輸出主回路電路圖 VSNS引腳電壓為最小為1.2V,通過R1和R2的選擇,使輸出電壓為5V,電流最大達3A。為后續的電壓和電流調節提供電壓。 3.1.2 控制電路設計與參數計算 控制電壓調節電路如圖3所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61D6.tmp.png
圖 3:電壓范圍調節電路 滑動變阻器W1阻值大小可以調節輸出電壓的大小,電壓要求要控制在5V~10V,設計為范圍5V~11V。 芯片要求VSNS腳所接電壓為1.22V。根據公式
R2/R1+W1+R2=1.22/11 (1) W+R2/R1+W1+R2=1.22/5 (2)
當滑動變阻器電阻從0變到最大時,輸出電壓從5V變化到11V.計算出R1的值為10k。 控制電流調節電路如圖4所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61D7.tmp.jpg
圖 4:電流范圍調節電路
滑動變阻器W2阻值大小可以調節輸出電流的大小,電流要求控制在150mA~1500mA。 利用電阻將電壓轉化為電流,經過210穩流和LM538放大后引回TPS5430的VSNS引腳反饋,使之輸出范圍控制在150mA~1500mA。電阻兩端只能測量電壓,利用歐姆定律 I=U/R (3) 計算出電流的大小。 3.1.3 效率的分析與計算 n=(Uo*Io)/(Uin*Iin) (4) 當所需的電壓或電源確定時,所需輸入越小,則效率越高。 3.1.4 保護電路設計與參數計算 根據芯片手冊得知TSP5430自帶保護電路,TSP5430正常工作所需電壓最低為1.2v,ENA管腳電壓值大于1.3V時,芯片正常工作。電壓低于0.5V時,ENA 置零,TSP5430停止工作。 3.1.5 數字設定及顯示電路的設計 顯示電路如圖5所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61D8.tmp.jpg 圖5:顯示電路
利用MSP430自帶的A/D轉換,采樣、換算輸出數字量。輸出輸入到1602中顯示。當電位器變化為0~10k時,穩壓的輸出范圍為5.00V~10.00V,穩流的輸出范圍為150mA~1500mA。 3.2軟件設計 軟件設計如圖6所示,將電壓經電阻分壓后,輸入單片機A/D部分,單片機初始化后,進行采樣處理,輸出數字信號,由液晶顯示。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61E9.tmp.png
圖6 程序流程圖
4 測試方案和測試結果
4.1 測試儀器 電壓源 電壓表 DS1052示波器
4.2 測試方法與測試數據及處理
穩壓電源測試結果如表(1)所示 表(1):穩壓電源測試結果 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d、負載調整率 Ui=15V 已調輸出空載Io=1A | | | | | | | | | | | | e、輸出噪聲紋波 Ui=15V Uo=5V Io=1.5A | | | | | | | | | | | | |
|
| f、整機效率 Ui=15V Uo=5V Io=1.5A | | | | | | | | | | | |
穩流電源測試結果如表(2)所示 表(2):穩流電源測試結果 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | e、輸出噪聲紋波 Ui=15V Uo=5V Io=1.5A | | | | | | | | | | | | f、整機效率 Ui=15V Uo=10V Io=1.5A | | | | | | | | | | | |
4.3 誤差分析 線路的連接,布線的方式,以及焊接的關系都影響了系統的精確性,使之與理論值存在差異。 5 結論與系統改進措施 結論: 穩壓電源 在輸入電壓UI=13~16V波動下,輸出電壓U0的可調范圍為5.156~10.160V。 最大輸出電流I0=1.503A。 電壓調整率≤0.5% 負載調整率≤1% 輸出噪聲紋波電壓≤100mV 整機效率≥70% 穩流電源 在輸入電壓UI=13~16V波動下,輸出電流的可調范圍為149mA~1498mA。 最大輸出電壓U0=10.160V。 電流調整率≤1% 負載調整率≤2% 輸出噪聲紋波電流≤30mA 整機效率≥70% 改進措施 : 若位數更高的A/D芯片能夠提高數字輸出的精確度。若能改進電流輸出方案,則輸出會更加穩定、精確。
6 參考文獻 【1】全國大學生電子設計設計競賽組委會. 全國大學生電子設計競賽訓練教程 [M].北京電子工業出版社, 2005年. 【2】全國大學生電子設計設計競賽組委會. 全國大學生電子設計競賽獲獎作品 匯編(第一屆~第五屆) [M]. 北京理工大學出版社, 2014年. 【3】童詩白等 模擬電子技術基礎 高等教育出版社 2012
附錄: 附錄1:系統原理圖
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps61FA.tmp.png
附錄2:器件清單 TPS5432DAA 一片 B340 一個 LM358 一個 電位器 兩個 INA210 一個 TS5A3159DBVR 一個 線圈電感 一個 電容、電阻、導線若干
附錄3:部分程序清單 ADC10 測量單通道單次模式 float ad_value; float temp_value; int main( void ) { WDTCTL=WDTPW+WDTHOLD; //關看門狗 BCSCTL1 =CALBC1_1MHZ; //設定DCO 為1MHZ DCOCTL =CALBC1_1MHZ; ADC10CTL1=INCH_10; //選擇第10 通道 ADC10CTL0=REFON+SREF_1; //打開1.5V 正參考,地為負參考 ADC10CTL0 |=ADC10ON+ADC10SHT_3+ADC10IE; //打開ADC10 內核,設定采樣保持時間為64 個ADC10CLK,使能ADC10 中斷 ADC10CTL0 |=ENC+ADC10SC; //啟動AD 轉換 _BIS_SR(GIE+CPUOFF); //開總中斷并進入低功耗 temp_value=((ad_value*1.5/1023)-0.986)/0.0035; //計算電壓/電流 return 0; } #pragma vector = ADC10_VECTOR //ADC10 中斷服務 __interrupt void adc_isr(void) { ad_value=ADC10MEM; //將AD 采樣值存入ad_value _BIC_SR_IRQ(CPUOFF); //退出低功耗0 }
定時器PWM 輸出程序 int main( void ) { WDTCTL=WDTPW+WDTHOLD; //關看門狗 BCSCTL1 =CALBC1_1MHZ; //設定DCO 為1MHZ DCOCTL =CALBC1_1MHZ;
TACTL=TASSEL1+TAR; //SMCLK 為時鐘源,清TAR CCR0=512; //設定PWM 周期 CCTL1 |=OUTMOD_7; //CCR1 輸出為reset/set 模式 CCR1=384; //CCR1 的PWM 占空比設定 CCTL2 |=OUTMOD_7; //CCR2 輸出為reset/set 模式 CCR2=128; //CCR2 的PWM 占空比設定 P1SEL |=BIT2+BIT3; //TA1,TA2 輸出功能 P1DIR |=BIT2+BIT3; TACTL |=MC0; //啟動定時器A 增計數模式 _BIS_SR(CPUOFF); return 0; }
定時器A 比較模式 int main( void ) { WDTCTL=WDTPW+WDTHOLD; //關看門狗 BCSCTL1 =CALBC1_1MHZ; //設定DCO 為1MHZ DCOCTL =CALBC1_1MHZ; P1DIR |=BIT0; //LED 使能 TACTL=TASSEL1+TACLR; //定時器A 時鐘源為SMCLK,并清TAR CCTL0 |=CCIE; //CCR0 中斷使能 CCR0 =50000; //計數值為50000 個SMCLK 周期 TACTL |=MC1; //啟動定時器A 為連續計數模式 _BIS_SR(GIE+CPUOFF); return 0; } #pragma vector = TIMERA0_VECTOR //ccr0 中斷服務 __interrupt void ta0_isr(void) { P1OUT ^=BIT0; //LED 翻轉 CCR0 +=50000; //定時補償 }
|