Protections moteurs CC 24V et limitation courant-tension

Bonjour,

Vu que vous me manquiez je reviens avec un autre mini voire gros problème :grin: . J'utilise ce shield (désolé pour la pub) pour commander des moteurs 24V/7.5A. L'alimentation est un transfo 24V/30A parce que je compte utiliser 2 shields pour 4 moteurs de 7.5A d'où le transfo de 30A. Jusqu'à maintenant mes essaies ont toujours bien marché mais depuis peu je rencontre quelques problèmes. En effet, lorsque je fais tourner le moteur dans les 2 sens, le shield s'éteint brusquement tout seul quand bien même il est alimenté, je suis obligé de débrancher puis rebrancher l'alimentation. Ce qui est très gênant en soi. Je me dis que c'est peut-être mon moteur qui appel trop de courant au démarrage ou lors du changement de sens de rotation, ce qui provoque donc l'arrêt brutal du shield. De plus, en faisant des tests chargés (150kg environ) le frein moteur ne fonctionne pas lorsque le moteur tourne dans le sens inverse et sous l'effet du poids de la charge le moteur tourne tout seul, il est donc en générateur et tout le courant générer est avaler par le shield (ce qui n'est pas très bien pour le shield je pense). Ma question est donc comment pourrais-je protéger mon shield ? À la fois contre la puissance rentrante et contre la puissance sortante sortante ? Comment le protéger contre les sur-tensions ( U > 24V) et les surintensités, et comment faire en sorte qu'aucun courant renvoyé par le moteur n'y entre dans le shield ?

Je sais que ça fait beaucoup de "comment" mais pour l'instant ce sont les seuls hypothèses qui me viennent à l'esprit.

Je vous remercie d'avance pour vos conseils et vos aides.

Yep!

Le shield dispose déjà d'une protection contre les retours de courant. C'est précisé dans le descriptif : Reverse-voltage protection.

Par contre, tu peux toujours ajouter une diode de roue libre en parallèle de chaque moteur. Je n'ai pas de référence à te proposer.

Pour éviter les sur-intensité au démarrage du moteur, tu peux envisager de piloter tes moteurs avec un PWM (MLI) assez bas au départ et croissant au fur et à mesure jusqu'à obtention de la pleine puissance. Ainsi, tu n'enverras pas toute la tension d'un coup et le rapport d'intensité sera moindre.

En ce qui concerne les freins (intégrés au moteur ?), ils consomment également du courant, en plus du moteur, il se peut trés bien que ton alimentation soit un peu juste. Si tu disposes d'un multimètre, vérifie la consommation du frein moteur avec la charge à soulever.

@+

Zoroastre.

Merci pour ce retour :slight_smile: !

zoroastre:
Yep!

Le shield dispose déjà d’une protection contre les retours de courant. C’est précisé dans le descriptif : Reverse-voltage protection.

Je pense que c’est contre les retours de tension, si mon anglais ne me fait pas défaut ^^.
Au vu de ce schéma page 14, tous les transistors MOSFET sont protégés par des diodes mais je trouve bizarre leur disposition. Je me suis lancé vers ce shield parce qu’il me semblait vraiment génial pour la commande de moteur 24V/7.5A mais j’ai peur que les promesses du fabricant ne soient que commerciales ou c’est peut-être moi qui m’en sers mal et lui demande un peu trop. Pourtant j’ai l’impression de l’utiliser en dessous de ses capacités vu qu’il prévu pour du 12A en continue alors que je ne lui demande que 7.5A

zoroastre:
Par contre, tu peux toujours ajouter une diode de roue libre en parallèle de chaque moteur. Je n’ai pas de référence à te proposer.

Je comptais utiliser une diode 6A1 ou 6A05(ou en mettre 2 en parallèle).

