servo analog / digital

ludo0404

Senior Member
Ahhh la oui !

Ca marche trés bien !

Je vais faire les test en moto ce week end et je reviens vers vous pour voir si il faut modifier les retours à 0 plus rapide ou autre.....

Vraiment super sympa en tout cas. Merci pour tout

Tout ca me donne envie d'apprendre un tas de choses la dessus.

Je vous tiens au courant des test route
 

ludo0404

Senior Member
Juste une chose....

A la mise sous tension, les servo font un aller retour à la position 1.... Peut-on le retirer ca ?
 

PieM

Senior Member
Comme le disait Besqueut on peut s'amuser à différencier toutes les vitesses de chaque mouvement. Donc des retours plus rapides si on veut.
 

ludo0404

Senior Member
Ca marche je vous direz ca

Et pour l'aller retour à la position 1 à la mise sous tension, ca vient du picaxe ou de mon autre carte ?
 

PieM

Senior Member
Juste une chose....

A la mise sous tension, les servo font un aller retour à la position 1.... Peut-on le retirer ca ?
Comprends pas trop car a l'initialisation on positionne le servo à 150. tout est mis sous tension en même temps ?

ca vient du picaxe ou de mon autre carte
Ah oui peut être ! ajoute une pause de 2000 en debut d'initialisation

nouveau avec réglage indépendant des vitesses:
Code:
[color=Navy]#picaxe [/color][color=Black]08M2[/color]

[color=Green]'######'####################    configuration    ################################   [/color]
[color=Blue]symbol [/color][color=Purple]position1 [/color][color=DarkCyan]= [/color][color=Purple]b1[/color]
[color=Blue]symbol [/color][color=Purple]position2 [/color][color=DarkCyan]= [/color][color=Purple]b2[/color]
[color=Blue]symbol [/color][color=Purple]inter1 [/color][color=DarkCyan]= [/color][color=Purple]pinC.4[/color]
[color=Blue]symbol [/color][color=Purple]inter2 [/color][color=DarkCyan]= [/color][color=Purple]PinC.3[/color]

[color=Blue]symbol FC1 [/color][color=DarkCyan]= [/color][color=Navy]175     [/color][color=Green]'fin de course servo1[/color]
[color=Blue]symbol FC2 [/color][color=DarkCyan]= [/color][color=Navy]125     [/color][color=Green]'fin de course servo2[/color]
[color=Blue]symbol RAZ1 [/color][color=DarkCyan]= [/color][color=Navy]150    [/color][color=Green]'neutre servo1[/color]
[color=Blue]symbol RAZ2 [/color][color=DarkCyan]= [/color][color=Navy]150    [/color][color=Green]'neutre servo2[/color]
[color=Blue]symbol [/color][color=Black]tpause_0 [/color][color=DarkCyan]= [/color][color=Navy]10 [/color][color=Green]'temps de pause - vitesse servos retour[/color]
[color=Blue]symbol [/color][color=Black]tpause_1 [/color][color=DarkCyan]= [/color][color=Navy]10 [/color][color=Green]'temps de pause - vitesse servos aller

'##########################    Initialisation    ################################[/color]

[color=Blue]servo C.1[/color][color=Black],[/color][color=Blue]RAZ1 [/color][color=Green]'servo1 au neutre[/color]
[color=Blue]servo C.2[/color][color=Black],[/color][color=Blue]RAZ2 [/color][color=Green]'servo2 au neutre[/color]
[color=Blue]pause [/color][color=Navy]100[/color]
[color=Purple]position1 [/color][color=DarkCyan]= [/color][color=Blue]RAZ1 [/color][color=Green]'memorisation position servo[/color]
[color=Purple]position2 [/color][color=DarkCyan]= [/color][color=Blue]RAZ2
servo C.1[/color][color=Black], [/color][color=Blue]OFF
servo C.2[/color][color=Black], [/color][color=Blue]OFF[/color]
[color=Green]'#################################################################################[/color]
[color=Black]prog_principal:[/color]

