Visualizador Geiger Miller

Participantes:

Halysson Carvalho Silva Junior

Resumo do projeto:

O Visualizador Geiger Muller é um projeto que integra áreas do conhecimento com o objetivo de realizar a detecção nódulos cancerígenos durante exames médico

Descrição do projeto:

A utilização de  partículas radioativos na medicina é um procedimento comum para identificar nódulos cancerígenos ou para tratar pacientes com câncer. Na identificação o médico nuclear administra uma dose de contraste, composto basicamente de glicose dissolvida em baixa proporção de um elemento radioativo  (Gálio 67 , Tecnécio 99, Tálio 201), injetado na corrente sanguínea do  paciente. Após a circulação do contraste no corpo naturalmente as células iniciam o processo absolvição para fornecimento de energia para as atividade humanas (respirar, andar, falar etc),  porém quando há a presença de células cancerígenas o consumo aumenta e concentra-se nas regiões onde os nódulos estão alocadas para  suprir a produção de mais células. Devido a contração de contraste nos nódulos cancerígenos estas regiões começam a emanar radiação, desta forma os exames como: Tomografia por emissão de pósitrons, Gamagrafia com gálio ou Cintilografia óssea utilizam-se desse processo para avaliar a doença do ponto de vista bioquímico, molecular e farmacológico.

No momento atual há diferentes equipamentos para identificar e no diagnosticar  nódulos cancerígenos, a fim de nortear o profissional da saúde para tomadas de decisões e sugerir tratamentos eficientes. Em contrapartida para realizar esse ciclo de análise em apenas um paciente requer treinamento e mão de obra especializada por parte do corpo clínico, outra desvantagem é o elevados custos de manutenção e aquisição por parte dos centros médicos. Visto isso, este projeto propõe torna-se um potencial equipamento médico portátil para detecção e visualização de nódulos cancerígenos com o objetivo de auxiliar profissionais da saúde e possibilitar o acesso de mais paciente ao equipamentos em polos de médico de menor porte.

Ao longo desta documentação será apresentado na seção de Histórico de Desenvolvimento  os princípios de funcionamento dos tubos Geiger-Muller, nas seções de Hardware e do Firmware a descrição detalhada de cada componente eletrônico e a “visualização” dos resíduos radioativos  captados pelo detector Geiger-Muller, vale ressaltar que o protótipo de  teste não tive nenhum tipo de contato com qualquer pessoa além do desenvolvedor deste projeto, desta forma respeitando e seguindo as recomendações exigidas pelos órgãos de saúde e o Conselho de Ética.

Histórico do desenvolvimento:

O contador Geiger-Muller (GM) é o instrumento de medição para identificar o nível de contaminação radioativa emitido por qualquer tipo de partícula (alpha, beta ou gama). Esse dispositivo compõe-se de três partes: um tubo cilíndrico, comercialmente vendido como Tubo Geiger-Muller, o qual possui um par de eletrodos (positivo e negativo) e preenchido internamente por um gás inerte (Hélio ou Argônio), uma fonte de alimentação estável para elevar o valor da tensão de saída em relação a entrada (booster convert) e por fim um contador de pulsos para registrar as leituras e informar o valor absoluto de contagens por minutos  (CPM) ou contagens por segundos (CPS), sendo estas contagens definidas de acordo com o material em estudo.

Ao submeter o tubo GM a uma ambiente radioativo,  as moléculas do gás interno são ionizadas formando uma “avalanche” de  iônios que são conduzidas através do campo elétrico uniforme, gerado pela fonte de alimentação, até aos eletrodos e produzindo uma pequena corrente elétrica (cargas em movimento). O resultado final deste fenômeno é um pulso de gatilho  para acionar o circuito de contagem nos intervalos ocorridos e após esse pulso a neutralização das cargas preparando assim o próximo ciclo de contagens. Contudo esse processo leva em consideração o comportamento de um tudo ideal, na prática após a detecção registrada leve-se um certo tempo para haver o equilíbrio das cargas e realizar os registros de pulsos, esse fenômeno conhecido como “Dead Time” . Durante esse tempo o tubo GM mantem-se inoperante e a atividade medida não está sendo registrada, esse efeito pode ser prejudicial em casos onde a taxa de amostragem seja elevada, por exemplo contagem por segundo.

