Problème avec Servomoteur à courant continu

larchi

New Member
Bonjour,
Je viens d'acheter sur le catalogue A4 des servomoteurs à courant continu.
Après l'avoir connecté, je n'arrive pas à avoir autre chose que la rotation de ce moteur mais toujours à la même vitesse et dans le même sens. Quelque soit l'info donnée : Servo 1,75 ou servo 1,80 100 60 ou n'importe quelle valeur cela ne change rien.
J'ai fait ma connexion sur une plaque PowerProg, j'ai bien mis le Ci pour servomoteur ainsi que la barrette supplémentaire. J'ai essayé avec les deux moteurs sans plus de succès.
D'où provient le problème ? merci de me donner des informations à ce sujet.
 

fuse

Senior Member
commande servomoteur

Bonjour,

Si vous avez acheté les servomoteurs chez A4 , j'imagine que vous utilisez la platine PowerProg basé sur un 28X1 ?
Dans ce cas je ne comprend pas pourquoi vous utilisez le " Ci pour servomoteur " sans doute le L293?
La commande d'un servomoteur ne nécessite pas l'utilisation d'un circuit supplémentaire, la sortie du picaxe 28X1 doit passer par une résistance de 330 ohms. Je pense que le dossier servo répondra à votre question.

View attachment servo.pdf

cordialement
Fuse
 

westaust55

Moderator
Bienvenue au forum de PICAXE

Excuses pour mon pauvre Français.

Avez-vous les moteurs servo reliés selon la page 18 du manuel 3 de PICAXE ?
http://www.picaxeforum.co.uk/docs/datasheets/picaxe_manual3.pdf

La commande servo devrait être employée juste une fois pour installer une goupille et un temporisateur de rendement pour la servocommande et pour employer ensuite la commande de SERVOPOS de changer la position de moteur servo.

En outre, quelques moteurs servo ne répondront pas aux arrangements comme ow en tant que 75.

SERVOPOS, 150 devrait être au sujet du centre du voyage. Une valeur plus basse telle que 100 devrait déplacer l'one-way et une valeur telle que 200 devrait déplacer l'autre manière.

Veuillez télécharger votre schéma/diagramme et programme de câblage que nous pourrions examiner ceci pour assurer vous.
 

AndreBernot

Senior Member
Servomoteur à rotation continue

Bonjour larchi,

Bienvenue sur le Forum Picaxe !
Tout comme fuse je suppose que vous utilisez la carte AXE020 (PowerProg). Je suppose aussi que vous avez remplacé le circuit ULN2803 fournit avec la carte par le circuit « réseau de résistances 330 ohms ». Je suppose aussi que vous voulez dire servomoteur à rotation continue et non pas à courant continu.
Si les indications de fuse ne vous suffisent pas pour résoudre votre problème je vous invite à vérifier que vous connecté votre servomoteur selon les indications du document http://www.a4.fr/images/Telechargements/Picaxe/Carte_prog_28.pdf
au chapitre Servomoteurs.
Repérez la sortie 0 à 7 sur lequel il est connecté et vérifiez que l’instruction « servo » active bien cette sortie.
Vous pouvez aussi faire un programme en utilisant les valeurs présentées dans l’exemple
http://www.a4.fr/pack-de-servomoteurs-rotation-continue-couple-5kg-cm_p3427.html

Un servomoteur classique a une course limitée mécaniquement à 180 Deg ; son circuit électronique interne réagit à la commande « Servo » qui envoie un train d’impulsions dont la durée est paramétrable. La durée paramétrée dans l’instruction Servo correspond à une consigne d’angle (+/- 90°). Un petit potentiomètre lié à l’axe du servomoteur renvoie en permanence une valeur correspondante à la position angulaire du servo. Lorsque la consigne est atteinte, le servo arrête de tourner.
Le servomoteur à rotation continue n’a pas de butée mécanique et son circuit électronique interne est modifié. Le potentiomètre qui surveille la position angulaire est inhibé et le servomoteur poursuit sa course dans un sens ou dans l’autre sans jamais atteindre la consigne.
Un des avantages d’un servomoteur à rotation continue par rapport à un moteur à courant continu est de pouvoir contrôler le sens de rotation en utilisant qu’un seul fil (une seule sortie d’un microcontrôleur Picaxe).
Tenez nous au courant des résultats de vos essais.

:) Merci westaust55 pour votre message. Welcome to the French Language PICAXE forum!
 

larchi

