背景:
对于一些需要快速验证传感器性能,或者某些实验需要快速采集数据并且需要直观显示成波形或者图片, 搭建一个简易方便的数据采集分析系统是有必要的.
本文主要介绍以下几个方面:
数据采集整体框架.
Pc使用python设定相关参数: fs, 采样点数 采样时间 etc..
MCU使用自带ADC 根据pc设定的采样率fs进行采集后通过uart将数据回传.
Python可以直接对数据简单处理,或者保存成csv方便导入matlab进行更进一步数据分析.
Ex1: ADC规则组同时采集 ADC dual channel mode cfg.(strict sample multiple channel at same time)
Ex2: ADC采样率自动配置 adc sample rate automatic cfg.
Py & mcu 自定简易通信协议. eg:
Py send "#f=1000’, "#sc=1024’ (此处表示采样率1000hz, 采样点数1024)
Mcu 解析uart接收的命令. 配置参数后进行采样. 在采样完成的DMA传输完成IRQ里(使用DMA可以提高最大采样速率)将数据上传upload.
串口助手抓到的数据格式(字符串, 假设我这里是2个通道同时采样)
采集adc值 + 换行
adc1 , adc2 + ’ ’
123,333
124,334
120,330xxx,xxx
Python实现简易串口读写与存储.
1. 环境搭建: (打开命令行cmd.exe, 输入以下命令安装serial模块)
pip install serial
2. 开始写代码: 打开串口, 读写操作
包含头文件 import serial
importserial
ser= serial.Serial('com19&