INA219 pour contrôler un blocage moteur

Bonjour,

Je viens vers vous pour avoir quelques réponses à des questions que je me pose concernant l'utilisation d'un senseur INA219 pour le contrôle d'un blocage moteur DC.

Je dois pouvoir diriger un moteur DC dans les deux directions avec un Arduino via un pont L293D.
Il s'agit d'un moteur 12V, nécessitant 20mA de courant à vide (30-40 mA en blocage). D'après la documentation, il peut atteindre 100-200mA dans les conditions réelles d'utilisation (ouverture-fermeture d'une porte).

Mon intention est donc de détecter le blocage du moteur avec un circuit INA219 mais plusieurs questions se posent :

  1. Etant donné que le moteur peut tourner dans un sens ou l'autre (tensions inversées), je suppose qu'il vaut mieux placer le circuit INA219 en amont du pont H L293D (sur l'arrivée + 12V) et non juste avant le moteur. Mais est-ce que cela fonctionne ?
  2. Le circuit INA219 peut mesurer à la fois le courant et la tension. Pourrai-je donc aussi l'utiliser pour détecter le niveau de ma batterie 12V ?
  3. Le tutoriel de l'INA219 (voir ci-dessous) semble indiquer qu'il faut faire attention aux courants induits lorsque l'on pilote un moteur DC. Est-ce d'application avec le L293D (je pense qu'il protège de ce genre de problème) ?
  4. Ce même tutoriel parle d'utiliser un condensateur mais je ne comprends pas bien pourquoi et surtout quel doit en être sa capacité ...

Voici l'extrait du tutoriel Arduino dont je fais référence pour les questions 3 et 4:
"Be careful inserting noisy loads that can cause a sharp current draw, such as DC motors, since they can cause problems on the power lines and may cause the INA219 to reset, etc. When using a DC motor or a similar device, be sure to include a large capacitor to decouple the motor from the power supply and use a snubber diode to protect against inductive spikes."

En espérant ne pas poser de bêtes questions ... :worried:
D'avance merci,

Laurent.

Bonjour. Quelques réponses.

  1. Oui. Vu de l'INA219, le L293D est une charge comme une autre.
  2. Oui.
  3. Le L293D possède des diodes de roue libre.
  4. Si l'alimentation est une batterie, je pense que c'est inutile.

Il n'est pas dit dans la demande si le moteur est piloté en PWM. Si oui, le courant mesuré va être très variable, donc difficile à mesurer.

Personnellement j'ai déjà fait ce genre de chose sans INA219, comme suit :
Une résistance de 1Ω entre GND du L293D et GND, mesure de la tension aux bornes. 50mA donneront donc 50mV, chute de tension non pénalisante pour le L293D, mais parfaitement mesurable sur une entrée analogique.
Un condensateur de 3300µF en // sur la résistance permet de lisser les effets du PWM. Avec la résistance 0.1Ω de l'INA219, ce sera plus difficile à filtrer. Cela conduirait à adopter une valeur 10x plus importante.

Un simple pont diviseur pour mesurer la tension 12V avec une entrée analogique.

Bonjour,
Il y a tout un chapitre sur la filtration du signal dans le datasheet

Le problème est que le module AdaFruit n'est pas équipé des résistances série, ni du condensateur de filtrage.

L'INA219 peut faire la moyenne sur plusieurs échantillons (jusqu'à 128).
La partie filtrage de la datasheet aborde aussi la protection contre les surtensions.

Merci pour toutes ces informations.

Le moteur doit tourner à la puissance maximale. Donc, je branche le PIN 1 du L293D en digital: tout (HIGH) ou rien (LOW) selon le besoin.
Je suppose que dans ce cas, le courant devrait être un peu plus stable.

Oui, bien entendu, il variera seulement en fonction de la charge mécanique, frottements, etc.

La plupart des moteurs à courant continu de petite puissance sont à 3 pôles. Ce qui veut dire que les balais mettent en série 1 seul enroulement, puis 2, puis 1... Il n'y a aucune raison pour que le courant soit stable.

Il faudra donc moyenner.

Bonjour,

La résistance est aussi une sécurité pour ne rien griller en cas de blocage qui s'éternise.

Dans ce vieux projet dont le moteur avait un fonctionnement assez erratique, je détectais le blocage par l'absence de variation du courant pendant 50 mS et ça fonctionnait très bien, sans nécessiter de filtrage.
Avec 1ohm, pas besoin de pont diviseur pour la mesure.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.