08m2 et commande moteur pwm

margamas

Member
bonjour
je souhaite réaliser un contrôleur de vitesse pour un moteur à courant continu de 24V 250W
j'aimerais commander le moteur en fonction d'un potentiomètre
si j'utilise la fonction pulsout, ceci revient il au même qu'une commande pwm ?
si quelqu'un a un programme en basic ou en flowchart
merci
 

jojojo

Senior Member
Ca peut le faire, sans problème, mais ...

L'intérêt de PMW, c'est que ça tourne en tâche de fond, PAS Pulsout.

Donc, si tu surveilles (boucle) la position de ton potentiomètre de commande (via ReadAdc), la commande PWM (ou PWM DUTY) sera plus adaptée.

Je sais que l'usage de PWM semble rébarbatif. Pourtant, le Wizard du compil est très sympa, pour fixer les paramètres.

A plus.
 

margamas

Member
pwm duty est-il compatible avec le 08m2 ?
avez-vous un exemple de programme utilisant readadc et pwmduty pour un moteur à balais de 250w alimente en 24V, schant que je vais mettre un mosfet ?
 

margamas

Member
pwm duty est-il compatible avec le 08m2 ?
avez-vous un exemple de programme utilisant readadc et pwmduty pour un moteur à balais de 250w alimente en 24V, schant que je vais mettre un mosfet ?
 

PieM

Senior Member
Bonjour, et bienvenue...

pwm duty est-il compatible avec le 08m2 ?
avez-vous un exemple de programme utilisant readadc et pwmduty pour un moteur à balais de 250w alimente en 24V, schant que je vais mettre un mosfet ?
Ce qu'il faut avant tout c'est déterminer quels sont les paramètres optimums pour le moteur qui est relativement puissant.
En particulier, définir quel est le paramètre qui lui permet de démarrer dans les conditions réelles d'utilisation.

Sinon vous risquez de le commander avec un pwm trop bas au minimum, ce qui conduirait à un arrêt du moteur, tout en ayant un courant qui circule.
Il faut savoir aussi si vous voulez commander l'arrêt réel du moteur via le potentiomètre, ou bien par un inter sur une entrée du picaxe.

En outre, en fonction du Mosfet utilisé, il y a une optimisation de la fréquence du PWM à trouver.

Pour commencer, en résumé, faites votre étage de sortie avec le Mosfet (quel type ? + diode de RL sérieuse, et R entre gate et ground ), puis programmez un pwm sur la sortie 2 du 08M2.

démarrez avec par exemple :
pwmout 2, 249, 1000 ce qui fera tourner le moteur à son régime maxi, avec une fréquence de pwm de 4 kHz
Puis diminuez la valeur 1000, jusqu'à atteindre la vitesse de décrochage du moteur.

Vous pouvez également faire des tests sous différentes fréquences de pwm telle que :
pwmout pwmdiv4, 2, 124, 500 pour une fréquence de 2 kHz , le 500 donnant la vitesse maxi.

Voir dans PE, le calculateur PWM:
menu PICAXE > Wizards > pwmout ... (en s'assurant d'avoir bien défini avant le bon picaxe, 08M2. )

En résumé, trouver le bon pwm qui permet de démarrer le moteur, et doit-il être arrêté par un inter ou par le potentiomètre.
Après ça on pourra faire un exemple de programme.
 

PieM

Senior Member
bonjour
pensez-vous le programme suivant cohérant ?
View attachment 14185
Bonjour,

Vous avez écrit que si b0 est strictement supérieur à 50 vous le multipliez par 4;
donc b0 devient supérieur à 51 * 4 donc à 254, et après vous faites un test pour savoir s'il est supérieur à 251 !
si oui vous affectez la valeur 1000 à b0 ce qui n'est pas possible puisque b0 ne peut être supérieur à 255 :confused:
et votre écriture du pwm 2,249,#b0 n'est pas conforme.
si vous voulez un pwm à 100% la valeur du duty doit être de 1000 donc c'est une variable de type word, et on utilise pas le #.
Donc en résumé, votre programme est totalement incohérent .

