Gravity: 串口数据记录器

简介

Fermion: 串口数据记录器相比MicroSD卡 读卡器模块存储数据可以更方便的存储数据,不需要额外的代码,使用串口打印的方式就可以轻松的记录数据。
Fermion: 串口数据记录器最大支持32GB TF卡,适合长时间的存储数据。自带USB功能,连接电脑即可读取存储的文件,不用再寻找读卡器。通过指示灯可以更方便的观察数据写入情况,通过保存引脚,可以更简单的分文件存储数据。

注意:由于市面上的SD卡质量参差不齐,不能保证兼容所有SD卡,建议购买以下链接中的SD卡
闪迪16G SD卡
闪迪32G SD卡

V2.0版本对比V1.0版本升级

  • 支持TXT、CSV文件格式存储
  • 启动时间、运行稳定性大幅度提高
  • 支持定时新建文件存储,存储更灵活
  • 增加USB口,读取文件更方便

首次使用

  1. 对SD卡进行格式化
  2. 按下"Win+R"按键,然后输入“diskpart”进入命令符界面
  3. 输入“list disk”显示存储列表
  4. 输入“select disk X”(X为SD卡的磁盘编号)选中磁盘
  5. 输入“clean”清除磁盘分区信息
  6. 输入“convert mbr”将磁盘转换为MBR格式
  7. 输入“create partition primary”创建分区
  8. 输入“select partition 1”选择创建的分区
  9. 输入“format fs=fat32 quick”将磁盘快速格式化为FAT32

  10. 通过UART接口的电源给模块上电2S以上,使模块自动生成CONFIG.TXT文件。
  11. 检查CONFIG.TXT文件是否正常的生成,可通过修改CONFIG.TXT修改模块的参数。如果没有正常生成,请看常见问题

    4.将模块连接到主控串口即可正常存储数据。

配置文件参数

Baud: 串口通讯波特率选择(00对应2400波特率,01对应4800波特率),模块波特率与主控串口打印波特率匹配才能正常存储数据。

FIleNum: 下一次新建文件的文件序号(FileNum=0099,下一个生成的文件名为FILE0099.txt),文件序号自动累加,如果文件已经存在,则覆盖当前文件

FileFormat:文件存储格式,0-TXT 1-CSV

Time:定时自动新建文件,0-不定时新建文件存储 N-每N分钟新建文件存储数据[N:0~10080(一周)]

注意:
1.未生成CONFIG.TXT文件之前不要往模块串口发送数据。

2.不要同时连接USB和串口。

3.通过USB连接电脑,建议先弹出U盘再拔模块。

特性

  • 自带USB功能,无需读卡器
  • 支持多种波特率,兼容性强
  • 写入指示灯,便于观察数据写入情况
  • FAT32文件系统,最大支持32GB TF卡
  • 支持TXT、CSV文件格式存储
  • 支持定时新建文件存储,存储更灵活

应用场景

  • 离线环境数据采集
  • 产品调试抓log
  • 机器人,无人机调试
  • 产品老化测试,稳定性测试数据记录

技术规格

  • 供电电压:3.3V~5V
  • 工作电流:10mA
  • USB协议:USB 2.0
  • 工作温度范围:-20℃~65℃
  • 工作湿度范围:5%RH~85%RH
  • 产品尺寸:23x29mm

引脚说明

序号 丝印 功能描述
1 VCC/+ 电源正极
2 GND/- 电源地
3 RX/R UART接收
4 TX/T UART发送
5 S/SAVE 保存引脚/按键,保存当前文件,并新建一个文件用来存储接下来的数据,低电平保存

SD LED指示灯为模块与存储之间数据交互的指示灯,当有数据写入时灯闪烁。

使用教程

准备

  • 硬件
    • 1 x Arduino UNO控制板
    • 1 x Fermion: 串口数据记录器
    • 若干 杜邦线
  • 软件

接线图

样例代码1 - 写入数据

通过Serial.print向模块写入数据,每过一段时间保存一个文件

#define SPIN 6  //连接模块S引脚,低电平触发保存文件
uint16_t i = 0;

void setup(void)
{
  Serial.begin(115200);
  pinMode(SPIN, OUTPUT);
  digitalWrite(SPIN, HIGH);
}

void loop(void)
{
  Serial.println(String(i));
  i++;
  if((i % 10) == 0){
    digitalWrite(SPIN, LOW);
    delay(100);
    digitalWrite(SPIN, HIGH);
  }
  delay(300);
}

样例代码2 - 写入CSV格式数据

注意:在config.txt文件中,将FileFormat设置为1

uint16_t i = 0;
uint16_t j = 65535;

void setup(void)
{
  Serial.begin(115200);
  Serial.print("i,");
  Serial.println("j");
}

void loop(void)
{
  Serial.print(String(i)+",");
  Serial.println(String(j));
  i++;
  j--;
  delay(500);
}

效果如下:

样例代码3 - mind+写入数据

通过Serial.print向模块写入数据,每过一段时间保存一个文件

传感器RX接 UNO TX(1号引脚)

硬串口

效果如下:

软串口

扩展里面->功能模块->软串口

传感器RX 接UNO TX(6号引脚)

效果如下:

常见问题

Q: 模块上电时未能自动生产CONFIG.TXT文件。
A: 先确认是否使用UART接口的电源引脚进行供电,再检查存储的文件系统是否为FAT32。

Q: 快速向模块写入数据时SD灯不亮。
A: SD卡有10万次的擦写寿命,为保证SD寿命,模块写入数据后50ms左右或512个字节写入SD卡一次

Q: 模块什么时候进入U盘模式?什么是时候进入数据存储模式?
A: 使用USB主机连接模块时,模块进入U盘模式,此时不能往里存储数据,上电不会自动生产CONFIG.TXT文件和新的空白文件。其余情况模块进入数据存储模式,如果模块没有CONFIG.TXT文件将自动生成CONFIG.TXT文件和新的空白文件。

Q: 出现了不能删除的文件怎么解决?
A: 请格式化存储,再按照首次使用方法操作。

Q: 记录的数据乱码怎么解决?
A: 检查您打开的格式是否为UTF-8。此模块只能记录字符数据,如您写入原始数据或者hex数据,就会形成乱码。

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

DFshopping_car1.png DFRobot商城购买链接