神念科技TGAM模块组装测试

上一篇:TGAM开发手册翻译

本文是介绍TGAM模块的使用

准备

  • TGAM模块一个
  • 电池一些
  • 蓝牙模块两个(主机和从机)
  • 单片机一个(C51、Arduino、STM32、树莓派等等)
  • arduino开发软件

TGAM技术参数

来自:neurosky

TGAM模块

  • 能直接连接干接触点,不像传统医学用的湿传感器使用时需要上导电胶
  • 单EEG脑电通道有3个接触点:EEG(脑电采集点)REF(参考点)GND(地线点)
  • 上电后若接触点连续四秒没有采集到脑电或连续七秒收到差的脑电信号,本智慧模块会通过“信号质量强度”发出信号差的警告,提醒用户调整传感器
  • 先进的噪音过滤技术,能抗拒日常生活中环境里的各种干扰
  • 低能耗,适合便携式消费产品的电池供电的设备
  • 3.3伏供电下最大消耗为15毫安
  • 原始脑电数据以512 Hz输出

测量

  • 原始脑波信号
  • 处理和输出α,β等脑波波段数据
  • 处理和输出Neurosky(神念科技)获得专利技术的eSense专注度和放松度指数以及未来开发的其他数据
  • 嵌入式的信号质量分析功能能警告接触不良或是完全没接触的异常状态
  • 眨眼侦测

物理规格

  • 规模尺寸(最大)2.79cm x 1.52cm x 0.25cm
  • 重量(最大)130mg

规格说明

  • 采样率: 512Hz
  • 频率范围:3Hz-100Hz
  • 静电保护:4kV接触放电; 8kV隔空放电
  • 最大消耗功率:15毫安 @ 3.3伏
  • 运行电压:2.97~3.63伏

UART(串口)标准输出接口

  • 1200, 9600, 57600 输出波特率
  • 8 bits
  • No parity
  • 1 stop bit

通用参数

specification

I/O脚

board-layout

Header P1 (Electrode)

Pin1: EEG电极 “EEG”

Pin2: EEG Shield

Pin3: 接地极

Pin4: 参考盾牌

Pin5: 参考电极 “REF”

Header P4 (Power)

Pin1: VCC “+”

Pin2: GND “-”

Header P3 (UART/Serial)

Pin1: GND “-”

Pin2: VCC “+”

Pin3: RXD “R”

Pin4: TXD “T”

注:为方便起见,""中的标签表示在PCB上

可配置默认设置

TGAM1的配置垫可用于更改两个默认设置,这些设置应用于芯片上电。配置垫位于TGAM1的背面,如图3.1中的红色和蓝色框所示。在TGAM1上电后,BR0和BR1Pad配置输出波特率和数据内容。M垫配置陷波滤波器频率

pad

Figure 3.1: TGAM1’s配置板

br0

正常输出模式包括以下输出:劣质值、脑电值、注意力值和冥想的价值。

图3.2显示了B1和B0垫的放大图片。第一排焊盘为GND,第三排焊盘为VCC…上电行为后的TGAM1输出波特率和数据内容取决于上表中描述的PAD设置。例如,图3.1中模块中的填充选项具有BR1和BR0连接到具有正常输出模式的9600波特的GND垫。

bpads

通过UART接口发送命令,模块上电后,波特率也可以配置。命令列于下表。当模块被重置时,波特率设置将恢复到由BR0和BR1设置的默认设置。

output

正常输出模式包括以下输出:质量差值、脑电值、注意值和冥想值。

mpad

如前所述,TGAM1的陷波滤波器频率可以配置为M配置垫。它被用来选择50Hz或60Hz,以减少交流噪声SPEIEC到一个目标市场。如图3.3所示,顶部焊盘为GND,底部焊盘为VCC。将M垫绑在VCC垫上选择60Hz,并将GND垫绑在50Hz陷波滤波频率上。与BR0、BR1配置不同的是,M配置没有等效的软件配置。这些配置垫最常见的配置选项如图3.1所示,为9600Baud、正常输出和60Hz陷波滤波频率配置TGAM1。对于其他填充物选项,请与NeuroSky Sales联系以获得正确的订购代码。

当然,TGAM还有一些CODE表示不同的特性:

code

原理图

图4.1中的机械图纸显示了TGAM1的尺寸和主要部件。右上角和左下角有两个安装孔。它们可以用来将TGAM1固定到您的系统外壳中。

drawing

Figure 4.1: 原理图 & 厚度

Connecting

connect

硬件连接表

TGAM蓝牙
5vVCC
3.3ven(非state引脚)
GNDGND
TXRX
RXTX

