19
Equipamento para a captação e Registro dos sinais em MEA: estado atual e perspectivas atual e perspectivas Francisco Fambrini 26/01/2015

Slides apresentação 12 erm

Embed Size (px)

Citation preview

Page 1: Slides  apresentação 12 erm

Equipamento para a captação e

Registro dos sinais em MEA: estado

atual e perspectivasatual e perspectivas

Francisco Fambrini

26/01/2015

Page 2: Slides  apresentação 12 erm

Proposta deste protótipo de 1 canal

- 1 único canal de amplificador, com ganho ajustável entre 4 e 10.000 vezes

- 1 único canal de amostragem

- Taxa de Amostragem: 1 KHz (usando o MATLAB) ou até 200 KHz (ajustável

por software) usando-se o terminal de comunicação serial Hércules,

disponível gratuitamente em:

http://www.hw-group.com/products/hercules/index_en.html

- Todos os códigos-fonte abertos a todos os participantes (pode-se mexer à

vontade nos códigos). Códigos-fonte bastante simples, devido à presença

de um único canal.

- Um código-fonte para captação e registro de dados escrito em MATLAB,

capaz de registrar quanto tempo for necessário.

Page 3: Slides  apresentação 12 erm

Diagrama de blocos do equipamento proposto

Page 4: Slides  apresentação 12 erm

Pré-Amplificador

• Baseado no circuito integrado INA 333, do fabricante Texas Instruments.

• Ganho ajustável através de um potenciômetro, variando entre 2 e 101 vezes

• Opcionalmente, uma chave fixa o ganho no valor 11 vezes.

• Diagrama do pré-amplificador:

Page 5: Slides  apresentação 12 erm

Amplificador e Filtros

• Baseado no c.i. TL084 da Texas Inst (4 amplificadores operacionais em 1 só chip).

• Ganho ajustável entre 2 e 101 vezes

• Frequencia de Corte do Filtro Passa-Baixas=2 KHz

• Frequencia de Corte do Filtro Passa-Altas=5 Hz

• Filtros de Primeira Ordem

Gain -Ad just 20k C2 1n C4 33n

Test Po in t 1 G=6 ate 101

G=1,8

+5V

+5V

-5V -5V V3 2,5

V4 2,5 +

Input Signal 1

R2 1M

RG

+

- V-

Ref Out

V+ RG

U1 INA333

R1 2,2k

R3 2,2k

C1 1u

R5 100k R6 1k

C2 1n

C3 1u

R7 1M

R8 10k R9 15k

C4 33n

C5 220n

R10 100k R11 120k

Output -

+ + 3

2 1

4

11

U2 TL074

-

+ + 3

2 1

4

11

U3 TLC074

C6 10n

P1 100k R4 1k

Fambrini & Saito MEA Amplifier - 1 channel

1 po lo - Fc=0,16Hz - H igh Pass Filter

Low Pass Filter - 3 order

HeadStage Ampl ifie r - G=1+ 100K/Rg

Page 6: Slides  apresentação 12 erm

Aspecto do Painel Frontal do Amplificador e Pré

Ganho do TL 084

Varia de 2 até 101 Varia de 2 até 101

Ganho do INA333

Ganho ajustável pelo potenciômetro

Ganho fixo = 11

Page 7: Slides  apresentação 12 erm

Conversor A/D e comunicação USB

- Baseado no Microcontrolador ARM Córtex M4 modelo TM4C123G da Texas Inst.

- Foi utilizada uma placa Launchpad TIVA Stellaris, já faz a comunicação USB (tudo o

necessário). Programável com a Interface “ENERGIA”, semelhante ao Arduino.

- Entrada A0 (canal 0) do conversor AD: pino PE3 da Launchpad

- Conversor AD de 12 bits: 2^12 = 4096

- O sinal varia em números inteiros no intervalo entre 0 e 4095 (“valor lido”)

- Tensão de Referência do Conversor A/D: 3,3 volts

- Resolução do AD = 3300 mV / 4096 = 805,66 uV

- Equação de Conversão para ler a tensão real: Y = 0.8056 . (“valor lido”) [mV]- Equação de Conversão para ler a tensão real: Y = 0.8056 . (“valor lido”) [mV]

Page 8: Slides  apresentação 12 erm

Software usado para programar a TIVA

• Foi usada a IDE Energia, que permite programar em C++ Wiring, mesma linguagem do

Arduino. Não é a melhor opção para programar. Não otimiza o código ASM gerado.

• A melhor opção seria programar o ARM usando-se linguagem Assembly, habilitar o DMA

(Direct Memory Acess) e carregar os dados em um buffer na memória RAM antes de enviar

por blocos para o PC.

• Assembly: linguagem dificil e trabalhosa, demanda muitas horas de trabalho.

