Comment les appareils à courant plus élevé (moteurs, solénoïdes, lumières, etc.) peuvent-ils être contrôlés par un Arduino?


18

Je recherche une solution largement applicable, adaptable à une variété de projets.

Je travaille actuellement sur plusieurs projets qui nécessitent chacun de contrôler des appareils allant de 800mA à 2A à partir d'un Arduino Uno. Un contrôle les moteurs pas à pas, un contrôle les actionneurs à solénoïde 12vdc et un contrôle les valves pneumatiques 12vdc.

Par exemple:

L'Arduino surveille un bouton, et chaque fois que le bouton est enfoncé, il déclenche l'actionneur à solénoïde. Parce que l'Arduino n'est pas en mesure de fournir le courant requis par le solénoïde, une alimentation séparée est requise, l'Arduino contrôlant un interrupteur (relais, transistor, etc.) qui permet au courant plus élevé de passer. Pour le moteur pas à pas, la disposition est plus complexe car il faudrait quatre broches contrôlant quatre commutateurs séparés (pour maintenir l'interopérabilité du circuit). Le relais contrôle une vanne d'air et nécessite également 12 Vcc.

J'essaie de comprendre comment utiliser un seul circuit qui peut être utilisé dans chacune de ces applications (et tous les projets futurs) qui impliquent de contrôler des appareils à courant plus élevé que les broches Arduino ne peuvent gérer.

La vitesse de prototypage, les composants standardisés et le faible coût sont les facteurs déterminants. La vitesse de commutation, la durée de vie utile et le bruit sont également importants.

Y a-t-il une carte, un circuit ou un composant de dérivation qui peut être connecté à une broche Arduino et utilisé pour contrôler un appareil à courant élevé? Idéalement avec un potentiomètre contrôlé par logiciel afin que la résistance pour différents projets puisse être réglée dans le croquis lui-même.


1
Alors, qu'est-ce que ce conseil contrôlerait? La résistance ou la tension? Ou l'appareil lui-même?
hichris123

La carte contrôlerait l'appareil lui-même. J'ai ajouté des détails à la question.
jlbnjmn

Définissez "courant élevé".
jippie

Réponses:


13

