馮 喜,梁觀勝,何志輝,楊 杰
(1.珠海立飛技術服務有限公司,廣東珠海,519000;2.廣東省珠海市質量計量監督檢測所,廣東珠海,519000;3.重慶出入境檢驗檢疫局檢驗檢疫技術中心,重慶,400020)
基于ATmega16單片機的數控穩壓電源設計
馮 喜1,梁觀勝2,何志輝2,楊 杰3
(1.珠海立飛技術服務有限公司,廣東珠海,519000;2.廣東省珠海市質量計量監督檢測所,廣東珠海,519000;3.重慶出入境檢驗檢疫局檢驗檢疫技術中心,重慶,400020)
設計一款基于ATmega16單片機的精密數控穩壓電源,該單片機內置PWM方波發生器,內置10BIT高精度蘭A/D轉換器,采用LM317作功率調整器件,高速運放TL084作反饋控制單元,實現電壓0-20V連續可調,調整精度±0.01V,最大允許電流2A,分辨率0.01A,輸出紋波電壓低于100mV,具有恒流輸出功能。
數控穩壓電源;功率器件LM317;高速運放TL084
目前,電子技術的高速發展,對電源的輸出電壓穩定性,紋波提出更高要求,傳統電位器控制的串聯穩壓電源由于輸出電壓不穩,功耗大,已經不能使足使用需要,設計一款具于ATmega16單片機的數控穩壓電源具有重要意義。
系統工作原理如圖1所示。市電經電源變壓器降壓、橋式整流、濾波穩壓后,給控制系統提供電源。ATmega16單片機作為系統的控制中心,ATmega16單片機通過按鍵讀取預置電壓值,經程序運算后輸出相應寬度PWM方波,經過二階濾波電路處理后送到高速運放TL084放大至足夠幅度,控制LM317功率電路,得到預置的電壓值。

圖1 系統工作原理框圖

圖3 電壓控制調整電路
電源啟動輸出后,電壓采樣電路取得電源的實時輸出電壓,通過單片機PA3端口送到A/D轉換電路獲得實際電壓值,實際電壓值與預置電壓比較后,調整PWM的占空比,從而實現恒壓輸出。電流檢測電路取得電源的實時輸出電流值,通過電流/電壓變換電路轉換成電壓值,送到以高速運放TL084為核心的誤差放大電路,處理后電流信號送到單片機的A/D采樣輸入端,經程序運算后獲得實時電流,實現恒流輸出功能,若輸出電流大于預置最大電流,發出報警信號同時關閉電源輸出。
該數控電源硬件部分主要由6部分構成:系統電源電路、5110液晶屏顯示模塊、鍵盤輸入模塊、蜂鳴器報警模塊、電壓調整模塊及ATmega16控制模塊。控制程序主要由7部分構成:PWM脈寬;A/D轉換;液晶顯示;鍵盤;警告單元;電壓調整控制;看門狗。
電壓調整電路核心為可調式三端穩壓器LM317。LM317的三個引出端中,電壓調整端作為基準電壓電路的公共端,通過控制該端的電壓值可以控制LM317的輸出電壓。基準電壓的典型值為1.25V。典型線性調整率為0.01%,負載調整率為0.1%,80dB的紋波抑制比。典型應用電路如圖2。當穩壓器離電源濾波器有一定距離時Cin是必需的;C0對穩定性而言不必要,但改進瞬態響應。在此典型電路中:

式中:IAdj分量小于100uA,這一項的誤差可以忽略。

圖2 LM317典型應用電路
控制輸出電壓,基于三端穩壓管LM317的特性,只需要將LM317典型電路中R2電位器替換即可。本設計中,LM317的調節端由ATmega16輸出PWM信號經二階濾波后送到運算放大器U1B進一步放大,驅動LM317,見圖3。電路中輸出端與輸入端間接入220Ω電阻,使得當控制端輸入控制電壓為-1.25V~18.75V時,便可實現輸出0V~20V;
二階濾波電路由電阻R10、R11、電容C32、C33組成,電阻電容的選擇是由公式確定:


濾波得到的PWM平均電壓則為理想電壓。在這里將PWM的占空比0-100%與單片機的輸出0-5V實現線性對應關系,即當PWM占空比為50%時對應單片機的2.5V,再由運算放大電路進行放大。這個放大了的控制電壓信號輸入到LM317的參考電壓腳,實現輸出電壓的控制。這樣便可以很方便的由程序控制調整PWM占空比的方式實現對輸出電壓的控制。
控制電壓放大電路:該電路由電阻R1、R2、R3、R4電容C1及運算放大器U1B組成,電路的主要功能是將控制電壓值放大到-1.25V-18.75V,原理圖如圖4所示。

式中:Ui1為輸入電壓,Uo1為輸出電壓

圖4 控制電壓放大電路

圖6 顯示模塊電路圖

圖5 電流采樣電路
電流采樣電路:電路的主要功能是當有負載時,通過功率電阻串聯到負載電路中,將電流信號變換成電壓信號,送入ATmega16,再經程序運算測得負載電流值,其原理圖如圖5。可以計算得Ui2與Uo2間的關系為:

式中:Ui2為輸入電壓,Uo2為輸出電壓
顯示模塊:5110 LCD顯示器通過SPI接口與MCU連接,自帶背光,減少了外圍電路,僅需7根線與MCU連接,即電源和地線,兩根數據傳輸線(SDI和SDO)、一根設備使能信號線(CE)和一根時鐘信號線(SCLK)。一根復位線(REST),其電路如圖6所示。
系統主程序的功能是完成系統的初始化、輸出電壓和電流信號采集及處理、顯示、按鍵掃描判斷。根據系統工作特點,程序采用結構化的軟件設計方法。按鍵判斷子程序是先判斷是否有按鍵按下,再進行按鍵掃描,這樣可以節省系統資源,同時也降低系統的功耗。其程序流程圖如圖7所示。

圖7 按鍵判斷子程序流程圖

圖8 顯示模塊程序流程圖
顯示模塊程序是通過使用ATmega16的SPI的通信功能對顯示模塊進行控制。只有設備使能線使能時,顯示器被選中下才能工作。時鐘信號線SCLK由單片機提供,SDI、SDO則基于此脈沖完成數據傳輸。數據輸出通過SDO線,數據在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數據傳輸。這樣,在至少8次時鐘信號的改變后,就可以完成8位數據的傳輸。
寫數據函數設置了兩個unsigned char 的中間變量,變量“dat”為寫入LCD5110的數據,變量 “command”為數據、指令選擇標志判斷位。ATmega16控制PB3輸出低電平選中該顯示模塊LCD5110,判斷即將寫入的類型后,將二進制8位的數據寄存到寄存器SPDR中,數據傳送結束后,PB3輸出高電平。當SPI中斷使能位SPIE置位,就會產生中斷請求,通過IO口PB5需要寫入的數據或指令將被傳送給LCD5110,實現對顯示的控制。流程圖如圖8所示。
A/D轉換原理電壓和電流的檢測都是首先通過外圍電路的轉換取得一個低于5V的信號,電壓檢測端通過電阻分壓獲得;電流檢測端通過并聯功率電阻,再由放大器放大待測電壓信號。電壓檢測選用ADC3通道,電流檢測選用ADC4通道,因為本設計使用的單片機不能同時進行AD轉換,需要先后開啟通道ADC3和ADC4分別將待測信號送入ATmega16,經過片內10位的逐次逼近型A/D轉換器計算,A/D 轉化輸出結果如公式:

式中:Vin為被選中引腳的輸入電壓值,Vref1為A/D 轉換電路的參考電壓值。
PWM產生原理:利用ATmega16單片機內置的PWM方波產生功能。設計選擇PD6管腳的第二功能OC1B。選用10位快速PWM模式,輸出口的匹配模式為匹配時清零,TOP時置一。計時器最大值由ICR1設定,本設計其值大小為399;通過設置寄存器OC1B中的匹配值(其值的確定由按鍵輸入)來控制輸出PWM的占空比,0-399對應輸出0-5000mV,再由運算放大器放大控制輸出電壓。下面給出計算公式:

本文設計了一款基于ATmega16單片機的精密數控穩壓電源,詳細分析電源的硬件工作原理,軟件的工作流程,設計中充分利用ATmega16單片機資源,具有外圍電路簡單,性能穩定,成本低等特點,具有一定的推廣意義。
[1]劉凱.基于Atmega16的數控步進電源的設計[J].電源技術應用,2012,06:37-40.
[2]閻石.模擬電子技術基礎[M].北京:高等教育出版社, 2009.
[3]胡大可.基于單片機8051的嵌入式開發指南:電子工業出版社,2001.
丁化成. AVR單片機應用設計[M].北京:北京航空航天大學出版社, 2002:24-31.
Design of digital controlled voltage power supply based on ATmega16 MCU
Feng Xi1,Liang Guansheng2,He Zhihui2,Yang Jie3
(1.Zhuhai Li Fei Technology Service Co., Ltd.,519000,Zhuhai Guandong;2.Guangdong Zhuhai Supervision Testing Institute Of Quality And Metrology,519000,Zhuhai Guandong;3.Chongqing Entry-Exit Inspection & Quarantine Bureau of the People's Republic of China,400020,Chongqing)
Based on ATmega16 MCU design a precision power supply,the built-in MCU PWM generator,the builtin high-precision blue 10BIT A/D converter using LM317 as a power adjustment device, high-speed op amp TL084 for feedback control unit to achieve voltage 0-20V continuously adjustable, adjust accuracy ± 0.01V, Maximum current 2A,resolution 0.01A, output ripple of less than 100mV, a constant current output.
Power supply;LM317;TL084