Figura 1 – Comportamento do tubo Geiger Muller

 Os detectores Geiger Muller possuem grandes vantagens para a utilização em ambientes médico devido ao baixo custo de aquisição aliado a durabilidade, fácil de utilizar e portátil. Já as desvantagens concentração em requisitos técnicos e para situações especificas que são a indiferença de tipos de partículas , não conseguem identificar o nível de energia da radiação ionizante e possui uma baixa eficácia em detecção em densas áreas de contaminação radioativa. Naturalmente os equipamento de instrumentação possuem uma pequena margem de erro que pode ser corrigido com tratamento via hardware e/ou via software para entregar intervalos de captação mais próximo do real.

Hardware:

Compreendendo o fenômeno físico a prototipação torna-se clara e objetiva  assim como a integração dos circuitos para realizarem as contagens de pulsos e envia-los para a placa Franzininho WiFi. Na montagem do projeto os circuitos foram dispostos em bloco a fim de organizar e garantir o funcionamento de cada componente. De acordo o datasheet do Tubo Geiger Muller M4011, tubo cilíndrico de vidro, a tensão de operação para realizar a identificação de partículas radioativas variar entre 450v – 650v  em corrente continua, desta formar utilizou-se de um modulo elevador de alta tensão com entrada de 5 volts e saída de 600v,  esse módulo é normalmente vendido como :”High Step Up DC-DC” . Após garantir uma fonte estável a próxima etapa é a aquisição dos pulsos, para isso utilizou-se uma topologia simples utilizando o transistor (2n3904) devido aos limites de operação e para funcionar como chave, na base do transistor possui um divisor de tensão para preservar os níveis de tensão recomendados pelo fabricante e em paralelo para resistor de 470k ohm um capacitor de 22pF para reduzir ruídos e oscilações devido a captação do tubo.

Figura 2 – Tubo Geiger Muller M4011

Na captação dos pulsos, o chaveamento assíncrono do transistor fecha o circuito e aciona um segundo pulso para o pino 2 do LM 555, definido como TRIGGER no esquemático. Neste segundo bloco o 555 esta na topologia monoestável criando o intervalos de pulsos de  38 milissegundos, criando assim ‘janelas” de leituras para realizar contagens de pulsos precisos além de evitar captações durante efeito do Dead Time, pois neste processo o tubo está retomando o equilibro das cargas elétricas.

Após o tratamento do sinal  na segunda etapa do circuito a saída do LM 555  aciona um octoacplador, o qual tem a função de isolar entre os blocos de captação de pulso com a GPIO da placa Franzininho e proteger contra surtos de tensão, neste mesmo ponto foi inserido um LED para visualizar as captações dos pulsos instantâneos, caso o leitor ou leitora deseje outro tipo de feedback no projeto pode-se adicionar um buzzer para ter um retorno sonoro e criar aquele famoso som dos detectores Geiger Muller em filmes e séries.

Na identificação dos movimentos do tubo, utilizou-se o módulo MPU 6050 devido as suas características e recursos em apenas um chip, este dispositivo pode interagir com algoritmos de processamentos para captação nove eixos cartesianos e suas rotações entre si, outro recurso é a comunicação serial I2C (Inter-Integrated Circuit) por onde acessa os sensores de acelerômetro, giroscópio e o sensor de temperatura, contudo não será utilizado  para a aplicação. O modulo MPU 6050 foi montado próximo a ponta do tubo com o objetivo de acompanhar as rotações e as aceleração momentâneas, enviando estas leituras a Franzininho e após serem tratadas enviadas via serial para interagir com um simples algoritmo de rastreamento.

Figura 3 -Esquemático completo do projeto

Software/Firmware:

O código do Firmware foi desenvolvido na plataforma Arduino possuindo uma estrutura clara e direta com comentário que irão auxiliar no entendimento do programa. Para realizar o registro dos valores de aceleração e giro do modulo MPU6050 é necessário acrescentar a biblioteca “I2C.h” e a “MPU6050.h” no cabeçalho do código. Para instalar a biblioteca é necessário acessar o repositório no GitHub (link) e seguir as etapas mostradas no README. Tanto o projeto do Firmware quanto o projeto o Software estarão disponíveis num repositório público (link) para clonar ou até mesmo para o publico em geral contribuir. Seguindo estas orientações a próxima etapa será apresentar as principais funções de código do Firmware a fim de integrar o conhecimento visto nas seções anteriores.

