controle vitesse moteurs sur picaxe18M2

pranioprof

New Member
Bonjour, j'aimerais limiter la vitesse des moteurs que j'ai branché sur les sorties moteurs (pin 4,5 et 6,7) de la carte CHI035 équipée d'un picaxe 18M2. En effet, les motoreducteurs que j'ai branché tournent encore trop vite ! Peut-on limiter le courant de sortie sur ces sorties (issues du circuit L293D) ? Puis-je mettre une résistance variable sur ces sorties ? Pourquoi le PWM n'est-il disponible que sur une seule sortie ? Merci de votre aide.
 

westaust55

Moderator
Bienvenue au forum de PICAXE


Oui, vous pouvez adapter une résistance de série entre les goupilles de rendement de L293D et les raccordements de moteur. Cela réduira la tension et en conséquence aussi le courant. Car le courant réduit le couple fourni par le moteur pour tourner l'axe et les roues réduiront également.


Une meilleure solution serait d'employer PWM qui applique des impulsions courtes de puissance aux moteurs à la pleine tension. En changeant la durée des impulsions, la tension et la vitesse moyennes est changée mais le couple quand une impulsion est appliquée est toujours la pleine estimation.
Sur le L293D, la borne 1 est le rendement permettent la commande pour des sorties sur CHI035 les bornes 4 et 5 pour la borne 9 du moteur A. est le rendement permettent la commande pour des sorties sur CHI035 les bornes 6 et 7 pour le moteur B.


Le 18M2 fournit des signaux de PWM sur E/S B.3 qui est la jambe physique 9 et également sur B.6 qui est la jambe physique 12.
Si vous souhaitez changer la vitesse des deux moteurs par la même proportion puis vous pourriez employer un signal simple de PWM. Si vous souhaitez avoir les moteurs fonctionner à différentes vitesses alors emploient les deux signaux de PWM.
Vous pouvez alors employer les commandes PWMOUT de placer l'opération de générateur de PWM et puis d'employer le PWMDUTY pour ajuster le coefficient d'utilisation et donc la vitesse du moteur.

Le problème est pour CHI035 le panneau, le 18M2 la jambe que physique 12 déjà est utilisée pour commander le L293D pour la commande de moteur de base.
Cependant PWM d'E/S B.3 (la jambe physique 9) est disponible si vous n'employez pas le rendement commandé par FET. Pour faire que vous devez couper quelques voies sur le panneau CHI035 pour isoler les bornes 1 et 9 sur le morceau de L293D et puis pour ajouter un fil pour se relier alors à la jambe physique 9 du 18M2.

Car je n'ai pas un panneau CHI035 que je ne peux pas te dire exactement où couper les voies de cuivre sur le CHI035 pour isoler les goupilles de morceau de L293D.
 

PieM

Senior Member
Bonjour,
la solution d'utiliser le pwm est sans doute la meilleure.

Pour expliciter ce que dit Westauss, voir la photo ci jointe:
en jaune, la coupure de piste à effectuer (délicatement) et en bleu la liaison à faire.

La commande pwm doit se faire sur B.3 du 18M2
 

Attachments

PieM

Senior Member
Correction: d'autres pistes sont à modifier ! Ne rien faire pour l'instant car un seul moteur peut être mis sous contrôle du pwm.
la broche 1 reste au +V pat les pistes de l'autre face.
Si on nous donne le typon du circuit imprimé, il sera peut être possible de faire la modification, mais c'est de la chirurgie !!
 

pranioprof

New Member
Merci beaucoup.

Correction: d'autres pistes sont à modifier ! Ne rien faire pour l'instant car un seul moteur peut être mis sous contrôle du pwm.
la broche 1 reste au +V pat les pistes de l'autre face.
Si on nous donne le typon du circuit imprimé, il sera peut être possible de faire la modification, mais c'est de la chirurgie !!

