SG90: potentiomètre renvoie position en analogique

Bonjour tous,

La fonction read() de la bibliothèque Servo.h m'a fait beaucoup de peine. Elle ne renvoie pas la position réelle et actuelle du servo.
Pourtant, un servo contient un potentiomètre dont on pourrait, j'imagine, récupérer la position sur les ports analogiques. J'ai rien inventé.

Ma question: est-ce que quelqu'un l'a déjà fait? Est-ce faisable sur les SG90? Je me demande si j'arriverai à souder là-dedans et si j'aurai la place de faire passer deux fils supplémentaires (ou un seul?)

Tu veux dépiauter un servo ? Indiano Jones, sors de ce corps !!!!

Tu achète un servo pas cher et tu tentes l'opération.
Si mécaniquement tu réussi a faire ce que tu veux il faudra faire un étalonnage.
Les potars sont des 270° et les servos des 180° donc tu n’excursionne qu'environ les 3/4 de la piste du potar.

lesept:
Tu veux dépiauter un servo ? Indiano Jones, sors de ce corps !!!!

bonjour
çà pose aucun probleme 8)
discuté recemment sur un autre topic
SG90 ouvert

lesept:
Tu veux dépiauter un servo ? Indiano Jones, sors de ce corps !!!!

Quatre vis, c'est à ma portée, mais j'imagine des engrenages s'envoler partout dans le salon. C'est mon côté braconnier, ça ^^

68tjs:
Tu achète un servo pas cher et tu tentes l'opération.
Si mécaniquement tu réussi a faire ce que tu veux il faudra faire un étalonnage.
Les potars sont des 270° et les servos des 180° donc tu n’excursionne qu'environ les 3/4 de la piste du potar.

J'ai deux SG90 à la maison, j'arrête pas de jouer avec, ce qui m'embête c'est le temps pour les recevoir, j'hésite à en casser un juste pour voir ^^
pour les 270°, c'est marrant parce que j'ai mesuré ca à la maison hier, ça doit pas être difficile à bidouiller dans le code.

Mais alors MOI avec un fer à souder CHAUD pour souder un tout pti machin... me brûler c'est s^r, j'ai l'habitude, mais tout cramer le servo ça me saoulerait...

Au passage, j'ai démonté (avec un marteau) une manette playstation, j'ai récupéré les moteurs (faute de mieux, les miens sont sur un bateau échoué entre le Havre et la Chine).
Ils semblent être en 5V, mais je ne trouve nulle part leur consommation en mA.
J'ai envie d'essayer de faire un petit robot pour embêter les chiens, mais j'ai peur de cramer ma carte, et ya pas la place dans la boite (à vis Spax) pour mettre le stepper controleur...

A votre avis, je peux les mettre en PWM?

68tjs:
Tu achète un servo pas cher et tu tentes l'opération.

Aaah, si c'est de la chirurgie, j'ai rien dit... Faut appeler George Clooney...

pour les 270°, c'est marrant parce que j'ai mesuré ca à la maison hier,

Tu sais pour un industriel il faut toujours plusieurs fournisseurs par composant donc miracle on a écrit des normes pour l’interchangeabilité.

Aaah, si c'est de la chirurgie, j'ai rien dit..

Tout a fait, le meilleur scapel que j'ai trouvé c'est un bistouri, au moins ça coupe tout seul sans forcer.

On en trouve sur Ebay (Chirurgical scalpel). AMHA le manche numéro 3 est le plus adapté.

Pour les maladroits (ou les malagauches car tout le monde n'est pas droitier) prévoir alcool et pansements adhésifs a portée de main (ou de ce qu'il en reste).

