Comment puis-je détecter le courant du moteur?


13

J'ai besoin de piloter un moteur à courant continu @ 24V, 6A avec un MOSFET. Comment puis-je détecter le courant que le moteur tire avec un microcontrôleur? Je dois savoir quand le moteur est au point mort.

Réponses:


17

Vous placez une petite résistance de détection (généralement <100m pour la tension et le courant impliqués) en série avec le moteur et mesurez la chute de tension. Il existe deux méthodes: côté haut et bas côté , en fonction de la position de la résistance de détection. Ω

Le côté bas est le plus facile, car la chute de tension que vous souhaitez mesurer est directement liée à la terre, mais elle élève également le côté bas de la tension du moteur de quelques dizaines de millivolts au-dessus du sol, et tout le monde n'aime pas ça. Si ce n'est pas plus que ces quelques dizaines de mV, cela ne devrait pas être un problème, et vous pouvez utiliser un ampli-op pour amplifier la tension dans une configuration d' amplificateur non inverseur simple . Une résistance de 10 m vous donnera une chute de 60 mV, ce qui est acceptable et en même temps suffisamment élevé pour mesurer correctement. Vous n'avez pas nécessairement besoin d'un composant physique pour cela; une trace PCB de 1 cm de largeur 0,5 mm a une résistance de 10 m Ω . Assurez-vous de sélectionner un opamp RRIO (Rail-to-Rail I / O).ΩΩ

Pour la mesure côté haut, vous devez utiliser un amplificateur différentiel pour mesurer la chute de tension. Il existe des circuits intégrés spéciaux pour cela, dont certains ont la résistance de shunt intégrée, pour une précision maximale.

entrez la description de l'image ici

Mais vous pouvez également construire votre propre amplificateur différentiel avec un ampli-op. Si vous souhaitez simplement détecter un décrochage, vous n'avez probablement pas besoin du convertisseur A / N, mais vous pouvez utiliser un simple comparateur . Assurez-vous de filtrer la tension mesurée avec un condensateur.

Une recherche (pas très approfondie) a révélé le capteur de côté haut SiLabs Si8540 , disponible chez Mouser à partir de 0,65 USD.

modifier
Le Zetex / Diodes ZXCT1009 est comparable, mais n'a besoin que de 3 broches de son boîtier SOT23.


Pour en savoir plus: Collection de circuits de détection de courant de
technologie linéaire (avertissement: obstruction de produits lourds!) Collection de documents sur les amplificateurs de détection de courant par Maxim


Je suis très heureux de voir que vous prenez souvent le temps de montrer un exemple de pièce qui fera le travail, mais votre leçon qui vient en premier en apprend plus qu'assez pour vous permettre de contourner les conseils d'achat.
Kortuk

@Kortuk - J'ai compris. Suppression des conseils d'achat. (mais laissé référence à la partie d'exemple)
stevenvh

C'était un message de "bon travail". Je pensais que le lien était une belle touche. Vous donnez quelques notions de base, voici une partie qui fonctionnerait, mais au moment où vous lirez ceci, vous aurez appris à sélectionner la vôtre. Les gens supposent toujours qu'un mod est malheureux!
Kortuk

@Kortuk - vous ne pouvez pas leur en vouloir! ;-)
stevenvh

6

Les gens qui pensent que la seule façon de mesurer le courant continu est d'utiliser une résistance shunt peuvent être surpris d'apprendre qu'il existe une variété de techniques de détection de courant .

Les capteurs à effet Hall sont parfaits pour mesurer de grands courants CC côté élevé. Certains ont une sortie analogique, dévorant l'une des entrées analogiques de votre microcontrôleur. D'autres ont un ADC interne intégré, avec des broches numériques qui se connectent directement à votre microcontrôleur. Quelques-uns ont également un pilote FET de puissance intégré et sont suffisamment intelligents pour désactiver inconditionnellement le FET lorsqu'il mesure la surintensité.

Dans de nombreux cas, je n'ai pas vraiment besoin de savoir exactement quel est le courant, je veux juste éviter que les choses ne soient définitivement endommagées lorsque le moteur cale. Cela rend le reste du système beaucoup plus simple à utiliser un "interrupteur intelligent" qui s'éteint automatiquement lorsque le moteur cale.

