Índice:

Termômetro de tubo Nixie controlado por Arduino: 14 etapas
Termômetro de tubo Nixie controlado por Arduino: 14 etapas

Vídeo: Termômetro de tubo Nixie controlado por Arduino: 14 etapas

Vídeo: Termômetro de tubo Nixie controlado por Arduino: 14 etapas
Vídeo: Nixie clock by Arduino | Simplest design 2024, Novembro
Anonim
Termômetro de tubo Nixie controlado por Arduino
Termômetro de tubo Nixie controlado por Arduino

Anos atrás eu comprei um monte de tubos IN-14 Nixie da Ucrânia e eu os tinha por aí desde então. Sempre quis usá-los para um dispositivo personalizado e então decidi finalmente abordar este projeto e construir algo que utiliza esta forma quase antiga de exibir dígitos, mas por agora eu não queria construir um relógio de tubo Nixie (pensei que foi uma coisa meio clichê a se fazer e, por enquanto, estou farto de projetos sofisticados de relógios modernos), então pensei: Por que não construir um termômetro para meu quarto que possa ser ativado com palmas? Ativei o aplauso para que não ficasse ligado o tempo todo, porque achei isso um grande desperdício de energia e também não queria que iluminasse o ambiente, principalmente durante a noite.

Os tubos Nixie são controlados por um Arduino, que também é responsável por ler a temperatura do conhecido sensor de temperatura DHT-11.

Esta é uma cópia reduzida da minha série original lançada no meu site. Dê uma olhada nele, se você estiver interessado em outros artigos técnicos e projetos que eu ainda não editei para o Instructables.

Etapa 1: tubos Nixie e alta tensão

Tubos Nixie e alta tensão
Tubos Nixie e alta tensão

Os tubos Nixie são tubos catódicos frios preenchidos com um gás específico. Além disso, eles contêm um ânodo comum (ou cátodo) e cátodos (ou ânodos) separados para cada dígito ou caractere que podem exibir (ver fig. 1.1).

No meu caso, os tubos têm um ânodo comum e os dígitos são cátodos separados. Ao contrário de outros tubos daquela época (transistores, diodos, …) os tubos Nixie geralmente não precisam ser aquecidos para funcionar corretamente (daí o nome: tubo catódico frio).

A única coisa que eles exigem é uma voltagem bem alta, normalmente entre 150 e 180 Vcc. Este é normalmente o principal problema ao manusear esses dispositivos de exibição porque significa que você precisará de uma fonte de alimentação personalizada ou circuito elevador e controladores, que são capazes de ligar e desligar os cátodos sem usar muitas linhas GPIO.

Etapa 2: Conversor Step-up de 12 V para 170 V DC

Conversor Step-up de 12 V a 170 V DC
Conversor Step-up de 12 V a 170 V DC

Vamos começar criando de alguma forma a voltagem necessária para fazer os tubos brilharem. Felizmente, a válvula Nixie típica precisa de alta voltagem, mas corrente muito baixa, o que significa que é muito fácil e barato construir esse conversor.

Tenha cuidado ao usar este circuito e altas tensões em geral. Eles não são um brinquedo e levar um tiro dói muito na melhor das hipóteses e pode matar você na pior das hipóteses! Sempre desligue a fonte de alimentação antes de trocar / fazer manutenção no circuito e certifique-se de usar uma caixa apropriada, para que ninguém toque nela acidentalmente quando estiver em uso!

Usei o conhecido circuito integrado MC34063 para o conversor elevador. Este pequeno IC combina tudo que você precisa para qualquer tipo de conversor de comutação. No entanto, em vez de usar o transistor embutido do IC, decidi usar um transistor externo, o que ajudou a manter o IC frio e também me permitiu ter um consumo de corrente maior na saída. Além disso, como era surpreendentemente difícil encontrar os valores certos para todos esses componentes para obter uma saída de 170V, desisti após alguns dias de cálculos e testes (o máximo que obtive de 12V foi 100V) e decidi não reinventar a roda. Em vez disso, comprei um kit do eBay, que segue basicamente o esquema desta folha de dados com alguns ajustes (ver fig. 2.1. Também adicionei descrições à imagem).