[color=Blue]do
   if [/color][color=Purple]inter1 [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Blue]then 
      [/color][color=Purple]position1[/color][color=DarkCyan]= [/color][color=Purple]position1 [/color][color=DarkCyan]-[/color][color=Navy]1 [/color][color=DarkCyan]min [/color][color=Blue]raz1
      pause [/color][color=Black]tpause_0
   [/color][color=Blue]else
      [/color][color=Purple]position1[/color][color=DarkCyan]= [/color][color=Purple]position1 [/color][color=DarkCyan]+[/color][color=Navy]1 [/color][color=DarkCyan]max [/color][color=Blue]fc1
      pause [/color][color=Black]tpause_1
   [/color][color=Blue]endif
   pulsout C.1[/color][color=Black],[/color][color=Purple]position1
   [/color][color=Blue]If [/color][color=Purple]inter2 [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Blue]then 
      [/color][color=Purple]position2[/color][color=DarkCyan]= [/color][color=Purple]position2 [/color][color=DarkCyan]+[/color][color=Navy]1 [/color][color=DarkCyan]max [/color][color=Blue]raz2
      pause [/color][color=Black]tpause_0
   [/color][color=Blue]else
      [/color][color=Purple]position2[/color][color=DarkCyan]= [/color][color=Purple]position2 [/color][color=DarkCyan]-[/color][color=Navy]1 [/color][color=DarkCyan]min [/color][color=Blue]fc2
      pause [/color][color=Black]tpause_1
   [/color][color=Blue]endif
   pulsout C.2[/color][color=Black],[/color][color=Purple]position2
   [/color]
[color=Blue]loop[/color]
 
Last edited:

ludo0404

Senior Member
La pause 2000, ca fonctionne !

Maintenant, pour ne pas faire de betise, quelle valeure changer pour accelerer ou ralentir le mouvement ? Je les trouve un tout petit peut lent....
 

dje8269

Senior Member
Tu vois quelque chose dans ton code qui pourrait expliquer ces secousses de temps en temps ?
Oui en enlevant les commandes servo et en les remplaçant par des pulsout . Mais celui de PieM est sans commune mesure plus fonctionnel.

Je suis impressionné par le temps que tu as du passer sur ce code vua sa taille !
Celui de PieM est bien plus impressionnant vu sa taille justement, et vu le temps passé dessus aussi, de mon point de vue lol .
 

PieM

Senior Member
La pause 2000, ca fonctionne !

Maintenant, pour ne pas faire de betise, quelle valeure changer pour accelerer ou ralentir le mouvement ? Je les trouve un tout petit peut lent....
Pour accélérer, il faut réduire la valeur des tpause (actuellement à 10)
mais on va arriver à une limite ..
une solution pour accélérer est de changer l'incrémentation:

remplacer les position -1 et position +1 par
position - 2 et position +2 pour voir ce que ça donne.
 

ludo0404

Senior Member
Bon bah la je crois que j'ai toutes les cartes en main....

Je vous tiens informé de l'avancement des tests de cette semaine et aussi dés que je reçois les servos (échantillons).... Parce que je vous ai pas dis mais aujourd'hui feetech m'envoie un mail pour me dire qu'ils m'envoient bien des ana en test mais aussi un échantillon des numériques(les mêmes ils m'ont envoyé mais avec le programme modifié) !!!???? Ils sont fous

Il me parait évident que je validerais les ana !
 

PieM

Senior Member
Bon bah la je crois que j'ai toutes les cartes en main....

Je vous tiens informé de l'avancement des tests de cette semaine et aussi dés que je reçois les servos (échantillons).... Parce que je vous ai pas dis mais aujourd'hui feetech m'envoie un mail pour me dire qu'ils m'envoient bien des ana en test mais aussi un échantillon des numériques(les mêmes ils m'ont envoyé mais avec le programme modifié) !!!???? Ils sont fous

Il me parait évident que je validerais les ana !
Visiblement leurs servos numériques avaient un problème de cervelle ...
 

PieM

Senior Member
Compte tenu du fait que ce sont des servos analogiques gérés par pulsout, je préfèrerai un autre programme permettant de conserver la période normalisée de 20 ms entre chaque actualisation des servos.
La variation se ferait donc non pas sur le timing mais sur la variation plus ou moins rapide des pulses.
En outre pour augmenter la résolution des réglages, on peut passer à une fréquence d'horloge de 16MHz.