zoroastre:
Pour éviter les sur-intensité au démarrage du moteur, tu peux envisager de piloter tes moteurs avec un PWM (MLI) assez bas au départ et croissant au fur et à mesure jusqu’à obtention de la pleine puissance. Ainsi, tu n’enverras pas toute la tension d’un coup et le rapport d’intensité sera moindre.

C’est ce que je fais jusqu’à maintenant, mais le problème est que mes moteurs sont très lents (vitesse max de 6 tours/min). Du coup en envoyant un signal PWM avec un rapport cyclique qui va de 0 à 255, le moteur ne bouge qu’une seconde plus tard… Il y a un gros décalage entre la commande et le temps de réponse du moteur.
L’idée serait d’envoyer la commande avec l’algorithme suivant :

for(int alpha=0;alpha<=250; alpha++)
{
     rotation_moteur(alpha):
      attendre(x seconde); // et ce pour chaque alpha
}

En gros pour chaque “alpha” on attend “x secondes” avant de passer au “alpha” suivant, le but étant de ralentir l’exécution de la boucle “for” pour que le moteur ait le temps d’apercevoir la commande. Mais je pense que ça ne doit pas être évident à mettre en place, sans utilisation de “delay”.

zoroastre:
En ce qui concerne les freins (intégrés au moteur ?), ils consomment également du courant, en plus du moteur, il se peut trés bien que ton alimentation soit un peu juste.
Si tu disposes d’un multimètre, vérifie la consommation du frein moteur avec la charge à soulever.

Je vais mesurer cela dès que possible.
Merci

Re !

Je viens de mesurer le courant lorsque le moteur est freiné sous la charge de 150kg et il se trouve que ce courant est nul. En fait le frein moteur n'est qu'un court-circuit du coup le moteur n'appelle pas de courant. Le soucis est que le shield n'a pas la puissance nécessaire pour tenir le moteur lors de ce court-circuit du coup le moteur repart dans l'autre sens :( ... Je vois comment réaliser le court-circuit autrement mais maintenant j'ai un autre soucis avec ce shield justement...

Je n'ai pas vu d'indication précise sur l'alimentation, mais as-tu essayé d'utiliser deux alims séparées (24V et une autre en 5V dédiée à la partie commande)? Si le moteur fait s'effondrer l'alim puissance, il se peut que l'alim commande tombe aussi en mettant un peu le dawa dans ton code. Une alim 5V séparée n'aurait pas ce problème, et si l'alim puissance bouge, ça ne gênera pas grand monde, tes moteurs s'en accommoderont sans soucis...

akuma8: En fait le frein moteur n'est qu'un court-circuit du coup le moteur n'appelle pas de courant. Le soucis est que le shield n'a pas la puissance nécessaire pour tenir le moteur lors de ce court-circuit du coup le moteur repart dans l'autre sens :( ...

Le frein moteur c'est la mise en court-circuit des sorties du moteur. On utilise sa FCEM pour ralentir. Ce mode ne peut pas arrêter le mobile plus le mobile ralenti moins il y a de FCEM et donc moins le freinage est puissant.

Si tu veux avoir un freinage actif il faut piloter le moteur en lui fournissant du courant. Admettons que tu soit dans une pente et que tu veuilles empêcher le véhicule d'avancer il faut alors faire tourner le moteur en "marche arrière" en contrôlant le PWM afin que le couple s'oppose au déplacement.

La description de ton problème fait penser à une alimentation qui ne fournirait pas suffisamment de courant. Les 7,5A de ton moteur c'est dans quel cas, consommation typique ou arbre moteur bloqué. Ce n'est pas du tout la même chose, il peut y avoir une grosse différence entre ces 2 courants.

Super_Cinci: Je n'ai pas vu d'indication précise sur l'alimentation, mais as-tu essayé d'utiliser deux alims séparées (24V et une autre en 5V dédiée à la partie commande)? Si le moteur fait s'effondrer l'alim puissance, il se peut que l'alim commande tombe aussi en mettant un peu le dawa dans ton code. Une alim 5V séparée n'aurait pas ce problème, et si l'alim puissance bouge, ça ne gênera pas grand monde, tes moteurs s'en accommoderont sans soucis...

