Britvic擁有的Aqua Libra Co的可持續(xù)性計(jì)劃依賴于強(qiáng)大、可靠的分配設(shè)備。Green Custard設(shè)計(jì)了一個(gè)測試解決方案,利用Raspberry Pi Pico的靈活性,提供難以通過其他方式實(shí)現(xiàn)的嚴(yán)格測試。
解決方案 | Raspberry Pi Pico |
企業(yè)規(guī)模 | 中小企業(yè) |
行業(yè)?? | 測試、傳感和控制 |
根據(jù)其“健康人,健康星球”的使命,英國飲料巨頭Britvic旗下的Aqua Libra Co正在努力實(shí)現(xiàn)工作場所和零售飲料分配的可持續(xù)未來。該公司與亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)和總部位于劍橋的專業(yè)服務(wù)公司Green Custard合作開發(fā)了Aqua Libra Flavour Tap,通過將飲料直接輸送到可重復(fù)使用的容器中,消除了對一次性包裝的需求。水龍頭可以分配靜水或氣泡水和各種口味。
水龍頭內(nèi)有幾個(gè)控制系統(tǒng),其中一個(gè)系統(tǒng)對用戶輸入做出反應(yīng),并將風(fēng)味墨盒信息傳遞給AWS。另一個(gè)直接控制分配,在精確控制的時(shí)間內(nèi)切換閥門和螺線管,以及驅(qū)動(dòng)泵,以獲得特定飲料配方的確切風(fēng)味量。作為Green Custard幫助開發(fā)水龍頭工作的一部分,需要一個(gè)測試在分配控制板上運(yùn)行的軟件和硬件的解決方案。
挑戰(zhàn)
在整個(gè)開發(fā)和部署過程中,尋找漏洞的成本呈指數(shù)級(jí)增長。幾項(xiàng)研究揭示了解決錯(cuò)誤的成本,從早期更改需求的100美元到軟件部署后修復(fù)的數(shù)萬美元不等。復(fù)制在現(xiàn)場看到的間歇性錯(cuò)誤可能非常困難,除非可以觀察到該錯(cuò)誤,否則它很可能被標(biāo)記為“無法重現(xiàn)”并被忽略。
審查代碼可以發(fā)現(xiàn)可能表現(xiàn)為錯(cuò)誤的實(shí)現(xiàn)錯(cuò)誤,但測試是現(xiàn)代軟件開發(fā)的基石。它有多種形式,包括單元測試、集成測試等。測試在嵌入式系統(tǒng)上運(yùn)行的軟件可能特別困難,因?yàn)楸粶y設(shè)備通常需要來自外部傳感器的輸入,這些傳感器提供隨著時(shí)間的推移而變化的信號(hào)。解決方案是模擬這些外部信號(hào),這允許嵌入式軟件像在完整系統(tǒng)中運(yùn)行一樣運(yùn)行,而不僅僅是一個(gè)孤立的測試設(shè)置。
可以使用一種稱為硬件在環(huán)(HIL)的技術(shù)來模擬輸入。使用HIL,傳感器輸入可以自動(dòng)生成,無需用戶交互。這有助于測試軟件在不同條件下的行為。
Aqua Libra分配控制器由運(yùn)行實(shí)時(shí)操作系統(tǒng)的微控制器組成,用于監(jiān)測重量和流體流動(dòng),以及驅(qū)動(dòng)步進(jìn)電機(jī)和機(jī)電閥。手動(dòng)測試需要將容器放在重量測量設(shè)備上,以便進(jìn)行分配。需要監(jiān)控隨后的閥門開關(guān)和泵活動(dòng),以確認(rèn)預(yù)期的飲料是否已分配。與此同時(shí),需要通過生成一系列脈沖來模擬液體的流動(dòng),就像電子流量傳感器產(chǎn)生的脈沖一樣。
解決方案
Raspberry Pi Pico基于Raspberry Pi的RP2040微控制器,并具有對HIL測試非常有用的外圍設(shè)備。在Aqua Libra分配控制器的測試工具中,可編程輸入/輸出(PIO)塊用于生成非常快的串行數(shù)據(jù),就像來自24位ADC一樣,以模擬應(yīng)變片。ADC輸出可以任意設(shè)置,并觸發(fā)被測系統(tǒng)上的事件。PIO還用于模擬流量傳感器的輸出,模擬輸出與真實(shí)硬件的輸出無法區(qū)分。測試中的單元驅(qū)動(dòng)許多步進(jìn)電機(jī),PIO用于讀取兩相電機(jī)驅(qū)動(dòng)輸出,通過光耦合器調(diào)節(jié)。這種方法可以測量應(yīng)用于電機(jī)的每一步,即使步進(jìn)速率在kHz范圍內(nèi)。它為低成本的測試工具提供了前所未有的儀器水平。
同樣,隨著測試的進(jìn)行,螺線管和閥門狀態(tài)也會(huì)受到監(jiān)控。RP2040包含兩個(gè)PIO塊,單個(gè)步進(jìn)通道使用單個(gè)PIO的所有程序。因此,有必要對多個(gè)RP2040進(jìn)行菊花鏈,以便能夠監(jiān)控被測電路板的所有I/O。這需要一種新穎的串行通信技術(shù),該技術(shù)可以解決測試開始時(shí)要配置的唯一電路板或所有電路板,并在測試期間盡可能快地恢復(fù)數(shù)據(jù)。被測單元的I/O狀態(tài)以20Hz采樣,收集的數(shù)據(jù)與唯一的測試標(biāo)識(shí)符一起寫入時(shí)間序列數(shù)據(jù)庫。測試后,可以使用Grafana繪制收集的數(shù)據(jù),儀表板配置為表示邏輯分析器。這對硬件和機(jī)械團(tuán)隊(duì)的系統(tǒng)開發(fā)非常有用。
數(shù)據(jù)庫也可以被查詢,根據(jù)測試的類型,數(shù)據(jù)可能會(huì)被處理以表示通過或失敗條件。整個(gè)系統(tǒng)是完全自動(dòng)化的,可以運(yùn)行數(shù)千個(gè)獨(dú)立的測試,而無需人工交互。在RP2040上運(yùn)行的軟件對每個(gè)測試節(jié)點(diǎn)都是相同的,GPIO通過跳線使用,以提供唯一的節(jié)點(diǎn)標(biāo)識(shí),RP2040應(yīng)用程序在運(yùn)行時(shí)讀取。這定制了節(jié)點(diǎn)功能,為該節(jié)點(diǎn)加載PIO程序,并意味著只需要維護(hù)單個(gè)圖像。
設(shè)計(jì)和制造了一個(gè)PCB,節(jié)點(diǎn)0上的Raspberry Pi Pico作為主控制器,可以選擇連接多個(gè)節(jié)點(diǎn)以提供更多的輸入監(jiān)控。