New Member
Merci à vous tous pour vos contributions à mon problème.
Après avoir navigué sur vos sites respectifs, je me suis aperçu que mon problème venait du paramétrage servomoteur donné par A4 qui était faux. En fait, on ne peut pas faire varier la vitesse d'un servo moteur à rotation continue et les valeurs arrêt servo = 75, rotation dans un sens = 80 et dans l'autre = 200.
Donc ce problème est réglé. Merci encore.
Par contre, j'ai un autre souci que je me permets de vous exposer.
En fait, je réalise une maquette d'un portail à ouverture par crémaillère pour mes élèves de quatrième.
J'ai mon servomoteur (servo 0) un contacteur qui joue le rôle de carte magnétique pour entrer dans le parking (Pin 0), un contacteur qui détecte la fin d'ouverture de mon portail (Pin 1), un contacteur qui détecte la fermeture de mon portail (Pin 2) un contacteur au sol (ils) qui détecte qu'une voiture veut sortir (pin 3). et enfin une led clignotante qui s'allume dès que mon portail est en fonctionnement.
Mon souci est que je n'arrive pas à commander ma led. En effet, pour faire fonctionner mon servomoteur, j'ai remplacé le CI ULN2803A par le ci 4116R1 sur ma carte powerProg comme le stipule la doc. Le problème c'est que dès que je branche ma led, elle s'allume tout de suite et n'est donc plus commandée par les entrées. Comment puis-je faire ? pour à la fois commander mon servo et une led sur la même carte ???
Je vous mets en Pj mon programme (organigramme ainsi qu'une photo de ma maquette en cours de réalisation.
Merci de bien vouloir vous pencher sur mon casse tête et de m'aider.
Très cordialement, un sous-doué de l'électronique ...
 

Attachments

AndreBernot

Senior Member
Branchement LED sur carte AXE020

Désolé s’il y a une erreur dans l'exemple proposé sur notre site, je vais vérifier et corriger si nécessaire.
Pour la LED clignotante il doit être possible de la piloter par une sortie au travers du réseau de résistance 330 Ohms branché à la place de l'ULN. N'y aurait il pas une erreur de câblage sur votre maquette ? Sous réserve d'essai je tenterai de connecter l'anode (patte longue) de la LED sur la sortie 5 du 4116R1 (rangée gauche du connecteur de sortie) et la cathode au 0V.
Autre point, en regardant rapidement votre programme, je ne suis pas certain que vous éteignez la LED au moment voulu. Il faut savoir que lorsque l’on active une sortie « high » elle reste activée jusqu’à temps qu’une instruction la désactive « low ».
Pour vérifier le déroulement de votre programme, vous pouvez utiliser la fonction de simulation (touche F4) et activer manuellement à l’écran les entrées. Vous pouvez aussi insérer la commande Debug en début de programme et visualiser à l’écran l’état des entrées / sorties en temps réel (le câble de programmation doit rester connecté au PC).
 

larchi

New Member
Merci beaucoup pour l'info, effectivement, le fait de changer de ci, modifie également la connexion des leds, je viens d'essayer et ça fonctionne très bien : cathode sur sortie ci et anode sur 0V et non V2+, c'est une erreur d'amateur, je vais pouvoir dormir tranquille, mes projets Picaxe reprennent !!!
Auriez-vous une idée pour ralentir un peu le servomoteur, sa rotation est un peu rapide. J'avais pensé mettre une résistance sur les sorties rouge et noir du servo, est ce que cela est judicieux et quelle valeur approximative prendre si cette idée est bonne.
Merci encore à vous.
 

fuse

Senior Member
Bonjour Larchi,
Sauf erreur de ma part, il n'est pas possible de ralentir la vitesse d'un servomoteur.
Je me permet de vous redemandez pour confirmation les valeurs de commande des servomoteurs à rotation continu de chez A4 :
arrêt servo = 75,
rotation dans un sens = 80
rotation dans l'autre sens = 200.
Je dois dire que je suis étonné que seul ses valeurs fonctionnent ? mais si les essais le confirme...
Cordialement
 

Lio

Member
Bonsoir à tous,
Alors les profs de techno se creusent la cervelle pour une barrière, un portail du collège en maquette????
Alors oui si l'on utilise un servo pour un portail, il fera raquette plus que portail... mais on peut diminuer la vitesse... en séparant les impulsions par une petite pause de l'ordre de 10ms. Je m'explique :
servo 0,50 veut dire que le servo est sur la sortie 0 et reçoit une valeur 50 pour sa position. Si l'on fait une boucle avec une variable, il est possible de ralentir la vitesse sans pour autant avoir un déplacement saccadé.
main :
b1 =50
b1 = b1+1
pause 10
servo 0,b1
if b1 =100 then....
goto main
De tête...., je viens de le faire cet après midi.... mais moi j'ai un problème de bras pour fermer ou ouvrir correctement mon vantail....
D'accord il faut utiliser une case "Basic" dans le flowcart si l'on veut programmer le picaxe avec un diagramme...
Cordialement,
Vive la techno
Lio
 

AndreBernot

Senior Member
Vitesse servo à rotation continue

Bonjour à tous,

Je reviens sur le message de larchi indiquant que le paramétrage servomoteur donné par A4 qui est faux.
Je suppose encore une fois que larchi fait référence aux paramétrages des servomoteurs à rotation continue (non limité à 180 deg) indiqués en exemple sur le site de A4.
http://www.a4.fr/pack-de-servomoteurs-rotation-continue-couple-5kg-cm_p3427.html

Ces valeurs sont données à titre indicatif et peuvent varier d’un servo (à rotation continu) à l’autre. Je dois dire que j’ai mis en ligne des valeurs préconisées par Picaxe probablement un peu hâtivement. Je viens de vérifier, et bonne nouvelle, on peut agir sur la vitesse !
Voici ce que j’ai relevé :
Servo 0,0 à 115 – rotation rapide en avant
Servo 0,116 à 144 – rotation en avant (ralentissement jusqu’à arrêt)
Servo 0,145 à 150 – Arrêt
Servo 0,151 à 170 – rotation en arrière (arrêt puis accélération)
Servo 0,171 à 255 – rotation rapide en arrière

Pour faire ce test, j’ai branché un servo à rotation continue et j’ai chargé le programme ci-joint.
Pour ceux qui galèrent parfois sur la mise au point de programmes je signale que la commande debug est bien pratique pour visualiser en temps réel l’état des entrées sorties et des variables d’un Picaxe en fonctionnement (le câble de programmation doit rester connecté à l’ordinateur lorsqu’on utilise debug). A noter que la commande debug ralentit l’exécution des programmes ; il est recommandé de la supprimer une fois que le programme est au point.

Dans ce test j’ai branché le servo à rotation continue sur la sortie Out 0 et j’ai utilisé la variable b0 comme paramètre pour piloter le servo. La variable est incrémentée de 5 en 5 et il suffit alors de surveiller la rotation du servo et l’évolution de b0 à l’écran.

Il n’y a pas que les profs de Techno qui se creusent la tête, il y a aussi les fournisseurs !
 

Attachments

larchi

New Member
Merci beaucoup pour l'info,
Je ne doutais pas un seul instant de la qualité des fournisseurs, la preuve en est faite. Je vais pouvoir maintenant régler mon servo à rotation continue à la vitesse souhaitée.
Bonne journée.
 

Lio

Member
Monsieur Bernot, je n'ai jamais douté que les fournisseurs ne se "cassent" pas la tête. Loin de moi cette idée à la vue de vos différentes interventions sur le forum. Aussi, je m'en excuse.... c'est vous qui m'avez mis convaincu d'utiliser Picaxe... par téléphone...
Concernant le servomoteur, il est vrai que si l'on utilise le flowchart et que l'on indique une valeur de position puis une autre (0° à 90°) la vitesse de rotation est assez importante, du coup le vantail du portail se comporte comme une raquette.
Pour l'instant j'utilise le code décrit précédemment afin d'obtenir une vitesse plus modérée.
Cordialement
Lio
 

AndreBernot

Senior Member
Ne croyez pas que j’ai mal pris la boutade concernant les profs qui se creusent la tête !
Nous sommes tous en ce moment un peu bousculés avec la mise en application des nouveaux programmes de Technologie et aussi Picaxe !

Cordialement,
 

canterane

New Member
Bonjour à tous, je fais remonter cette discussion.
Je fais un défi robot cette année avec mes élèves : carte powerprog, 28X1 et 2 servomoteurs à rotation continue pour les roues.
J'ai en tout 4 robots et donc 8 servomoteurs (2 roues par robot !!) et quelques soucis pour faire arrêter.
Pour certains à 150, pour d'autres à 148 et surtout, le servo ne s'arrête vraiment qu'avec une valeur précise et non pas entre 145 et 150 par exemple.
Est-ce normal ?
L'alimentation des servomoteurs peut-elle jouer un role ? (pour ma part : une batterie de 6v et 1.2Ah avec une carte "maison" permettant d'envoyer du 6v vers la powerprog et vers les servos mais pas de régulateur type 7805 sur cette carte )
Merci d'avance
 

Francis52

Member
Bonjour à tous, je fais remonter ce post car je suis moi même en train de me battre avec ces servos. Mais bon vos différentes remarques vont me faire avancer. Je fais des essais avec logicator et vos valeurs. Merci à tous !
 
Top