Amélioration de l'immunité au bruit Arduino

Non ce n'est pas un cluster


Même si le système est correctement assemblé et bouilli un bon code est écrit, la probabilité que tout fonctionne comme il se doit, est d'environ 50/50.


Il peut y avoir trois raisons à cela:


  1. Planches à pain sans soudure
  2. Moteurs électriques
  3. Modules de communication GSM

Et si dans le premier cas il suffit de ramasser un fer à souder (ce que je fais depuis le tout début), alors les interférences électromagnétiques sont un problème qui ne peut pas toujours être résolu par des blindages et des filtres de puissance.


Sous la coupe - le plus simple et le "sans fil", comme vous le voyez sur la photo, un moyen de changer le fusible d'Arduino, en passant au générateur RC interne et en désactivant le contrôle de l'alimentation.


Et si j'ai «espionné» la solution avec le générateur sur des modélisateurs utilisant des moteurs puissants, alors je suis venu au second moi-même, avant même de rencontrer Arduino.


Depuis la première conception était un indicateur d'irrigation, consommant 0,5 mA en phase active (pour une alimentation de 1 MHz et 2,4 V).


Pourquoi les cartes ProMini? ils ne contiennent rien de superflu (sauf pour les LED ;-)


Couple Arduin


Pourquoi avez-vous pris une décision stable sur une base continue en refaisant une carte pour le programmeur?


Si vous devez faire quelque chose plus de trois fois, alors j'essaye d'automatiser / de simplifier!


Et vous devez l'admettre, chaque fois que publier des messages n'est pas grave.


Pour l'avenir, je dirai que j'ai testé les résultats sur mes échelles SMS.


Et si auparavant, le module de communication valait la peine de s'inscrire dans la norme GSM-900, alors avec une distance entre lui et Arduinka inférieure à un mètre, le contrôleur a commencé à démarrer.


Maintenant, tout va bien, à différents endroits où cet effet a été observé.


Tout ce dont nous avons besoin est un peigne de connecteurs PBS, un scalpel fin et une loupe:


Altération


Avec un scalpel, nous coupons le chemin de réinitialisation (dans un cercle bleu), et en aucun cas nous ne soudons les connecteurs aux endroits indiqués par l'ovale jaune.


Oui, nous connectons la broche D10 avec la réinitialisation ajustée par n'importe quel segment de paire torsadée.


En fait, nous obtenons ce schéma (honnêtement copié à partir d'Internet):


Schéma de câblage


Seulement beaucoup plus compact, sans fils ni condensateur, car cela fonctionne.


Maintenant, nous connectons notre futur programmeur à USB-TTL, dans ArduinoIDE, nous définissons le type de carte et le port, nous flasherons le croquis ArduinoISP des exemples (n'oubliez pas de décommenter la ligne #define USE_OLD_STYLE_WIRING)


Dans le dossier \ arduino-your_version \ hardware \ arduino \ awr, éditez le fichier BOARDS, au lieu du bloc Arduino Pro ou Pro Mini, mettez ce qui suit:


## 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 

Puis j'ai changé low_fuses FF> E2 (passage au générateur interne) et extended_fuses FD> FF (interdiction du contrôle de puissance)


Voilà, redémarrez ArduinoIDE, mettez le donneur dans notre programmateur, déconnectez le fil DTR de l'USB-TTL (sauf si vous en avez un ;-)


Dans la section Tools-Programmer, sélectionnez "Arduino AS ISP", type de carte Arduino Pro ou Pro Mini (3.3V, 8 MHz INTERNAL) - Bootloader Flash.


C’est tout! Je ne m'embêterai pas avec des vérifications inutiles en utilisant avrdude et d'autres astuces et ainsi décrites dans des dizaines de manuels - je voulais donner le matériel le plus simple.


À propos, sur la photo de titre, il y a une carte avec un résonateur en céramique déjà soudé.


Un chignon supplémentaire - les croquis en arduinki peuvent être flashés sans appuyer sur reset - par Ctrl-Shift-U (décharger en utilisant le programmeur)


En plus de l'immunité au bruit, cette méthode élimine l'échec de la génération de quartz ordinaire pendant les secousses et les chocs.


Moins - précision des minuteries + -5%.


Succès pour vos projets!


Andrey.

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


All Articles