Etapa 3: controlando os tubos com um Arduino

Controlando os tubos com um Arduino
Controlando os tubos com um Arduino

Então, como você viu antes, as válvulas requerem alta voltagem para ligar. “Então, como você pode ligar e desligar as válvulas com um microcontrolador, como um Arduino?”, Você pode perguntar.

Existem algumas rotas alternativas que você pode seguir para atingir esse objetivo. Por exemplo, drivers de tubo Nixie dedicados. Você ainda pode obter novos estoques antigos e ICs usados, mas podem ser difíceis de encontrar e podem ser caros e não espero que sejam mais fáceis de encontrar no futuro, porque eles não são mais produzidos.

Então, eu não vou usar um driver de tubo Nixie. Em vez disso, vou usar transistores e decodificadores binários para decimais, de modo que não precise usar 10 linhas GPIO por tubo nixie. Com esses decodificadores, vou precisar de 4 linhas GPIO por tubo e uma linha para selecionar entre dois tubos.

Além disso, para que eu não precise alternar entre as válvulas o tempo todo com uma alta frequência, usarei flip-flops (que precisarão de uma linha GPIO adicional para reinicialização) para reter a última entrada pelo tempo que for necessário (Veja a Fig. 3.1, clique aqui para o circuito de controle completo em alta resolução).

Etapa 4: Considerações sobre o projeto

Ao projetar este circuito, encontrei decodificadores com R / S-Flip-Flops integrados, que ainda estão sendo produzidos (por exemplo, o CD4514BM96). Mas, infelizmente, não consegui obtê-los rapidamente, pois o prazo de entrega era de duas semanas e eu não queria esperar tanto tempo. Portanto, se seu objetivo é fazer um PCB pequeno (ou se deseja ter um pequeno número de CIs diferentes), então você definitivamente deve escolher esse chip, em vez de usar flip-flops externos.

Existem também variantes invertidas desses decodificadores. Por exemplo, o CD4514BM965 é a variante invertida do IC mencionado acima, onde o número selecionado será baixo em vez de alto, o que não é o que queremos neste caso. Portanto, preste atenção a esse detalhe ao fazer o pedido de suas peças. (Não se preocupe: uma lista de peças completa será incluída mais tarde neste Instructable!)

Você pode usar qualquer tipo de transistor para o seu array, desde que as classificações correspondam à tensão e ao consumo de corrente de suas válvulas. Também há CIs de matriz de transistores disponíveis, mas, novamente, não consegui encontrar nenhum que fosse classificado acima de 100 V ou que estivesse rapidamente disponível.

Etapa 5: a matriz de transistor

The Transistor Array
The Transistor Array

Na etapa 3, não mostrei a matriz de transistores para manter os gráficos simples e de fácil compreensão. A Figura 5.1 mostra o conjunto de transistores ausente em detalhes.

Como você pode ver, cada saída digital do decodificador é conectada à base de um transistor npn por meio de um resistor limitador de corrente. Isso é tudo muito simples.

Apenas certifique-se de que os transistores que você usa podem suportar uma tensão de 170 V e uma corrente de 25 mA. Para descobrir qual deve ser o valor do seu resistor de base, use a calculadora vinculada no final deste Instrutível em "Leituras adicionais".

Etapa 6: Lendo a temperatura

Lendo a temperatura
Lendo a temperatura
Lendo a temperatura
Lendo a temperatura

Você já deve ter ouvido falar do sensor combinado de temperatura e umidade DHT-11 (ou DHT-22) (ver fig. 6.1). A única diferença entre este sensor e o DHT-22 é a precisão e a faixa de medição. O 22 tem uma faixa maior e melhor precisão, mas para medir a temperatura ambiente, o DHT-11 é mais do que suficiente e mais barato, embora só possa fornecer resultados inteiros.