Ma carte de commande (arduino Mega) est alimenté sous 9V et la carte qui pilote les moteurs est alimenté sous 24V.

Normalement tout marchait niquel jusqu'à un moment où tout s'est mis à déconner sans que je sache trop pourquoi. Je pense que le problème est survenu lorsque mon moteur s'est mis en générateur et a renvoyé de la puissance à ma carte de commande.

fdufnews: Le frein moteur c'est la mise en court-circuit des sorties du moteur. On utilise sa FCEM pour ralentir. Ce mode ne peut pas arrêter le mobile plus le mobile ralenti moins il y a de FCEM et donc moins le freinage est puissant.

Si tu veux avoir un freinage actif il faut piloter le moteur en lui fournissant du courant. Admettons que tu soit dans une pente et que tu veuilles empêcher le véhicule d'avancer il faut alors faire tourner le moteur en "marche arrière" en contrôlant le PWM afin que le couple s'oppose au déplacement.

La description de ton problème fait penser à une alimentation qui ne fournirait pas suffisamment de courant. Les 7,5A de ton moteur c'est dans quel cas, consommation typique ou arbre moteur bloqué. Ce n'est pas du tout la même chose, il peut y avoir une grosse différence entre ces 2 courants.

En partant de ce principe, comment veux-tu juste envoyer du courant au moteur sans le faire tourner ? Pour moi voilà comment je vois le frein par court-circuit : il ne faut pas fournir du courant supplémentaire mais juste faire en sorte que le courant qui parcourt le moteur y reste bloquer lorsqu'on freine, de ce fait on a à peu près la même intensité aux 2 bornes du moteurs ce qui le bloque et l'empêche donc de tourner dans un sens ou dans l'autre. C'est en quelque sorte une mise en équilibre maintenu par le courant à ses bornes.

Mon alim fournit du 30.3A, 750W pour un moteur de 180W, je pense être largement au dessus, je pense que le shield n'est pas assez puissant pour piloter convenablement mon moteur, surtout pour le freinage.

Je compte passer par un relais pour réaliser ce court-circuit qui freine le moteur ainsi ça m'évitera de renvoyer de la puissance à mon shield.

