999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARDUINO與MATLAB的簡易示波器研制

2015-02-11 03:05:30陸強顏加仁林定能沈歡勝
科技資訊 2014年29期

陸強++顏加仁++林定能++沈歡勝

摘 要:利用Arduino標準化單片機集成模塊和Matlab軟件,從硬件和軟件兩方面論述了一種簡易示波器的設計思路,該示波器可以測量直流和交流電壓波形。Arduino將數據采集后,通過串口傳輸到PC機,利用PC機的Matlab程序,將數據進行圖形化顯示,從而構成示波器。

關鍵詞:Arduino Matlab 跨步電壓 電壓檢測

中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2014)10(b)-0009-02

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

Arduino把單片機編程中很多常用的功能,如延時、數據讀寫、中斷等模塊化封裝成一個個子程序供程序開發者調用,程序開發者只需著眼于程序的邏輯結構,而不必關心底層函數的具體設計,從而大大降低了程編程的復雜程度[3]。

Matlab是由美國MATHw0RKs公司開發的面向研究和工程設計處理的一套具有強大功能的軟件系統。Matlab集數學計算結果可視化和編程于一體,能夠方便地進行科學計算和大量工程運算[4]。

該文提出了一種基于Arduino標準化單片機集成模塊和Matlab數據處理的簡易示波器設計方法,可以用于測量常見的電壓波形,成本低廉,使用方便。

1 系統結構

簡易示波器從系統結構上分為前部數據采集端和PC機波形顯示器兩部分構成,兩者用串口實現數據交換。

前部數據采集端通過分壓電路將電壓降低到合適的數值以供Arduino測量;由于Arduino只能測量5V以內的直流電壓,對于交流電壓,要加一級極性轉換電路,將雙極性電壓轉換為單極性電壓。完成AD轉換后,Arduino將數據通過串口傳到PC機,PC機利用Matlab的強大分析處理能力,對收到的數據進行分析、處理和圖形顯示。系統的結構如圖1所示。

2 硬件設計

該文設計的示波器主要用于測量和顯示常規直流電壓和交流電壓,測量的最大電壓為50 V,并設置一個壓敏電阻來保護電路,以免電壓過高時損壞裝置。對于電流電壓,由于Arduino所用的Atmel Atmega328單片機AD轉換速率為13~260 μs,所測量的電流電壓頻率一般不應高于2 kHz。

2.1 降壓電路設計

降壓電路采用線性電阻進行分壓,并串聯一個可調電阻以便微調。降壓后通過電壓跟隨器,使得輸入、輸出信號的幅值保持不變,且輸入阻抗高,輸出阻抗低,起到了現場信號與系統的隔離、互不干擾的作用。電路原理如圖2所示。

2.2 極性轉換電路設計

在模擬量的測量中最常見的莫過于交流電壓及交流電流的測量,而單片機內的AD轉換器通常是用來測量直流或脈動直流的,因輸入腳不允許輸入負電平。需要增加一些外圍電路方能實現對交流電的測量[5]。

這些外圍電路就是極性轉換電路,如圖3所示。

本電路采用了電壓基準芯片AMS1117

-2.5產生一個幅值為2.5 V的基準電壓Vout,通過電阻R4加到運算放大器的“+”輸入端。

由圖3可知:

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

2.3 模塊電路連接

降壓模塊和極性轉換模塊可以用萬能板焊接,Arduino模塊采用標準的成品,各模塊的電路連接比較簡單,降壓電路的端外接需要測試的信號源,降壓電路的與極性轉換電路輸入端相連,極性轉換電路的輸出端與Arduino模塊的模擬輸入口A0相連,Arduino模塊的USB口與PC機的USB口相連,如圖4所示。

3 軟件設計

軟件設計的思路是,Arduino通過模擬輸入口A0采集交直流電壓量,并通過內置的USB轉串口芯片,將采集后的數據通過串口傳輸到PC機,PC機進行簡單數據處理后,調用畫圖工具顯示波形。

3.1 數據采集程序

數據采集直接調用模擬量讀取函數analogRead,如下所示。

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

為了提高抗干擾性,得到更加穩定的讀數,可以多次讀取數據并計算平均值。

3.2 串口通信程序

Matlab 6.X或之后的版本提供了對串口對象的支持,可以很方便地訪問外設,通過建立串口對象,能實現數據的讀寫、存儲、事件回調等功能。

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

(1)Arduino端的數據上傳。

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

握手成功后,在void loop()函數中利用函數Serial.println(Voutput)不斷地將轉換好的數據發送到PC機。

(2)PC機端的數據接收

Matlab可以用查詢和中斷兩種方式接收數據,這兩種方式各具特點,這里選用查詢方式,將接收到的數據匯總到一個標準數組dataOut中,填滿后立即繪圖,然后清0并重新填入數據,周而復始。PC機端的數據傳輸有以下幾個步驟。endprint

①用g=serial('COMx')創建設備對象。

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

③用fopen()實現設備對象與硬件設備連接。

④用fread()、fwrite()等實現硬件設備數據的讀寫。

⑤用fclose()和delete()、clear()關閉和刪除設備對象。

3.3 波形顯示程序

利用PC機的Matlab強大的數據處理和圖形顯示功能進行波形顯示,在標準數組dataOut填滿后,調用plot函數來完成數據的可視化處理,如下所示。

plot(x,dataOut);

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

圖5是利用該示波器顯示的RC電路放電的波形,前面波動處是開關合閘時的干擾電平。

由圖5可見,電容充滿電后為5 V,并從50 s開始放電(在50s時斷開電源開關),經過約170 s后電壓變為1 V,由,求得て=105 s。

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

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

4 結語

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

如果對時間標量的精度要求嚴格,可以在arduino采集數據時,同時記錄當時的時標,并通過串口與所采集的數據一起上傳給PC,但是會大大增加傳輸的數據量。還可以采取一個折中的方法,每采集一定個數的數量時記錄并傳輸一個時標,比如100個或1000個。

另外,由于Matlab具有強大的數據處理能力,讀者還可以加入數據濾波處理、保存、截波、數據分析等功能,同時采用Matlab的GUI可視化設計界面,可以設計出一套更加友好的界面,實現對數據的處理和系統的控制,從而大大增加示波器的實用性。

參考文獻

[1] 陳倩詒.單片機片內A/D轉換器應用于交流量的測量[J].電子技術,2003(10):21-23.

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

[3] 紀欣然.基于arduino開發環境的智能尋光小車設計[J].現代電子技術,2012(15):161-163.

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

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

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

主站蜘蛛池模板: 污视频日本| 91久久精品日日躁夜夜躁欧美| 1769国产精品视频免费观看| 久久精品嫩草研究院| 青青极品在线| www.youjizz.com久久| 又爽又黄又无遮挡网站| 97超碰精品成人国产| A级毛片高清免费视频就| 99久久无色码中文字幕| 欧美国产菊爆免费观看| 无码免费视频| 午夜福利在线观看入口| 国产女人在线观看| 欧美综合在线观看| 97国产在线视频| 91色在线视频| 亚洲女同一区二区| 国产靠逼视频| 国产91小视频在线观看| 欧美成人看片一区二区三区| www亚洲精品| 国内精品小视频在线| 国产激情无码一区二区APP| 女人18毛片久久| lhav亚洲精品| julia中文字幕久久亚洲| 青草视频免费在线观看| 久久青草免费91观看| 久久久亚洲色| 欧美中文字幕一区二区三区| 久久久久久久久亚洲精品| 黄色网在线| 亚洲AV电影不卡在线观看| 日韩在线欧美在线| 最新精品久久精品| 国内精品91| 久久这里只精品国产99热8| 996免费视频国产在线播放| 人妻中文久热无码丝袜| av在线手机播放| 国产视频大全| 欧美日韩国产综合视频在线观看 | 理论片一区| 黄色网页在线播放| 中文字幕va| 蜜桃视频一区二区| 久久永久精品免费视频| 91精品专区| 在线永久免费观看的毛片| 久久久国产精品无码专区| 综合人妻久久一区二区精品| 超碰aⅴ人人做人人爽欧美| 人妻丰满熟妇啪啪| 久久永久免费人妻精品| 欧美第二区| 婷婷成人综合| 国产激情无码一区二区免费| 免费国产小视频在线观看| 伊人查蕉在线观看国产精品| 免费在线播放毛片| 欧美成人午夜影院| 在线观看av永久| 欧美另类视频一区二区三区| 国产导航在线| 欧美成人国产| 久久精品午夜视频| 免费jjzz在在线播放国产| 九九九九热精品视频| 国产91在线|日本| 国产精品久久久久久久伊一| 亚洲欧美综合另类图片小说区| 亚洲无码电影| 九九热视频精品在线| 亚洲天堂网在线播放| 亚洲第一成网站| 日本www在线视频| 久久国产拍爱| 青青草原国产免费av观看| 精品超清无码视频在线观看| 国产视频大全| 亚洲视屏在线观看|