Após a inclusão dos arquivo de cabeçalho as próximas linha de código são exclusivas para: definições, criações de objetos e as variáveis globais, com isso  inicializar o projeto no setup() com a comunicação i2c “Wire.begin(I2C_SCL, I2C_SDA) “, lembrando que na chamada desta função é necessário implementar os parâmetros visto que a IDE nativamente colocaria em outra GPIO, ao fim da do protocolo i2c será realizada a calibração do MPU6050, também será feito as configuração das GPIOs do tubo GM e do pino de interrupção do próprio MPU 6050 todo esse processo estará dentro da função “confiMCU()“. Avançando no código o loop do programa realizar duas rotina uma para atualização das leitura do MPU e a outra a contagem de pulsos captados. Segue a lista de funções e suas respectivas atribuições:

  • void get_teapot(void) – mostra o formato usada pela InvenSense teapot
  • void get_accel_world(void) – mostra a acelaração da gravidade (força g) no três eixos com apresentado na Figura 4;
  • void get_accel(void) – mostra a acelaração da gravidade com os offset configurados na calibração do MPU;
  • void get_quartenion(void) –  mostra o valor dos ângulos do quartenion [w,x,y,z]
  • void dmpDataReady(void) – verifica se o pino de interrupção foi acionado e muda o valor da flag de false para ;
  • void eventTube(void) – realiza as leituras digitais e incrementa uma variável de contagem;
  • void dataProcess(void) – realiza a integração dos valores lidos a cada 100 milissegundos e envia a soma dos 5 intervalos para uma variável global ;
  • uint16_t update_cps(void) – realiza a média dos valores lidos nos intervalos de 500 milissegundos e retorna o valor destas contagens de pulsos;

 

Figura 4- Lendo os valores do Acelerômetro

O Processing é um software gratuito utilizado para prototipação de programas que necessita de recursos visuais para expor em eventos ou até mesmo montar um novo produto em cima daquelas telas. A linguagem de programação utilizada nesse projeto foi o Java, contudo as novas atualizações do software possui suporte para Python. Outra vantagem dessa ferramenta é sua interface amigável semelhante a própria IDE do Arduino, caso deseje mais informações acesse o site : processing.org . Seguindo para o código fonte do projeto, o software possui suporte a comunicação serial entre o computador e a placa Franzininho isso pode ser observado na parte inferior da figura 5, o qual a porta serial utilizada pela placa (COM28). Ao pressionar o botão play, no canto superior direito da imagem, abre-se uma outra tela que começará a rodar o programa.

Figura 5 – Tela Inicial do Processing durante a execução do programa

Figura 6 – Protótipo montado na protoboard

Abaixo foram realizados alguns testes para verificar as contagens com 5 tubos Geiger Muller diferentes, a fim verificar o comportamento das contagens instantâneas. Criou-se uma pequena case impressa em 3D para alocar a placa de circuito impresso como também os módulos utilizados no projeto.

Todo instrumento de medição precisa de uma referencia para se basear quando é posto em teste, com este projeto no foi diferente, desta forma foram o tubo Geiger Muller foi testado em um laboratório apropriado a fim de garantir a segurança integridade do desenvolvedor deste projeto. Abaixo é mostrado um vídeo do comportamento do tubo em contato com outros isótopos radioativos.

Referências:

Ao final deste projeto fica os agradecimento a equipa do Embarcados, Mouser e o Instituto Newton C. Braga pelo apoio durante essa jornada, o qual trouxe novas oportunidades de crescimento pessoal e profissional. Também fica as referências de estudo e pesquisa para quem deseja aprender sobre essas técnicas e sobre os fenômenos radioativos.

  • https://www.cpp.edu/~pbsiegel/bio431/texnotes/chapter4.pdf
  • https://spark.iop.org/geiger-muller-tube
  • http://www.oncoguia.org.br/conteudo/exames-de-medicina-nuclear/6798/842/
  • https://www.newtoncbraga.com.br/index.php/mais/revista-incb-eletronica/18530-revista-incb-eletronica-n-5.html
  • https://www.embarcados.com.br/circuito-integrado-555/