Je ne sais pas si c'est une bonne idée mais je vais déjà tester parce que maintenant que j'ai fini tout mon algorithme de commande, c'est le matériel qui déconne, c'est un peu balo :( !

merci

Yep!

Comme le précise fdufnews, pour freiner un moteur cc on utilise sa FEM en fermant le circuit entre ses bornes. L'intensité est maximale.

Mettre ses bornes à la masse n'est pas forcément équivalent, les bornes sont "en l'air" et le moteur en roue libre. Ce n'est pas l'effet voulu.

Le hic est que la plupart des shield ne possède pas de mode frein, il faut vérifier que l'induit peut circuler librement dans le circuit.

@+

Zoroastre.

L'intensité est maximale si le moteur tourne à sa vitesse maximale. Dès que le moteur ralenti la FCEM diminue et donc le couple résistant. Moteur à l'arrêt il n'y a plus de courant donc plus de frein.

akuma8: En partant de ce principe, comment veux-tu juste envoyer du courant au moteur sans le faire tourner ?

Le courant dans l'enroulement du moteur c'est du couple. Si le couple créé contre-balance la force qui tend à faire avancer le mobile il reste sur place. Si le couple augmente le mobile recule, si le couple diminue il avance.

Tu as déjà vu un Segway comment tient-il en équilibre avec une personne dessus à ton avis?

akuma8: Mon alim fournit du 30.3A, 750W pour un moteur de 180W, je pense être largement au dessus.

Quelle est la résistance de l'enroulement de ton moteur? Au démarrage le moteur est à l’arrêt il n'y a pas de FCEM donc le courant est maximale et il dépend uniquement de la résistance de l'enroulement moteur. Au démarrage le courant peut être très supérieur au courant typique.

fdufnews: L'intensité est maximale si le moteur tourne à sa vitesse maximale. Dès que le moteur ralenti la FCEM diminue et donc le couple résistant. Moteur à l'arrêt il n'y a plus de courant donc plus de frein. Le courant dans l'enroulement du moteur c'est du couple. Si le couple créé contre-balance la force qui tend à faire avancer le mobile il reste sur place. Si le couple augmente le mobile recule, si le couple diminue il avance.

Tu as déjà vu un Segway comment tient-il en équilibre avec une personne dessus à ton avis?

Bonjour, Je reviens donc, n'ayant toujours pas resolu mon problème. La loi reliant la vitesse et l'intensité est la suivante : "vitesse = 1/intensité" à vide, donc à vitesse max le courant est très faible et vice-versa. Et le couple est effectivement proportionnel à l'intensité mais le problème est le suivant, comment générer uniquement que de l'intensité ? Comment envoyé uniquement que du courant à mon moteur pour le maintenir en équilibre sachant que je le controle uniquement en PWM ?

fdufnews: Quelle est la résistance de l'enroulement de ton moteur? Au démarrage le moteur est à l’arrêt il n'y a pas de FCEM donc le courant est maximale et il dépend uniquement de la résistance de l'enroulement moteur. Au démarrage le courant peut être très supérieur au courant typique.

Malheureusement je n'ai pas les données techniques de mon moteur à part sa consommation et son couple je n'ai rien d'autre. Pour info : couple de 250Nm, 24Vcc/7.5A Justement concernant ce courant de démarrage y aurait-il un moyen de le diminuer fortement ? Si je démarrage le moteur à très faible vitesse pendant un certains temps puis le mettre à sa vitesse max qui est de 6 tours/min (ce sont des moteurs assez lents), est-ce que je peux diminuer ce courant ?

Une autre question : Est-il possible que la longueur des fils alimentant le moteur puisse perturber fortement mon shield voire l'endommager ? Les fils font 20m à peu près. Je vous remercie

akuma8: Une autre question : Est-il possible que la longueur des fils alimentant le moteur puisse perturber fortement mon shield voire l'endommager ? Les fils font 20m à peu près. Je vous remercie

bonjour le principe de base est de toujours limiter la distance 20m pour de la puissance en TBT c'est déjà grand pour les 40m de cable utilisé : quelle reference ? quelle valeur Ω/m ? resistance (au moins matériaux/section) cables de jonctions

Artouste: bonjour le principe de base est de toujours limiter la distance 20m pour de la puissance en TBT c'est déjà grand pour les 40m de cable utilisé : quelle reference ? quelle valeur Ω/m ? resistance (au moins matériaux/section) cables de jonctions

Je m'en doute que c'est très défavorable une aussi grande longueur de cable. Comment expliquer en fait le fait que plus les cables sont longs plus y a risque d'avoir des piques de tensions ? Concernant mes cables, elles ont une section de 2.5mm2 et sont en cuivre. Je mesurerai leur résistance pour en savoir un peu plus.

Une autre question : J'aimerai protéger mon shied en utilisant une diode de roue libre ainsi lorsqu'on court-circutera le moteur pour le freiner, le courant ne reviendra pas dans le shield. Le soucis est que mon moteur tourne dans les 2 sens et peut être freiner durant la rotation dans un de ses sens de rotation. La diode étant un semi-conducteur comment orienter donc la diode ? Dois-je en utiliser 2 en parallèle et orienter de façon opposer entre les bornes du moteur ? Comme ça si on arrête le moteur dans un sens une des diodes laissera passer le courant et l'autre non et vice-versa... J'espère avoir été un peu clair dans mon explication. Merci à vous en tout cas.

?