Arduino, moteurs, alimentation vin

Bonjour à tous,

Je me suis mis à l'arduino depuis peu, souhaitant passer du "virtuel" au réel. Je suis développeur depuis 25 ans donc la partie programmation pas de soucis.

J'ai lu pas mal de tuto, de cours, dans l'ensemble ça va pas trop mal.

La ou je pêche c'est sur la partie alimentation de l'engin (mes cours de physique sont loin ....)

Je vous expose mon projet. Comme beaucoup je souhaite réaliser un petit robot autonome en repartant de zéro, pour pouvoir bien m'imprégner du truc.

Les composants :

  • 2 moteurs cc piloter via une carte Neuftech L298N
  • 1 moteur pas à pas piloté par une carte ULN2003
  • Pour l'instant j'alimente la L298N avec un adaptateur secteur qui me sort du 12v / 1A

J'ai fais un petit programme tout simple pour tester que tout est ok et ça fonctionne.

Mon problème / questions :

  • Si j'alimente l'arduino via usb ou une pile 9v, c'est ok
  • Si j'alimente l'arduino via la sortie 5v de la L298N sur le vin, il fait n'importe quoi, on dirait que le programme commence et que ça reboot
  • Est-ce que je peux aussi alimenter la carte ULN2003 avec la sortie 5v de la L298N ?
  • Est-ce que je pourrais plus tard remplacer l'adaptateur secteur (c'est pas terrible avec un fil à la patte) par une batterie externe ? (genre chargeur de portable)

Si c'est pas clair je peux vous faire quelques photos ou essayer de vous faire un shéma.

Merci d'avance !

Bonjour,

pepe:
... et que ce courant dépend de la vitesse du moteur...

Le courant dépend plutôt de la charge du moteur: pour une même tension d'alimentation, le moteur bloqué (donc vitesse nulle) consomme plus de courant qu'un moteur qui tourne sans charge. Et pour une même vitesse, un moteur qui entraîne une charge ou qui est soumis à des frottements va plus consommer qu'un moteur qui tourne à vide.

Bonjour,
en réalité tout dépend de tout ...
si j'écris U = RI, U dépend-il d'abord de R, ou bien de I ?

Merci pour vos réponses.

Si je comprends bien :

  • le fait que le programme fasse n'importe quoi lors du branchement sur le vin, c'est parce que la carte est "sous" alimentée ?
  • Si je veux garder une seule alim pour tout mon projet il vaut mieux que j'alimente l'arduino avec mon alim principal (dédoublement de l'alim donc car il supporte jusque 12v en entrée ?)
  • Alimenter mon moteur pas à pas via le 5v de l'arduino ?

Et question ultime, d’après ce que j'ai compris il vaut mieux que je branche le ground de la neuftech aussi sur la carte arduino ?

pepe:
Non, je pèse mes mots, pour une tension d'alimentation fixée, le courant dépend de la vitesse.

Non en fait c'est trimarco232 qui a raison: tout dépend de tout.

pepe:
En principe, la tension d'alimentation est fixée, de même que les constantes électromécaniques du moteur. Dans ces conditions, le courant n'est plus lié qu'à la vitesse (voir la formule).

Depuis quand la tension d'alimentation est fixée ? C'est la nouvelle du jour ça !!!
Et la vitesse, tu la fais varier comment, en soufflant sur le moteur ??
Non mais franchement, tu es d'une mauvaise foi !!

Merci pepe !

J'ai trouvé un projet (en fait il y'en a des centaines) qui résume ce que je veux faire.

Partout ils utilisent 2 alims. Je pense que je vais opter pour cette solution qui à l'air la plus propre ?

Arf, bon ben je vais rester sur mon idée de départ, en alimentant l'arduino via la sortie 5v de la carte moteur et la carte moteur via une batterie externe.

Merci pour les conseils !

pepe:
I = (U-kv.Ω)/R

où :
I est le courant consommé
U est la tension d'alimentation issue du circuit de puissance
Ω est la vitesse de rotation
R est la résistance d'induit du moteur
kv est la « constante de vitesse » spécifique au moteur

Désolé d'insister, mais si tu prends en compte l'équation de la mécanique, ce qui donne (en statique):
domega-Ki = T (avec d: coefff de frottement visqueux et T: couple résistant)

Tu obtiens:
i = (Ud-KT)/(K^2+R*d)

Pas de vitesse dans l'équation... Au passage, s'il n'y a pas de frottement et pas de couple résistant (ce que j'ai qualifié de "pas de charge", le terme était certes peut-être mal choisi), le courant est nul, quelque soit la vitesse.

pepe:
Tu fais une erreur de raisonnement en considérant un fonctionnement statique obtenu après stabilisation de la vitesse.

Ce n'est pas une erreur de raisonnement, c'est une hypothèse simplificatrice qui montre, dans un cas de figure plus facile à comprendre, ce qui se passe physiquement.
Les seules causes externes qui font tourner un moteur plus ou moins vite (en statique ou en dynamique) sont:

  • la tension d'alimentation
  • les frottements
  • l'inertie
  • le couple externe appliqué

Le courant et la vitesse sont une conséquence de tout ça. Le courant et la vitesse sont liés mais ça induit en erreur de dire que le courant dépend de la vitesse car ça ne correspond à rien de physiquement intuitif (d'autant plus que c'est inversement proportionnel).
D'ailleurs, c'est bien de montrer le couple courant / vitesse de cette datasheet. Tu a 3 points à tension d'alimentation égale. 3 valeurs de courant / vitesse différentes. Ce qui montre que le courant et la vitesse sont liées mais dépendent d'une cause externe, disons pour simplifier les frottements.
Bref, ce que j'ai voulu dire initialement, c'est que le courant dépend surtout de cette cause externe, ce qui n'enlève rien au fait que le courant et la vitesse sont liés et c'est ce qui m'a fait dire que trimarco232 avait raison: tout dépend de tout, ou plutôt tout est lié.

