精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過編程實現測試和測量的自動化

麥克泰技術 ? 來源:嵌入式系統專家之聲 ? 2023-12-22 11:13 ? 次閱讀

作者 | Stuart Cording(Elektor)

譯者 | 禾沐

測試有時是一件單調和枯燥的事情,尋找故障也十分具有挑戰性。那么,為什么不利用測試和測量儀器上的通信接口來簡化我們的測試過程呢?本文中我們將探索用Python進行控制,不需要昂貴的軟件和授權的工具。

對于大多數開發者而言,測試和測量設備在工作臺上只是靜靜地在等待任務。不過你把設備轉到背面時,往往會看到通信接口。只要有合適的軟件,我們就可以控制測量過程,并收集結果以供事后分析。尋找偶發事件和故障,或者在測試應用的多個系統參數時,這會非常有幫助。產品下線測試和元件的分級也可以用類似方式進行自動化測試。

1 實驗室電源設備的遠程控制

電源控制是一個很好的起點。大多數應用的硬重置都需要一次電源重啟,更進階的測試可能包括極端電源輸入,甚至是過電壓測試。這類測試在汽車中很常見,系統需要能承受400ms的87V輸入(ISO 7637-2)。另一種和電源相關的常見故障模式是電壓逐漸升高或降低。此時電路往往會進入欠壓狀態,不能自行恢復。最后,自動測試系統中的設備應該能夠設定電壓和最大電流,特別是系統會用于不同產品時。

近年來,實驗室電源設備的價格大幅下降,面對大量低價的設備,知名廠商往往不愿意(或者無法)在價格上競爭,而是增加更多功能。我們不知道英國劍橋的Aim and Thurlby Thandar Instruments(Aim-TTi)是不是也是如此,但他們的產品確實無愧于公司口號“測得到的好價值”。在他們的直流電源產品中,入門級的EL-R系列(見圖1)值得關注,特別是如果你想要試著搭建自動測試系統時。該系列的設備使用低噪音線性調節提供單、雙和三輸出,設備散熱不使用風扇,輸出范圍是30到130W。設備上有一個或兩個LED顯示和模擬控制,一些型號還包括遙感終端。單輸出的EL302P(支持RS-232接口)和EL302P-USB(支持USB接口)是值得關注的兩個型號,它們的輸出功率為60W,輸出電壓0-30V,電流0-2A。

2fa339aa-a077-11ee-8b88-92fbcf53809c.png

圖1 EL-R系列直流電源通過串行接口(RS-232或通過USB)實現的虛擬COM)支持測試自動化(來源:Aim-TTi)

這兩個型號的設備包括軟件驅動,廠家網站上還提供PSU Sequencer工具,幫助用戶通過手動或者自動的方式逐步調整電壓/電流設定(見圖2)。軟件還可以從數據表中引入預先準備好的序列。

2fcda906-a077-11ee-8b88-92fbcf53809c.jpg

圖2:通過Aim-TTi的PSU Sequencer軟件可以簡單地進行電壓/電流的重復設定(來源:Aim-TTi)

2 用Python進行電源控制

根據你的測試需要開發控制軟件也不困難。設備的硬件RS-232接口的波特率為600到9600,USB接口則會以一個虛擬COM口的形式出現。用戶手冊中給出了全部的命令,稍做規劃就可以開發一個將每個命令單獨包裝為函數/方法的軟件庫。一種方法是運用Arduino和一個RS-232收發器來控制電源供應,這種做法還有可以和其他測試功能結合的優勢,例如信號傳輸中繼或是捕捉模擬/數字信號

或者,Python提供pySerial模塊,利用它可以很容易地編寫一個Python命令接口模塊(見例1),實現自動控制機制。對文檔稍加研究,還可以實現TCP/IP到串口的接口;實驗性的RFC2217備忘錄中定義了這一功能,讓用戶可以在遠程PC上配置串口接口并實現通信。

例1:通過pySerial獲取PSU ID的Python代碼

2fde095e-a077-11ee-8b88-92fbcf53809c.png

3 示波器和自動化

示波器也能夠遠程控制。示波器有許多功能,從捕獲模擬/數字信號到快速傅里葉變換,我們可以在多種自動測試中使用示波器。例如,一些故障需要一系列復雜事件以特定順序出現才會發生。如果你的團隊發現了觸發故障的方法,下一步就是配置示波器捕獲相關的信號,幫助尋找故障的原因。

Arduino和樹莓派等開發板可以通過模擬輸出和數字信號很快變成觸發故障的工具,需要時還可以增加信號中繼或是場效應管。這些開發板還能向示波器提供準確的觸發信號,幫助采集分析故障所需的數據。

大多數示波器上有USB和LAN接口,但是一些型號只支持私有軟件或是只能從瀏覽器上進行配置。好消息是,我們已經有了一個基于USB的測試和測量類規格(USBTMC)。類似于存儲設備類(閃存盤等)和人機接口設備類(鍵盤、鼠標等),這一USB類預先定義好了與測試和測量設備交互的命令。

一些示波器支持USBTMC,像是200MHz、2GSa/s(GSa/s:每秒千兆采樣)的B&K Precision 2567B混合信號示波器(見圖3)。該設備上搭載4個模擬頻道,有一個16頻道的數字接口,內置50MHz隨機波形產生器,支持高級觸發方式。雖然它10.1寸的觸摸屏讓手動配置變得十分簡單,我們同樣可以很容易地通過USB進行配置。

2ff7178c-a077-11ee-8b88-92fbcf53809c.jpg

圖3 B&K Precision 2560B系列混合信號示波器的USB接口兼容USBTMC規格,

可以很容易地用Python進行自動化(來源:B&K Precision)

4 示波器的遠程配置

多虧了Alex Forencich在GitHub上的USBTMC開源項目,Python是進行示波器遠程配置的最佳編程語言。在Linux上使用這一模塊需要適當的權限,在Windows上則需要先安裝PyUSB和libusb。

首先,你需要指定用于識別USB設備的廠商(VID)和產品(PID)信息。在Linux上,你可以連接你的設備,然后在命令行運行lsusb,命令的結果會包括這些信息。在Windows上,你可以從設備管理器的設備屬性中找到必要的信息。在兩種系統中VID和PID都應該是16位的16進制數值。

然后,需要在Python代碼中引入usbtmc模塊,并使用其中的接口(API)。代碼基本上就是在屏幕上打印文字,并讀取鍵盤輸入。USBTMC的本質就是和測試/測量儀器進行通信的包裝層,控制命令是根據示波器的編程指南實現的ASCII字符串,其中包含設備支持的選項。如果設備支持,也可以使用VISA資源字符串。

設備的VID和PID是針對產品,而不是特定單元的。因此,如果有兩臺以上同型設備,可以用它們的序列號作為第三個參數。一般可以從設備的標簽上獲得序列號,或者通過“*IDN?”命令查詢(見例2)。

例2:通過usbtmc控制B&K Precision示波器的Python代碼

3006e932-a077-11ee-8b88-92fbcf53809c.png

示波器間的主要區別是帶寬、取樣速度和存儲容量。有時候,一些型號上會搭載實用的小功能。B&K系列支持矮脈沖觸發(見圖4),即一個信號跨過一個闕值,但是并未達到另一個闕值(例如,負矮脈沖跨過了較高的電平,而沒有越過較低的電平)。分析故障時,設備上的小功能有時會非常有幫助。

301b6056-a077-11ee-8b88-92fbcf53809c.png

圖4 矮脈沖觸發可以幫助尋找沒有完全升起或降低的脈沖(來源:B&K Precision)

5 無顯示的測試設備

Red Pitaya的測試設備讓我們產生了疑問,每個工具都需要自己的顯示器嗎?強大的FPGA以太網接口能夠讓你的PC/筆記本電腦成為用戶界面。Liquid Instruments的Moku:Lab也采用了類似的思路,只有餐盤大小的設備上有一系列模擬輸入和輸出接口,讓Moku:Lab成為了盒子里的實驗室。

Moku:Lab的正面有四個BNC接頭(見圖5),右邊的一對提供模擬輸出,支持1GSa/s(每秒10億)采樣率,分辨率為16位,帶寬大于300MHz(3dB衰減)。左邊的一對是模擬輸入,帶寬為200MHz(3dB衰減),輸入阻抗50Ω,12位分辨率下采樣率為每頻道500MSa/s(每秒5億)。設備內部的時基精度好于500ppb。設備支持觸發輸入,提供同步多個單元用的接頭。有線連接通過以太網和USB接口實現,第二個USB口還可以用來給平板電腦充電。最后,還有一個SD卡槽和直流電源接口。

302fe29c-a077-11ee-8b88-92fbcf53809c.png

圖5 餐盤大小的Moku:Lab是一臺12合一的儀器,可以通過Python API進行配置(來源:Liquid Instruments)

盡管Moku:Lab上搭載了有線接口,它的設計主要是通過Wi-Fi(802.11b/g/n)配合iPad上配套的應用使用。在應用的用戶界面上可以選擇12種不同的儀器,從我們熟悉的示波器和頻譜分析器,到少見的PID控制器和激光鎖盒。設備還可以用作數據記錄儀,采樣率不到100kSa/s(每秒10萬)時,存儲上限由插入的SD卡決定(即直接寫入SD卡);采樣率較高時,可以以最高1MSa/s(每秒百萬)的速率在內部存儲中進行記錄。

與其他現代的工具類似,Moku:Lab提供Python API,支持MATLABLABVIEW,并附帶數個樣例(例3)。設備可以很快地整合到一個自動測試系統中,也非常適合射頻設備的大規模測試和元件的分級。

例3:在Moku:Lab上生成隨機波形的Python代碼

30608528-a077-11ee-8b88-92fbcf53809c.png

6 節省時間、提升準確性

