Melhoria da imunidade ao ruído do Arduino

Não, não é um cluster


Mesmo que o sistema esteja montado corretamente e fervido Se um bom código estiver escrito, a probabilidade de que tudo funcione como deveria é de aproximadamente 50/50.


Pode haver três razões para isso:


  1. Tábuas de pão sem solda
  2. Motores elétricos
  3. Módulos de comunicação GSM

E se, no primeiro caso, é suficiente pegar um ferro de soldar (o que venho fazendo desde o início), a interferência eletromagnética é um problema que nem sempre pode ser resolvido por filtros de energia e blindagem.


Sob o corte - o mais simples e "sem fio", como você entende na foto, uma maneira de mudar o fusível do Arduino, mudando para um gerador RC interno e desligando o controle de energia.


E se eu "espionava" a solução com o gerador em modeladores que usavam motores poderosos, então eu mesmo fui para o segundo, mesmo antes de conhecer o Arduino.


Desde que o primeiro projeto foi um indicador de irrigação, consumindo 0,5mA na fase ativa (para fonte de alimentação de 1MHz e 2,4V).


Por que placas ProMini? eles não contêm nada supérfluo (exceto LEDs ;-)


Arduin casal


Por que você tomou uma decisão estável continuamente refazendo um quadro para o programador?


Se você precisar fazer algo mais do que três vezes, tento automatizar / simplificar!


E você deve admitir que cada vez que cutucar postagens não é sério.


Olhando para o futuro, direi que testei os resultados nas minhas escalas de SMS.


E se anteriormente valeu a pena o módulo de comunicação para se registrar no padrão GSM-900, então com uma distância entre ele e Arduinka menor que um metro, o controlador começou a iniciar.


Agora está tudo bem, em diferentes locais onde esse efeito foi observado.


Tudo o que precisamos é de um pente de conectores PBS, um bisturi fino e uma lupa:


Alteração


Com um bisturi, cortamos o caminho de redefinição (em um círculo azul) e, em nenhum caso, soldamos os conectores nos locais indicados pelo oval amarelo.


Sim, conectamos o pino D10 à redefinição cortada por qualquer segmento de par trançado.


De fato, obtemos este esquema (honestamente copiado da Internet):


Diagrama de fiação


Apenas muito mais compacto, sem fios e capacitor, porque funciona.


Agora conectamos nosso futuro programador ao USB-TTL; no ArduinoIDE, definimos o tipo e a porta da placa, exibimos o esboço do ArduinoISP a partir dos exemplos (não esqueça de descomentar a linha #define USE_OLD_STYLE_WIRING)


Na pasta \ arduino-sua-versão \ hardware \ arduino \ awr, edite o arquivo BOARDS, em vez do bloco Arduino Pro ou Pro Mini, coloque o seguinte:


## Arduino Pro or Pro Mini (3.3V, 8 MHz INTERNAL) w/ ATmega328P ## --------------------------------------------------- pro.menu.cpu.8MHzatmega328=ATmega328P (3.3V, 8 MHz INTERNAL) pro.menu.cpu.8MHzatmega328.upload.maximum_size=30720 pro.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048 pro.menu.cpu.8MHzatmega328.upload.speed=57600 pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xE2 pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0xFF pro.menu.cpu.8MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex pro.menu.cpu.8MHzatmega328.build.mcu=atmega328p pro.menu.cpu.8MHzatmega328.build.f_cpu=8000000L 

Então mudei low_fuses FF> E2 (mude para o gerador interno) e extended_fuses FD> FF (proibição de controle de energia)


É isso, reinicie o ArduinoIDE, coloque o doador em nosso programador, desconecte o fio DTR do USB-TTL (a menos que você tenha um ;-)


Na seção Ferramentas-Programador, selecione "Arduino AS ISP", tipo de placa Arduino Pro ou Pro Mini (3,3V, 8 MHz INTERNO) - carregador de inicialização Flash.


Isso é tudo! Não vou me incomodar com verificações desnecessárias usando avrdude e outros truques, e assim descritas em dezenas de manuais - eu queria fornecer o material mais simples.


Na foto do título, a propósito, há uma placa com um ressonador de cerâmica já soldado.


Um coque adicional - esboços em arduinki podem ser exibidos sem pressionar reset - por Ctrl-Shift-U (Descarregar usando o programador)


Além da imunidade a ruídos, esse método elimina a falha na geração de quartzo comum durante agitações e choques.


Menos - precisão dos temporizadores + -5%.


Bem sucedido em seus projetos!


Andrey.

Source: https://habr.com/ru/post/pt472726/


All Articles