C'est vraiment sympa d'avoir répondu de façon aussi précise. En fait, c'est très compliqué de controler la vitesse des moteurs ! Je pensais qu'il existait une instruction du type output6=10% pour que le moteur tourne à 10% de sa vitesse max. Mais ça, c'est en rêve ! En fait l'instruction PWM si utile n'est disponible que sur une seule sortie, et même pas une des 4 sorties provenant du L293D (4,5 et 6,7). Si c'est pas une connerie !!! Je ne sais vraiment pas quoi faire car les véhicules que mes élèves réalisent et programment depuis septembre vont 10 fois trop vite. J'ai essayé de mettre une résistance ajustable sur les entrées moteurs mais ça ne fonctionne pas. Le moteur ne décolle pas ! Je ne vois plus que la modification de la mécanique, donc des pignons ou alors le remplacement des moteurs par des servomoteurs à rotation continue.
Si vous avez d'autres idées, merci de me le faire savoir car à 20€ le servo, ça va douiller pour 20 voitures.
 

PieM

Senior Member
Bonjour,

Le basic utilisé, bien que déjà évolué, ne permet pas de définir une fonction permettant ce type de commande : output = 10% !

Le problème également est l'utilisation des cartes project qui sont figées par un circuit imprimé double face. Parfois, on a intérêt à souder soi même quelques composants sur une plaque d'essai.

Concernant le problème de vitesse des moteurs, c'est sûr que de mettre une résistance n'est pas l'idéal...

Personnellement, pour rattraper le coup, et ne pas dépenser 20€ de plus par moteur , je ferais la chose suivante, ( sans le crier sur les toits...)

Mettre en place le L293 après avoir tordu les pattes 1 et 9 pour qu'elles ne rentrent pas dans le support DIL.

Souder un petit fil reliant ces 2 pattes en l'air, et de l'autre coté, sous le circuit imprimé, le souder sur la sortie 9 du 18M2 (correspondant au pwm de B.3 )

Par la commande pwmout et pwmduty, il sera ainsi possible de faire varier la vitesse des moteurs (mais pas de façon individuelle !)...

Bon, on ne peut pas dire que c'est de l'électronique classique, :rolleyes: mais ça permettrait de se sortir de ce problème à moindre coût.
 

f.heckel

Member
personnellement, je réduis la vitesse du robot en jouant sur
- le diamètre des roues
- le rapport de réduction des motos-réducteurs. J'utilise des MotoB de chez A4 (environ 4,00€ de mémoire) avec un rapport de 1/245. Ils font un bruit peu sympathique et consomme beaucoup mais cela fonctionne.

Je peux envoyer de la doc sur la réalisation des roues et le montage des moto B si nécessaire

François HECKEL
 

pranioprof

New Member
merci et vive le forum

Bonjour et merci à tous ceux qui postent leurs connaissances sur ce forum. C'est sympa de faire partager sa culture. J'ai pris la décision de remplacer les blocs motoréducteurs par des moteurs indépendants avec réduction de vitesse de 1:5 à 1:12000 par choix des pignons qui vont bien ! J'espère qu'on arrivera à les faire tourner à la même vitesse de façon à ce que les véhicules aillent droit quand on le désire (ce qui n'est pas toujours le cas !). Les motoréducteurs de chez central média que j'avais fait installer par mes élèves au départ sont impossibles à controler en vitesse. Dès qu'on utilise un "PWM bidouillé" (en aliment le moteur 0,5s par seconde par ex), alors il saccade ou ne démarre plus. Ensuite, il s'emballe et accelère à fond : très bizarre !!!
Pourriez-vous me donner votre avis sur les 2 motoréducteurs ci-dessous :
1) motoréducteur de chez central média qui tourne trop vite : ref BMC381
[http://www.centralmedia.fr/home/KCM2020.html
2) Nouveau motoréducteur en cours d'essai : KNS8
http://www.gotronic.fr/catalog/robotique/reducteurs.htm

J'essaierai tout de même la "bidouille" proposée en pliant 2 pattes du L293D car ça me semble interressant.

AUTRES QUESTIONS : pourquoi sur la carte CHI035, les résistances R6 et R7 ne sont pas soudées ? Pourquoi les entrées 3, 4 et 5 sont indisponibles si on équipe la carte d'un PIC18M2 ? COmment paramétrer le PIC 18M2 pour lui "dire" qu'on veut utiliser des sorties en entrées. Il est vendu comme complétement paramétrable mais comment on fait ?
Merci d'avance pour vos réponses.
 
