Upload
chico-fambrini
View
75
Download
0
Embed Size (px)
Citation preview
Equipamento para a captação e
Registro dos sinais em MEA: estado
atual e perspectivasatual 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
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
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
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]
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:// 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 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);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 softwarePara 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:Meu e-mail:
Meu Blog:
http://fdi-ffambrin.blogspot.com.br/