当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]现代嵌入式系统需要在多个处理单元之间实现可靠的通信,同时具备较强的抗故障和信号干扰能力。本项目提出了一种混合通信平台,结合Arduino Pro Micro和Raspberry Pi 4,实现实时的信号生成、传输、处理与分析。

现代嵌入式系统需要在多个处理单元之间实现可靠的通信,同时具备较强的抗故障和信号干扰能力。本项目提出了一种混合通信平台,结合Arduino Pro Micro和Raspberry Pi 4,实现实时的信号生成、传输、处理与分析。

该系统支持多种波形类型,可执行幅度调制(AM),注入通信故障,并通过自定义的故障检测与隔离(FDI)算法自动识别故障来源。图形用户界面(GUI)可实时可视化生成、处理和调制后的信号,使该平台适用于嵌入式系统教学、通信实验及故障诊断研究。

系统架构

硬件设计

该硬件平台由两个嵌入式设备组成,通过UART串行接口连接。Arduino Pro Micro 负责生成三种不同的波形类型(正弦、方波和三角波),通过两个电位器控制信号的频率和幅度,并注入通信故障,如噪声、尖峰和信号丢失。

Raspberry Pi 4 Model B 以 115200 波特率通过 UART 接收生成的样本,执行信号处理和 AM 调制,运行故障检测与隔离(FDI)算法,并通过图形用户界面(GUI)显示结果。

这种硬件架构支持异构嵌入式系统之间的实时通信,同时为测试通信可靠性及故障诊断提供了灵活的环境。

软件设计

软件被划分为两个独立模块,分别运行在不同的嵌入式平台上。

Arduino 的固件生成正弦、方波和三角波,并持续采样两个电位器以控制信号的频率和幅度。在故障模式下,Arduino 会注入通信干扰,包括随机噪声、尖峰和暂时性信号丢失。树莓派软件通过UART接收采样数据,执行数字调幅(AM)调制,运行故障检测与隔离(FDI)算法,并使用Python和Matplotlib对所有处理后的信号进行可视化。该软件还可本地注入额外的故障,以区分传输故障和处理故障。

故障检测与隔离(FDI)

故障检测与隔离(FDI)算法会同时分析接收到的信号和处理后的信号,以判断是否发生故障并确定其起因。

故障可能源自Arduino的信号生成过程,也可能源自树莓派的信号处理过程。算法通过计算连续样本之间的平均绝对差值来评估信号的粗糙程度。如果接收到的信号本身已表现出异常的粗糙度,则将故障归类为由Arduino引起;否则,若经过本地处理后,处理后的信号变得显著更粗糙,则认为故障源于树莓派。这种简单而有效的方案无需复杂的机器学习模型或额外硬件,即可实现自动故障定位。

实验结果

系统在正常和故障运行条件下,均成功对正弦、方波和三角波进行了测试。实时可视化确认了波形生成和调幅(AM)调制的正确性。故障诊断与隔离(FDI)算法准确识别出故障是源自信号生成阶段的Arduino,还是信号处理阶段的树莓派。整个实验过程中,所提出的平台展现出可靠的通信能力、精确的故障定位以及稳定的实时性能。

代码

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

该项目是一个基于Arduino Uno和ESP-01(ESP8266)的WiFi连接温度监测器。它可读取温度和湿度,当温度超过25°C时会发出间歇性蜂鸣报警,并提供一个实时网页仪表盘,您可以通过网络中的任意浏览器访问该页...

关键字: Wi-Fi 仪表盘 Arduino ESP-01

使用低压微控制器控制高压设备,是学习电子学和嵌入式系统时最有用的技能之一。通过继电器模块,Arduino Uno 可以利用简单的数字输出来切换诸如灯、风扇、水泵及其他电器等负载。

关键字: 继电器 Arduino 树莓派

在这个项目中,你将构建一个双通道肌电图(EMG)游戏控制器,将前臂肌肉活动转换为键盘输入。通过使用DIY神经科学套件Pro,系统能够检测双前臂的肌肉收缩,并将其映射到不同的键盘按键,从而让你能够自然地操控和驾驶赛车游戏。

关键字: 双通道肌电图 Arduino 传感器

我们最近完成了一个项目,将嵌入式系统、定制硬件和移动开发整合到一个专注的设备中:一款完全通过智能手机控制的便携式音频播放器。客户希望这款设备能放置在教堂大厅,甚至用于健身房会员的定制自动售货机——它是一款低成本、耐用的设...

关键字: 嵌入式系统 音频播放器 ESP32

PSOC™ Edge E84 AI 开发套件是一款用于嵌入式和边缘人工智能应用的开发板。本指南将说明如何配置 Arduino IDE 以支持 PSOC™ Edge E84 AI 开发套件,并提供在该开发板上编译、上传和运...

关键字: 嵌入式 边缘人工智能 Arduino

大多数空气质量设备将有趣的部分隐藏在屏幕上的数字背后。而这个作品则恰恰相反:它将DFRobot Gravity ENS160气体传感器的读数,转化为Arduino UNO Q上13x8蓝光LED矩阵上的生动动画。走过它时...

关键字: 传感器 Arduino LED矩阵 STM32U585

嵌入式系统中的并发性允许多个任务在同一系统内运行。在本项目中,使用RT-Spark开发板上的定时器中断和任务调度机制来管理不同任务,并高效响应各种事件。

关键字: 嵌入式系统 定时器 RT-Spark开发板

引言:微控制器广泛应用于嵌入式系统中,用于控制输入和输出设备。GPIO引脚使微控制器能够与所使用的外部硬件进行通信,例如开关按钮、LED灯和显示屏(LCD)。

关键字: 微控制器 嵌入式系统 LED

在本项目中,您将学习如何使用Arduino Uno和Python构建一个低成本的多通道数据采集(DAQ)系统。该系统可实时采集多个通道的传感器数据,并自动将测量结果保存到CSV(逗号分隔值)文件中,便于在电子表格软件或其...

关键字: 数据采集 Arduino LM35传感器

厌倦了普通的不透明LED矩阵吗?在这个项目中,我将向你展示如何使用150颗WS2812B可寻址RGB LED,通过一块柔性透明PCB设计并制作出一个完全透明的15x10 LED矩阵。该PCB没有接地平面,因此在可见铜线的...

关键字: Arduino LED矩阵 柔性PCB WS2812B
关闭