Last edited:

f.heckel

Member
je connais bien la référence du moteur Gotronic. C'est à priori le même que la ref Moto-B chez A4 (http://www.a4.fr/motorisation_c13_347.html)
C'est un moteur économique qui a un grand intérêt pédagogique car les élèves peuvent facilement étudier la réduction par engrenage.
Ceci dit, il est relativement peu performant. Il faut prendre beaucoup de soin lors de l'assemblage. Pour un résultat optimum :
- moleter l'endroit où arrive les roues dentées rouges (avec une pince, un étau, une machine à moleter)
- coller les roues rouges à la cyano
- vérifier les jeux de fonctionnement
- lubrifier toutes la réduction avec un lubrifiant au silicone
- roder le moteur à vide avec un petit transfo
(voir Pièce jointe)

Je suis passer de 3 minutes d'autonomie avec mon robot à 40 minutes en faisant les opérations précédentes !

Le choix du rapport de réduction : Mon robot pèse 630 grammes et j'ai du faire de nombreux essais : en dessous de 1/245, il manque de couple pour démarrer, au dessus de 1/245, il y a tellement d'engrenages que les frottements font peiner le moteur.
Un trop grand diamètre de roue motrice nécessitera trop de couple. Des diamètres de 50 à 80 fonctionnent. Mon prototype a des roues de 69 :)

En club de robotique, avec quelques élèves, j'ai testé des moteurs MFA (http://www.a4.fr/moto-reducteur-rapport-2501-3v-axe-d4-mm-918d25011_p3751.html) .Ils offrent un super couple, moins de bruit de fonctionnement et sont beaucoup plus robuste. Par contre ils sont trois fois plus cher et sont moins pédagogique. Si j'avais les moyens, c'est uniquement ceux là que j'utiliserai en classe.
Sur cette vidéo le goglgoth est équipé de moto-B, Goldorak de MFA.


Sinon pour la carte CHI35, les entrées sont des entrées et ne sont pas convertibles en sortie. Regarde la pièce jointe page 4.
Si tu utiliser les entrées 0 et 1 avec des capteur tout ou rien, il faut souder R6 et R7. Elles sont prévues pour y brancher des capteurs analogiques (voir mes questions dans le topic à coté)
Les capteur TOR sont facilement connectables sur les entrées 2, 6 et 7
De ce que je comprends de l'anglais, les entrées3 et 4 servent à l'échange de données entre le Picaxe et l'ordinateur lorsque l'on transfère le programme.
L'entrée 4 n'existe pas, peut-être une curiosité anglaise :))

bon courage, on y arrivera !

cordialement

F. HECKEL
 

Attachments

PieM

Senior Member
Bonjour,
Ce sont les résistance R8 et R7 qui ne sont pas soudées, afin de permettre l'utilisation directe d'un potentiomètre connecté entre V et 0 avec le curseur sur A ou B. Les entrées In0 et In1 sont ainsi directement accessible à une mesure du type analogique.
Sinon, dans le cas d'utilisation d'une R variable (CTN, ou LDR par ex.) ou en entrée numérique, il est toujours possible d'en souder de la valeur adéquate.
Par exemple, une LDR entre V+ et A et une R 10k soudée en R8, ou une CTN de 47k entre V+ et B et une R 47k soudée en R7

Concernant les broches 2 et 3, (donc 3 et 4 sur le bornier) elles sont destinées à la programmation. L'entrée 4 (RCV serin) n'est pas utilisable.
Par contre l'entrée 3 (Tx serout) peut être utilisée en sortie exclusivement, sous certaines réserves sachant qu'elle sera activée lors d'un téléchargement, ou d'instructions de dialogue avec le PC ( debug, serdtx ... )
S'en servir pour connecter une LED par exemple.

