技術頻道

      VUSB技術在數控直流穩壓電源中的應用

        本文介紹了一種調節精度高,操作簡便的數控直流穩壓電源。采用AVR系列單片機Atmega8作為主控單元,通過不同的數字量輸入設置D/A轉換芯片MAX522的輸出電壓。DAC輸出電壓則經過μA741組成的兩級運放電路及射極輸出器ZTX453進行電壓電流放大。其中DAC輸入的5.12V參考電壓是由LM366集成穩壓器產生的。上位機通過基于AVR單片機特有的VUSB技術與下位機進行通訊,同時介紹了Windows平臺下USB設備驅動程序的實現。此電壓源實現了電壓值讀取與設置的可見與可控性,可作為部分測試設備的嵌入式電源模塊使用。

        數控直流穩壓電源是電子技術中常用的設備之一,目前所使用的大多是通過旋鈕開關調節電壓值,調節精度不高,而且經常出現跳變,使用起來極不方便。本數控直流穩壓電源通過上位機設置輸入到DAC的數字量,輸出步進可調的電壓。上位機與下位機通過軟件模擬的USB進行通信。傳統的單片機與計算機進行USB通信,需要使用專用的接口芯片進行USB 協議轉換,如CP2101、FT232、CH342、PDIUSBD12、SL811等。像CP2101、FT232這樣的芯片使用起來雖然簡單,但是功能比較單一;而PDIUSBD12、SL811功能較強,但是使用復雜。并且這些專用芯片的價格都相對較高,增加了系統的成本。而VUSB簡單易用,成本低廉,只需要一個普通的低成本AVR單片機以及很少的幾個外部元件,就可以組成一個USB系統。

        1 系統硬件設計

        系統組成框架如圖1所示,主要由8路串行輸入DACMAX522、穩壓輸出電路、VUSB接口電路、信號調理電路、單片機Atmega8及其他外圍元件組成,可以輸出0~12V的電壓,步進精度為0.1V,電流可達2A.同時可以通過上位機設置輸出的電壓值。

        圖1 數控直流穩壓源組成

        1.1 模數轉換。

        D/A 轉換主要是利用MAX522 芯片來實現的。

        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線串行接口,可直接與SPITM、QSPITM,MicrowireTM 兼容。它有一個16位輸入移位寄存器,包含8位DAC輸入數據和8位DAC選擇和關斷控制。在/CS的正邊沿數據能夠存入到DAC寄存器。

      模數轉換模塊電路如圖2所示。單片機的PB0端口接串行數據輸入口DIN、PB1接片選信號、PB2端口接時鐘信號SCLK.選擇DAC A作為輸出,輸出和參考電壓輸入端分別接上一個0.1μF的電容,提高電路輸出穩定性。芯片的VDD與參考電壓端均由5.12V穩壓電路提供。

        圖2 模數轉換及穩壓電路

        LM336集成電路是精密的5V穩壓器,其工作相當于一個低溫度系數的、動態電阻為0.2Ω的5V齊納二極管,其中微調端(G)可以使基準電壓和溫度系數得到微調。通過調節可調電阻調節LM336的輸出電壓為5.12V.所以MAX522輸出電壓的分辨率為5.12/256=0.02V,也就是說MAX522數字輸入量每增加1,電壓就增加0.02V.由于電源輸出電壓范圍為0~12V,步進精度為0.1V,則最大輸入數據為120(二進制值為11110000),此時MAX522輸出值為2.4V.即MAX522的輸出電壓在0~2.4V變化。

        1.2 電壓電流放大

        由于MAX522輸出的電壓范圍為0~2.4V,而要求的電壓輸出范圍為0~12V,所以需要將MAX522輸出放大5倍。同時,為了提高電源的驅動能力,在放大電路后面加入了一個射極輸出器。

        電壓電流放大電路如圖3所示。主要包括2個μA741高增益運算放大器組成的放大部分及三極管ZTX453組成的射極輸出部分。第一級μA741AN 為負反饋緩沖電路,用以減小輸出電阻并使放大頻率頻寬增大。第二級μA741ANA構成電壓正向比例放大電路。放大后的電壓信號接入射極輸出器ZTX453,放大輸出信號的電流。注意,此部分電路發熱量比較大,需要再擴接散熱片進行散熱。

        圖3 電壓電流放大電路。

        1.3 VUSB接口

        VUSB是用普通的通用AVR單片機,配以較高頻率的晶振(12MHz或16MHz),模擬產生USB所需信號,從而模擬出標準的USB HID設備(鼠標、鍵盤、簡單通信)的解決方案,構成一個低成本的USB設備。USB共有4根線,2根5V電源,兩根差分信號線D+、D-.由于是低速設備,D-必須要有1.5kΩ的上拉電阻。

        VUSB接口電路如圖4所示,單片機的PD1和PD2通過68Ω的限流電阻分別接入標準USB接口的D-、D+.

        需要注意的是D+必須接上單片機的外部中斷0管腳,在此為了簡化連接直接將PD2(INT0)接入作為其中的一根信號線使用。由于USB信號線的電壓最大為3.6V,所以在D-和D+上分別并接了一個3.6V的穩壓二極管。

        圖4 VUSB接口電路。

        2 系統軟件設計

        軟件設計包括下位機和上位機2部分。下位機主要負責接收上位機的設置電壓值,并經過轉換后輸入到MAX522,從而輸出設置電壓。上位機則通過VUSB與下位機連接,并通過模擬的USB協議向下位機寫入數據。

        2.1 下位機軟件

        下位機軟件流程圖如圖5所示。其中設備初始化包括單片機端口初始化、DAC初始化及VUSB端口初始化。在初始化之后,程序進入主循環,在其中加入了USB輪詢函數usbPoll(),用來偵測USB事件。一旦偵測到上位機有USB通信請求時,usbdrv就會調用usbFunctionSetup()函數來處理請求。在此請求函數中接收上位機傳來的數據并將此數據轉換后寫入MAX522數據端口,啟動DAC輸出電壓。

        圖5 下位機軟件流程。

        設計中需注意以下幾點:

        1)單片機方面的VUSB 底層驅動函數使用AVRUSB,最新版本的AVR-USB為C語言編寫并有詳細的注釋。開發平臺為WinAVR.GCC項目文件夾中需包含驅動文件(usbdrv文件夾),并對usbconfig.h中的部分宏定義做一些修改。

        #define USB_CFG_IOPORTNAME D//這個接口連接USB總線。當配置為"D"時,寄存器PORTD,PIND and DDRD將有效。

        #define USB_CFG_DMINUS_BIT 1//位配置,是在USB_CFG_IOPORT 中連接USB D-的線。可以配置為接口的任何位。

        #define USB_CFG_DPLUS_BIT 2//位配置,是在USB_CFG_IOPORT 中連接USB D+的線。也可以連接到任意口,但是注意D+一定要連接都中斷口INT0

        2)單片機在接收到讀取數據命令時會自動調用usbFunctionSetup(uchar data[8]),在函數內把全局指針*usbMsgPtr指向所要發送的數據首地址,然后返回(函數返回值)所發送數據的長度就可以了。由于采用的是命令包方式傳輸數據,每次只能接收4個字節的有效數據,存儲在data[2]~data[4]中。

        3)初始化時需要將MAX522的輸出置為關閉狀態。

        寫入MAX522時首先寫入8位控制字,然后寫入8位DAC數據。

        2.2 上位機軟件

        上位機用C# 語言進行編寫,驅動采用一款名為LibUsbDotNet的開源USB上位機驅動庫文件。此驅動庫文件還提供了供。NET平臺調用的USB接口函數。使用時需包含相應的動態鏈接庫文件。

        上位機軟件主要包括顯示設備連接狀態、寫入電壓值及讀取當前電壓值等功能。上位機軟件流程圖如圖6所示。

        圖6 上位機軟件流程。

        只有在總線請求為用戶自定義類型(Vendor)時單片機才會調用usbFunctionSetup(uchar data[8])這個函數,所以傳輸數據是通過發送用戶自定義類型的Setup數據包來實現的。讀數據時設置此數據包為IN,同時寫入需要讀取的字節數。寫入數據時設置數據包為OUT,4字節的有效數據則包含在所建立的8字節Setup數據包的data[2]~data[4]之中。

        3 實驗驗證與分析

        本數控直流穩壓電源在使用之前需進行校零。在初始狀態下,調節集成運放μA741的外接調零電阻使集成運放輸出為0,調節射極輸出器偏置電阻R13使輸出電壓為0.

        在輸出最大的情況下,調節輸出集成運放的比例放大電阻R14,使得輸出電壓為12V.

        校零之后將上位機設置電壓值與實際輸出電壓進行對比實驗,實驗數據如表1所示。

        表1 電壓輸出對比實驗結果

        所設計電壓源實際輸出值與設定值偏差較小,能夠滿足0~12V連續可調輸出,步進值為0.1V的使用要求。

        4 結 論

        設計了一種以單片機為主,基于VUSB技術進行數據傳輸控制的數控直流穩壓電源。輸出電壓值由單片機控制,步進調節方便,輸出穩定。既可以作為單獨的電源使用,也可以嵌入到其他需要步進電壓模塊的測試系統之中。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 日韩精品无码一区二区三区AV| 精品国产免费观看一区| 国产乱码精品一区二区三区中文| 无码毛片一区二区三区视频免费播放| 国产精品无码一区二区在线观| 在线欧美精品一区二区三区| 精品一区二区无码AV| 日韩精品无码Av一区二区| 精品一区二区三区东京热| 国产精品免费视频一区| 日韩精品视频一区二区三区| 亚洲午夜日韩高清一区| 亚洲sm另类一区二区三区 | 欲色aV无码一区二区人妻| 欧美日韩一区二区成人午夜电影| 精品国产一区二区三区www| 一区二区三区视频观看| 日韩精品一区二区三区在线观看l| 一区二区三区四区视频在线| 中文字幕精品一区二区2021年 | 亚洲色欲一区二区三区在线观看| 精品无人区一区二区三区| 亚洲av片一区二区三区| 伊人久久精品无码麻豆一区| 亚洲一区二区三区在线观看精品中文 | 在线精品一区二区三区电影| 国产成人一区二区三区在线| 无码视频一区二区三区| 一区二区免费视频| 一本大道东京热无码一区| 日韩一区二区免费视频| 国产福利无码一区在线| 日本视频一区在线观看免费| 91久久精品无码一区二区毛片| 久久99精品免费一区二区| 中文字幕AV一区中文字幕天堂 | 精品欧洲av无码一区二区三区| 99久久精品费精品国产一区二区| 日韩精品一区二区三区不卡| 国产精品一区二区香蕉| 男人的天堂精品国产一区|