Il est dommage que depuis Aout 2012 vous n'ayez pas pris le temps de vous documenter un peu plus sur les Picaxes, car c'est essentiel ....
 

margamas

Member
désolé
oui en effet il y a beaucoup d'incohérences
désolé mais je débute avec picaxe
peut-on manipuler les variables de type word en mode flowchart ?
merci pour votre réponse
 

margamas

Member
bonsoir
voilà
j'ai fait le programme en basic mais comme je ne connais pas le basic j'ai fait peut-être des erreurs de syntaxe
Capture.PNG
merci pour vos remarques
 

margamas

Member
bonjour
c'est bien cela que je veux
j'ai une pédale d'accélérateur qui fait tourner un potentiomètre
je veux activer le moteur qu'à partir de la valeur 50 pour b0 (donc w1 à 200) pour ne pas que le moteur soit alimenté en dessous du décrochage.
j'ai pas oublié un then quelque part ?
désolé mais je suis habitué au php qui est beaucoup plus rigoureux au niveau de la syntaxe et je suis un peu perdu en basic avec lequel je me suis pourtant initié à la programmation il y a environ 30 ans sur mon Thomson TO9+
encore merci pour vos réponses
 

PieM

Senior Member
bonjour
c'est bien cela que je veux
j'ai une pédale d'accélérateur qui fait tourner un potentiomètre
je veux activer le moteur qu'à partir de la valeur 50 pour b0 (donc w1 à 200) pour ne pas que le moteur soit alimenté en dessous du décrochage.
j'ai pas oublié un then quelque part ?
désolé mais je suis habitué au php qui est beaucoup plus rigoureux au niveau de la syntaxe et je suis un peu perdu en basic avec lequel je me suis pourtant initié à la programmation il y a environ 30 ans sur mon Thomson TO9+
encore merci pour vos réponses
Ne faites pas d'image de votre programme, mais écrivez le (ou copiez le) entre balises de code
voir http://www.picaxeforum.co.uk/showthread.php?14650-Bienvenue-dans-la-communaut%E9-PICAXE

Code:
#Picaxe 08M2 ' définit le type de Picaxe

main:
readadc 1, b0
if b0 < 50 then 
[INDENT]pwmout 2, OFF
else
w1= b0*4 max 1000
pwmout 2, 249, w1[/INDENT]
endif
goto main
Ce code n'est pas optimum mais vous permet de démarrer.
 

margamas

Member
bonjour
ça fonctionne correctement mais il y a quelques problèmes :
quand je met une diode de type 1n4001 aux bornes du moteur, le moteur ne démarre que quand la pédale est presqu'à fond et ne permet pas une accélération progressive sur toute la course du potentiomètre
alors que sans la diode, l'accélération se fait très progressivement du début de la course de la pédale qui entraîne le potentiomètre (tension à environ 1V) à la fin (tension de 5V)

autre problème : (peut être un problème d'initialisation dans le programme)
quand je met en marche , le moteur tourne à une vitesse moyenne de manière continuelle, et dès que j'actionne la pédale le fonctionnement est normal
voilà pour le rapport de fonctionnement
 

margamas

Member
bonjour
voici le programme
Code:
#Picaxe 08M2 ' définit le type de Picaxe

main:
readadc 4, b0
if b0 < 60 then 
pwmout 2, OFF
else
w1= b0*4 max 1000
pwmout 2, 249, w1
endif
goto main
et l'image du circuit
pwmout.png
merci
je me demande si il ne faudrait pas rajouter pwm 2,off juste avant main dans le programme
 

PieM

Senior Member
Ce qu'il faut rajouter surtout:

Un condensateur de forte capacité à l'entrée de votre régulateur.
un condensateur de 100nF à l'entrée et à la sortie de votre régulateur
un condensateur de 100 nF directement entre les broches 1 et 8 de votre picaxe.
une résistance de l'ordre de 100k entre gate du Mosfet et 0V

Au démarrage un picaxe voit ses sorties dans un état non défini un court instant. Le gate du Mosfet peut donc avoir une tension qui le rend conducteur si son potentiel n'est pas fixé par une résistance de pull down. En plus vous devez avoir un paquet de parasites, non filtrés, dès le démarrage du moteur.
 

jojojo

Senior Member
J'ajoute, que câblé tel que (sans les capa's préconisées par Piem), un regul sur trois oscille joyeusement !

