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 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 !!!!
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...
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...
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?
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?
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.
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.