Equipamento para a captação e Registro dos sinais em MEA: estado atual e perspectivas

September 1, 2017 | Autor: Francisco Fambrini | Categoria: Electronic Engineering, Bioengineering, Electronics and Instrumentation
Share Embed


Descrição do Produto

Equipamento para a captação e Registro dos sinais em MEA: estado atual e perspectivas

Francisco Fambrini 26/01/2015

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.

Diagrama de blocos do equipamento proposto

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:

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 Te st Po i nt 1

G=6 a te 1 01 Gai n -Ad just 20k

R 6 1k

R1 2 ,2 k

G=1,8

C2 1n

C4 3 3n R11 1 20k

R5 10 0k

R 10 10 0k C6 1 0n

-5 V

V3 2 ,5

-5V

11 2

RG

U1 INA3 33

C 3 1u

1

C 1 1u 3

Out RG

P1 10 0k

2

V-

R4 1k V+

R2 1 M

R9 15 k

3

+4

+

+5 V

U2 TL 074 R7 1M

Ou tp ut

1

R8 1 0k

+ U3 TLC 07 4

+ 4

Re f

+

-

11

C5 22 0n

+5 V

V4 2,5 + In pu t Sig nal 1

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

R3 2 ,2 k

L ow Pass Filter - 3 orde r

H ea dStage Ampl ifie r - G=1+ 1 00 K/R g

Fambrini & Saito MEA Amplifier - 1 channel

Aspecto do Painel Frontal do Amplificador e Pré

Ganho do TL 084 Varia de 2 até 101

Ganho do INA333 Varia de 2 até 101

Ganho fixo = 11

Ganho ajustável pelo potenciômetro

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]

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.

Código usado no microcontrolador ARM void setup() { // inicia a comunicação serial 9600 bits por segundo: Serial.begin(9600); } // 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); }

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 “built-in”

Aspecto da placa montada dentro da blindagem

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

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); 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

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

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:

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

Ainda outra proposta de software Para visualizar o sinal em tempo real, usar softwares de osciloscópio disponível gratuitamente em: http://www.oscilloscope-lib.com/

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:

Obrigado pela Atenção !

Dúvidas ? Meu e-mail: [email protected] Meu Blog: http://fdi-ffambrin.blogspot.com.br/

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.