Le programme :

Code:
[color=Green]'=================================================================
'Programme de commande de 2 servos analogiques en Vitesse variable
'avec periode d'actualisation de 20ms constante.
'Horloge 16MHz pour meilleure résolution des réglages.
'=================================================================[/color]

[color=Navy]#picaxe [/color][color=Black]08M2[/color]

[color=Green]'######'####################    configuration    #############################   [/color]
[color=Blue]symbol [/color][color=Purple]position1 [/color][color=DarkCyan]= [/color][color=Purple]w1  [/color]
[color=Blue]symbol [/color][color=Purple]position2 [/color][color=DarkCyan]= [/color][color=Purple]w2[/color]
[color=Blue]symbol [/color][color=Purple]inter1 [/color][color=DarkCyan]= [/color][color=Purple]pinC.4[/color]
[color=Blue]symbol [/color][color=Purple]inter2 [/color][color=DarkCyan]= [/color][color=Purple]PinC.3[/color]
[color=Green]'######'####################    paramètres    ################################[/color]
[color=Blue]symbol FC1 [/color][color=DarkCyan]= [/color][color=Navy]700     [/color][color=Green]'fin de course servo1 175 a 4MHz * 4[/color]
[color=Blue]symbol FC2 [/color][color=DarkCyan]= [/color][color=Navy]500     [/color][color=Green]'fin de course servo2 125 a 4MHz * 4[/color]
[color=Blue]symbol RAZ1 [/color][color=DarkCyan]= [/color][color=Navy]600    [/color][color=Green]'neutre servo1 150 a 4MHz * 4[/color]
[color=Blue]symbol RAZ2 [/color][color=DarkCyan]= [/color][color=Navy]600    [/color][color=Green]'neutre servo2 150 a 4MHz * 4[/color]

[color=Blue]symbol vit_0 [/color][color=DarkCyan]= [/color][color=Navy]15    [/color][color=Green]'vitesse servos retour: plus le nombre est eleve plus grande est la vitesse[/color]
[color=Blue]symbol vit_1 [/color][color=DarkCyan]= [/color][color=Navy]5     [/color][color=Green]'vitesse servos aller : plus le nombre est eleve plus grande est la vitesse

'##########################    Initialisation    ################################[/color]
[color=Blue]setfreq m16
pause [/color][color=Navy]4000[/color]
[color=Blue]servo C.1[/color][color=Black],[/color][color=Blue]150    [/color][color=Green]'servo1 au neutre[/color]
[color=Blue]servo C.2[/color][color=Black],[/color][color=Blue]150    [/color][color=Green]'servo2 au neutre[/color]
[color=Blue]pause [/color][color=Navy]800[/color]
[color=Purple]position1 [/color][color=DarkCyan]= [/color][color=Blue]RAZ1  [/color][color=Green]'memorisation position servo[/color]
[color=Purple]position2 [/color][color=DarkCyan]= [/color][color=Blue]RAZ2
servo C.1[/color][color=Black], [/color][color=Blue]OFF
servo C.2[/color][color=Black], [/color][color=Blue]OFF[/color]
[color=Green]'#################################################################################[/color]
[color=Black]prog_principal:[/color]

[color=Blue]do
   if [/color][color=Purple]inter1 [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Blue]then   [/color][color=Green]'retour servo1
      [/color][color=Purple]position1[/color][color=DarkCyan]= [/color][color=Purple]position1 [/color][color=DarkCyan]-[/color][color=Blue]vit_0 [/color][color=DarkCyan]min [/color][color=Blue]raz1
   else                 [/color][color=Green]'aller servo1
      [/color][color=Purple]position1[/color][color=DarkCyan]= [/color][color=Purple]position1 [/color][color=DarkCyan]+[/color][color=Blue]vit_1 [/color][color=DarkCyan]max [/color][color=Blue]fc1
   endif
   
   If [/color][color=Purple]inter2 [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Blue]then   [/color][color=Green]'retour servo2
      [/color][color=Purple]position2[/color][color=DarkCyan]= [/color][color=Purple]position2 [/color][color=DarkCyan]+[/color][color=Blue]vit_0 [/color][color=DarkCyan]max [/color][color=Blue]raz2
   else                 [/color][color=Green]'aller servo2
      [/color][color=Purple]position2[/color][color=DarkCyan]= [/color][color=Purple]position2 [/color][color=DarkCyan]-[/color][color=Blue]vit_1 [/color][color=DarkCyan]min [/color][color=Blue]fc2
   endif
   pulsout C.2[/color][color=Black],[/color][color=Purple]position2
   [/color][color=Blue]pause [/color][color=Navy]60       [/color][color=Green]'cette durée permet un temps de cycle de 20ms pour les servo ana.[/color]
