通过提供关于您心脏电活动的准确和可靠信息,增强您的安全和健康福祉。
A
A
硬件概览
它是如何工作的?
ECG Click基于两个MCP609,这是Microchip生产的微功耗CMOS运算放大器。这些运算放大器具有单增益稳定、轨到轨输出摆幅、低偏移电压和输入偏置电流,设计用来防止当输入引脚超过供电电压时的相位反转。ECG Click具有七个模块的设计。它包括ESD、过压和过流保护(保护硬件和用户)、前置放大器和放大器、两个高通滤波器、一个低通滤波器和一个DRL电路。当心脏的电信号到达皮肤表面时,信号非常微弱,只有几毫伏。然而,这个弱信号还会因身体不同部位产生的肌肉活动而进一步受阻。此外,由于身体可以作为天线,周围环境中的电磁干扰也是另一个噪声源。板上的3.5mm手机插孔连接电缆/电极到Click板™。电极从皮肤收集
电压,之后信号被放大和过滤,然后通过mikroBUS™插座发送到主机MCU的模拟AN引脚。三个电极应放置在左臂、右臂和腹部左侧(心脏下方)、左腿上。ECG Click有一个跳线和一个微调电位器,用于设置输出电压以匹配将要使用的ADC的输入电压水平(推荐10位ADC - 12位)。作为参考,它使用MAX6106,这是Analog Devices生产的低成本、微功耗、低压降、高输出电流的电压参考。SMD(0805)跳线决定其输出电压范围。连接所有三个电极时,输出应为恒定电压(1.024V或2.048V,取决于跳线位置)。微调电位器用于调整增益。因此,如果将跳线设置为2.048位置(零点现在为1.024V),则增益将设置为使ECG波形在0-2.048V范围内。
如果将跳线设置为4.096位置(零点现在为2.048V),则增益将设置为使ECG波形在0-4.096V范围内。最终测量结果可以使用免费应用程序MikroPlot显示为心电图,这是一个免费的数据可视化工具(Windows)。这是一个简单的工具,帮助您可视化随时间记录的传感器数据,适用于生物信号(ECG、EEG、EMG)和环境数据记录(温度、湿度等)。该应用程序可以通过USB UART连接从微控制器接收数据集。这个Click板™只能在5V逻辑电压水平下操作。在使用具有不同逻辑电平的MCU之前,板必须进行适当的逻辑电压水平转换。然而,这个Click板™配备了一个包含函数和示例代码的库,可作为进一步开发的参考。
功能概述
开发板
32L496GDISCOVERY Discovery 套件是一款功能全面的演示和开发平台,专为搭载 Arm® Cortex®-M4 内核的 STM32L496AG 微控制器设计。该套件适用于需要在高性能、先进图形处理和超低功耗之间取得平衡的应用,支持无缝原型开发,适用于各种嵌入式解决方案。STM32L496AG 采用创新的节能架构,集成
了扩展 RAM 和 Chrom-ART 图形加速器,在提升图形性能的同时保持低功耗,使其特别适用于音频处理、图形用户界面和实时数据采集等对能效要求较高的应用。为了简化开发流程,该开发板配备了板载 ST-LINK/V2-1 调试器/编程器,提供即插即用的调试和编程体验,使用户无需额外硬件即可轻松加载、调
试和测试应用程序。凭借低功耗特性、增强的内存能力以及内置调试工具,32L496GDISCOVERY 套件是开发先进嵌入式系统、实现高效能解决方案的理想选择。
微控制器概述
MCU卡片 / MCU

建筑
ARM Cortex-M4
MCU 内存 (KB)
1024
硅供应商
STMicroelectronics
引脚数
169
RAM (字节)
327680
你完善了我!
配件
使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图

一步一步来
项目组装
实时跟踪您的结果
应用程序输出
1. 应用程序输出 - 在调试模式下,“应用程序输出”窗口支持实时数据监控,直接提供执行结果的可视化。请按照提供的教程正确配置环境,以确保数据正确显示。

2. UART 终端 - 使用UART Terminal通过USB to UART converter监视数据传输,实现Click board™与开发系统之间的直接通信。请根据项目需求配置波特率和其他串行设置,以确保正常运行。有关分步设置说明,请参考提供的教程。

3. Plot 输出 - Plot功能提供了一种强大的方式来可视化实时传感器数据,使趋势分析、调试和多个数据点的对比变得更加直观。要正确设置,请按照提供的教程,其中包含使用Plot功能显示Click board™读数的分步示例。在代码中使用Plot功能时,请使用以下函数:plot(insert_graph_name, variable_name);。这是一个通用格式,用户需要将“insert_graph_name”替换为实际图表名称,并将“variable_name”替换为要显示的参数。

软件支持
库描述
这个库包含了ECG Click驱动的API。
关键功能:
ecg_generic_read
- 这个功能用于读取ADC数据。ecg_default_cfg
- 这个功能执行ECG Click的默认配置。ecg_init
- 这个功能初始化ECG Click所需的所有必要引脚和外设。
开源
代码示例
完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio。 应用程序代码也可以在MIKROE的GitHub账户中找到。
/*!
* \file
* \brief Ecg Click example
*
* # Description
* This example demonstrates the use of ECG Click board.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initializes Click board.
*
* ## Application Task
* Reads ADC sends results on serial plotter.
*
*
* \author MikroE Team
*
*/
// ------------------------------------------------------------------- INCLUDES
#include "board.h"
#include "log.h"
#include "ecg.h"
// ------------------------------------------------------------------ VARIABLES
static ecg_t ecg;
static log_t logger;
static uint16_t read_adc;
static uint32_t time_read;
// ------------------------------------------------------- ADDITIONAL FUNCTIONS
void plot_res ( uint16_t plot_data, uint32_t plot_time )
{
log_printf( &logger, "%u,%u \r\n", plot_data, plot_time);
}
// ------------------------------------------------------ APPLICATION FUNCTIONS
void application_init ( void )
{
log_cfg_t log_cfg;
ecg_cfg_t cfg;
/**
* Logger initialization.
* Default baud rate: 115200
* Default log level: LOG_LEVEL_DEBUG
* @note If USB_UART_RX and USB_UART_TX
* are defined as HAL_PIN_NC, you will
* need to define them manually for log to work.
* See @b LOG_MAP_USB_UART macro definition for detailed explanation.
*/
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
ecg_cfg_setup( &cfg );
Delay_ms ( 200 );
ECG_MAP_MIKROBUS( cfg, MIKROBUS_1 );
ecg_init( &ecg, &cfg );
Delay_ms ( 200 );
time_read = 0;
}
void application_task ( void )
{
time_read++;
read_adc = ecg_generic_read( &ecg );
plot_res( read_adc , time_read);
Delay_ms ( 5 );
}
int main ( void )
{
/* Do not remove this line or clock might not be set correctly. */
#ifdef PREINIT_SUPPORTED
preinit();
#endif
application_init( );
for ( ; ; )
{
application_task( );
}
return 0;
}
// ------------------------------------------------------------------------ END
额外支持
资源
类别:生物识别