Page 9: Slides  apresentação 12 erm

Código usado no microcontrolador ARM

void setup() {

// inicia a comunicação serial 9600 bits por segundo:

Serial.begin(9600);

}

// loop infinito:// loop infinito:

void loop() {

// Lê a entrada analógica no pino A0

int sensorValue = analogRead(A0);

// print out the value you read:

Serial.println(sensorValue);

}

Page 10: Slides  apresentação 12 erm

Características da IDE Energia

• Compilador e IDE são gratuitas: http://energia.nu/download/

Linguagem muito fácil de aprender e usar (C++ Wiring);

Mesma sintaxe e mesmas instruções do Arduino;

Desvantagens:

Código não é otimizado;

Não permite acesso ao DMA (Direct Memory Acess);

Funções são “caixas pretas”: não se tem acesso ao código-fonte das Funções são “caixas pretas”: não se tem acesso ao código-fonte das

funções “built-in”

Page 11: Slides  apresentação 12 erm

Aspecto da placa montada dentro da blindagem

Page 12: Slides  apresentação 12 erm

Amplificador de áudio• Os sinais provenientes do Amplificador podem ser amplificados por um amplificador de áudio

(opcional) baseado no c.i. TODA 2002 e apilcados a um alto-falante, para se ter uma idéia dos

“barulhos produzidos pelos neurônios”. Pode-se “ouvir os neurônios da MEA” sehouver

interesse em sinais audíveis.

Amplificador de Audio

Page 13: Slides  apresentação 12 erm

Software de Comunicação com o PC

Foi escrito um script bastante simples em MATLAB:

close all

clear all

clc

SerialPort='COM14'; % Seleciona a Porta USB na qual o Microcontrolador ARM Cortex M4 é conectado

N = 10000; % Numero de Amostras

KeepRunning = 1;

m=zeros(1,N);

while KeepRunning

s = serial(SerialPort);

set(s,'BaudRate',9600);

fopen(s);fopen(s);

KeepRunning = input( 'Digite 0--> Sair 1--> Prosseguir):'); %Permite Finalizar o programa

if(KeepRunning==0) end % encerra o loop de execução

for i = 1:N

datum = fscanf(s, '%s');

fprintf('%s\n', datum);

if (length(datum) > 0)

m(i) = str2num(datum);

else

m(i) = 0;

end

end

Page 14: Slides  apresentação 12 erm

Continuação do Script

% Fecha a Porta Serial

fclose(s);

delete(s);

clear s;

y = 0.8056 * m; %Multiplica pelo valor da Resolução: Res=0.805664 mV, para corrigir a escala

figure(1)

hLine = plot(y(1:end));

ylim([-3000 3000]); % Mede de -3000 mV até + 3000 mV

set(hLine,'YData',y);

title ('Registro de Sinais Eletricos em MEA - Francisco Fambrini')

xlabel('Numero da Amostra')

ylabel(' Tensão em mV');end

Page 15: Slides  apresentação 12 erm

Problemas com o MATLAB• Não se consegue sincronismo de dados em velocidades maiores do que 9600 bps

• Leitura muito limitada pela baixa velocidade de execução do Matlab

• Este script permite ler 300.000 amostras, a uma taxa de 1KHz, 5 minutos de gravação, mas

somente a 9600 bps de comunicação serial.

• Não permite mostrar o gráfico na tela em tempo real.

Após o registro dos dados, permite plotar o gráfico, conforme foto abaixo:

Page 16: Slides  apresentação 12 erm

Outra proposta de software

1) Fazer a comunicação serial em 115200 bps entre a TIVA e o PC via USB

usando-se um programa de comunicação de terminal serial, o programa

Hercules, disponivel gratis em:

http://www.hw-group.com/products/hercules/index_en.html

2) Uma vez recebido os dados, salvar o arquivo LOG gerado;

3) Converter este arquivo.log para o formato TXT usando o bloco de notas,

arquivo.txt

4) Importar este arquivo para o MATLAB

5) Abrir o arquivo no MATLAB, plotar gráficos, realizar FFT, enfim, fazer toda a

análise necessária usando-se o MATLAB

Page 17: Slides  apresentação 12 erm

Ainda outra proposta de softwarePara visualizar o sinal em tempo real, usar softwares de osciloscópio

disponível gratuitamente em:

http://www.oscilloscope-lib.com/

Page 18: Slides  apresentação 12 erm

Visualizar sinais em tempo real

• Pode-se visualizar sinais em tempo real simplesmente conectando-se

osciloscópios verdadeiros no equipamento, que possui saída própria para

isso:

Page 19: Slides  apresentação 12 erm

Obrigado pela Atenção !

Dúvidas ?

Meu e-mail:Meu e-mail:

[email protected]

Meu Blog:

http://fdi-ffambrin.blogspot.com.br/