樹莓派 Pico 安裝在電路板中心的頂部;I/O位于板的外圍
為什么是樹莓派?
Raspberry Pi Pico作為這種測試的基礎(chǔ)很有吸引力,原因有幾個(gè):
成本:整個(gè) PCB 板,包括板載電源供應(yīng)和閃存存儲(chǔ),成本低于 4 英鎊。這很有利,因?yàn)榭梢詾椴煌默F(xiàn)場制作多個(gè)測試設(shè)置,如果在開發(fā)過程中 Pico 損壞,也不會(huì)造成太大損失。
外形:Pico使用40針DIL接頭,可以直接焊接到PCB上或使用低剖面轉(zhuǎn)換接頭,便于更換。
PIO:Green Custard報(bào)道,PIO (可編程 I/O)是一個(gè)出色的設(shè)計(jì)理念,并給予了極大的靈活性,以至于它的實(shí)用性怎么強(qiáng)調(diào)都不為過”。
生態(tài)系統(tǒng):整個(gè)Raspberry Pi生態(tài)系統(tǒng)——從博客文章到GitHub repos、YouTube教程和Raspberry Pi論壇——提供了許多有用的信息,大大減少了開發(fā)時(shí)間。
可獲性:即使在全球芯片短缺期間,Raspberry Pi Pico 仍然保持現(xiàn)貨供應(yīng),因此可以放心下訂單。
正在測試的電路板在中間,基于Pico的HIL電路板在左右
“可編程I/O(PIO)是Raspberry Pi Pico的一個(gè)令人難以置信的靈活功能。它允許開發(fā)在沒有完整 FPGA 實(shí)現(xiàn)的情況下也能實(shí)現(xiàn)的硬件接口。PIO提供的零件成本和電力使Pico成為引人注目的選擇。SDK有據(jù)可查,隨附的GitHub回購協(xié)議中有許多有用的代碼示例。Pico是我首選的低成本、低批量開發(fā)的部分。我對HIL測試框架感到滿意。這讓我相信,對在目標(biāo)硬件上運(yùn)行的軟件所做的任何更改都沒有引入任何回歸,并且按預(yù)期運(yùn)行。”
結(jié)果
HIL測試工具提供的靈活性允許在自動(dòng)化環(huán)境中運(yùn)行許多分配配方的組合。一次測試可以要求數(shù)千個(gè)分配器,這些分配需要幾個(gè)小時(shí)才能完成,檢查每個(gè)泵步驟和閥門打開和關(guān)閉周期。這幾乎不可能手動(dòng)完成。然后,測試結(jié)果可以被視為基于文本的結(jié)果,最終是通過或失敗條件,也可以被視為類似于邏輯分析器的圖形顯示。
在Green Custard的系統(tǒng)中,測試結(jié)果被轉(zhuǎn)換為記錄,并批量寫入Influx時(shí)間序列數(shù)據(jù)庫的實(shí)例。測試輸入JSON文件包含用于確定測試是否通過的指標(biāo)。Python腳本解析JSON文件,提取該測試的相關(guān)指標(biāo),并存儲(chǔ)它們可供使用。測試完成后,會(huì)查詢Influx數(shù)據(jù)庫,并可以檢查特定功能;例如,泵電機(jī)的步數(shù),或閥門打開時(shí)間和持續(xù)時(shí)間達(dá)到毫秒的精度。
成功的測試用例
測試失敗;控制器 1 超出公差范圍
第二個(gè)圖形顯示數(shù)據(jù)的方式由開源數(shù)據(jù)分析和可視化平臺(tái)Grafana提供。這種觀點(diǎn)允許不參與軟件開發(fā)的團(tuán)隊(duì)——例如,開發(fā)口味的人和液體專家——使用測試數(shù)據(jù)來確定切換時(shí)間和序列是否符合預(yù)期。例如,下圖顯示了在分配四杯單獨(dú)飲料期間按順序生成的三個(gè)不同的圖表。頂部圖表顯示分配進(jìn)度周圍的數(shù)據(jù);中間圖表顯示與分配相關(guān)的更多數(shù)據(jù),這些數(shù)據(jù)隨時(shí)間而變化;底部圖表顯示水龍頭內(nèi)控制元素的打開和關(guān)閉。

