Slides apresentação 12 erm

401 visualizações

Publicada em

Slides sobre os ensaios em MEA (Multielectrode Array ou matrizes de Multi Eletrodos), realizados na Universidade Federal de Uberlândia, em 29 de Janeiro de 2015.

Publicada em: Engenharia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
401
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Slides apresentação 12 erm

  1. 1. Equipamento para a captação e Registro dos sinais em MEA: estado atual e perspectivasatual e perspectivas Francisco Fambrini 26/01/2015
  2. 2. 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.
  3. 3. Diagrama de blocos do equipamento proposto
  4. 4. 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:
  5. 5. 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-Adjust 20k C2 1n C4 33n Te st Poi nt 1 G=6 ate 101 G=1,8 +5 V +5 V -5V -5VV3 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 100kR6 1k C2 1n C3 1u R7 1M R8 10k R9 15k C4 33n C5 22 0n R10 100kR11 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 polo - Fc=0,16Hz - High Pass Filter Low Pass Filter - 3 order HeadStage Amplifier - G=1+ 100K/Rg
  6. 6. 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
  7. 7. 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]
  8. 8. 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.
  9. 9. 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); }
  10. 10. 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 dasFunções são “caixas pretas”: não se tem acesso ao código-fonte das funções “built-in”
  11. 11. Aspecto da placa montada dentro da blindagem
  12. 12. 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
  13. 13. 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('%sn', datum); if (length(datum) > 0) m(i) = str2num(datum); else m(i) = 0; end end
  14. 14. 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
  15. 15. 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:
  16. 16. 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
  17. 17. 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/
  18. 18. 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:
  19. 19. Obrigado pela Atenção ! Dúvidas ? Meu e-mail:Meu e-mail: ffambrini@gmail.com Meu Blog: http://fdi-ffambrin.blogspot.com.br/

×