A mesmíssima interferência
Durante meu estágio na fábrica, resolvi levar o lenço conversor comigo e olhar no osciloscópio o que realmente acontece na saída. Para minha surpresa, a interferência não foi na saída do conversor, mas em princípio na fonte de alimentação. Quando o nível de PWM mudou de baixo para alto, uma forte queda de tensão foi observada ao longo da linha de 5 volts, de cerca de 1-2 volts, e quando o estado mudou de alto para baixo, houve um salto de cerca de 1,5 - 2,5 volts. E todas essas pulsações estavam na frequência do PWM. Quando alimentado diretamente pela bateria, nada mudou. Sobre isso, decidi nunca mais usar esse tipo de conversores em meus dispositivos (especificamente, se você precisar aumentar a tensão mais de 2 vezes). Também houve recomendações para substituir o transistor de efeito de campo por um bipolar,mas minhas tentativas de encontrar algo com um ganho alto (cerca de 300), em um pacote smd e com uma voltagem de cerca de 450-500 volts não tiveram sucesso, isso se refere ao uso de um transistor de efeito de campo, que abre totalmente a 10 volts.
Transferir firmware para um dispositivo ativo
Para ser sincero, não pensei que teria problemas, porque tudo funcionou bem na placa de ensaio (e quando fiz uma placa para a primeira versão em uma tela de sete segmentos, estava tudo bem), e não houve problemas após o firmware.
Na verdade, apenas a tela e o menu funcionaram, mas o pwm, ADC, temporizadores e interrupções se recusaram a funcionar. Novamente, tudo funcionou bem no Arduin. Como resultado, reorganizando a inicialização dos temporizadores, consegui atingir a operação normal do dispositivo.
A necessidade de remover o framework Arduino. Sim, o arduino é ruim, o que eu já entendi mais de uma vez, e no meu código no momento apenas os métodos millis e micros são usados neste framework. Estou tentando superar tudo isso e alguns sucessos já foram alcançados. Além disso, o arduina ainda vive no meu código por causa da biblioteca de exibição, que eu já derrotei sem usar o arduina, e logo ela irá embora, tk. qualquer quantidade de memória que eu precisar será adicionada. Além disso, usar C ++ em vez de C na programação de microcontroladores não é a melhor prática, portanto, este ponto também precisará ser refeito.
O que há de novo no firmware?
Do principal que foi adicionado / corrigido:
- Atrasos removidos da indicação de áudio, o que aumentava muito a velocidade e a precisão das leituras.
- , .
- . .
- .
- , . , .
- .
- , ( 30 255 /).
- . , , .
- ( ) .
O que mudou no PCB?
- O conversor boost e o conversor linear de 3,3 volts foram conectados diretamente da bateria.
- Mudou o divisor de tensão na bateria de 10 kOhm para 220 kOhm.
- O transistor de efeito de campo foi movido do amplificador emissor para um divisor de tensão para remover a tensão da bateria.
- Resistência extra de pull-up removida.
- Alguns componentes dip são substituídos por smd.
O que há no firmware?
Além do que listei anteriormente, o firmware contém:
- Três modos de operação: pesquisa, medição (como no dosímetro Pripyat) e partículas / s
- Cálculo do erro de medição no modo de pesquisa. Existe um algoritmo avançado e um mais simples. Selecionado no arquivo de configuração.
- Configurações para: sbm-20, sbm-19, beta-1-1
- Plotagem (sim, não é novo, mas parece bom).
- Modo de suspensão (consumo de energia reduzido, o dispositivo é ligado segurando o botão ou por alarme). Não concluído no momento.
- Indicação de som e luz e sua configuração
- Russo e Inglês (instalado na configuração com firmware)
O arquivo de configuração descreve o que pode ser desabilitado e quanta memória será liberada.
Navegação e menus
O dispositivo é controlado por dois botões. O esquerdo é reiniciado e o direito é definido.
Para entrar no menu, você deve segurar ambos por 1 segundo.
A navegação pelo menu é feita pressionando rapidamente os botões. Selecionando o item necessário - segurando o botão set. Cancelar ou Voltar - segure o botão de reinicialização.
O menu implementa a maior parte do que eu queria, mas se não fosse pelas restrições de memória e porta do gpio, a capacidade de construir mapas (sd + gnss) seria adicionada.
Modo de pesquisa
Acho que este modo não requer uma explicação detalhada. Essencialmente, ele mostra o valor atual em micro roentgens por hora e muda o intervalo dependendo do valor atual. As leituras são calculadas em média não sobre a mediana, mas simplesmente a soma das medições ao longo do tempo e podem ser ativadas pressionando o botão direito. No canto superior direito, a carga da bateria é mostrada, o erro estatístico é um pouco menor e a dose acumulada é ainda menor.
Também neste modo, você pode desligar o som e o alarme. Para silenciar o som, pressione o botão esquerdo uma vez e, para silenciar o alarme, pressione o botão esquerdo durante um alarme ou segure o botão esquerdo.
Modo de medição de atividade
Modo personalizável, tanto no tempo quanto no número de medições. O tempo máximo de medição que pode ser definido é 120 minutos e o número de medições é 2. Em essência, ele automatiza o processo de medição disponível no dosímetro Pripyat. A segunda é subtraída da primeira dimensão e o módulo é tirado desta, como resultado, o número de partículas fixas para o tempo especificado é obtido. Ele pode ser usado de diferentes maneiras, tanto para medir produtos quanto para separar partículas individuais, medindo primeiro, digamos primeiro com um filtro alfa, e depois sem ele, etc.
Um regime semelhante foi implementado por muitos que montaram seus próprios dosímetros, e não sou exceção.
Segundo modo de medição
Este modo mostra o número de partículas por segundo, não importa o quão lógico pareça. O número de partículas da medição anterior é exibido no lado direito da tela. O gráfico é construído da mesma forma que no modo de pesquisa.
Habitação
No momento, a carroceria seguinte foi desenvolvida no programa fusion 360.
A carroceria foi feita para o sensor Beta-1-1 e com a expectativa de que será impressa em impressora 3D. Vou postar modelos em formato stl mais tarde.
Os furos de fixação da placa são feitos para a fusão das mangas dos parafusos M2.
Problemas de instrumento
O principal problema, conforme observado nos comentários da última parte, é que o problema dos alarmes falsos essencialmente não está resolvido, mas, digamos, "coberto com fita adesiva" e, sim, concordo plenamente com isso. Tentei combatê-lo de outras formas, mas não deu muito bons resultados. Eu liguei direto da bateria, isso reduziu parcialmente o range de ondulações de potência, coloquei capacitores eletrolíticos adicionais para alimentação (coloquei mesmo em 10000mkf, também não ajudou), bom, a cerâmica também não resolveu o problema. Expressei minha conclusão sobre isso, não vou mais repetir esses erros. O transformador sairá um pouco mais caro (portanto, por 250 rublos cada, em comparação com 45 para a indutância.), Mas haverá muito menos problemas com ele.
Devido ao fato de que a geração estável está em 4 kHz, um barulho fraco, mas irritante, é ouvido no silêncio. Você não pode fazer reconhecimento com este dispositivo.
O conversor de tensão também é uma falha importante. Decidi fazer nele, apenas por causa da disponibilidade do indutor, mas não pensei imediatamente no resto.
Mas apesar das deficiências, quanto a mim, ele cumpre completamente as tarefas que eu queria. Para um dosímetro doméstico, acho que serve, para um profissional é o suficiente.
Consumo de energia do dispositivo
O dispositivo descarrega uma bateria de 600 mAh em 12-14 horas de uso ativo (descarga até 3,6). Provavelmente, a capacidade da bateria não é mais de 600 mAh, porque ele ficou em um cigarro eletrônico por um ano e meio.
Qual é o próximo?
Futuramente irei finalizar o firmware do aparelho atual, e irei começar a fazer o mesmo no stm32, mas levando em consideração todos os meus erros. Eu também quero adicionar suporte para cartões SD, GNSS, substituir a tela por 1202, e é possível fazer energia com baterias se eu não encontrar um bom microcircuito DC-DC Abaixador.
Adição
Eu esqueci de dizer. Como o dispositivo não pode registrar mais de 1000 partículas (na verdade, um pouco menos) por segundo, um contador será adicionado ao programa para verificar se o limite de medição foi atingido. No momento, ele é implementado da seguinte forma. Se o valor de fundo estiver em um valor de 0 mcr / h por mais de 3 segundos, um alarme é disparado e o sinalizador de acima da faixa é ativado.
Link para a parte anterior