在復雜系統中,測試設備就是工程師的眼睛,但它們也不是萬能的。偶發事件很難進行跟蹤,只有知道故障成因時才能提出解決方案。雖然復雜度各不相同,如今很多測試和測量儀器都提供編程API,而易于學習的Python往往是首選的編程語言。如果你想要的測量場景很難觸發,需要多組操作來完成一輪測試,或者需要大量重復操作,那么實現自動化是解決之道,也許并沒有你想的那么困難。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    241

    文章

    23136

    瀏覽量

    658471
  • 編程
    +關注

    關注

    88

    文章

    3592

    瀏覽量

    93596
  • 測量儀器
    +關注

    關注

    3

    文章

    779

    瀏覽量

    42111
  • 電源設備
    +關注

    關注

    0

    文章

    91

    瀏覽量

    11867

原文標題:通過編程實現測試和測量的自動化

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【OK210申請】與功率測試儀串行實現自動化數據傳輸

    實驗與測量儀串行通信口,實驗數據儲存或傳輸,,測量儀與開發板連接,通過上位機軟件的與測量儀的通信握手協議,發起通信命令,每發的一個命令字對應相應的命令功能,輕松實驗
    發表于 07-17 10:04

    開關電源自動化測試系統的設計與實現

      摘 要: 按照以軟件為核心的模塊系統構架,設計并實現了新一代開關電源自動化測試系統。該系統能自動完成開關電源功能
    發表于 11-29 16:59

    如何對用戶界面進行自動化測試

    按鍵操作)的自動化, 可以實現完全的自動化測試。 如下圖所示,界面測試螞蟻機器人自動控制相機拍攝
    發表于 03-06 19:57

    納米軟件案例之電阻自動化測試系統

    和LakeShore336、泰克4200參數分析儀之間由GPIB相連。電阻自動化測試系統由通信連接、參數設置、運行測試、數據保存4個模塊組成。通信連接模塊實現與泰克4200、LakeS
    發表于 08-21 11:41

    自動化測試系統問答

    )、兼容性入手。自動化測試的具體實現,總是離不開清晰的思路,要用最簡單的方式理清思路,應該是包含下面七個過程的:2.設計:設計測試用例,測試
    發表于 10-12 19:02

    LabVIEW與Tektronix示波器實現電源測試自動化

    LabVIEW與Tektronix示波器實現電源測試自動化 在現代電子測試測量領域,自動化
    發表于 12-09 20:37

    自動化回歸測試的技術和實現

    提出了兩種提高 回歸測試 自動化程度的技術。其中一種技術采用數據驅動的方式, 使得測試腳本成為可以驅動所有類似測試用例組的通用腳本, 同時, 實現
    發表于 06-02 18:37 ?35次下載
    <b class='flag-5'>自動化</b>回歸<b class='flag-5'>測試</b>的技術和<b class='flag-5'>實現</b>

    ATE自動化測試系統是什么_ATE自動化測試系統介紹

    本文首先介紹了ATE自動化測試系統發展線路,其次闡述了ATE自動化測試系統的作用及原理、特點、優勢,最后介紹了ATE自動化
    發表于 05-23 16:47 ?3.2w次閱讀

    怎么實現儀器的自動化測試自動化計量

    的很難做。 后來有一次我跟我們項目經理出去考察學習,考察的公司是一家專業做自動化測試的公司。專門做儀器的自動化測試自動化計量。他們每個工程
    的頭像 發表于 11-17 14:14 ?2996次閱讀

    什么是自動化測試框架

    自動化測試框架,即是應用于自動化測試所用的框架。按照框架的定義,自動化測試框架要么是提供可重用的
    發表于 04-18 14:44 ?876次閱讀

    接口自動化測試流程講解 企業接口自動化測試步驟

    接口自動化測試是指通過編寫腳本或使用自動化工具,對軟件系統的接口進行測試的過程。接口測試是軟件
    發表于 07-28 14:54 ?2158次閱讀
    接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>流程講解 企業接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>步驟

    基于應用程序編程接口(API)的自動化測試(上)

    本文系統介紹了應用程序編程接口(API)的概念及其在軟件開發中的作用與重要性,重點分享自動化API測試的發展歷程與測試對象。
    的頭像 發表于 09-01 11:17 ?596次閱讀

    電源測試怎么自動化?電源模塊自動化測試系統如何實現

    納米軟件在電測行業深耕十余年,在行業的大背景下,為了進一步完善自動化測試,開發出了新的智能的電源模塊自動化測試系統ATECLOUD-POW
    的頭像 發表于 12-15 14:40 ?831次閱讀
    電源<b class='flag-5'>測試</b>怎么<b class='flag-5'>自動化</b>?電源模塊<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>系統如何<b class='flag-5'>實現</b>?

    如何實現PLC的自動化控制邏輯

    在工業自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)扮演著至關重要的角色。PLC通過編程實現
    的頭像 發表于 06-15 16:44 ?1073次閱讀

    開關電源自動化測試設備:如何實現自動化測試

    開關電源自動化測試設備是將測試軟件和測試硬件集成在一個電源測試柜中的ate自動測試設備,其
    的頭像 發表于 08-30 18:19 ?1173次閱讀
    開關電源<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>設備:如何<b class='flag-5'>實現</b><b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?