O sensor requer três conexões: VCC, GND e uma única linha para comunicação serial. Basta conectá-lo à fonte de tensão e conectar o único fio para comunicação com um pino GPIO do Arduino. A ficha técnica sugere a adição de um resistor pull-up entre o com-line e o VCC, de modo que a linha de comunicação fique em um estado alto, quando não usada (Ver fig. 6.2).

Felizmente, já existe uma biblioteca para o DHT-11 (e um monte de bibliotecas bem documentadas para o DHT-22), que cuidará da comunicação entre o Arduino e o sensor de temperatura. Portanto, um aplicativo de teste para esta parte é bastante curto:

Etapa 7: Complete o Arduino Sketch

Então, depois que as leituras dos sensores foram feitas, a última etapa foi pegar as informações dos sensores e exibir a temperatura com os tubos Nixie.

Para ligar um certo número em uma válvula, você tem que transmitir um código de 4 bits para o decodificador, que ligará o transistor correto. Além disso, você também precisa transmitir um bit que indica qual dos dois tubos você deseja definir agora.

Decidi adicionar um R / S-Latch bem na frente de cada entrada do decodificador. Para aqueles de vocês, que não sabem, como funciona uma dessas travas, aqui está uma explicação rápida:

Basicamente, ele permite que você armazene um bit de informação. O latch pode ser SET e RESET (daí o nome R / S-Latch, também conhecido como S / R-Latch ou R / S-Flip-Flop). Ao ativar a entrada SET do latch, a saída Q é definida como 1. Ao ativar a entrada RESET, Q torna-se 0. Se ambas as entradas não estiverem ativas, o estado anterior de Q é retido. Se ambas as entradas forem ativadas ao mesmo tempo, você terá um problema, porque a trava é forçada a um estado instável, o que basicamente significa que seu comportamento será imprevisível, portanto, evite esse estado a todo custo.

Portanto, para exibir o número 5 no primeiro (à esquerda) e o número 7 no segundo tubo Nixie, você deve:

  • RESET todas as travas
  • Ative o tubo esquerdo (envie 0 pela linha EN)
  • Defina as entradas do decodificador (D, C, B e A): 0101
  • Defina D, C, B e A todos como 0, de modo que o último estado seja retido (isso não precisa ser feito se ambos os tubos exibirem o mesmo número)
  • Ative o tubo certo
  • Defina as entradas do decodificador (D, C, B e A): 0111
  • Defina D, C, B e A todos como 0, de modo que o último estado seja mantido

Para desligar os tubos, você pode transmitir um valor inválido (como 10 ou 15). O decodificador então desligará todas as saídas e, portanto, nenhum dos transistores disponíveis será ativado e nenhuma corrente fluirá através do tubo de Nixie.

Você pode baixar o firmware completo aqui

Etapa 8: Odering o PCB

Odering o PCB
Odering o PCB
Odering o PCB
Odering o PCB
Odering o PCB
Odering o PCB