Grafana 儀表板顯示系統(tǒng)狀態(tài);數(shù)據(jù)描述已被模糊處理
這種詳細(xì)程度,加上能夠測試許多輸入條件的能力,使其成為一個(gè)功能強(qiáng)大的測試工具。
在這個(gè)應(yīng)用程序中,Raspberry Pi Pico使Green Custard能夠提供低成本的解決方案來模擬不同類型的傳感器,并測量由此產(chǎn)生的輸出變化。可以實(shí)時(shí)監(jiān)控不同組件的狀態(tài),并將收集的數(shù)據(jù)寫入時(shí)間序列數(shù)據(jù)庫。最后,至關(guān)重要的是,數(shù)據(jù)可以繪制在儀表板上,以便進(jìn)一步分析。整個(gè)過程是自動(dòng)化的,無需人工交互即可運(yùn)行數(shù)千次測試。
Green Custard的Hardware-in-the-Loop系統(tǒng)支持測試用例,這些測試用例注入了在真實(shí)系統(tǒng)上重新創(chuàng)建非常困難甚至完全無法實(shí)現(xiàn)的故障條件,從而可以評(píng)估被測軟件的魯棒性。
如果沒有Raspberry Pi Pico,識(shí)別可能影響現(xiàn)場性能的間歇性錯(cuò)誤將非常困難(如果不是不可能的話)。使用Hardware-in-the-Loop,Britvic可以確信Aqua Libra Co Flavour Tap將按預(yù)期運(yùn)行。
-
自動(dòng)化測試
+關(guān)注
關(guān)注
0文章
220瀏覽量
27090 -
Pico
+關(guān)注
關(guān)注
0文章
179瀏覽量
17332 -
樹莓派
+關(guān)注
關(guān)注
118文章
1881瀏覽量
106243
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
矢量信號(hào)發(fā)生器在工業(yè)自動(dòng)化測試中的應(yīng)用場景
家里亂成“垃圾場”,樹莓派也能一鍵搞定家務(wù)了?

通用自動(dòng)化測試軟件 - TAE

樹莓派開發(fā)的最佳編程語言選擇
樹莓派gpio有什么用,樹莓派gpio接口及編程方法
樹莓派和單片機(jī)的優(yōu)缺點(diǎn)是什么
開關(guān)電源自動(dòng)化測試設(shè)備:如何實(shí)現(xiàn)自動(dòng)化測試?

樹莓派的功能用途是什么
樹莓派4b支持多大的sd卡
樹莓派gui開發(fā)用什么ide
樹莓派Pico 2發(fā)布,搭載RP2350雙核RISC-V和Arm Cortex-M33微控制器!
ATECLOUD智能云測試平臺(tái)推動(dòng)自動(dòng)化測試發(fā)展

戶外便攜儲(chǔ)能電源自動(dòng)化測試系統(tǒng)高效完成電源測試

評(píng)論