Pour piloter de tels courants élevés, vous devrez peut-être mettre en cascade plusieurs transistors (vous pouvez également utiliser un transistor Darlington ). Il y a des réseaux de Darlingtons montés dans une puce (par exemple, l'ULN2803A a 8 transistors Darlington, mais est limité à 500mA).

Vous devrez probablement faire face à des transistors de puissance supérieure; à titre d'exemple, j'ai trouvé STMicroelectronics TIP110 qui peut prendre en charge la commutation d'un courant 2A (pic 4A), mais il aurait probablement besoin d'un dissipateur thermique pour dissiper la chaleur.

Notez que je me demande si vos steppers ont vraiment besoin d'un courant 2A (sont-ils si gros?). Pour les steppers, vous pouvez généralement trouver des circuits intégrés qui peuvent les piloter facilement, par exemple le L293D mais celui-ci peut piloter "seulement" 600mA).

En conclusion, je crains que vous ne trouviez pas de solution «taille unique», car tous vos appareils sont différents et doivent être alimentés par le circuit approprié.

Éditer:

Étant donné que le surdimensionnement n'est pas un problème dans votre cas de prototypage, vous pouvez alors opter pour un MOSFET au lieu des transistors bipolaires habituels. Un MOSFET pourra piloter des courants et des tensions plus élevés que les transistors standard.

L'inconvénient est que vous pouvez l' utiliser comme un seul commutateur (comme par exemple un relais) et donc ne peut pas vraiment conduire la puissance exacte de vos appareils. Je suppose que cela n'a pas d'importance pour un moteur pas à pas ou un solénoïde, mais cela peut être important pour la conduite de feux par exemple.

Cependant, le bon point est que vous pouvez toujours utiliser PWM pour cela car la vitesse de commutation MOSFET est suffisamment bonne pour de telles fins.

En ce qui concerne le prix, il existe de nombreux types de MOSFET, mais je suppose que vous pouvez en trouver un qui correspond à vos besoins (12V, 2A) pour moins de 1 $.

Je vous conseille de jeter un œil à cet excellent article sur ce sujet.


Le 2A est pour les solénoïdes. Je comprends qu'une taille unique est un défi et n'est pas idéale pour la production. Dans ce cas, l'objectif est un prototypage plus rapide, où la sur-construction est acceptable.
jlbnjmn

1
Notez que même avec un TIP110, vous devrez probablement ajouter un transistor plus petit entre lui et la broche de sortie Arduino, car un TIP110 peut tirer 50mA sur sa base, ce qui est beaucoup trop élevé pour une broche Arduino.
jfpoilpret

Je pense que TIP 120 est idéal pour cela, selon la fiche technique, il est capable de gérer des courants jusqu'à 5A et 6V - fairchildsemi.com/datasheets/TI/TIP120.pdf
Yasitha Chinthaka

7

Il existe de nombreuses façons de commuter des charges plus élevées, et jfpoilpret a décrit quelques bonnes options. Je vais résumer quelques solutions basées sur des relais, qui sont principalement appropriées pour des vitesses de commutation relativement lentes (c'est-à-dire qui ne conviennent généralement pas au PWM).

Relais à
semi-conducteurs Les relais à semi-conducteurs (SSR) sont en fait des commutateurs à semi-conducteurs. Ils viennent dans une grande variété de configurations, selon vos besoins, mais le facteur clé est qu'ils n'ont pas de pièces mobiles. Cela signifie qu'ils peuvent être très fiables à long terme s'ils sont utilisés correctement.

En interne, ils sont généralement constitués de MOSFET et de thyristors ou similaires. Cela peut leur permettre d'atteindre des vitesses de commutation assez élevées en théorie. En pratique cependant, plus il est conçu pour la puissance, plus il est difficile de passer rapidement. Cela signifie que la vitesse élevée + la puissance élevée peuvent devenir assez chères.

Un facteur critique à garder à l'esprit est que vous aurez généralement besoin d'un type de SSR différent si vous avez l'intention de commuter AC au lieu de DC. Il est également bon de noter que certains seront livrés avec un opto-isolateur intégré ou similaire pour séparer vos alimentations.

Relais électromécaniques
C'est l'approche la plus «traditionnelle». Un relais électromécanique (EMR) est un composant assez simple, contenant un interrupteur mécanique, contrôlé par une bobine électromagnétique. Si l'interrupteur est normalement ouvert, la bobine le ferme pour fermer lorsqu'un courant de commande est appliqué. En revanche, un interrupteur normalement fermé serait ouvert lorsqu'un courant de commande est appliqué.

Il y a un certain nombre d'avantages des DME par rapport à des choses comme les SSR. Le plus évident est le coût - leur simplicité les rend assez bon marché, et le coût n'augmente pas si fortement pour les versions plus puissantes. De plus, le contrôle et la charge sont intrinsèquement isolés, et ils se moquent de savoir si vous commutez AC ou DC.

Il existe cependant plusieurs inconvénients. L'aspect mécanique signifie que les DME sont généralement beaucoup plus lents que les solutions de commutation non mécaniques et peuvent souffrir de rebonds de contact. De plus, ils peuvent s'user physiquement et être affectés par des éléments tels que les chocs, les vibrations et (potentiellement) d'autres champs magnétiques.

Lors de la conception d'un circuit pour utiliser un DME, il est essentiel de connaître le retour EMF (force électromotrice). Lorsqu'un courant de commande est appliqué, la bobine agit comme une inductance, stockant la charge électromagnétiquement. Lorsque le courant de commande est arrêté, la charge stockée peut remonter à travers le circuit de commande, créant une forte pointe de tension négative (potentiellement beaucoup plus grande que ce qui était initialement appliqué).

Cette pointe peut malheureusement endommager / détruire les composants attachés ou les broches du microcontrôleur. Il est généralement empêché / atténué en mettant une diode en sens inverse entre les contacts de commande du relais. Dans ce contexte, elle est parfois connue sous le nom de diode flyback, et elle permet à l'EMF de se dissiper en toute sécurité.


Diriez-vous qu'un MOSFET utilisé comme décrit dans l'article lié par jfpoilpret serait une alternative appropriée au relais électromécanique pour ces applications?
jlbnjmn

Oui, pour les applications que vous avez décrites, je m'attends à ce qu'un MOSFET soit suffisant. N'oubliez pas cependant qu'ils sont sensibles aux décharges statiques, alors prenez les précautions appropriées lors de leur manipulation.
Peter Bloomfield

3

Comme l'a déjà dit jfpoilpret, un MOSFET de puissance est idéal pour allumer et éteindre l'alimentation 12 VDC vers des appareils qui tirent jusqu'à 44 A. Il existe des dizaines de tels MOSFET de puissance pour moins de 1 $ chacun. Des MOSFET plus chers sont disponibles qui peuvent gérer un courant et une tension beaucoup plus élevés.

En principe, il est possible de piloter un moteur pas à pas avec un microcontrôleur et une poignée de transistors et quelques autres petites pièces. Cependant, beaucoup de gens préfèrent utiliser une "puce de pilote pas à pas", il est donc impossible qu'un bug logiciel allume accidentellement des transistors de manière à court-circuiter l'alimentation à la masse (détruisant généralement au moins 2 transistors). De nombreuses puces de pilote pas à pas récentes gèrent également le micropas, la limitation de courant, la protection contre les surcharges thermiques et d'autres fonctionnalités intéressantes.

Toutes les puces de pilote pas à pas dont j'ai jamais entendu parler, et quelques cartes de distribution standard utilisant ces puces, sont répertoriées à http://reprap.org/wiki/stepper_motor_driver .

En particulier, la plupart des imprimantes RepRap 3D que j'ai vues connecter un Arduino à quatre pilotes pas à pas Pololu (moins de 15 $ chacun) pour piloter cinq moteurs pas à pas.


0

J'ai fait un circuit Arduino (Arduino Nano) pour alimenter un Peltier 12V (qui est également une source de puissance élevée) en utilisant un transistor MTP3055V MOSFET 60V 12A. Et le circuit fonctionne très bien.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.