蓝牙

TGAM模块只通过蓝牙发送数据。

首先准备arduino一块,不联蓝牙,写入程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <SoftwareSerial.h> 

SoftwareSerial BT(10, 11);
char val;

void setup() {
Serial.begin(9600);
Serial.println("BT is ready!");
// HC-05 9600
BT.begin(9600);
}

void loop() {
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}

if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}

将代码编译写入arduino UNO中,然后连接蓝牙。

程序中的Serial.begin波特率我们不用动,它跟HC-05与其他蓝牙模块配对传输时的波特率是两个概念,此处的波特率只是Arduino给HC-05写指令用的波特率,不影响配对。

con

上图为arduino和蓝牙接线图

我使用的是arduino uno和类hc-05蓝牙(产品每天都可能更新,所以型号无所谓,但是要获取蓝牙对应的参数手册)。

我的蓝牙为HC-05主从一体机,类HC-05从机JDY-30。

arduino和蓝牙连接为:

arduinobluetooth
5VVCC
GNDGND
Pin10TXD
Pin11RXD
3.3VEN

这里Pin10和Pin11的引脚可换,但要和程序里SoftwareSerial(rxPin, txPin)对应。rxPin是软串口接收引脚,txPin是软串口发送引脚,保证单片机发送对芯片接收,单片机接收对芯片发送。

EN/KEY接3.3V是为了用AT+INIT初始化命令,这个命令只有EN/KEY引脚置高电平时才能使用。只有初始化了之后,才能用AT+INQ搜索其他蓝牙设备。

HC-05有两种工作模式,普通模式和AT模式。准备完程序并且插好线后,按住HC-05模块角落的黑色小按钮,同时给Arduino开发板通电,这时会看到蓝牙模块的LED灯大概2秒闪烁一下,证明蓝牙模块已经进入AT模式,可以编写指令了。

波特率为4(9600)
默认密码为1234

所有命令不区分大小写。

首先是从机部分,从机只能被动的被搜索和连接。JDY-30只支持8条指令,当然我们也用不着那么多。具体见模块手册。

  • 接通EN进入AT模式
  • 发送AT\r\n测试是否正常,如果回OK就是正常。
  • 发送AT+PIN获取当前密码,发送AT+PIN0000设置密码为0000
  • 发送AT+LADDR获取当前地址,地址无法修改,我的JDY-30从机地址为:AA:BB:CC:11:22:33,但是使用的时候有点不一样,NAP:UAP:LAP=2:1:3共计6位,那么AA:BB:CC:11:22:33使用的时候为AABB:CC:112233
  • 发送AT+NAME获取当前蓝牙名字
  • 发送AT+BAUD获取当前波特率,发送AT+BAUD7设置波特率为38400

打开蓝牙参考手册,搜索连接蓝牙的步骤为:

  • 按下HC-05的按钮或者EN脚上电进入AT模式
  • 发送AT\r\n如果回OK就表示AT模式正常
  • 发送AT+ROLE=?查询本机模式
  • 发送AT+ROLE=1\r\n设置本蓝牙为主机模式
  • 发送AT+RNAME?aabb:cc:112233看返回的值是否与上面AT+NAME返回的一样。
  • 发送AT+INIT进行SPP初始化(只初始化一次)
  • 发送AT+UART=38400,0,0设置波特率、停止位、校验位
  • 发送AT+PAIR=aabb:cc:112233进行蓝牙配对(密码要正确)
  • 发送AT+LINK=aabb:cc:112233进行蓝牙连接

如果没有错误,两个蓝牙显示灯应该常亮(即正常蓝牙连接的状态)。否则检查波特率和密码是否设置正确。

之后重新连接arduino和蓝牙,烧录程序(连接完成,之后蓝牙会按照设置自动连接,设置完成不需要发送指令只接收即可)

HC-05的TXD接Uno板的0->RX引脚,RXD接TX->1引脚

1
2
3
4
5
6
7
8
9
10
11
12
char serialData;  
void setup() {
Serial.begin(38400);
}

void loop(){
if( Serial.available() > 0 ){

serialData = Serial.read();
Serial.print(serialData);
}
}

arduino的usb接口端连接着PC的usb端口,我们可以在电脑上以串口的方式读取数据。

具体数据解析和软件开发见下一篇。

下一篇才是重点:MindViewer-TGAM模块数据图形化软件

参考资料


神念科技TGAM模块组装测试
https://feater.top/tgam/setup-and-installation-of-tgam-module/
作者
JackeyLea
发布于
2020年12月28日
许可协议