Alors je ne vois pas pourquoi tu t'acharnes à nier le fait que ce sont les causes externes que j'ai citées qui ont l'action "primaire" sur la rotation du moteur.

A part ça, je suis tout à fait d'accord avec le reste, bien sûr qu'il faut dimensionner l'alimentation à partir des pics de courant et bien sûr que ceux-ci interviennent dans les transitoires et pas en régime permanent.

Mais pour notre ami qui veut construire son robot, ça me semble quand même nettement plus facile à comprendre de dire que le courant qui va circuler dans le moteur dépend de la charge appliquée. Et c'est au moins aussi important que ce qui se passe pendant le transitoire de démarrage, car les drivers de moteur sont capables de résister à des pics de courant qui peuvent être supérieurs au courant de démarrage mais ils ne vont pas résister en régime permanent à des courants de fonctionnement du moteur soumis à des frottements importants. Ou soumis à une inertie importante, auquel cas c'est la durée du pic supporté par le driver que l'on va dépasser.
Et oui, la vitesse sera liée au courant, mais dépendante elle aussi de cette ces causes premières (frottement, inertie à déplacer,...).

Je suis consterné. J'abandonne. Je te laisse sur ta planète.

OK. Reprenons la datasheet. Dis-moi pourquoi le courant à vide n'est pas nul.

pepe:
Parce qu'en l'absence de charge, il y a encore des frottements qui induisent une perte de puissance mécanique que le système électrique doit compenser.

Ah enfin ! C'est la première fois que tu admets qu'un phénomène externe autre que la vitesse puisse avoir une action sur le courant.

Pour le reste, tu peux tourner les explications dans tous les sens que tu veux, les faits sont là: le moteur à courant continu se modélise par deux équations différentielles. Quand tu mets le système sous forme d'état, tu as:

  • deux états: la vitesse et le courant
  • deux entrées: la tension d'alimentation et le couple résistant (ce que j'appelle la charge)

Tu peux triturer ces équations dans tous les sens pour faire apparaître les relations que tu veux, mais si tu les regardes de façon objective (ces équations), il me semble donc que les relations de cause à effet sont claires.

Et si tu regardes concrètement, voici ce qui se passe: tu fais tourner le moteur à vide, OK, tout ce que tu dis est vrai. Mais si tu freines ce moteur (tu appliques un couple résistant), le courant augmente et la vitesse diminue. Si tu bloques le moteur, le courant est au max et la vitesse est nulle. Alors oui, il y a une relation évidente entre le courant et la vitesse, mais les deux ne sont que des conséquences du couple résistant que tu appliques.
Et ça aussi c'est très important dans la conception d'un système. Tu te focalises trop sur le démarrage. Dans la réalité d'un système robotique, le robot risque de se retrouver bloqué contre un mur. Et ce qui était toléré au démarrage par le système d'alimentation (un pic de courant pendant un temps court) ne le sera pas dans ce cas de figure (un gros "plat" du courant max pendant un temps potentiellement trop long pour être supporté par le système).

Bon, je laisse tomber. Je fais tourner des moteurs tous les jours. Pour faire varier le courant à tension égale, je continuerai à appliquer un couple résistant sur le rotor avec mes petits doigts. Ca marche... Etonnant, non ?

Bonjour,

Débat passionnant ...
Je veux bien reprendre un peu .....

Revenons au post #17:

I = (U-E)/R
avec :
E = kV·Ω

OK pour moi, le moteur est alors un dipole electrique fixé en régime permanent stable. (charge constante)
les paramètres (constantes) de ce moteur sont R (en Ohms) et Kv en t/mn/Volts par exemple.(ou bien rd/s/V)
(On pourrait ajouter pour affiner le modèle une source de courant I0 représentant un couple de frottement).
Si on augmente la charge, la vitesse diminue, E qui lui est proportionnelle aussi.
Par voie de conséquence à U fixé, U-E augmente, I augmente.

Moteur bloqué la vitesse devient nulle et en conséquence E aussi
L'intensité devient U/R. (valeur généralement trop élevée qui peut entrainer la destruction du moteur)

Pour ma part, pratiquant l'aéromodélisme électrique, je me suis penché sur la caractérisation des moteurs.

En pièce jointe vous avez des graphiques qui correspondent à un moteur réel brushless associé son contrôleur et à une hélice. J'ai modélisé l'ensemble (pour le régime permanent stable) et alimenté à tension constante.

Vous avez en abscisses la vitesse de rotation

En Vertical :

Courbe 1 : la puissance disponible sur l'arbre
Courbe 2 : la puissance reçue par l'hélice
A leur intersection le pt de fonctionnement pour ce moteur et cette hélice.
Courbe 3 : L'intensité
Courbe 4 : le rendement en énergie

L'hélice choisie permet de se placer à la puissance max acceptable pour ce moteur mais pas au rendement max.

Si on augmente encore la taille de l'hélice, la puissance délivrée par le moteur va augmenter, l'intensité aussi mais le moteur ne supportera pas.

J'ajouterais que ce type de modélisation a été largement validé par l'expérience.

Serge .D

capture.PNG