[color=Blue]loop
 [/color]
 
Last edited:

ludo0404

Senior Member
Bonjour à tous !

Voila, j'ai recu comme promis de la part de Feetech 1 servo analogique, 1 digital et...... en surprise...... ca : 20141110_180632.jpg

Alors en effet, le digital avec le nouveau programme ne vibre plus.... Ne brule pas non plus (je vais bien continuer les test tout au long de la semaine.),

L'ana qu'il m'ont envoyé lui vibre à sa position initial.....

Et ils m'ont donc envoyé la clef de programmation avec le nouveau fireware pour reprogrammer les 300 servos.

Une chose est sure, je ne commanderais plus jamais chez eux.

Alors que me conseillez vous sachant que même leur ana vibrent ?



Piem : si je garde les numériques, je conserve l'autre code donc ? Pas celui du post 252 donc ?

J'ai aussi reçu des numériques d'un autre fournisseur qui ne vibre pas du tout et fonctionnent trés bien, ma prochaine commande se fera chez lui.
 

MGU

Senior Member
Bonjour à tous !

Voila, j'ai recu comme promis de la part de Feetech 1 servo analogique, 1 digital et...... en surprise...... ca : View attachment 17392

Alors en effet, le digital avec le nouveau programme ne vibre plus.... Ne brule pas non plus (je vais bien continuer les test tout au long de la semaine.),

L'ana qu'il m'ont envoyé lui vibre à sa position initial.....

Et ils m'ont donc envoyé la clef de programmation avec le nouveau fireware pour reprogrammer les 300 servos.

Une chose est sure, je ne commanderais plus jamais chez eux.

Alors que me conseillez vous sachant que même leur ana vibrent ?



Piem : si je garde les numériques, je conserve l'autre code donc ? Pas celui du post 252 donc ?

J'ai aussi reçu des numériques d'un autre fournisseur qui ne vibre pas du tout et fonctionnent trés bien, ma prochaine commande se fera chez lui.
Ma réaction serait de renvoyer illico les 300 servos avec la clé et de demander le remboursement pour matériel défectueux. Faut pas pousser quand même...

MM
 

PieM

Senior Member
J'aurais la même réaction que Michel !
Le problème est d'être certain qu'ils remboursent effectivement.
C'est se f... du monde que de demander à un client de reprogrammer leurs trucs défectueux.
De plus pour faire ça, il faut démonter le servo je pense. Donc en principe, contractuellement la garantie est perdue ...
Et en supposant une fausse manoeuvre au moment du chargement du nouveau firmware, qui est responsable ?

Concernant le programme, aucun problème pour utiliser le dernier avec servo ana ou numérique. la seule chose, c'est qu'en numérique on peut augmenter la fréquence de rafraichissement. Mais ce n'est pas critique.
 

MGU

Senior Member
Le problème est d'être certain qu'ils remboursent effectivement.
Il me semble que dans le cas présent, le remboursement est une obligation légale. Le contrat de vente est caduc, enfin, je crois...
En plus, il y a préjudice, perte de temps et d'argent pour la société qui a acheté leur matériel pourri.
MM
 

BESQUEUT

Senior Member
Il me semble que dans le cas présent, le remboursement est une obligation légale. Le contrat de vente est caduc, enfin, je crois...
En plus, il y a préjudice, perte de temps et d'argent pour la société qui a acheté leur matériel pourri.
MM
Certes....
mais faire valoir ses droit peut prendre beaucoup de temps et coûter cher.
Il est peut-être possible de consulter un avocat pour savoir si le jeu vaut la chandelle.
dans la négative, un bon compromis vaut parfois mieux qu'un mauvais procès.
Oui je sais, c'est amoral.
 

