强大的自动化测试解决方案:Raspberry Pi Pico的应用案例

图片

Green Custard的创新测试方案

Britvic旗下的Aqua Libra Co为其可持续性计划依赖强大而可靠的分配设备。Green Custard设计的测试解决方案利用Raspberry Pi Pico的灵活性,实现了严格的测试,这在其他方法中是难以获得的。

解决方案Raspberry Pi Pico
企业规模中小企业
行业测试、传感和控制

在“健康人,健康星球”的使命指引下,Britvic致力于实现工作场所和零售饮料分配的可持续未来。该公司与亚马逊网络服务(AWS)及位于剑桥的Green Custard合作开发了Aqua Libra Flavour Tap,通过直接将饮料输送到可重复使用的容器中,消除了对一次性包装的需求。该水龙头能够分配静水、气泡水及多种口味。

水龙头内部配有多个控制系统,其中一个系统对用户输入响应并将风味墨盒的信息传递给AWS。另一个系统则直接控制分配,精确地在设定时间内切换阀门和螺线管,同时驱动泵以获得特定饮料配方的准确风味量。作为Green Custard开发水龙头的工作的一部分,需要一个测试解决方案来验证分配控制板的软件和硬件。

面临的挑战

在整个开发和部署过程中,识别漏洞的成本呈指数级增加。研究显示,从早期更改需求的100美元到软件部署后的数万美元修复成本不等。复制现场出现的间歇性错误非常困难,除非能够观察到错误,否则很可能会被标记为“无法重现”并被忽略。

代码审查能够发现可能表现为错误的实现偏差,但测试却是现代软件开发的基石。测试形式多样,包括单元测试、集成测试等。运行在嵌入式系统上的软件测试可能尤其困难,因为被测设备通常需要来自外部传感器的输入,这些传感器提供的信号会随时间变化。解决方式是模拟这些外部信号,从而让嵌入式软件像在完整系统中一样运行,而不仅仅是在一个孤立的测试环境中。

可以利用一种称为硬件在环(HIL)的技术来模拟输入。通过HIL,传感器输入可以自动生成,无需用户介入,这有助于测试软件在不同条件下的表现。

Aqua Libra分配控制器由运行实时操作系统的微控制器组成,用于监测重量和流体流动,并驱动步进电机和机电阀。手动测试需要将容器放置在重量测量设备上以进行分配,并监控随后的阀门开关和泵的行为,以确认预期的饮料是否已成功分配。此外,还需要模拟液体流动,通过生成一系列脉冲来模拟电子流量传感器所产生的信号。

解决方案的实施

Raspberry Pi Pico基于RP2040微控制器,具备对HIL测试极为有用的外围设备。在Aqua Libra分配控制器的测试工具中,可编程输入/输出(PIO)模块被用于生成高速度的串行数据,模拟来自24位ADC的信号。ADC输出可以任意配置并用于触发被测系统上的事件。PIO还用于模拟流量传感器的输出,使模拟输出与真实硬件的输出无从区分。测试中的单元驱动多个步进电机,PIO则用于读取两相电机驱动的输出,通过光耦合器进行调节。这种方法可以测量施加在电机上的每一步,甚至在kHz范围内的步进速率,实现了低成本测试工具前所未有的仪器水平。

随着测试的进行,螺线管和阀门的状态也被监控。RP2040包含两个PIO模块,单个步进通道使用单个PIO进行全部编程。因此,为了能够监控多个被测电路板的所有I/O,有必要对多个RP2040进行串联。这需要一种新颖的串行通信技术,可以在测试开始时配置唯一的电路板或所有电路板,并在测试期间尽可能快速地恢复数据。被测单元的I/O状态以20Hz的频率采样,收集的数据与唯一的测试标识符一起写入时间序列数据库。测试完成后,可以使用Grafana绘制收集的数据,仪表板配置为表示逻辑分析器的输出。这对硬件和机械团队的系统开发非常有用。

数据库也可以被查询,根据测试类型可能会处理数据以表明通过或失败条件。整个系统实现完全自动化,可以进行数千个独立测试,而无需人工干预。RP2040上运行的软件对于每个测试节点都是一致的,GPIO通过跳线使用,以提供唯一的节点标识,RP2040应用程序在运行时读取。这使得节点功能得以定制,并在该节点加载PIO程序,使得只需维护单个图像。

一个新设计的PCB将Raspberry Pi Pico置于节点0,作为主控制器,可以选择连接多个节点以提供更多输入监控。

图片

为什么选择Raspberry Pi?

Raspberry Pi Pico作为这种测试的基础具有多重优势:

  • 成本优势:完整的PCB,包括板载电源和闪存存储,成本不到4英镑。这使得在不同现场制作多个测试设置成为可能,若在开发期间Pico损坏,也不会造成重大损失。
  • 外形设计:Pico配备40针DIL接头,便于直接焊接到PCB上或使用低剖面转换接头进行更换。
  • 灵活的PIO:Green Custard指出,PIO(可编程I/O)是一项出色的设计理念,极大增强了灵活性,其实用性无法被过度强调。
  • 丰富的生态系统:整个Raspberry Pi生态系统——从博客文章到GitHub代码库、YouTube教程和Raspberry Pi论坛——为开发提供了大量有用的信息,大幅缩短了开发时间。
  • 良好的可获得性:即使在全球芯片短缺期间,Raspberry Pi Pico仍然保持充足供应,确保可以安心下单。

图片

取得的结果

HIL测试工具的灵活性允许在自动化环境中运行多种配方的分配测试。一次测试可能要求数千个分配器,完成所需数小时,检查每个泵的步骤和阀门的开关周期,这几乎无法手动完成。测试结果可以被视为基于文本的结果,最终转化为通过或失败的条件,也可以通过类似逻辑分析器的图形显示呈现。

在Green Custard的系统中,测试结果被转换为记录,并批量写入Influx时间序列数据库。测试输入的JSON文件包含用于判断测试是否成功的指标。Python脚本解析JSON文件,提取相关指标并进行存储。测试完成后,可以查询Influx数据库,并检查特定功能,例如泵电机的步数或阀门打开的时间及持续时间,以毫秒为单位的精度。

图片

图片

Grafana图形化界面显示数据,以便非软件开发团队——例如口味开发人员和液体专家——使用测试数据来评估切换时间和序列是否符合预期。这种详细程度,加上测试多种输入条件的能力,使得其成为一个强大的测试工具。

在这个应用案例中,Raspberry Pi Pico使Green Custard能够提供低成本解决方案,模拟不同类型的传感器并测量由此产生的输出变化。可以实时监控不同组件的状态,并将收集的数据写入时间序列数据库。更重要的是,数据可绘制在仪表板上以供进一步分析。整个过程实现自动化,数千次测试可在无需人工干预的情况下进行。

Green Custard的HIL系统支持的测试用例注入了在真实系统中难以重现的故障条件,从而可评估被测软件的韧性。

没有Raspberry Pi Pico,识别可能影响现场性能的间歇性错误将非常困难,甚至是不可能的。通过HIL技术,Britvic确信Aqua Libra Co Flavour Tap将如预期般正常运行。

欲了解更多关于Green Custard如何协助开发Aqua Libra Co Flavour Tap的信息,请阅读他们的完整案例研究。

完整案例研究:Green Custard案例研究