Je rajouterai aussi deux capa's en série au bornes du moteur, avec point milieu à la masse (dans les 200pf, pas critique).

Bye.
 

MGU

Senior Member
Bonjour,

De plus, j'échangerais bien le IRF530 contre un IRL530, compatible TTL. Comparez les courbes IDrain /Vgs

MM
 
Last edited:

PieM

Senior Member
De plus, j'échangerais bien le IRF530 par un IRL530, compatible TTL. Comparez les courbes IDrain /Vgs
Très bonne remarque ! Et pour un moteur de 250W sous 24V, je prendrais même un IRLZ34.
 

margamas

Member
bonjour
bon voilà je suis de retour
j'ai tout mis sauf les capas
j'ai mis un irlz34n
ça a marché parfaitement pendant un instant puis le moteur reste à fond
je me demande si le mosfet est flingué
je ne sais pas comment le tester
 

PieM

Senior Member
j'ai tout mis sauf les capas
Comme c'est la seule chose qu'on vous disait de mettre... :confused:

sinon déconnectez la liaison gate de la sortie du Picaxe en laissant la R entre gate et 0V. vous verrez bien si le mosfet est toujours passant.
si c'est bon, c'est que Picaxe a un pb !
Le mosfet chauffait ?
 

jojojo

Senior Member
Comme c'est la seule chose qu'on vous disait de mettre...

Ben oui.

Les MOSFET sont des adorateurs de la deuxième loi de la thermodynamique : La conservation de l'énergie. Et ils en meurent très souvent (PS: petit coup d'ohmètre entre D et S, suis bien sûr que ça passe toujours, donc, HS).

Explication rapide:

Il FAUT absorber l'énergie restituée au freinage (il y en a toujours, ne serait-ce que l'inertie), donc, GROSSE capa au plus près du + moteur.

La diode de roue libre fait ce qu'elle peut, mais elle doit le faire VITE ! (tuer un MOSFET peut se faire en moins d'une µs), Donc, éviter des "nanars" genre 1N400X, opter plutôt pour des séries genre BAX12 (8ns), ou BYW100 (12 ns, ma préférée pour les ponts moteur), en n'oubliant jamais qu'une 1N4007 se traine autour de 640 ns.

Document explicite ici :

http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fjredoutey.free.fr%2FPuissance%2F1-diodes_rapides.pdf&ei=u9pbUoLBGu-S0AWSyoCoCg&usg=AFQjCNFPuZDnGp6gWgLtXmE4_rUCzqt8Hg.

Et ce n'est pas tout.

- On a expliqué plus haut (Piem, me semble-t-il), qu'il était impératif de fixer le potentiel de la gate avec une résistance Pull up ou Pull downn, selon le type de MOSFET, canal P ou canal N, pour éviter les comportements ératiques, au démarrage, entre autre.
- J'ai précisé, en début de fil, qu'une ou deux (mieux) capa's de faible valeur, directement (enfin, au plus près) des balais évacuent une bonne partie des perturbations HF indésirables.
- Enfin, ne jamais oublier le fait, que l'on trouve aux bornes de ce type de moteur en cours de démarrage, de fonctionnement stabilisé, ou de phase d'arrêt, est souvent très "éxotique". Une diode Zener correctement dimensionnée, au plus près, elle aussi, de l'alim moteur ne peut donc pas nuire.

Voilou. J'ai tué pas mal de MOSFET, mais, en appliquant ces quelques règles, ça va mieux (l'alim de ma trottinette électrique maison tient le coup, depuis trois ans, maintenant, et ça tourne autour de 400W, quand même, avec quelques SUP en //).

Bon courage.

Edit: Tiens, j'y pense, une petite lecture interressante (j'ai dû publier ça dans Elek... il y a quelque temps :
View attachment relaisstatiquescontinus.pdf

Et un truc, pour du plus costaud (toujours en fonction, sur mon vaillant cheval d'acier, et publié au même endroit):
View attachment relais3.pdf
 
Last edited:

margamas

Member
bonjour
j'ai rajouté un condensateur au moteur de 10nF
j'ai mis des condensateurs en entrée et sortie du régulateur
j'ai pas mis de condensateur entre la patte 1 et 8 du picaxe car c'est pareil que mettre en sortie du régulateur
pwmout.png
il me manque juste un condensateur de grande capacité en entrée du régulateur : quelle valeur ? 220uF ?

PS : j'ai effacé mon message précédent car il y avait une erreur de schéma : j'ai pas posté la bonne image.
 

margamas

Member
ah oui désolé j'avais raté le passage de la diode de roue libre
ok il faut changer de modèle
désolé j'avais lu très vite et j'ai cru qu'il fallait un condensateur de 8nF (comprendre diode plus rapide de 8ns) aux bornes du moteur
merci pour votre patience et pour vos réponses
 

jojojo

Senior Member
désolé j'avais lu très vite

Hum, oui,,très vite.
il me manque juste un condensateur de grande capacité en entrée du régulateur : quelle valeur ? 220uF ?
Allez, on va dire 1000µ (j'ai bien une méthode perso de calcul, mais ...)

comprendre diode plus rapide de 8ns

Ben, le document joint est explicite, non ?

Et, visiblement, pas lu. Voir la 400X présente dans votre dernier schéma proposé.

Pareil, pour la résistance de forçage (pull down). Pas là.
Edit :
Sur le chois du MOSFET, on pense en VGS, et avec 24V de VDS, on ,ne rêve pas de commander le gate du MOSFET avec 5V !
Bon, après vérif, c'est un HEXFET, donc, oui, commandable avec 5V

Donc ...

On revoie sa copie, et ... On va progresser .
 
Last edited:

PieM

Senior Member
Je rajouterai :

j'ai pas mis de condensateur entre la patte 1 et 8 du picaxe car c'est pareil que mettre en sortie du régulateur
Alors, si vous le dites ... :confused:

On ne sait toujours pas si le mosfet est HS, si le Picaxe est HS, et à quelle fréquence travaille votre PWM ?.
 

margamas

Member
bon
je progresse
pwmout.png
la résistance de forçage (10k) est bien présente entre la patte 5 du picaxe et la masse
j'ai changé les références de la diode et du mosfet
en ce qui concerne le condensateur entre la patte 1 et 8, pourquoi le fait de dire que c'est pareil que de la mettre en sortie du régulateur est-il stupide ?
le mosfet est bien HS
en ce qui concerne la fréquence du pwm, cela ne dépend-il pas du programme ?

lors de mon dernier essai, j'avais mis un irlz34 et j'avais bien la résistance de forçage
vous pensez donc que la détérioration du mosfet est due à la diode 1N4001 ? au condensateur de 1000uF non présent ?
merci
 

BESQUEUT

Senior Member
en ce qui concerne le condensateur entre la patte 1 et 8, pourquoi le fait de dire que c'est pareil que de la mettre en sortie du régulateur est-il stupide ?
en ce qui concerne la fréquence du pwm, cela ne dépend-il pas du programme ?
lors de mon dernier essai, j'avais mis un irlz34 et j'avais bien la résistance de forçage
vous pensez donc que la détérioration du mosfet est due à la diode 1N4001 ? au condensateur de 1000uF non présent ?
merci
Je prends ce thread en route et je ne suis pas très compétent sur le commande des moteurs. Toutefois, je peux vous assurer que si PieM dit que ce n'est pas pareil, vous pouvez le croire !
En particulier un conducteur (un fil) n'a jamais une résistance et encore moins une impédance nulle. Donc, en fonction des fréquences et des intensités en jeu, la position d'un composant sur le circuit est importante. Un front montant typique de la bascule d'un Mosfet est assimilable a une haute fréquence qui se propage ou pas partout dans les conducteurs, et ceci d'autant plus que le courant est grand. Si un condensateur est présent à un bout d'un conducteur, il peut absorber ou fournir de l'énergie. Mais à l'autre bout, le fil se comportant comme une barrière, son influence est médiocre.

Certes, vous pouvez régler le PWM par programme, mais c'est quand même important de savoir ce que vous comptez faire. Ce genre de montage est une adéquation entre le software et le hardware. Si l'un est inadapté à l'autre, il y a de la fumée blanche dans l'air...

Je ne reviens pas sur l'importance des caractéristiques de la diode car ça a déjà été expliqué longuement.
 

jojojo

Senior Member
vous pensez donc que la détérioration du mosfet est due à la diode 1N4001 ? au condensateur de 1000uF non présent ?

Oui.

Et, oui, il FAUT une capa AU PLUS PRES des broches alim du picaxe. Et, OUI il en faut également de chaque cotés et AU PLUS PRES du régul.
Et, une zener 30v 1W sur l'alim 24v (là aussi, câblée au plus près du + moteur, et de la source de l'HEXFET) ne serait pas un luxe.
 

PieM

Senior Member
Il faut admettre, que Piem est un peu mon Alexandre Dumas à moi. On ne se lasse jamais de le lire :eek:
:D Dis, j'ai les chevilles tellement enflées que je ne sais pas si je vais terminer mes traductions de la doc !!
 

jojojo

Senior Member
Là, je ne suis plus.

Même moi, très grand gourou de la traduction (mes chakras ango-saxon frétillent en permanence), je ne parviens pas à traduire avec ... Mes chevilles... Diantre, serait-ce une botte secrète de l'ami D'Artagnan ? :rolleyes:

Bon, allez, suis pas inquiet une demi-seconde, pour la suite de tes traductions.
 

BESQUEUT

Senior Member
Même moi, très grand gourou de la traduction (mes chakras ango-saxon frétillent en permanence), je ne parviens pas à traduire avec ... Mes chevilles... Diantre, serait-ce une botte secrète de l'ami D'Artagnan ? :rolleyes:
En fait, PieM est très écolo... Et donc, pour alimenter son ordi, il pédale ! et donc, si par malheur ses chevilles se mettent à enfler, il ne peut plus pédaler, son ordi n'est plus alimenté, et il ne peut plus traduire ! QED...
 
Last edited:

BESQUEUT

Senior Member
Délire (suite)

Pour les anglo-saxo-philes non latinistes, cet acronyme signifie Quod Erat Demonstrandumhttp://fr.wikipedia.org/wiki/QED_(homonymie)
Petit rappel (?) aussi d'un post précédent concernant les problèmes liès au PWM sur un Mosfet: http://www.picaxeforum.co.uk/showthread.php?17159-Picaxe-MOSFET&p=156467&viewfull=1#post156467
Pour l'alim à découpage : notre fournisseur bien-aimé met à son catalogue une platine bien sympatique et pas trop onéreuse : http://www.gotronic.fr/art-module-alim-pow00900m-20633.htm Il y a aussi un afficheur 4 x 8 segments LEDS un peu plus cher mais qui peut simplifier bien des montages.
Il faut admettre, que Piem est un peu mon Alexandre Dumas à moi. On ne se lasse jamais de le lire :eek:
Je dois reconnaitre que je n'ai pas son talent, même pour expliquer ce qu'est une résistance de zéro ohms...
 
Last edited:

margamas

Member
bonjour
bon j'ai mis tout ce qu'il faut (condo 1000uF, byw100-200, condos 100uF, ...)
ça fonctionne très bien quand le moteur tourne et entraîne la roue du karting quand celle-ci tourne dans le vide
dès que je monte sur le kart et que j'accélère : paf le mosfet claque et le 08M2 est hs aussi
en sortie du régulateur j'ai 5,07 V
peut-être faut-il mettre une résistance de 100 ohms entre la sortie du picaxe et la gachette du mosfet (IRLZ44N)
peut être la fréquence pwm n'est pas bonne mais comment faire pour la changer ?
merci encore pour votre aide
 

jojojo

Senior Member
peut-être faut-il mettre une résistance de 100 ohms entre la sortie du picaxe et la gachette du mosfet (IRLZ44N)

Pas nécessaire, à mon avis.

peut être la fréquence pwm n'est pas bonne mais comment faire pour la changer ?

Ca, c'est très probable. Voir le wizard, pour la génération de PWM à differentes fréquences.

PS: Et ma zener, elle y est ?
 
Top