ludo0404

Senior Member
Si le fournisseur se trouvait en France, ni une ni deux, je lui ramène le matos et le torture jusqu’à remboursement ! mais la, faire valoir ses droits en Chine (pays de droits c'est bien connu) c'est beaucoup plus compliqué.

Je vais bien tester ces servos avec le nouveau programme, me faire offrir un paquet de servos et commander mes prochains 600 servos à un autre fournisseur que j'ai deja trouvé. Bon j'ai quand même demandé le remboursement mais je n'y crois pas....

merci pour votre aide....
 

ludo0404

Senior Member
De plus pour faire ça, il faut démonter le servo je pense. Donc en principe, contractuellement la garantie est perdue ...
Et en supposant une fausse manoeuvre au moment du chargement du nouveau firmware, qui est responsable ?
Sur le programmateur il y a des broches pour brancher directement le servo avec sa prise... C'est deja ca...
 

ludo0404

Senior Member
Vous voulez rire.... Feetech m'envoie le logiciel pour la prog...... voila : Capture.PNG

AARRARARRARAGGGGGGGG je vais me payer un aller retour la bas et faire un carnage !
 

PieM

Senior Member
Il faudrait les menacer de poster sur un maximum de forums liés à la radiocommande, leur façon de procéder et de se moquer du monde...
 

ludo0404

Senior Member
Il faudrait les menacer de poster sur un maximum de forums liés à la radiocommande, leur façon de procéder et de se moquer du monde...
Après grosse colère auprès du vendeur par téléphone et par email avec comme Piem l'avait conseillé, menace de pourrir des forum sur Feetech, et en prime menace d'activer la solution "avocat", je renvois les servos et ils me remboursent....

Je crois que le déclic fut le logiciel en Chinois... C'était trop ! Mr Besquet : Aprés avoir rit jaune j'ai colere rouge !

Bon concernant les test de déplacement de servos en réel (monté sur moto) j'habite dans le sud-est et comme vous avez pu le constater, il pleut depuis 4 jours !
 

ludo0404

Senior Member
Bonjour à tous !

Pour infos mon colis est arrivé en Chine et le remboursement est en cours !

Une tite question : ou puis-je acheter 250 picaxes 08m2 au meilleur prix ?

Ludo
 

PieM

Senior Member
Bonjour à tous !

Pour infos mon colis est arrivé en Chine et le remboursement est en cours !

Une tite question : ou puis-je acheter 250 picaxes 08m2 au meilleur prix ?

Ludo
Tu peux essayer de négocier auprès de GoTro...
Mais vois directement auprès de Rev-Ed : tu devrais les avoir pour 1.4 £ taxes comprise soit 1.76 € plus le port. (10-12€)
Evite la chine pour ça !!
 

ludo0404

Senior Member
Merci Piem !

Go tro me propose 2euros par 100... Et pas de port.... Je vais rester sur go pro donc.
Oui ca c'est clair, j'evite la Chine pour ca ! Pour le seconde prod je me deplace comme ca plus de surprises.

Encore merci
 

PieM

Senior Member
Une autre tite question....

Aux entrée 3-4, le picaxe accepteré t-il du 3V ou il faut obligatoirement du 5V ?
Sur la 3 et la 4 tu as des entrées TTL; donc le niveau haut est défini pour U > 2V et le niveau bas pour U < 0.8V
Ne pas utiliser la 2 qui est un trigger (U > 4V)
 

ludo0404

Senior Member
En fait je voudrais me passer d'un 4011 qui m'inverse le signal... J'explique :

à l'etat neutre, la carte gyro envoie 3.3V dans les pin c3-c4 -----> servo position 0
Virage à gauche -----> c3= 0V c4 = 3.3V -----> servo en c1 position 1


.....
 

ludo0404

Senior Member
Cool !


Les 10K sont-elles toujours nécessaires ?

Bon donc j'ai modifié le code, j'ai bien fait ?

Code:
#picaxe 08M2

'######'####################    configuration    ################################   
symbol position1 = b1
symbol position2 = b2
symbol inter1 = pinC.4
symbol inter2 = PinC.3

symbol FC1 = 175     'fin de course servo1
symbol FC2 = 125     'fin de course servo2
symbol RAZ1 = 150    'neutre servo1
symbol RAZ2 = 150    'neutre servo2
symbol tpause_0 = 7 'temps de pause - vitesse servos retour
symbol tpause_1 = 7 'temps de pause - vitesse servos aller

'##########################    Initialisation    ################################
pause 2000
servo C.1,RAZ1 'servo1 au neutre
servo C.2,RAZ2 'servo2 au neutre
pause 100
position1 = RAZ1 'memorisation position servo
position2 = RAZ2
servo C.1, Off
servo C.2, Off
'#################################################################################
prog_principal:

do
   if inter1 = 1 then 
      position1= position1 -1 min raz1
      pause tpause_0
   else
      position1= position1 +1 max fc1
      pause tpause_1
   endif
   pulsout C.1,position1
   If inter2 = 1 then 
      position2= position2 +1 max raz2
      pause tpause_0
   else
      position2= position2 -1 min fc2
      pause tpause_1
   endif
   pulsout C.2,position2
   
loop
 

PieM

Senior Member
Cool !


Les 10K sont-elles toujours nécessaires ?

Bon donc j'ai modifié le code, j'ai bien fait ?

Code:
#picaxe 08M2

'######'####################    configuration    ################################   
symbol position1 = b1
symbol position2 = b2
symbol inter1 = pinC.4
symbol inter2 = PinC.3

symbol FC1 = 175     'fin de course servo1
symbol FC2 = 125     'fin de course servo2
symbol RAZ1 = 150    'neutre servo1
symbol RAZ2 = 150    'neutre servo2
symbol tpause_0 = 7 'temps de pause - vitesse servos retour
symbol tpause_1 = 7 'temps de pause - vitesse servos aller

'##########################    Initialisation    ################################
pause 2000
servo C.1,RAZ1 'servo1 au neutre
servo C.2,RAZ2 'servo2 au neutre
pause 100
position1 = RAZ1 'memorisation position servo
position2 = RAZ2
servo C.1, Off
servo C.2, Off
'#################################################################################
prog_principal:

do
   if inter1 = 1 then 
      position1= position1 -1 min raz1
      pause tpause_0
   else
      position1= position1 +1 max fc1
      pause tpause_1
   endif
   pulsout C.1,position1
   If inter2 = 1 then 
      position2= position2 +1 max raz2
      pause tpause_0
   else
      position2= position2 -1 min fc2
      pause tpause_1
   endif
   pulsout C.2,position2
   
loop
Oui c'est bon mais il faut remplacer

servo C.1,RAZ 'servo1 au neutre
servo C.2,RAZ 'servo2 au neutre


par

servo C.1,150 'servo1 au neutre
servo C.2,150 'servo2 au neutre

Les 10k sont où ? Si c'est à lentrée il faut savoir quel circuit envoie l'info gyro.
 

ludo0404

Senior Member
J'ai encodé et branché tout ca....

Mais les sorti c1 et c2 pour les servo me donne 2.81V constamment... Une idée ?
 

PieM

Senior Member
J'ai encodé et branché tout ca....

Mais les sorti c1 et c2 pour les servo me donne 2.81V constamment... Une idée ?
il n'y a qu'a laisser les résistance et essayer. Le schéma ne dit rien puisque le problème se situe avant le 4011
Une tension en sortie pour les servos ne veut rien dire puisque ce sont des impulsions....
 

ludo0404

Senior Member
il n'y a qu'a laisser les résistance et essayer. Le schéma ne dit rien puisque le problème se situe avant le 4011
Une tension en sortie pour les servos ne veut rien dire puisque ce sont des impulsions....
Je les ai laissé....

Je sais que ca ne veut rien dire mais j'avais mesuré avant de modifier le branchement afin de pouvoir comparer en cas de non fonctionnement (ce qui est le cas) Avec les entrées 5V pour signal 1 j'avais 0,3v en pin c1 (servo...)
 
Top