第一章 数据采集概述

大家好,我是老张。干嵌入式数据采集这行有十几年了。今天咱们聊聊数据采集这件事。

很多人问我,数据采集到底是什么?说白了,就是把现实世界里的物理信号——温度、压力、振动、电流——变成计算机能看懂的数字。嗯,就这么简单。

什么是数据采集

数据采集,英文叫 Data Acquisition,简称 DAQ。我习惯把它理解成「翻译官」的工作。

你想想看,传感器感受到的是模拟信号——连续变化的电压或电流。但计算机只认0和1。数据采集系统就是干这个翻译活的:把模拟信号转成数字信号。

我在项目中遇到过最典型的例子:一个温度传感器输出0-10V的电压,对应0-100℃。数据采集卡每秒读这个电压1000次,每次读完后换算成温度值。这就是数据采集。

核心要点:数据采集 = 感知 + 转换 + 记录

数据采集系统的基本组成

一个完整的数据采集系统,说白了就这几大块。我画了张图,你看一眼就明白了。

数据采集系统基本组成 传感器 感知物理信号 信号调理 放大/滤波/隔离 ADC 模数转换 处理器 数据处理/存储 热电偶、PT100 压力传感器等 运放、滤波器 隔离放大器 ADS1256 AD7606等 STM32、FPGA 树莓派等 各模块作用: • 传感器:把温度、压力、振动等物理量变成电信号 • 信号调理:把传感器信号调整到ADC能接受的范围(放大、滤波、隔离) • ADC:把模拟电压转换成数字量(分辨率、采样率是关键参数) • 处理器:读取数字量,做运算、存储、通信

这张图我画了好几次才满意。每个模块都有它的脾气,我一个个说。

1. 传感器

传感器是整个系统的「眼睛」和「耳朵」。选传感器,我建议你记住三个字:准、稳、快。

  • 准:精度够不够?0.1℃还是1℃?
  • 稳:长时间漂移大不大?
  • 快:响应速度跟得上你的采样率吗?

我在项目中遇到过最头疼的事:选了个便宜的温度传感器,结果漂移严重,每天要校准一次。后来换了PT100,虽然贵点,但省心多了。

2. 信号调理

这一步很多人容易忽略。传感器出来的信号往往很微弱——几毫伏甚至微伏级。直接送ADC?不行,噪声比信号还大。

信号调理主要干三件事:

  1. 放大:把小信号放大到ADC的满量程范围
  2. 滤波:滤掉高频噪声和工频干扰
  3. 隔离:保护后端电路,防止高压串入

我的经验:信号调理的增益不要设太大。增益越大,噪声也越大。我一般控制在100倍以内,剩下的靠软件滤波。

3. ADC(模数转换器)

ADC是核心中的核心。选ADC主要看两个参数:分辨率和采样率。

分辨率 位数 量化台阶 典型应用
低 8-10位 256-1024 开关量检测、简单控制
中 12-14位 4096-16384 工业自动化、数据记录
高 16-24位 65536-16777216 精密测量、音频、振动分析

举个例子:一个12位的ADC,参考电压5V,那么它能分辨的最小电压是5V/4096 ≈ 1.22mV。够不够用?看你测什么了。

4. 处理器

处理器负责读取ADC的数据,做运算、存储、通信。常用的有:

  • MCU:STM32、ESP32,适合中等速度的数据采集
  • FPGA:适合高速采集,比如100MHz以上的采样率
  • ARM+Linux:树莓派、RK3588,适合需要网络通信和复杂处理的场景

数据采集的应用领域

数据采集的应用,说实话,比你想的广得多。我随便列几个:

工业自动化

工厂里的温度、压力、流量、液位,全是数据采集的活。我记得有个项目,给化工厂做罐区监测,200多个点,24小时不间断采集。一旦某个罐的温度异常升高,系统立刻报警。

环境监测

空气质量监测站、气象站、水文监测。PM2.5、风速风向、水位高度,这些数据怎么来的?全是传感器+数据采集系统。

医疗设备

心电图、脑电图、血压监护仪。这些设备对数据采集的要求极高——采样率要够快,精度要够高,还不能有延迟。

科研实验

材料拉伸试验、风洞实验、粒子物理实验。科研用的数据采集系统,采样率动不动就是几MHz甚至GHz。我曾经参与过一个振动分析项目,采样率设到100kHz,数据量一天就几百GB。

避坑指南:我曾经在一个项目中,采样率设得太高,结果SD卡写入速度跟不上,数据全丢了。后来加了环形缓冲区才解决。记住:采样率不是越高越好,够用就行。

小结

数据采集,说白了就是三个字:采、转、存。

  • 采:传感器感知物理量
  • 转:ADC把模拟信号转成数字
  • 存:处理器把数据存下来或者发出去

嗯,第一章就聊这么多。记住这张框架图,后面的章节我们会一个一个模块深入讲。

可可精品资料库