Etape 10 : Mise à jour août-septembre 2014 : choses que j’ai fait de mal la première fois !
Ici, je tiens à mentionner quelques choses où j’ai fait un mauvais choix sur la façon de faire les choses dans ce projet. Je n’ai pas brûlé ma maison vers le bas, ni ai j’ai détruit tout de mon électronique, mais poursuite de la recherche et l’apprentissage sur l’Arduino a permis de découvrir quelques erreurs que je tiens pour vous d’éviter. Cela a été mentionné dans mises à jour précédentes.
Ne pouvoir trop de choses directement à partir de l’Arduino. Il met trop pression sur le régulateur de tension et/ou les transistors logique attachés à chaque broche. Ma planche de 8 voies de relais de Sainsmart a été initialement alimenté de goupille de V 5 de mon Arduino, mais j’ai décidé depuis ce n’était pas une bonne idée et j’ai câblé dans un deuxième adaptateur CA / CC pour remédier à cette situation.
Après que ajout dans l’adaptateur d’alimentation DC distinct pour la carte relais 8-ch et l’ajout menuent déroulant et chargement des résistances aux broches e/s dans mon projet, j’ai mesuré actuellement sur toutes les goupilles.
- Bornes 4, 5 et 6 ont un appel de courant de 1 mA chaque à l’état bas pour déclencher un relais sur la carte de 8 voies et 0 mA à l’État haut.
- Les broches 7 et 9 ne font qu’attirer un maximum de 5 mA chaque quand haute et déclencher leurs relais reed et 0 mA en bas.
- Goupille 8, 11, 23 et 24 n’est pas du tout inscrit de n’importe quel courant mesuré. Ces broches sont tous lecture de l’État à travers une impédance élevée puisqu’ils ne sont pas déclencher quoi que ce soit. Ils sont seulement de décider si un circuit est actif.
- GND mesurée entre -3 mA et + 1,5 mA selon l’état de la broche 7. Broche 7 reste élevé tout le temps la MV est sur et sa reed relais bobine attire le 4.5 mA différence la broche GND changée.
- Prise d’alimentation CC Arduino mesure une intensité débitée de 270 mA sous tension initiale, puis tombe à 235 mA.
- Adaptateur de courant 8 voies de relais DC Sainsmart mesure un courant de 50 mA à 140 mA.
L’utilisation de relais, des moteurs ou des servos (quoi que ce soit ayant des bobines inductives) nécessite soit une diode pour dissiper flyback cours (effondrements de terrain chefs spike grande tension de la bobine à induction en direction de la source d’alimentation quand la bobine électromagnétique) lors de la commutation des relais off, ou une carte de conducteur qui isole flyback des broches e/s du microcontrôleur. Si votre source de tension est une goupille de Arduino et vous n’avez pas prévu correctement, vous pourriez l’endommager votre planche. La carte de relais de Sainsmart a cette protection dans sa conception et est destinée à être connecté directement à un microcontrôleur en toute sécurité, mais mon relais reed ne le font pas. Mon Arduino est en cours d’exécution sur du temps emprunté jusqu'à ce que je résoudre ce problème ! Mon reed relais tirage au sort (et source) telle une petite quantité de courant que je pourrais remplacer par des transistors. Cependant, je vais probablement laisser les relais en place maintenant que j’ai obtenu à ce jour. Peut-être la prochaine fois que je pense à l’aide d’un très petit relais, je vais également comparer les avantages et les inconvénients de l’utilisation d’un transistor adapté.
Mon reed relais mesure une résistance de bobine de 1 kOhms et avec 5 volts fournie attire 5 mA. J’ai mesuré l’intensité débitée mA 4,5 à la broche de sortie Arduino. J’ai ajouté dans une diode 1N914 (équivalente à la 1N4148) entre les bornes de bobine de relais, voir les deux premières images ci-dessus, pour absorber/dissiper cette flyback actuel créé lorsque les relais reed s’éteindre. Remarque : Une diode flyback est placée dans une polarité inversée afin que normalement aucun courant ne circule à travers elle. Lorsque le champ electromagmetic dans la bobine du relais s’effondre comme tension d’alimentation est éteint, la diode flyback crée un chemin de moindre résistance pour haute tension de ce domaine s’effondrant de voyager ses millisecondes plusieurs finales en arrière par l’intermédiaire de la bobine dans la diode, à la diode dans la bobine jusqu'à ce qu’il se dissipe. Un effet est que la bobine prend plusieurs ms plus longtemps à se désexciter, cependant, ce n’est pas un problème dans la plupart des circuits.
Je ne sais pas comment faire pour mesurer la tension flyback, mais selon certaines indications, impliquent mesurant la quantité de croûte de carbone sur vos composants électroniques coûteux mais cassés qui ne vous protégez pas. Quand j’ai appris que flyback peut être des centaines de fois la tension initiale fournie à la bobine à induction comme champ EM essaie d’aller n’importe où qu'il peut dans un circuit ouvert tout à coup, j’ai décidé que ce devait être fixée. C’est maintenant !
je n’ai pas encore décidé sur une boîte pour cacher et protéger l’Arduino et ses connexions. Je n’ai pas terminé ma boîte de Plexiglas, et maintenant que j’ai ajouté la planche avec interrupteurs, j’ai besoin soit une zone de plus grande ou plusieurs cases. Je peux concevoir une plus grande boîte de Plexiglas qui peut accueillir l’Arduino, une qui finira par remplacer le montage d’essai sans soudure et la pension avec les commutateurs et ont des entrées d’alimentation pour les deux adaptateurs alimentant le projet.
Placement des pièces sensibles est près d’une source inattendue de statique. J’ai découvert le tapis antistatique chaise à côté de que la poitrine de l’Arduino est assis sur détient une charge statique. Tant pis pour les mâles supplémentaires déboursé sur la revendication « anti-statique », mais c’est très mauvais pour l’Arduino. Parfois quand je touche un fil ou reposer ma main près de l’Arduino, j’entendrais un ou deux relais dans la boîte de disjoncteur monté sur placard DESACT. J’ai vu et ne senti aucun effluent, mais évidemment, il y avait une décharge d’électricité statique.
Lorsqu’il est exposé à ESD (décharge électrostatique), le microcontrôleur fait non seulement des choses qu'il n’est pas censé pour faire, mais il peut rencontrer échec permanent. L’électricité statique peut avoir le potentiel de dizaines de milliers de volts et peut être très dommageable pour les composants électroniques sensibles. Pas tous les composants électroniques sont sensibles aux ESD, mais pourquoi courir le risque quand vous savez qu'il y a au moins certaines composantes délicates dans votre projet. Je peux être quelques pieds de conseils, mais de soulever le tapis de chaise sur le tapis quelques pouces, et l’Arduino provoquera un relais éteindre. C’est tout simplement trop étroite, donc j’ai besoin de voir ce qu’il faut pour éliminer la statique. Je voudrais le supprimer si le tapis n’était pas si épais que le Président ne sera pas rouler sans une natte. Je cherche maintenant à d’autres solutions sans électricité statique.
je n’ai pas ma conception originale afin d’inclure les résistances de pull-down sur les broches d’entrée. Tout que récemment, j’ai ajouté comprend une résistance de menu déroulant 10 k ohms, et j’ai repris et pull-down pour Arduino broches 4-7 et 9 a ajouté. Voir troisième image ci-dessus. Voir http://arduino.cc/en/Tutorial/DigitalPins pour en savoir plus sur pull-up et résistances de menu déroulant pour les broches e/s numériques sur votre Arduino.
Opto-isolation correcte et la mise à la terre de la carte Arduino et relais, ainsi que l’utilisation du câblage UTP Câble paires. J’aurais dû mieux qu’à tout hasard ronger quels fils raccordent à quoi entre l’Arduino et la carte à relais 8-ch Sainsmart. Je pense que mon comportement intermittent relais (pour ne pas mentionner intermittent sortie HIGH/LOW pin Arduino) peut avoir été causé par la statique, tel que mentionné plus tôt, peut-être en combinaison avec la pratique de mauvais câblage lors de la connexion de l’Arduino et la carte relais ensemble. Je suis passé par mon câblage UTP (paire torsadée non blindée) et fait en sorte qu’un seul fil de n’importe quelle paire torsadée est utilisé pour signal ou alimentation de + 5 v, et l’autre fil de la paire torsadée est connecté à la broche GND de l’Arduino, mais a laissé ne pas relié à quoi que ce soit à la carte relais. Cette pratique devrait réduire la diaphonie entre canaux (un sommet pour le relais 1 ramassé par le fil relié au relais 2, etc.).
J’ai lu sur http://arduino-info.wikispaces.com/RelayIsolation que véritablement opto-isolat les relais de l’Arduino, la broche de terre de l’Arduino ne doivent pas être connectés à la broche de terre de la carte relais. Un fil menant à la carte relais doit être relié à la terre à l’Arduino, mais la gauche ne pas connecté à la carte relais. Apparemment, cela évite une condition de boucle de masse possible qui peut compliquer encore les choses.
Tout d’abord, j’ai déménagé mon approvisionnement d’alimentation CC distincte près de la carte relais, bien que je vais avoir besoin de faire cela vite permanente. J’ai enlevé les SCR au cavalier de JD-VCC sur la carte de relais et branché le fil + 5 v de l’adaptateur au pin JD-VCC et 0 v ou borne négative à la broche GND sur la carte de relais. J’ai rebranché un fil de v + 5 de broches de l’Arduino + 5 v à la SCR sur en-tête principal de la carte relais. Voir quatrième image ci-dessus pour plus de clarté.
Ensuite, j’ai traversé le câblage j’ai utilisait pour connecter chaque goupille de Arduino à un NIP de carte relais et fait les changements appropriés. Maintenant, hors deux câbles 4 paires entre le Conseil d’Arduino et relais (c'est-à-dire 16 fils conducteurs totales) je n’ai que 8 de ces fils raccordés à l’Arduino ; un + 5 v et une GND (une paire torsadée) et trois broches de sortie et trois GNDs (trois paires torsadées). Et à la carte relais, seules quatre de ces fils est connectés ; un + 5 v et trois broches de sortie pour déclencher les trois Relais que j’utilise actuellement. L’adaptateur d’alimentation DC distinct est maintenant assis dans le placard avec la carte relais et son avance de 0 v est le seul lien GND à la carte relais. Au total, six conducteurs reliés à deux têtes de la carte relais.
Jusqu'à présent, cela fonctionne bien. Bien que, en règle générale, il fonctionnait très bien avant, les LEDs rouges sur la carte de relais qui indiquent l’état de « LOW active » d’un relais qui est « ON » semble être plus lumineux. Au cours de mon reconfiguration de toutes ces connexions, un relais serait voyage hors tandis que sa LED serait toujours allumé. J’ai eu une expérience similaire avec tous les relais au début de ce projet lorsque je m’alimenter l’Arduino tant la carte relais (entièrement) d’un adaptateur DC inadéquat. Il a été classé assez haute tension et de courant. Dans le monde réel, qu'il n’a pas mis assez de courant pour tenir les relais fermés, encore elle pourrait allumer les LEDs. J’espère que ce changement permettra d’éliminer le comportement intermittent rare mais parfois que je me blâmer sur statique. Il aurait encore pu être statique (que préside mat fait beaucoup d’étincelles quand j’il décolla le tapis) qui a été été incité au câblage des sorties des adaptateurs d’alimentation DC ainsi que tous les fils le signal de la carte relais.
Une dernière recommandation pour mise à la terre devait relier l’Arduino GND à la construction de masse en utilisant seulement le fil de terre d’une prise murale branchée sur une prise murale et l’autre extrémité de ce connecté à l’Arduino GND. Je n’est pas fait cela, mais sera bientôt. Je vais la tête hors de Home Depot à acheter une version $2 de votre propre type de fiche et câbler un fil de terre de 12 ou 14 ga-entre masse de la prise et l’Arduino GND.