yobeco
Posts: 18
Joined: Mon Apr 23, 2018 1:17 am

Servomoteur hystérique

Sun Sep 16, 2018 6:40 pm

Bonjour

Je suis enseignant en classe de CM2.
J'enseigne le Scratch à mes élèves. Tant qu'on reste dans la programmation seule, tout fonctionne bien.

Je voudrais leur faire faire un petit pas dans la robotique en allumant une LED rouge ou une LED verte (et jouer un son) en fonction de la réponse à une question.
Je souhaitais également faire pivoter une baguette vers la droite ou vers la gauche selon cette même réponse.
J'ai suivi le tutoriel ici :
http://ludosciences.blogspot.com/2017/0 ... ry-pi.html

Pour les LED, tout fonctionne bien, mais pour le servomoteur, il y a un gros problème. J'ai fait des tests et tout a bien fonctionné au début. Le moteur allait à la position voulue. Au bout de quelques minutes, le moteur est devenu hystérique et a gesticulé dans tous les sens... Maintenant, le moteur est sans cesse hystérique, dés le début...
Je l'ai testé avec un testeur de Servo et il répond parfaitement bien. J'ai essayé plusieurs servomoteur (SG90) : le résultat est le même.
Quand je le fais fonctionner selon un programme venant du Raspberry pi (une touche clavier --> 60 / une autre touche -> -60), il devient fou...

- Le moteur est alimenté par une une source 5V externe (Alimentation pour breadboard). Seule la masse est reliée à celle du Raspberry.
- Je le commandait depuis la PIN18. J'ai essayé depuis la PIN38, mais c'est pareil.
- J'ai redémarré le Pi, rien ne change...

Je ne sais plus quoi faire !!! :?

Quelqu'un aurait eu ce même problème ? :D

Merci

totoharibo
Posts: 4456
Joined: Thu Jan 24, 2013 8:43 am

Re: Servomoteur hystérique

Sun Sep 16, 2018 7:01 pm

il y a 50.000 projets sur ton lien.
Tu n'as pas un lien plus précis.

Je n'ai pas de problème avec les servos et d'autres que moi en utilisent

yobeco
Posts: 18
Joined: Mon Apr 23, 2018 1:17 am

Re: Servomoteur hystérique

Tue Sep 18, 2018 1:55 am

Pour moi, ce lien ne mène qu'à un seul projet d'initiation au contrôle des GPIO et d'un servomoteur... :o

Voici en substance ce qu'il dit :
________________________________________________________________________________________

D'abord, téléchargez le programme d'installation Scratch8Dev

Code: Select all

wget https://git.io/vQsDn -O isgh8dev.sh
Puis faire :

Code: Select all

sudo bash isgh8dev.sh
Trois nouvelles icônes ont fait leur apparition sur le bureau :
Scratch GPIO8dev : remplace les précédentes versions (ScratchGPIO8, ScratchGPIO7 ...) qui sont basées sur Scratch 1.4.
Scracth2GPIO8devplus : il s'agit de Scratch2 avec les blocs d'extension.

- Les blocs utilisés pour piloter les GPIO sont créés en allant dans la catégorie Ajouter Blocs et Ajoute une extension.
- Au nombre de neuf ils permettent d'allumer et d'éteindre les Pin/ GPIO du Raspberry Pi en spécifiant leur numéro mais également leur état (entrée ou sortie).
- Vous pouvez également effectuer des mesures et ainsi déclencher des actions spécifiques.
- L'utilisation de messages sert notamment à contrôler des moteurs et servomoteurs, une Camera etc.
Image

Si le servomoteur est branché sur le Pin 18 du Raspberry Pi, la nomenclature pour l'utiliser est Servo +n°Pin :
Set Servo18 to 45 (Pour aller à la position 45°)
Image
________________________________________________________________________________________

- J'ai branché le servo à la pin 18
- Il est alimenté par une source externe stabilisée (petite alimentation à brancher sur une breadboard)
- Lors de la première utilisation, ça marchait parfaitement...

Mais au bout quelques minutes, le moteur devient hystérique et sembles prendre rapidement plein de positions aléatoires.

--> N'y aurait-il pas un problème de parasites qui brouillerait les ordres reçus par le servo ?

jihzed
Posts: 64
Joined: Tue Feb 02, 2016 10:01 am

Re: Servomoteur hystérique

Wed Sep 19, 2018 5:10 pm

hello.
alors je n'utilise pas scratch, mais j'ai eu ce genre de soucis. De mémoire, tous les cerveaux ne sont pas aussi tolérants quand à la fréquence et aux min max, et ça me posais problème.
Je me suis collé à 50Hz, et je peux définir des min max pour chaque type.
Tu me diras que tu utilises un module tout près. Peux-tu vérifier la fréquence ? et essais de te mettre à mi course (point 0), le cerveau sera peut être stable.

et puis d'abord : est-il stable si tu enlèves la broche de pilotage ?
Dans mon cas je pensais que ça venais aussi de parasite, mais en fait non, c'était bien une mauvaise commande.

yobeco
Posts: 18
Joined: Mon Apr 23, 2018 1:17 am

Re: Servomoteur hystérique

Sat Sep 22, 2018 12:38 am

Bonjour
Peux-tu vérifier la fréquence ?
Bonne idée de vérifier la fréquence (avec un petit DSO Note II :-) ) : le raspberry parfois me donne du 50Hz, parfois du 43Hz et souvent du 13Hz !!!
et puis d'abord : est-il stable si tu enlèves la broche de pilotage ?
Oui, il est stable... Il s'arrête et c'est tout...

Mais 13Hz ? C'est n'importe-quoi !!! C'est normal que le moteur soit fou... J'ai mesuré ce que me donne mon testeur de Servo : un 50Hz bien fixe et tout va bien.
Sous Scratch, je ne crois pas qu'il soit possible de régler ça... Alors que faire ? C'est un bug connu ?

Moi qui voulais proposer cette solution pour mes élèves... Je ne sais plus quoi faire... :?

yobeco
Posts: 18
Joined: Mon Apr 23, 2018 1:17 am

Re: Servomoteur hystérique

Sat Sep 22, 2018 12:51 am

À43 Hz / 44 Hz, il vibre un tout petit peu, mais il fait ce qu'on lui dit...

Quand il est à 13 Hz... Il est hystérique et c'est normal...

Quelqu'un a déjà essayé de contrôler un servomoteur avec Scratch ?
Comment c'est possible une telle différence ?

danjperron
Posts: 3511
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Servomoteur hystérique

Sat Sep 22, 2018 2:33 am

Les spécifications des servos moteur demandent une répétiton du signal à toute les 20 msec (50hz).

Si c'est plus lent il y des risque que le moteur tombe en arrêt donc il se désactives. Ce sont tes vibrations. Moteur coupe oops bouge, coupe, bouge....etc

Le Raspberry PI 3 , si tu as un PI3, a une horloge avec un turbo. Il joue entre 250 et 400 MHz. Ceci est un problème pour toutes les périphériques.
Il y a moyen de désactiver le mode turbo en ajoutant

Code: Select all

core_freq=250

dans /boot/config.txt

Donc il faut que le cycle des impulsions pour le servo soit au alentour de 20ms (50Hz).

Return to “Français”