Bon. J'ai fouillé, et dans toutes les langues. Je n'ai pas trouvé de tuto sur le SG90 pour ça. On en voit pour le passer en 360. le mien n'est pas du tout comme sur youtube ^^
Il y a un tout piti piti PCB en dessous, avec un mille pattes dessus (un microcontroleur j'imagine)
J'ai essayé de tirer, pousser le moteur pour faire de la place, il vient pas, pareil avec le PCB, pareil avec le potard. C'est collé.
J'ai un solvant fait maison qui doit en venir à bout, mais qui va aussi tout pourrir dedans.
J'en reviens pas de n'avoir pas trouvé quelqu'un qui ait réalisé l'opération sur un élément aussi populaire...
Ou alors d'autres ont tenté et en sont venus à ma conclusion: c'est collé, m**de.

Par transparence, je crois que les fils entre le potard et le PCB sont tout droits, ils ne laisse aucune marge de manoeuvre, on ne peut pas sortir le PCB sans le potard... grrrrr

Cependant, par le dessus du potard, on voit bien trois points en cuivre, mais impossible d'y mettre mon multimètre et encore moins de souder...

Une idée?

tu a regardé le lien que j'ai mis à la reponse #4 ?

Alors NON clairement, je n'avais pas vu ton lien, toutes mes excuses.

Bon apparemment, toi, tu y es arrivé, mais je me demande comment.
Le potard est pas collé, je viens de voir ça en m'éclatant les yeux, ya deux petits trucs en plastique sur les parois, le potentiomètre vient s'y clipser... C'est sûr, je vais le péter. Je ne dispose pas de pince pour écarter (genre pince à circlips), et je ne peux rien introduire à cause du PCB.

La différence avec les SG90 sur les vidéos, et sur la photo aussi il me semble, c'est que les câbles entre le PCB et le petit potard semblent être droits, en fait je soupçonne non pas du fil souple avec du jeu mais un truc qui casse si on force.

Sur la photo, on voit bien que tout est démonté, mais on ne voit pas faire, ça m'aiderait...

haha! j'ai bien un signal!
J'ai un fil à souder, mais sur une patte de mouche...

Ca vous semble cohérent que la borne du milieu du potentiomètre m'envoie sa position? (parce que moi oui).

Donc j'ai trouvé, j'y arrive avec un multimètre.
Mais comment souder un point si petit avec de l'étain de 1mm et un fer à souder à 10€?

Si j'étame un fil fin, avec beaucoup de douceur, que je le chauffe et que je le pose sur le point, est-ce qu'il va prendre?
Si je remplace ma panne par un clou fin, je meurs électrocuté ou j'ai un outil plus précis?

Je suis chaud, ce soir, je lis un angle

Bien, bien, bien ...

CA MARRRRCCCHHHEEUUUH!!!!

En me servant de mon code du jour, celui-même posté et utilisant une fonction qui permet d'auto-régler le delay (voir le code hein...); j'ai envoyé sur D5 un signal PWM, puis, sur A0, j'ai lu ce que renvoie le potentiomètre de mon SG90:

PWM:
0
ANALOG
169

PWM:
10
ANALOG
108

PWM:
20
ANALOG
135

PWM:
30
ANALOG
156

PWM:
40
ANALOG
177

PWM:
50
ANALOG
198

PWM:
60
ANALOG
218

PWM:
70
ANALOG
240

PWM:
80
ANALOG
259

PWM:
90
ANALOG
280

PWM:
100
ANALOG
299

PWM:
110
ANALOG
319

PWM:
120
ANALOG
339

PWM:
130
ANALOG
358

PWM:
140
ANALOG
378

PWM:
150
ANALOG
396

PWM:
160
ANALOG
416

PWM:
170
ANALOG
434

CHAMPAGNE !!!!!!

Vu que je suis chaud, je me dis, tournos-le à la main... j'ai mis au point un code très simple, mais qui fonctionne ^^

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.println(analogRead(A0));
delay(1000);
}

Et vous savez quoi?

CA MAAAARRRCHE AUSSI!!

La position 0° renvoie 77
La position 180° renvoie 473

Je suis aux anges.
Est-ce que quelqu'un sait pourquoi ces chiffres?
Est-ce que je fais un tuto?

Ça a une bonne tête :

Sauf la première valeur qui est hors de la droite. La droite de régression s'écrit :
ANALOG = 2.015 PWM + 95.713 avec un coefficient de 0.9992 (très proche de 1).

Haha, c'est très sympa, merci.
La première valeur n'était pas bonne, qualité de matos oblige, j'imagine, mais en recommençant, c'est vraiment nickel.
Merci pour la courbe et l'équation, j'ai envie de faire un tuto, ça peut servir à d'autres noobs.
Je me lance dans un programme d'apprentissage qui enregistre les positions dans un tableau et qui ensuite les automatise.
J'ai encore jamais fait de tableau ni d'interruptions, ça va prendre du temps.

Je suis super content de mon bidouillage :slight_smile:

kammo:
La position 0° renvoie 77
La position 180° renvoie 473

Là aussi tu peux en tirer une droite :

A0 = 77 + angle_en_degres * (473 - 77) / 180

Attention aux divisions entière qui réservent des surprises : passe en float pour la division puis reviens en int, genre :

float angle_div = angle_en_degres / 180.0;
int Valeur_A0 = 77+angle_div * (473 - 77);

C'est de l'étalonnage. Cherche des infos sur Internet, il y a des méthodes pour rendre ça robuste. A minima, une seule mesure à 0 et une seule à 180 ne suffisent pas, il faut moyenner plusieurs mesures.

"Bonne bidouille" comme dirait Microquettas !

Bonsoir
Juste pour info
retrouvé dans mes notes
cannibalisation d'un SG90 (pour motoriser un store banne ) avec un signal servo

Je n'avais pas eu envie de perdre beaucoup de temps
donc

  • pot de recopie pris sur le le demi-axe du bras de banne
  • recup du signal moteur au travers de 2 optocoupleurs leds en tête-bêche pour driver pont en H hybride de puissance