Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Menu principal

Pilotage M/A d'un moteur brushless avec un arduino

Démarré par 19vince, Mai 21, 2020, 08:38:37 AM

« précédent - suivant »

19vince

Bonjour à  tous,

J'aime bien cette entraide dans les forums.
Je travaille sur un projet innovant, espérant créer une entreprise dès que je serais en position de vendre et développer mon business.
L'électronique n'est pas mon coeur de métier, c'est pour cela que je fais appel à  vous, pour ne pas rester bloquer trop longtemps sur ce problème.

Je veux piloter la marche/arrêt d'un moteur brushless DC , rotation dans un seul sens, dont je vous laisse la fiche technique en pièce jointe. Je souhaite le piloter avec un arduino et l'alimenter en 18V (réglage de la vitesse du moteur par une sortie PWM).
Je me suis basé sur le schéma ci-joint dans la même pièce jointe avec une diode 1N4007  et un transitor TIP120.

Quand je veux arrêter le moteur en donnant comme consignes : vitesse de rotation à  0 tr/min et base du transistor TIP 120 à  low, j'ai toujours 6.8 V aux bornes du moteur (moteur légèrement sifflant malgré une bonne fréquence PWM envoyée)

Je me doute que ce schéma est incomplet ou ne correspondant pas à  mon cas.
Merci pour vos explications et vos conseils (composants à  acheter, schéma).

A bientôt  :)

Vincent

Curiosus

#1
Bonjour,

CitationÉcrit par 19vince : Quand je veux arrêter le moteur en donnant comme consignes : vitesse de rotation à  0 tr/min et base du transistor TIP 120 à  low, j'ai toujours 6.8 V aux bornes du moteur

Pwm à  régler, c'est le gros problème du langage Arduino,  quand on a besoin de précision en passe par assembleur, de plus tu devrais pas entendre du bruit dans tes bobines moteur, il faut ajuster ton PWM vers les 20000 Hz, ce qui est inaudible pour nos oreilles.


   A+ 

Électro-Bidouilleur


19vince

Bonjour Curiosus, bonjour Electro-Bidoulleur !
Merci de m'avoir répondu. Le problème persiste  :(

J'ai peut être pas récupéré le meilleur code assembleur pour changer la fréquence du PWM à  32Khz (j'avais quand même remarqué une bonne différence en termes de sifflement avant et après cette modification de fréquence arduino lors de la rotation du moteur).

Mon programme arduino ordonne toutes les 6 secondes ,une alternance M/A du moteur.
Merci pour le rappel de mettre à  low la sortie PWM (digitalwrite) pour arrêter le timer PWM (arrêt moteur)
Malgré cette instruction, je trouve une tension élevée sur cette broche PWM/ masse :
sans alimentation indépendante du moteur +0.19V/+1.92V
avec l'alimentation indépendante du moteur +5.36V(arrêt moteur + sifflement)/+1.94V (rotation moteur sans sifflement)
Le sifflement du moteur s'arrête quand je débranche la broche PWM de l'arduino.

Je trouve aussi une différence de tension aux bornes du moteur :
alternance M/A + broche PWM enfichée +16.45V/+6.95V
broche PWM retirée (pilotage moteur impossible) +17.28V/+1.28V.
Je pensais que c'était le transitor (TIP 120) qui était défaillant ou mal choisi ou mal assemblé
pour rester passant même quand sa base est à  low mais peut être que le problème est ailleurs.
Je m'étonne que le MCU de l'arduino chauffe vite et fort aussi.

Avez-vous des pistes à  me conseiller.
Merci encore, au plaisir de faire plus amples connaissances !
Je suis à  Brive dans la maison de mes grands parents.

Vincent

Curiosus

#4
Bonjour,


Ce que j'en déduit et d'après ce que tu nous dis, ça voudrait dire que ton PWM n'est pas à  l'arrêt quand ton moteur est arrêté

A vérifier avec un oscilloscope la base du transistor, on ne peut malheureusement pas le faire pour toi, d'autre par c'est pas normal que ton microcontrôleur chauffe.

Si tu n'a pas d’oscilloscope, contrôle avec un multimètre la sortie du PWM de ton microcontrôleur avec PWM à  l'arrêt, sans brancher le transistor.

Donne les résultat ici

A+

     

19vince

Bonsoir,

Le problème ne semble pas venir de la sortie PWM de l'Arduino : Quand je donne comme consigne, l'arrêt du moteur par le passage à  low de la base du TIP120 et de la sortie PWM j'ai bien une tension +0V/ masse sur le connecteur PWM de l'Arduino.

Quand je branche l'alimentation externe du moteur (+18V), la bascule reste la même au borne de la broche PWM (marche +2,37V/ arrêt 0V) par contre dès que j' enfiche l'entrée PMW du moteur dans la broche PWM de l'Arduino, je passe aux valeurs suivantes ( marche +2,37V / arrêt + 0,3V avec un sifflement du moteur).

J'en ai déduis qu'il y avait, peut être, une défaillance de l’électronique embarquée du moteur et j'ai donc recherché à  déconnecter par l'électronique, l'entrée PWM du moteur quand la consigne arrêt moteur est effective.

Mon premier essai a été d'utiliser un second transistor TIP120 pour le rendre passant aux bornes de la sortie PMW de l'arduino, en utilisant comme alimentation base, la même que celle du premier TIP 120
=>ça a eu comme impact d'amplifier en intensité le signal PWM et je me suis retrouvé avec un moteur tournant, à  deux vitesses différentes, avec comme tension aux bornes du moteur (+ 12,60V / + 9,05V).

Est-ce que vous pouvez me confirmer que c'est bien l'électronique du moteur qui est en cause ? Avant que je sollicite le fournisseur pour un remplacement.

En attendant, je vais acheter des relais pour couper simultanément l'alimentation +Vs et l'alimentation input PWM du moteur quand je souhaiterais son arrêt.
Je vous tiens au courant dans tous les cas de figure.
Merci, A+

Curiosus

Bonsoir,

CitationÉcrit par 19vince : Le problème ne semble pas venir de la sortie PWM de l'Arduino

J'ai pas dit que ça venait du microcontrôleur, j'ai dit que ton PWM n'est pas éteint quand ton moteur et à  l'arrêt.

Le TIP120 et un transistor darlington, donc, si tu as un PWM de fuite même mini il est amplifier, et ça confirme que ton PWM n'est pas complétement éteint quand il devrait être à  l'arrêt.

Fait un essai en mettant une résistance de 10000 ohms entre base et émetteur.

A+