Índice:
- Etapa 1: Ferramentas e peças
- Etapa 2: monte seu contador Geiger
- Etapa 3: Testar eletricamente o contador Geiger
- Etapa 4: Fiação
- Etapa 5: Código
- Etapa 6: Serial.println Vs Serial.print
- Etapa 7: Medição de radiação de fundo J305
- Etapa 8: Medição J305 da radiação do sensor de fumaça
- Etapa 9: SBM-20
- Etapa 10: Conectando o Contador Geiger a um LCD
- Etapa 11: Contador Geiger com LCD
- Etapa 12: Arquivos
Vídeo: Contador Arduino DIY Geiger: 12 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Você encomendou um contador Geiger DIY e deseja conectá-lo ao Arduino. Você fica online e tenta duplicar como outros conectaram seus contadores Geiger ao Arduino apenas para descobrir que algo está errado. Embora seu contador Geiger pareça funcionar, nada funciona conforme descrito em DIY que você está seguindo ao conectar seu contador Geiger ao Arduino.
Neste Instructable, estarei abordando como solucionar alguns desses problemas.
Lembrar; monte e codifique o Arduino uma etapa de cada vez. Se você for direto para um projeto concluído e houver um fio ou linha de código faltando, pode levar uma eternidade para encontrar o problema.
Etapa 1: Ferramentas e peças
Caixa protótipo Usei uma caixa de bombons Ferrero Rocher.
Placa de ensaio pequena
LCD 16x2
Placa Arduino éter UNO ou Nano
Resistor 220 Ω
Potenciômetro 10 kΩ resistor ajustável.
DIY Geiger Counter Kit
Jumper Wires
Conector ou chicote de bateria
Osciloscópio
Alicate de ponta fina
Chave de fenda padrão pequena
Etapa 2: monte seu contador Geiger
Qualquer dano ao tubo Geiger; e seu contador Geiger não funcionará, então use a capa protetora de acrílico para evitar danos ao seu tubo Geiger.
Este manual é sobre como consertei o mesmo contador Geiger com um tubo Geiger quebrado e coloquei a tampa protetora de acrílico para evitar quebras no futuro.
www.instructables.com/id/Repairing-a-DIY-G…
Etapa 3: Testar eletricamente o contador Geiger
Primeiro, use a voltagem certa para a fonte de alimentação; o cabo USB fornece 5 volts DC direto do computador, no entanto, o suporte de 3 pilhas AA é para baterias alcalinas de 1,5 volts, perfazendo uma voltagem total de 4,5 volts. Se você usar baterias NI-Cd ou NI-MH recarregáveis de 1,2 volts, precisará de um suporte de bateria 4 AA para uma tensão total de 4,8 volts. Se você usar menos de 4,5 volts, o contador Geiger pode não funcionar como deveria.
Há muito poucos circuitos na saída dos contadores Geiger; então, enquanto o alto-falante fizer um som de tique-taque e o LED piscar, você deve obter um sinal no pino VIN.
Para ter certeza do sinal de saída; conecte um osciloscópio à saída conectando o lado positivo da ponta de prova do osciloscópio ao VIN e o lado negativo da ponta de prova do osciloscópio ao terra.
Em vez de apenas esperar a radiação de fundo para acionar o contador Geiger, usei amerício-241 de uma câmara de íons de detectores de fumaça para aumentar as reações dos contadores Geiger. A saída do contador Geiger começou em +3 volts e caiu para 0 volts toda vez que o tubo Geiger reagiu às partículas alfa e voltou a +3 volts um momento depois. Este é o sinal que você gravará com o Arduino.
Etapa 4: Fiação
Existem duas maneiras de conectar o contador Geiger ao seu Arduino e ao seu computador.
Conecte o GND no Arduino ao GND no contador Geiger.
Conecte o 5V no Arduino ao 5V no contador Geiger.
Conecte o VIN no contador Geiger ao D2 no Arduino.
Com alimentação independente conectada ao contador Geiger.
Conecte o GND no Arduino ao GND no contador Geiger.
Conecte o VIN no contador Geiger ao D2 no Arduino.
Conecte o Arduino ao seu computador.
Etapa 5: Código
Abra o IDE do Arduino e carregue o código.
// Este esboço conta o número de pulsos por minuto.
// Conecte o GND no Arduino ao GND no contador Geiger.
// Conecte o 5V no Arduino ao 5V no contador Geiger.
// Conecte o VIN no contador Geiger ao D2 no Arduino.
contagens longas sem sinal; // variável para eventos GM Tube
unsigned long previousMillis; // variável para medir o tempo
void impulso () {// dipanggil setiap ada sinyal FALLING di pino 2
contagens ++;
}
# define LOG_PERIOD 60000 // taxa de contagem
void setup () {// setup
contagens = 0;
Serial.begin (9600);
pinMode (2, INPUT);
attachInterrupt (digitalPinToInterrupt (2), impulso, FALLING); // define interrupções externas
Serial.println ("Contador inicial");
}
void loop () {// ciclo principal
currentMillis longo sem sinal = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
anteriorMillis = currentMillis;
Serial.println (contagens);
contagens = 0;
}
}
Em Ferramentas, selecione o Arduino ou outra placa que você está usando.
Em Ferramentas selecione a Porta e Com
Faça upload do código.
Assim que o código for carregado em Ferramentas, selecione Monitor Serial e observe o funcionamento do contador Geiger.
Procure por falhas. A única coisa sobre este código é que é um pouco tedioso, você deve esperar 1 minuto para cada contagem.
Etapa 6: Serial.println Vs Serial.print
Esta é uma das primeiras falhas que encontrei no código; portanto, preste atenção em seu código, “Serial.println (cpm);” e “Serial.print (cpm);”.
Serial.println (cpm); imprimirá cada contagem em sua própria linha.
Serial.print (cpm); parecerá um grande número imprimindo cada contagem na mesma linha, tornando impossível dizer qual é a contagem.
Etapa 7: Medição de radiação de fundo J305
A primeira é a medição da radiação de fundo, a radiação natural que já existe naturalmente. O número listado é o CPM (contagem por minuto), que é um total de partículas radioativas medidas a cada minuto.
A contagem média de fundo do J305 foi de 15,6 CPM.
Etapa 8: Medição J305 da radiação do sensor de fumaça
Não é incomum que um contador Geiger forneça a mesma contagem repetidamente, portanto, verifique com uma fonte de radiação. Usei a medição de radiação de Americium uma câmara de íons de um detector de fumaça. O sensor de fumaça utiliza Americium como fonte de partículas alfa que ionizam as partículas de fumaça no ar. Tirei a tampa de metal do sensor para que as partículas alfa e beta possam chegar ao tubo Geiger junto com as partículas gama.
Se tudo estiver bem, a contagem deve mudar.
Americium-241 de uma contagem média da câmara de íons de detectores de fumaça foi de 519 CPM.
Etapa 9: SBM-20
Este esboço do Arduino é uma versão modificada escrita por Alex Boguslavsky.
Este Sketch conta o número de pulsos em 15 segundos e o converte em contagens por minuto, tornando-o menos tedioso.
Código que adicionei “Serial.println (" Contador inicial ");”.
Código que mudei; “Serial.print (cpm);” para “Serial.println (cpm);”.
“#Define LOG_PERIOD 15000”; define o tempo de contagem para 15 segundos, mudei para “#define LOG_PERIOD 5000” ou 5 segundos. Não encontrei nenhuma diferença apreciável na média entre contar por 1 minuto, ou 15 segundos e 5 segundos.
#incluir
#define LOG_PERIOD 15000 // Período de registro em milissegundos, valor recomendado 15000-60000.
#define MAX_PERIOD 60000 // Período máximo de registro sem modificar este esboço
contagens longas sem sinal; // variável para eventos GM Tube
cpm longo sem sinal; // variável para CPM
multiplicador int sem sinal; // variável para cálculo de CPM neste esboço
unsigned long previousMillis; // variável para medição de tempo
void tube_impulse () {// subprocedimento para capturar eventos do Geiger Kit
contagens ++;
}
void setup () {// subprocedimento de configuração
contagens = 0;
cpm = 0;
multiplicador = MAX_PERIOD / LOG_PERIOD; // calculando o multiplicador, depende do seu período de registro
Serial.begin (9600);
attachInterrupt (0, tubo_impulse, FALLING); // define interrupções externas
Serial.println ("Contador inicial"); // código que eu adicionei
}
void loop () {// ciclo principal
currentMillis longo sem sinal = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
anteriorMillis = currentMillis;
cpm = contagens * multiplicador;
Serial.println (cpm); // código que eu mudei
contagens = 0;
}
}
A contagem média de fundo do SBM-20 foi de 23,4 CPM.
Etapa 10: Conectando o Contador Geiger a um LCD
Conexão LCD:
Pino K LCD para GND
Pino A do LCD para resistor de 220 Ω para Vcc
Pino D7 LCD para pino digital 3
Pino D6 LCD para pino digital 5
Pino D5 LCD para pino digital 6
Pino LCD D4 para pino digital 7
Habilitar LCD pino para pino digital 8
Pino R / W do LCD para aterrar
Pino RS LCD para pino digital 9
Pino VO LCD para ajustar de pot de 10 kΩ
Pin Vcc LCD para Vcc
Pino Vdd LCD para GND
Potenciômetro 10 kΩ resistor ajustável.
Vcc, Vo, Vdd
Contador Geiger
VIN para pino digital 2
5 V a + 5V
GND para aterrar
Etapa 11: Contador Geiger com LCD
// inclua o código da biblioteca:
#incluir
#incluir
#define LOG_PERIOD 15000 // Período de registro em milissegundos, valor recomendado 15000-60000.
#define MAX_PERIOD 60000 // Período máximo de registro sem modificar este esboço
#define PERIOD 60000.0 // (60 seg) período de medição de um minuto
CNT longo sem sinal volátil; // variável para contagem de interrupções do dosímetro
contagens longas sem sinal; // variável para eventos GM Tube
cpm longo sem sinal; // variável para CPM
multiplicador int sem sinal; // variável para cálculo de CPM neste esboço
unsigned long previousMillis; // variável para medição de tempo
dispPeriod long unsigned; // variável para medir o tempo
CPM longo sem sinal; // variável para medir o CPM
// inicializa a biblioteca com os números dos pinos da interface
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
void setup () {// setup
lcd.begin (16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print ("Contador Geiger");
atraso (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // Evento no pino 2
}
void loop () {
lcd.setCursor (0, 0); // imprime texto e CNT no LCD
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Se um minuto acabou
cleanDisplay (); // Clear LCD
// Faça algo sobre eventos CNT acumulados….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // Display CPM
CNT = 0;
dispPeriod = millis ();
}
}
void GetEvent () {// Obter evento do dispositivo
CNT ++;
}
void cleanDisplay () {// Limpar rotina de LCD
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
Etapa 12: Arquivos
Baixe e instale esses arquivos em seu Arduino.
Coloque cada arquivo.ino em uma pasta com o mesmo nome.
Recomendado:
Contador Geiger de trabalho com peças mínimas: 4 etapas (com imagens)
Contador Geiger de funcionamento com partes mínimas: Este é, até onde sei, o contador Geiger de funcionamento mais simples que você pode construir. Este usa um tubo SMB-20 Geiger de fabricação russa, acionado por um circuito elevador de alta tensão roubado de um mata-moscas eletrônico. Ele detecta partículas beta e gam
Contador Geiger DIY com um ESP8266 e uma tela sensível ao toque: 4 etapas (com imagens)
DIY Geiger Counter com ESP8266 e touchscreen: ATUALIZAÇÃO: NOVA E MELHORADA VERSÃO COM WIFI E OUTROS RECURSOS ADICIONADOS AQUI projetei e construí um contador Geiger - um dispositivo que pode detectar radiação ionizante e alertar seu usuário sobre níveis perigosos de radiação ambiente com todos os muito familiar clicando em não
Contador Geiger novo e aprimorado - agora com WiFi !: 4 etapas (com imagens)
Contador Geiger novo e aprimorado - agora com WiFi !: Esta é uma versão atualizada do meu contador Geiger a partir deste Instructable. Era bastante popular e recebi uma boa quantidade de feedback de pessoas interessadas em construí-lo, então aqui está a sequência: O GC-20. Um contador Geiger, dosímetro e radiação m
Contador Geiger PKE Meter: 7 etapas (com imagens)
Contador Geiger PKE Meter: Há muito tempo que desejo construir um contador Geiger para complementar a minha Câmara de Nuvem Resfriada Peltier. Não há (espero) realmente nenhum propósito útil em possuir um contador Geiger, mas eu simplesmente amo os velhos tubos russos e pensei que seria
Contador Arduino Geiger DIY: 6 etapas (com imagens)
DIY Arduino Geiger Counter: Olá a todos! Como vai? Este é o projeto How-ToDo, meu nome é Konstantin, e hoje quero mostrar a vocês como fiz este contador Geiger. Comecei a construir este dispositivo quase no início do ano passado. Desde então, passou por 3 comp