La broche 4 du picaxe est connectée à la borne R et est consacrée au hard reset des picaxes 18.
Mais sur le 18M2, il n'y a pas de reset. donc cette broche 4 est en fait une entrée (uniquement) C.5. Il est donc possible d'utiliser cette entrée C.5 en connectant un contact entre R et 0V, sachant que cette entrée est normalement maintenue à l'état haut via R6.

En résumé avec un 18M2 sur la carte CHI035 :

le port B ( B.0 à B.7) est lié physiquement aux sorties vers le L293 (B.4 à B.7) et aux sorties vers les Mosfet (B.0 à B.3) (0à 7 sur connecteur de sortie)

l'autre port C se résume à :
C.0 (0 sur connecteur) configurable en entrée numérique, analogique, touch contrôle, ou sortie
C.1 (1 sur connecteur) configurable en entrée numérique, analogique, touch contrôle, ou sortie
C.2 (2 sur connecteur) configurable en entrée numérique, analogique, touch contrôle, ou sortie
C.3 (3 sur connecteur) uniquement sortie et utilisée lors de la programmation..
C.4 non utilisable (serin de la programmation)
C.5 (R sur connecteur) entrée numérique exclusivement, liée à V+ par R6
C.6 (6 sur connecteur) configurable en entrée numérique ou sortie
C.7 (7 sur connecteur) configurable en entrée numérique ou sortie

Concernant le paramétrage, on peut prédéfinir les entrées/sortie par l'instruction dirs.
par exemple, dirsB=%00000111 va indiquer que B.0, B.1, B.2 seront des sorties et les autres des entrées.
Toutefois, les instructions suffisent à définir l'affectation d'une entrée / sortie, de la même façon qu'on ne définit pas si l'entrée est numérique ou analogique.

Il est vrai que l'utilisation de ce type de cartes fige un peu les utilisations, limite l'emploi du pwm, ne permet pas les connection I2C, etc ...

voir ici la doc particulière sur le 18M2
http://www.rev-ed.co.uk/docs/picaxe18m2.pdf
 
Last edited:

f.heckel

Member
personnellement, j'utilise des 18X. Je me rends compte maintenant qu'ils sont un peu sur dimensionnés en mémoire, mais bon, je n'avais droit qu'à une seule commande.
Ce qui m'intéresse sur cette carte, c'est l'aspect pratique des borniers en classe, qu'elle sait gérer des moteurs et en fait 5 entrées me suffisent.
Pour l'instant je n'en utilise que 3 pour un suivi de ligne.
Je n'ai pas bien compris ton explication de l'utilisation d'une LDR en analogique. Cela m'intéresse vivement, pourrais tu envoyer un petit croquis ?
Sais tu aussi si la programmation d'un sonar est possible en flowchart ?
merci

François HECKEL
 

pranioprof

New Member
merci

MERCI A TOUS. J'ai hate d'essayer les motoB avec une démultiplication de 1:245. Grace au tuto de "f.hecke"l, ça va être un jeu d'enfant pour mes élèves.

Concernant la ligne de code fourni par PieM, je la saisis où dans le programme ? Je ne programme qu'en graphique. Il faut la saisir dans un bloc "BASIC" ? Dès que je l'aurai saisie, le microcontroleur saura que je peux utiliser la sortie 0 comme une entrée. Il me la proposera dans la liste déroulante des entrées lorsque je ferai un TEST ? Où bien faut-il absolument programmer en Basic pour utiliser ce type d'instruction ?

Dernière question : comment fait-on pour insérer des photos dans le cadre texte prévu pour les réponses ?
 

PieM

Senior Member
De quelle ligne de code s'agit-il ? celle concernant l'exemple avec dirs ?

Mais elle n'est pas forcément applicable dans le cas de la carte CHI035, car la sortie 0 (liée à B.0 du 18M2) est connectée au Mosfet! Difficile donc de la configurer en entrée !
J'ai écrit: "Toutefois, les instructions suffisent à définir l'affectation d'une entrée / sortie." ; tester l'état de B.0 ( If pinB.0 = 1 ...) est suffisant pour que le 18M2 sache que c'est une entrée. De même qu'écrire High C.1 va configurer C.1 en sortie.

Pour le reste, désolé mais je n'utilise pas le flowchart pour la programmation.

