亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARDUINO與MATLAB的簡(jiǎn)易示波器研制

        2015-02-11 03:05:30陸強(qiáng)顏加仁林定能沈歡勝
        科技資訊 2014年29期
        關(guān)鍵詞:跨步電壓

        陸強(qiáng)++顏加仁++林定能++沈歡勝

        摘 要:利用Arduino標(biāo)準(zhǔn)化單片機(jī)集成模塊和Matlab軟件,從硬件和軟件兩方面論述了一種簡(jiǎn)易示波器的設(shè)計(jì)思路,該示波器可以測(cè)量直流和交流電壓波形。Arduino將數(shù)據(jù)采集后,通過串口傳輸?shù)絇C機(jī),利用PC機(jī)的Matlab程序,將數(shù)據(jù)進(jìn)行圖形化顯示,從而構(gòu)成示波器。

        關(guān)鍵詞:Arduino Matlab 跨步電壓 電壓檢測(cè)

        中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)10(b)-0009-02

        Arduino是一塊基于開放源代碼的SimpleI/O平臺(tái),該平臺(tái)由硬件和軟件兩部分組成,這兩部分都是開源的。在硬件上,Arduino提供了6個(gè)模擬量輸入端,相對(duì)誤差為0.1%左右[1],可以滿足一般的測(cè)量精度要求。開發(fā)語言類似java、C語言,具有開發(fā)環(huán)境簡(jiǎn)單、易理理解的特點(diǎn)[2]。

        Arduino把單片機(jī)編程中很多常用的功能,如延時(shí)、數(shù)據(jù)讀寫、中斷等模塊化封裝成一個(gè)個(gè)子程序供程序開發(fā)者調(diào)用,程序開發(fā)者只需著眼于程序的邏輯結(jié)構(gòu),而不必關(guān)心底層函數(shù)的具體設(shè)計(jì),從而大大降低了程編程的復(fù)雜程度[3]。

        Matlab是由美國(guó)MATHw0RKs公司開發(fā)的面向研究和工程設(shè)計(jì)處理的一套具有強(qiáng)大功能的軟件系統(tǒng)。Matlab集數(shù)學(xué)計(jì)算結(jié)果可視化和編程于一體,能夠方便地進(jìn)行科學(xué)計(jì)算和大量工程運(yùn)算[4]。

        該文提出了一種基于Arduino標(biāo)準(zhǔn)化單片機(jī)集成模塊和Matlab數(shù)據(jù)處理的簡(jiǎn)易示波器設(shè)計(jì)方法,可以用于測(cè)量常見的電壓波形,成本低廉,使用方便。

        1 系統(tǒng)結(jié)構(gòu)

        簡(jiǎn)易示波器從系統(tǒng)結(jié)構(gòu)上分為前部數(shù)據(jù)采集端和PC機(jī)波形顯示器兩部分構(gòu)成,兩者用串口實(shí)現(xiàn)數(shù)據(jù)交換。

        前部數(shù)據(jù)采集端通過分壓電路將電壓降低到合適的數(shù)值以供Arduino測(cè)量;由于Arduino只能測(cè)量5V以內(nèi)的直流電壓,對(duì)于交流電壓,要加一級(jí)極性轉(zhuǎn)換電路,將雙極性電壓轉(zhuǎn)換為單極性電壓。完成AD轉(zhuǎn)換后,Arduino將數(shù)據(jù)通過串口傳到PC機(jī),PC機(jī)利用Matlab的強(qiáng)大分析處理能力,對(duì)收到的數(shù)據(jù)進(jìn)行分析、處理和圖形顯示。系統(tǒng)的結(jié)構(gòu)如圖1所示。

        2 硬件設(shè)計(jì)

        該文設(shè)計(jì)的示波器主要用于測(cè)量和顯示常規(guī)直流電壓和交流電壓,測(cè)量的最大電壓為50 V,并設(shè)置一個(gè)壓敏電阻來保護(hù)電路,以免電壓過高時(shí)損壞裝置。對(duì)于電流電壓,由于Arduino所用的Atmel Atmega328單片機(jī)AD轉(zhuǎn)換速率為13~260 μs,所測(cè)量的電流電壓頻率一般不應(yīng)高于2 kHz。

        2.1 降壓電路設(shè)計(jì)

        降壓電路采用線性電阻進(jìn)行分壓,并串聯(lián)一個(gè)可調(diào)電阻以便微調(diào)。降壓后通過電壓跟隨器,使得輸入、輸出信號(hào)的幅值保持不變,且輸入阻抗高,輸出阻抗低,起到了現(xiàn)場(chǎng)信號(hào)與系統(tǒng)的隔離、互不干擾的作用。電路原理如圖2所示。

        2.2 極性轉(zhuǎn)換電路設(shè)計(jì)

        在模擬量的測(cè)量中最常見的莫過于交流電壓及交流電流的測(cè)量,而單片機(jī)內(nèi)的AD轉(zhuǎn)換器通常是用來測(cè)量直流或脈動(dòng)直流的,因輸入腳不允許輸入負(fù)電平。需要增加一些外圍電路方能實(shí)現(xiàn)對(duì)交流電的測(cè)量[5]。

        這些外圍電路就是極性轉(zhuǎn)換電路,如圖3所示。

        本電路采用了電壓基準(zhǔn)芯片AMS1117

        -2.5產(chǎn)生一個(gè)幅值為2.5 V的基準(zhǔn)電壓Vout,通過電阻R4加到運(yùn)算放大器的“+”輸入端。

        由圖3可知:

        其中=2.5V。取R1=R4=2.4K,R2=R3=1.2 K,則有=+1.25,即輸入信號(hào)正向平移了1.25 V。

        2.3 模塊電路連接

        降壓模塊和極性轉(zhuǎn)換模塊可以用萬能板焊接,Arduino模塊采用標(biāo)準(zhǔn)的成品,各模塊的電路連接比較簡(jiǎn)單,降壓電路的端外接需要測(cè)試的信號(hào)源,降壓電路的與極性轉(zhuǎn)換電路輸入端相連,極性轉(zhuǎn)換電路的輸出端與Arduino模塊的模擬輸入口A0相連,Arduino模塊的USB口與PC機(jī)的USB口相連,如圖4所示。

        3 軟件設(shè)計(jì)

        軟件設(shè)計(jì)的思路是,Arduino通過模擬輸入口A0采集交直流電壓量,并通過內(nèi)置的USB轉(zhuǎn)串口芯片,將采集后的數(shù)據(jù)通過串口傳輸?shù)絇C機(jī),PC機(jī)進(jìn)行簡(jiǎn)單數(shù)據(jù)處理后,調(diào)用畫圖工具顯示波形。

        3.1 數(shù)據(jù)采集程序

        數(shù)據(jù)采集直接調(diào)用模擬量讀取函數(shù)analogRead,如下所示。

        Vinput=analogRead(0);//讀取電壓量,數(shù)值從0到1023。

        為了提高抗干擾性,得到更加穩(wěn)定的讀數(shù),可以多次讀取數(shù)據(jù)并計(jì)算平均值。

        3.2 串口通信程序

        Matlab 6.X或之后的版本提供了對(duì)串口對(duì)象的支持,可以很方便地訪問外設(shè),通過建立串口對(duì)象,能實(shí)現(xiàn)數(shù)據(jù)的讀寫、存儲(chǔ)、事件回調(diào)等功能。

        Matlab儀器控制工具箱可實(shí)現(xiàn)硬件端口的采集。其采集原理是:先建立虛擬設(shè)備對(duì)象,再設(shè)置設(shè)備對(duì)象的屬性,最后通過設(shè)備對(duì)象實(shí)現(xiàn)對(duì)硬件的操作[6]。

        (1)Arduino端的數(shù)據(jù)上傳。

        在void setup()函數(shù)里設(shè)置波特率,如Serial.begin (9600),即將串口比特率設(shè)置為9600。并利用Serial.read()讀取特定的數(shù)據(jù)作為握手信號(hào),待兩端握手正確后再進(jìn)行數(shù)據(jù)傳輸。

        握手成功后,在void loop()函數(shù)中利用函數(shù)Serial.println(Voutput)不斷地將轉(zhuǎn)換好的數(shù)據(jù)發(fā)送到PC機(jī)。

        (2)PC機(jī)端的數(shù)據(jù)接收

        Matlab可以用查詢和中斷兩種方式接收數(shù)據(jù),這兩種方式各具特點(diǎn),這里選用查詢方式,將接收到的數(shù)據(jù)匯總到一個(gè)標(biāo)準(zhǔn)數(shù)組dataOut中,填滿后立即繪圖,然后清0并重新填入數(shù)據(jù),周而復(fù)始。PC機(jī)端的數(shù)據(jù)傳輸有以下幾個(gè)步驟。endprint

        ①用g=serial('COMx')創(chuàng)建設(shè)備對(duì)象。

        ②用set()設(shè)置設(shè)備對(duì)象屬性,如波特率、終止符、輸入和輸出緩沖區(qū)大小等。

        ③用fopen()實(shí)現(xiàn)設(shè)備對(duì)象與硬件設(shè)備連接。

        ④用fread()、fwrite()等實(shí)現(xiàn)硬件設(shè)備數(shù)據(jù)的讀寫。

        ⑤用fclose()和delete()、clear()關(guān)閉和刪除設(shè)備對(duì)象。

        3.3 波形顯示程序

        利用PC機(jī)的Matlab強(qiáng)大的數(shù)據(jù)處理和圖形顯示功能進(jìn)行波形顯示,在標(biāo)準(zhǔn)數(shù)組dataOut填滿后,調(diào)用plot函數(shù)來完成數(shù)據(jù)的可視化處理,如下所示。

        plot(x,dataOut);

        x是時(shí)間標(biāo)量,與dataOut數(shù)組的采集時(shí)刻對(duì)應(yīng),可以根據(jù)數(shù)據(jù)采集的間隔,在PC端用linspace()函數(shù)生產(chǎn)。這里要注意的是,由于在輸入時(shí)人為添加了1.25 V的直流偏置,并在AD轉(zhuǎn)換時(shí)將其放大了1023/5倍,因此在調(diào)用plot函數(shù)前應(yīng)將接收到的數(shù)據(jù)減去1.25 V直流偏置的影響,并借助于標(biāo)準(zhǔn)數(shù)字萬用表,算出電壓輸入量和輸出量之間的系數(shù),對(duì)輸出進(jìn)行倍率校準(zhǔn)。

        圖5是利用該示波器顯示的RC電路放電的波形,前面波動(dòng)處是開關(guān)合閘時(shí)的干擾電平。

        由圖5可見,電容充滿電后為5 V,并從50 s開始放電(在50s時(shí)斷開電源開關(guān)),經(jīng)過約170 s后電壓變?yōu)? V,由,求得て=105 s。

        本電路用的電阻為R=1M,電容C=100 mf,理論上て=RC=100 s。

        可見實(shí)際值與理論值仍有一定的差距,這個(gè)差距主要是Arduino采集數(shù)據(jù)時(shí),設(shè)定每隔5 ms進(jìn)行一次AD轉(zhuǎn)換(使用函數(shù)delay(5)進(jìn)行5 ms延時(shí)),但是這個(gè)延時(shí)并沒有考慮AD轉(zhuǎn)換的時(shí)間,數(shù)據(jù)上傳的時(shí)間,以及Arduino執(zhí)行其他指令所用的時(shí)間,從而導(dǎo)致總的時(shí)間有些許誤差。

        4 結(jié)語

        該文利用Arduino標(biāo)準(zhǔn)化單片機(jī)集成模塊和Matlab數(shù)據(jù)處理軟件,設(shè)計(jì)了一個(gè)簡(jiǎn)易示波器,可以用于測(cè)量常見的交流和直流電壓波形。在實(shí)際使用過程中,雖然該裝置在時(shí)間量度方面仍有一些誤差,但是能夠真實(shí)反映波形情況,而且成本低廉,使用方便。

        如果對(duì)時(shí)間標(biāo)量的精度要求嚴(yán)格,可以在arduino采集數(shù)據(jù)時(shí),同時(shí)記錄當(dāng)時(shí)的時(shí)標(biāo),并通過串口與所采集的數(shù)據(jù)一起上傳給PC,但是會(huì)大大增加傳輸?shù)臄?shù)據(jù)量。還可以采取一個(gè)折中的方法,每采集一定個(gè)數(shù)的數(shù)量時(shí)記錄并傳輸一個(gè)時(shí)標(biāo),比如100個(gè)或1000個(gè)。

        另外,由于Matlab具有強(qiáng)大的數(shù)據(jù)處理能力,讀者還可以加入數(shù)據(jù)濾波處理、保存、截波、數(shù)據(jù)分析等功能,同時(shí)采用Matlab的GUI可視化設(shè)計(jì)界面,可以設(shè)計(jì)出一套更加友好的界面,實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理和系統(tǒng)的控制,從而大大增加示波器的實(shí)用性。

        參考文獻(xiàn)

        [1] 陳倩詒.單片機(jī)片內(nèi)A/D轉(zhuǎn)換器應(yīng)用于交流量的測(cè)量[J].電子技術(shù),2003(10):21-23.

        [2] 蔡睿妍.Arduino的原理及應(yīng)用[J].電氣設(shè)計(jì)工程,2012(16):155-156.

        [3] 紀(jì)欣然.基于arduino開發(fā)環(huán)境的智能尋光小車設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012(15):161-163.

        [4] 梁湘.基于MATLAB的數(shù)據(jù)實(shí)時(shí)采集與處理的實(shí)現(xiàn)[J].科技信息,2008(9):44-45.

        [5] 陳再清.用單片機(jī)如何實(shí)現(xiàn)交流量的A/D轉(zhuǎn)換[J].電子世界,2003(11):29-30.

        [6] 劉秀.用Matlab實(shí)現(xiàn)硬件端口采集的方法[J].兵工自動(dòng)化,2003(3):58-60.endprint

        猜你喜歡
        跨步電壓
        利用斜井接地體降低輸電桿塔周圍觸電風(fēng)險(xiǎn)研究
        智慧電力(2022年12期)2023-01-27 03:49:56
        異性導(dǎo)電媒質(zhì)對(duì)直流接地極跨步電壓分布的影響
        10kV配電網(wǎng)單相接地跨步電壓有限元仿真
        庫(kù)爾勒原油站35kV變電所接地現(xiàn)狀分析與防跨步電壓觸電對(duì)策
        發(fā)電站大型接地網(wǎng)跨步電壓的測(cè)量及降低方法
        綠色科技(2014年7期)2014-11-17 01:17:16
        欧美熟妇精品一区二区三区| 男女边摸边吃奶边做视频韩国| 日本顶级metart裸体全部| a级毛片无码免费真人| 亚洲VA中文字幕无码毛片春药| 国产在线精品一区二区三区不卡| 动漫在线无码一区| 琪琪av一区二区三区| 久久综网色亚洲美女亚洲av| 在线观看热码亚洲av每日更新 | 五月丁香六月综合缴清无码 | 一二区成人影院电影网| 亚洲精品无码国模| 亚洲无码观看a| 玖玖资源站亚洲最大的网站| 国产亚洲精品美女久久久| 牛牛本精品99久久精品88m| 久久熟女乱一区二区三区四区| 国语对白免费观看123| 中文字幕在线精品视频入口一区| 久久精品免费一区二区喷潮| 日韩精品一区二区三区含羞含羞草| 一区二区精品国产亚洲 | 精品日韩亚洲av无码| 久久久国产一区二区三区四区小说| 久久精品国产乱子伦多人| av网站国产主播在线| 国产成人精品午夜视频| 亚洲丁香婷婷综合久久小说 | 日本一区二区免费在线看| 久久成人国产精品免费软件| 日韩免费小视频| 国产日本精品一区二区| 午夜成人理论福利片| 国产精品白浆一区二小说| 人成视频在线观看免费播放| 色综合久久中文综合网亚洲| 亚洲av无码不卡久久| 国产人成无码视频在线1000| 九七青青草视频在线观看| 亚洲成在人线在线播放无码|