Les puces de capteur à effet Hall d'Allegro sont jolies. Les interrupteurs d'alimentation intelligents IR ont l' air bien.

En relation: Meilleure résistance de shunt pour une application de wattmètre? et mesure de courant à large bande passante


Honnêtement, j'étais curieux, mais cette "variété de techniques" semble être basée sur une résistance de shunt à 80%: côté haut, côté bas, chute de tension sur MOSFET, ...
stevenvh

@stevenh - il a dit "grand" en plus du côté haut au début de ce paragraphe. Il est facile d'imaginer comment un shunt peut devenir désagréable dans de telles circonstances. Mais dans des situations plus courantes, cela fonctionne plutôt bien.
Chris Stratton

1
Une autre raison d'aller avec les capteurs à effet Hall est qu'ils sont isolés et peuvent avoir des sorties très conviviales pour les microcontrôleurs.
W5VO

3

Comme le courant, la tension et la résistance sont tous liés (loi d'Ohm), vous pouvez mesurer le courant en mesurant la chute de tension à travers une résistance connue et en la calculant:

I=VR

<0.1Ω

C'est quelque chose que je voulais faire moi-même depuis un certain temps, et je comprends la théorie - je n'ai pas encore trouvé comment mesurer la différence de tension


3
Ω

En outre, il me fournira 6V dans l'A / D du microcontrôleur ..
m.Alin

C'est pourquoi je dis moins de 1 Ω
Majenko

2
ΩΩ

2
@Matt - C'est pourquoi c'est une résistance "sens", haha! :-) OK, c'était mauvais. Eh bien, ce ne peut pas toujours être du caviar ... ;-)
stevenvh

3

Comme Andrew Kohlsmith m'a corrigé, voici le montage:

Pour DC, la seule façon de détecter le courant est par une résistance de shunt . Cette méthode est dérivée de la loi d'Ohm:

I=VR

Où «I» représente le courant et sera la seule variable résolue par le µC. De la même manière, «V» représente la tension, qui sera mesurée par un convertisseur analogique-numérique (ADC) à l'intérieur du µC. Enfin, «R» représente la résistance que vous devez connaître pour calculer l'écuation.

Il existe deux façons de concevoir la résistance shunt:

  1. 1Ω10mΩ

  2. Utilisation de la trace de carte dans un PCB pour fabriquer une résistance de shunt. Comme le dit [1], selon les paramètres suivants de la formule, vous obtiendrez une valeur de résistance:

R=ρ×Lt×w×(1+Tc×(T25))

  • Longueur (L)
  • Épaisseur (t)
  • Largeur (w)
  • ρ=1.7106Ω
  • Température (T)
  • 103Ω/Ω/C

mΩ

D'un autre côté, la seule façon de mesurer la tension de cette résistance est d'utiliser un amplificateur instrumental, comme le suggère Stevenvh.


[1] AN894 - Circuits de rétroaction du capteur de commande du moteur par micropuce.

[2] AP144 - Calcul de la résistance des pistes PCB par Polar Instruments.

[3] Calculateur de résistance aux traces par EEWeb.

[4] Zone de cuivre thermique PCB par le blog CircuitCalculator.com.

[5] Construction de votre alimentation - Considérations relatives à la disposition par Robert Kollman [TI].


1
Les transformateurs de courant ne fonctionneront de toute façon pas avec les moteurs à courant continu. Je les ai largement utilisés avec de (gros) moteurs à courant alternatif pour un démarrage progressif limité en courant, mais le seul avantage qu'ils ont (prix) est compensé par tous les problèmes qui les accompagnent (linéarité, plage, détection harmonique, incapacité à détecter DC, etc., etc.)
akohlsmith

Oui, vous avez absolument raison. J'ai oublié que le moteur était un DC. Ayant du mal à contrôler un moteur DC sans balais, je le garde donc en tête. Merci pour le commentaire!
Diego

@Diego - Vous ne mentionnez que les facteurs pertinents pour la résistance, une formule serait bien.
stevenvh

@stevenh - Modifié! Pour la trace des PCB: certaines personnes utilisent des formes, donc au final ils font juste des tests avec des PCB et mesurent les traces avec un multimètre ....
Diego

1
TC
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.