Eu queria combinar tudo (exceto o circuito elevador) em uma placa de circuito impresso, o que acho que deu muito certo (veja a fig. (8.1).

Meu principal objetivo era manter o tamanho do PCB o menor possível, mas ainda fornecer algum espaço, onde pudesse ser montado no gabinete. Eu também queria usar componentes SMD, para que pudesse melhorar minha técnica de soldagem e eles também ajudassem a manter o PCB fino para que o case personalizado não tivesse que ser grande e volumoso (ver fig. 8.2).

Devido ao uso de componentes SMD, a maioria das conexões teve que ser feita no lado do componente. Tentei usar o mínimo de vias possível. A camada inferior realmente possui apenas as linhas GND, VCC e + 170V e algumas conexões que tiveram que ser feitas entre pinos diferentes do mesmo IC. Essa também é a razão pela qual usei os dois ICs DIP-16 em vez de suas variantes SMD.

Você pode baixar os arquivos de design do PCB e os esquemas EAGLE aqui.

Como este é um design minúsculo com tolerâncias e traços muito pequenos, era importante encontrar um bom fabricante para as placas de circuito impresso para que tivessem um bom desempenho e funcionassem corretamente.

Decidi encomendá-los na PCBWay e não posso estar mais satisfeito com o produto que me enviaram (ver fig. 8.3).

Você pode obter um orçamento instantâneo para seus protótipos online, sem a necessidade de registro. Se você decidir fazer o pedido: Eles também têm este prático conversor on-line que converterá os arquivos EAGLE para o formato gerber correto. Mesmo que EAGLE também tenha um conversor, eu gosto muito de conversores online de fabricantes, porque assim você pode ter 100% de certeza de que não haverá problemas de compatibilidade com a versão gerber.

Etapa 9: Solução de problemas

Solução de problemas
Solução de problemas

Quando testei pela primeira vez meu PCB recém-soldado, nada funcionou. Os tubos não exibiam absolutamente nada (os decodificadores atingiram um valor> 9) ou os números aleatórios permaneceriam ligados constantemente ou piscariam, o que parecia bom, mas era indesejável neste caso.

No começo, culpei o software. Então eu vim com este testador Nixie para Arduino (veja a fig. 9.1).

Este script permite que você insira um número de um pino GPIO (0-8) cujo estado você deseja alterar. Em seguida, pergunta pelo estado. Ao inserir o pino número 9, as travas são reiniciadas.

Então, continuei meus testes e fiz uma tabela de verdade com todas as entradas possíveis para A, B, C e D. Notei que os números 4, 5, 6 e 7 não podiam ser exibidos com nenhum dos dois tubos. Além disso, eles reagiriam de maneira diferente à mesma combinação de entradas.

Eu imaginei que deveria haver um problema elétrico também. Não consegui encontrar nenhum problema técnico no design, mas então pensei em algo que aprendi há muito tempo (mas nunca tive problemas desde então): Fluxo pode ser condutor. Isso pode não ser um problema para aplicações digitais normais e de baixa tensão, mas parece que era um problema aqui. Então limpei a placa com álcool e depois ela se comportou bem.

Tipo de. Outra coisa que notei: a parte que usei no EAGLE ao criar meu layout de PCB estava incorreta (pelo menos para meus tubos). Meus tubos parecem ter uma pinagem diferente.

Apenas algumas coisas para se ter em mente quando seu circuito não funcionar imediatamente.

Etapa 10: um caso personalizado

Uma caixa personalizada
Uma caixa personalizada
Uma caixa personalizada
Uma caixa personalizada
Uma caixa personalizada
Uma caixa personalizada

Depois que todo o resto foi resolvido, eu queria construir um bom caso para abrigar meu circuito. Felizmente, eu tinha um monte de madeira sobrando do meu projeto de wordclock, que eu queria usar para construir uma grade por dentro (veja a fig. 10.1).

Construí o caso usando as seguintes medidas:

Quantidade Medidas [mm] Descrição
6 40 x 125 x 5 Parte inferior, superior, frente e verso
2 40 x 70 x 5 Pequenas peças laterais
2 10 x 70 x 10 Peças estruturais no interior (Ver fig. 8).
2 10 x 70 x 5 Peças estruturais na tampa (Ver fig. 11).

Depois de cortar as peças, coloquei-as juntas para criar a caixa mostrada na fig. 10,2.

A Figura 10.3 mostra o caso de um ângulo diferente.

A parte superior da caixa é exatamente igual à parte inferior, apenas sem as paredes e com partes estruturais menos altas (ver fig. 10.4). Ele atua como uma tampa e pode ser retirado para fazer a manutenção dos componentes internos. O PCB será montado na tampa com os dois tubos saindo da caixa.

Depois de ficar satisfeito com a forma como tudo se encaixa, simplesmente colei todas as partes e deixei secar por algumas horas.

Você deve estar se perguntando como fixei o PCB na tampa quando não há parafusos visíveis na parte superior. Simplesmente fiz um furo para o parafuso na parte estrutural da tampa e, em seguida, fiz um escareador para a cabeça do parafuso entrar (ver fig. 10.5).

Etapa 11: Concluindo a construção

Concluindo a construção
Concluindo a construção
Concluindo a construção
Concluindo a construção

Depois que o PCB principal foi montado na tampa, todos os outros componentes simplesmente tiveram que ser colocados na caixa, o que pode ser visto na fig. 11.1.

Como você pode ver, tentei organizar os cabos da melhor forma que pude e acho que ficou muito bom. Tudo se encaixa perfeitamente no case, como você pode ver na fig. 11,2.

Eu também adicionei um DC-Jack ao case (e fiquei um pouco louco com a cola quente lá). Mas desta forma é possível alimentar o termômetro com qualquer carregador de telefone genérico e um cabo adequado. No entanto, você também pode adicionar uma bateria de 5 V, se quiser.

Etapa 12: peças usadas nesta construção

Para a eletrônica:

Quantidade produtos Preço Detalhes
1 DHT-11 4, 19€ Comprei de uma loja cara. Você pode obtê-los por menos de 1 $ na China.
2 CD4028BM 0, 81€ Decodificador
2 74HCT00D 0, 48€ NAND
1 74HCT04D 0, 29€ Inversor
1 Pinheader 0, 21€ 2x5 pinos
1 Terminal de parafuso 0, 35€ 2 conexões
20 SMBTA42 0, 06€ npn-Transistor
20 Resistor SMD 0, 10€ 120K
2 74LS279N 1, 39€ R / S-flip-flops
1 PCB 4, 80€ Peça aqui
2 IN-14 Nixies 2, 00€
1 Conversor Step-up 6, 79€

Você também precisará de algum tipo de microcontrolador. Usei um Arduino Pro Micro.

Para o caso:

Quantidade produtos Preço Detalhes
N / D. Madeira ~2€ Veja acima
4 Parafusos M3x16 0, 05€
4 Nozes M3 0, 07€
1 garrafa Cola de madeira 1, 29€
1 lata Tinta para madeira 5, 79€

Etapa 13: Conclusão

Conclusão
Conclusão
Conclusão
Conclusão

Estou muito feliz com o resultado desta construção. Pela primeira vez, consegui cortar as peças de madeira com precisão e também não me esqueci dos orifícios de montagem para o PCB. E também parece magnífico (veja a fig. 13.1).

Além disso, foi interessante trabalhar com válvulas e altas tensões em geral e há alguns pontos a serem considerados ao fazê-lo.

Concluindo, eu diria que é bom, que temos maneiras mais convenientes de exibir números hoje, mas por outro lado, não há nada comparável ao brilho e aparência geral dos tubos nixie, que eu realmente gosto de olhar, especialmente, quando está escuro (veja a fig. 13.2).

Espero que você tenha gostado deste instrutível. Se você fez isso, dê uma olhada no meu site para mais artigos e projetos interessantes!

Etapa 14: Atribuições, fontes e outras leituras

Leituras adicionaisMC34063 Detalhes do aplicativo - ti.comMC4x063 Datasheet - ti.comNixie tube driver IC - tubehobby.comDHT-11 Biblioteca Arduino - arduino.ccA Transistor como interruptor - petervis.comTeoria do resistor de base, fórmulas e calculadora online - petervis.com

Fontes de imagem [Fig. 1.1] Tubos Nixie IN-14, coldwarcreations.com [Fig. 2.1] Circuito step-up, auto-desenhado, mas retirado de ebay.com [Fig. 6.1] Sensor de temperatura DHT-11 - tinytronics.nl

Recomendado: