基于VUSB技術(shù)的數控直流穩壓電源的設計
0 引 言
本文引用地址:http://dyxdggzs.com/article/176107.htm數控直流穩壓電源是電子技術(shù)中常用的設備之一,目前所使用的大多是通過(guò)旋鈕開(kāi)關(guān)調節電壓值,調節精度不高,而且經(jīng)常出現跳變,使用起來(lái)極不方便。本數控直流穩壓電源通過(guò)上位機設置輸入到DAC的數字量,輸出步進(jìn)可調的電壓。上位機與下位機通過(guò)軟件模擬的USB進(jìn)行通信。傳統的單片機與計算機進(jìn)行USB通信,需要使用專(zhuān)用的接口芯片進(jìn)行USB 協(xié)議轉換,如CP2101、FT232、CH342、PDIUSBD12、SL811等。像CP2101、FT232這樣的芯片使用起來(lái)雖然簡(jiǎn)單,但是功能比較單一;而PDIUSBD12、SL811功能較強,但是使用復雜。并且這些專(zhuān)用芯片的價(jià)格都相對較高,增加了系統的成本。而VUSB簡(jiǎn)單易用,成本低廉,只需要一個(gè)普通的低成本AVR單片機以及很少的幾個(gè)外部元件,就可以組成一個(gè)USB系統。
1 系統硬件設計
系統組成框架如圖1所示,主要由8路串行輸入DACMAX522、穩壓輸出電路、VUSB接口電路、信號調理電路、單片機Atmega8及其他外圍元件組成,可以輸出0~12V的電壓,步進(jìn)精度為0.1V,電流可達2A.同時(shí)可以通過(guò)上位機設置輸出的電壓值。

1.1 模數轉換
D/A 轉換主要是利用MAX522 芯片來(lái)實(shí)現的。
MAX522芯片內有2路8位電壓緩沖輸出D/A 轉換器(DAC A和DAC B),8腳節省封裝和DIP封裝,DAC A端緩沖器工作電流可達5mA,DAC B端緩沖器工作電流可達500μA,MAX522工作在單向電壓+2.7V~+5.5V.
MAX522具有3線(xiàn)串行接口,可直接與SPITM、QSPITM,MicrowireTM 兼容。它有一個(gè)16位輸入移位寄存器,包含8位DAC輸入數據和8位DAC選擇和關(guān)斷控制。在/CS的正邊沿數據能夠存入到DAC寄存器。
模數轉換模塊電路如圖2所示。單片機的PB0端口接串行數據輸入口DIN、PB1接片選信號、PB2端口接時(shí)鐘信號SCLK.選擇DAC A作為輸出,輸出和參考電壓輸入端分別接上一個(gè)0.1μF的電容,提高電路輸出穩定性。芯片的VDD與參考電壓端均由5.12V穩壓電路提供。

圖2 模數轉換及穩壓電路
LM336集成電路是精密的5V穩壓器,其工作相當于一個(gè)低溫度系數的、動(dòng)態(tài)電阻為0.2Ω的5V齊納二極管,其中微調端(G)可以使基準電壓和溫度系數得到微調。通過(guò)調節可調電阻調節LM336的輸出電壓為5.12V.所以MAX522輸出電壓的分辨率為5.12/256=0.02V,也就是說(shuō)MAX522數字輸入量每增加1,電壓就增加0.02V.由于電源輸出電壓范圍為0~12V,步進(jìn)精度為0.1V,則最大輸入數據為120(二進(jìn)制值為11110000),此時(shí)MAX522輸出值為2.4V.即MAX522的輸出電壓在0~2.4V變化。
1.2 電壓電流放大
由于MAX522輸出的電壓范圍為0~2.4V,而要求的電壓輸出范圍為0~12V,所以需要將MAX522輸出放大5倍。同時(shí),為了提高電源的驅動(dòng)能力,在放大電路后面加入了一個(gè)射極輸出器。
電壓電流放大電路如圖3所示。主要包括2個(gè)μA741高增益運算放大器組成的放大部分及三極管ZTX453組成的射極輸出部分。第一級μA741AN 為負反饋緩沖電路,用以減小輸出電阻并使放大頻率頻寬增大。第二級μA741ANA構成電壓正向比例放大電路。放大后的電壓信號接入射極輸出器ZTX453,放大輸出信號的電流。注意,此部分電路發(fā)熱量比較大,需要再擴接散熱片進(jìn)行散熱。

圖3 電壓電流放大電路。
1.3 VUSB接口
VUSB是用普通的通用AVR單片機,配以較高頻率的晶振(12MHz或16MHz),模擬產(chǎn)生USB所需信號,從而模擬出標準的USB HID設備(鼠標、鍵盤(pán)、簡(jiǎn)單通信)的解決方案,構成一個(gè)低成本的USB設備。USB共有4根線(xiàn),2根5V電源,兩根差分信號線(xiàn)D+、D-.由于是低速設備,D-必須要有1.5kΩ的上拉電阻。
VUSB接口電路如圖4所示,單片機的PD1和PD2通過(guò)68Ω的限流電阻分別接入標準USB接口的D-、D+.
需要注意的是D+必須接上單片機的外部中斷0管腳,在此為了簡(jiǎn)化連接直接將PD2(INT0)接入作為其中的一根信號線(xiàn)使用。由于USB信號線(xiàn)的電壓最大為3.6V,所以在D-和D+上分別并接了一個(gè)3.6V的穩壓二極管。

圖4 VUSB接口電路。
2 系統軟件設計
軟件設計包括下位機和上位機2部分。下位機主要負責接收上位機的設置電壓值,并經(jīng)過(guò)轉換后輸入到MAX522,從而輸出設置電壓。上位機則通過(guò)VUSB與下位機連接,并通過(guò)模擬的USB協(xié)議向下位機寫(xiě)入數據。
2.1 下位機軟件
下位機軟件流程圖如圖5所示。其中設備初始化包括單片機端口初始化、DAC初始化及VUSB端口初始化。在初始化之后,程序進(jìn)入主循環(huán),在其中加入了USB輪詢(xún)函數usbPoll(),用來(lái)偵測USB事件。一旦偵測到上位機有USB通信請求時(shí),usbdrv就會(huì )調用usbFunctionSetup()函數來(lái)處理請求。在此請求函數中接收上位機傳來(lái)的數據并將此數據轉換后寫(xiě)入MAX522數據端口,啟動(dòng)DAC輸出電壓。

圖5 下位機軟件流程。
設計中需注意以下幾點(diǎn):
1)單片機方面的VUSB 底層驅動(dòng)函數使用AVRUSB,最新版本的AVR-USB為C語(yǔ)言編寫(xiě)并有詳細的注釋。開(kāi)發(fā)平臺為WinAVR.GCC項目文件夾中需包含驅動(dòng)文件(usbdrv文件夾),并對usbconfig.h中的部分宏定義做一些修改。
上拉電阻相關(guān)文章:上拉電阻原理
評論