Image: cliquer sur l'icône image dans la barre de mise en forme de la fenêtre pour une URL ou, sous la fenêtre:
Attach Files
Valid file extensions: bas cad dsn gif jpe jpeg jpg pdf plf png txt
Manage attachement

une fenêtre s'ouvre où l'on peut indiquer le chemin de la photo à joindre.
 

pranioprof

New Member
paramétrage des E/S sur PicM2

Bonjour, merci infiniment pour ces précisions très techniques et très précieuses concernant l'affectation des E/S du pic18m2. Toutefois l'instruction DIRS.... ne fonctionne pas avec le logiciel LOGICIEL LOGICATOR. Même lorsqu'elle est saisie en début de programme, le logiciel continue de prendre les sorties pour des sorties et non pas pour des entrées comme je le souhaiterais. Lors d'un test (avec le module graphique DECISION), il ne me propose que les quelques entrées (0,1,2,3,6,7) habituelles. Les sorties paramétrées en entrées ne sont pas visibles dans la fenêtre. Je pense que cela est dû au logiciel LOGICATOR qui n'a pas suivi l'évolution du pic18X vers le 18M2. Par contre cela fonctionne avec PROGRAMMING EDITOR. Bizarre ? Quelqu'un en saurait-i lplus que moi à ce sujet ?
 

pranioprof

New Member
Problème avec les coupleurs de piles qui fondent

Bonjour, j'ai changé mes motoréducteurs trop rapides contre les MotoB de chez A4. C'est vrai qu'ils sont bruyants et qu'ils consomment énormément de courant. Il faut dire qu'il y a bcp de frottements dans cet engrenage plein de pignons en plastiques mal finis...mais avec un peu d'huile, ça va mieux. Par contre, après 2 ou 3 mn d'utilisation, le coupleur de piles fond (4 accus LR06 de 1,2V, soit à peu près 5V en entrée de la carte picaxe). J'en ai cramé 2 en 5 mn !!! Les coupleurs fondent au niveau des pastilles de cuivre... Que puis-je faire ? Y a t-il qqchose à faire ? Les coupleurs 4 piles ont été achetés chez Central média à 0,15€. Est-ce une histoire de qualité du plastique ?
Merci à tous !
 
Last edited:

f.heckel

Member
lubrifier ne suffit pas, as-tu bien vérifié les jeux de fonctionnement dans le moto-B ? j'ai remis un peu à jour le tutoriel de leur montage (j'avais oublié quelques photos). Il faut absolument que lorsque tu tournes le pignon rouge en sortie du moteur à la main, l'axe de sortie tourne aussi. Je rode par ailleurs les moto-B 1 minute avec un petit transformateur du style chargeur de téléphone.
J'utilise des coupleurs de piles provenant de chez A4. Si ils passent le cap de la soudure des fils, ils ne fondent plus après. En effet, j'en ai fondu quelques-uns au même endroit lors de la soudure. Pour avoir eu monsieur Bernot au téléphone, il existe plusieurs gamme de coupleurs de piles. Ceux distribués le sont souvent dans le cadre d'objets confectionnés économiques destiné à être revendu peu chers aux élèves. Peut-être faudrait-il émettre le besoin de composants moins économiques, destinés à du matériel auto-construit prévu pour durer.
On a mesuré une consommation de 1,3 A sur mon robot, aux limites de ce que peut encaisser le L293D, c'est quand même pas mal !
Pour information, mon robot, au départ, avait une autonomie de 3 minutes. Après avoir remonté des motoB en prenant soin de ne pas fausser les axes, en moletant les axes sous les roues dentées rouges (celles emmanchées en force), en lubrifiant abondamment même entre les axes et les équerres jaunes, et après rodages, l'autonomie dépasse les 40 minutes (j'en ai eu marre de surveiller mon robot qui faisait le tour de ma table de cuisine) pour mon robot de 636 grammes ! Attention, trop serrer les vis de 30mm servant à assembler les 2 équerres jaunes via les entretoises noires, crée du frottement.
Courage, on y arrivera !
F. HECKEL
 
Top