Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

Au secours, mon servomoteur ne tourne que dans un sens !



  1. #1
    flyerjet

    Au secours, mon servomoteur ne tourne que dans un sens !

    Bonsoir à tous;

    Je rencontre des difficultés avec un servomoteur.

    Il s'agit d'un Futaba S148 que je contrôle à l'aide d'un PIC Atmel ATMega16.

    Si j'ai bien compris, on lui envoie un signal carré d'amplitude 5V et, selon la "période" pendant laquelle le signal est à 5V, le servo va effectuer un angle plus ou moins important dans un sens ou dans un autre.

    Sur la fiche constructeur, je lis "1.52ms neutral", j'en déduis donc qu'un signal de plus de 1.52ms fera tourner le servo dans un sens et qu'un signal de moins de 1.52ms le fera tourner dans l'autre.

    J'ai commencé par faire un code tout simple sur CodeVisionAvr :
    Code:
    #include <mega16.h>
    #include <io.h>
    #include <delay.h>
     
    void main(void)
    {
    	DDRD=0xFF;
    	PORTD=0x00;
    
    	delay_ms(2000);
    
    	while(1)
    	{
    		
    		PORTD=0xFF;
    		delay_us(1000);
    		PORTD=0x00;
    		delay_ms(18);
    		
    	}
    }
    Sur l'oscilloscope, j'obtiens un parfait signal carré avec une alternance +5 pendant 1ms et 0 pendant 18ms.

    Le problème dans tout ça, c'est que j'ai essayé une innombrable quantités de valeurs pour le temps fort (à la place du "1000" de "delay_us(1000);"), de 50μs à 2 secondes, et mon servo tourne TOUJOURS dans le même sens, jusqu'à arriver en butée.

    Je cherche à faire +90, -90...

    Comment faire ?
    Je vous avoue qu'après y avoir passé 6 heures de ma journée, je désespères.

    Merci pour votre aide :
    Flyerjet

    -----


  2. Publicité
  3. #2
    Ouk A Passi

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Bonjour,

    -- Erreur --

  4. #3
    Qristoff

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Sur la fiche constructeur, je lis "1.52ms neutral", j'en déduis donc qu'un signal de plus de 1.52ms fera tourner le servo dans un sens et qu'un signal de moins de 1.52ms le fera tourner dans l'autre.
    ben, essaie déja avec 1.52ms pour voir si la position neutre est atteinte et maintenue !
    Tout existe, il suffit de le trouver...!

  5. #4
    flyerjet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    J'ai essayé, rien à faire, il va se mettre en butée à gauche

    Ouk A Passi => ?

  6. #5
    Qristoff

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    J'ai essayé, rien à faire, il va se mettre en butée à gauche
    il faut envoyer en permanence une impulsion de 1.52ms toute les 20ms pour que le servo reste en place en position neutre. J'ai pas l'impression que ton programme fasse cela... je ne maitrise pas le C
    Tout existe, il suffit de le trouver...!

  7. A voir en vidéo sur Futura
  8. #6
    flyerjet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Si, si, le "while(1)" représente une boucle infinie (dès que le programme arrive au premier "}", il remonte au second "{").

    L'utilisation d'un servomoteur m'a l'air relativement simple, et surtout assez "binaire" (il n'y a pas 25 possibilités) : je ne comprends pas qu'il puisse avoir un comportement aussi étrange...

  9. Publicité
  10. #7
    Franck-026

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    essaye deja de creer juste une boucle avec un pulse de 1.5ms suivi d'un 0 qui dure 18.5ms repetitif. Tu verras bien si ton servo se cale au milieu. Ceci etant verifié, tu pourras envoyer 50x par seconde un pulse dont le pulse haut Ton varie entre 1ms et 2ms suivi d'un zero Toff soit egal a 20ms-Ton. La duree totale doit toujours etre constante, et ne pas varier en fonction de la duree de Ton...

  11. #8
    flyerjet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Je pense avoir compris :
    - la période doit être constante (donc si on ajoute 1ms à 5V on enlève 1ms à 0)
    - tu me conseilles de faire une boucle avec un seul signal haut (à 5V) suivi d'un très long signal bas.

    Si c'est bien cela, je testerai dès demain matin quand j'aurai le matériel sous la main et vous tiendrai au courant.

    Merci pour votre aide, en tous cas

  12. #9
    Franck-026

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    En creant ton pulse de 1.52ms de Ton pour 18.5ms de Toff, ton montage devrait positionner ton servo au milieu

    Pour Pic ca donnerai ca (j' met pas les boucles de tempo, juste le programme simple

    Start
    bsf Servo
    Call Tempo1.52ms
    bcf Servo
    Call Tempo18.5ms
    goto Start

    Le programme est tres simple en asm pour un pic, donc aussi simple pour un autre µC RISC...

  13. #10
    baikauod

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Il ne faut pas dépasser 20ms entre 2 front montant.

    donc il vaut mieux avoir un peu moins... 17 ou 18ms.

  14. #11
    Franck-026

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Exact, on dit maximum 20ms, on peut mettre 15ms aussi ca me gene pas du tout...

  15. #12
    baikauod

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Citation Envoyé par Franck-026 Voir le message
    Exact, on dit maximum 20ms, on peut mettre 15ms aussi ca me gene pas du tout...
    oui, les 20ms c'est le rafraichissement à ne pas dépasser.

    ps: pour le mini je me rappel plus, à l'époque j'expérimentais sur le S3003 de futaba.

  16. Publicité
  17. #13
    ftorama

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    J'ai compilé ton code pour voir, aucun problème à priori de ce côté-là...

    Allez,cherchons la petite bête...et réponds-moi à ces questions :

    Tu alimentes ton servo sous quelle tension?
    La puissance de l'alim est-elle suffisante?
    Les masses du servo et de l'AVR sont-elles communes?
    As-tu testé avec un autre servo?

    PS:la prochaine fois que tu dis que l'AVR est un PIC, je te mets deux claques et je ne réponds pas

  18. #14
    flyerjet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Vous n'imaginez pas à quel point j'ai honte...

    Je travaille sur une platine de développement et un circuit externe et, lors de la deuxième phase de mes tests, je n'ai pas relié les masses

    Je vais réciter 150 "je vous salue Edison" en me flagellant avec du mono brin de très grosse section.

    Merci à tous pour votre aide :
    Flyerjet.

    P.S ftorama => C'est noté, mes plus plates excuses.

  19. #15
    Franck-026

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    warrrrf trop marrant... Mais ca arrive et c'est souvent les trucs les plus cons qui sont les moins facile a voir...

    Cool alors que ca fonctionne. Si tu veux etre compliant au mode des servos, tu peux comme conseillé plus haut reduire la periode de 20ms a 15ms, comme ca aucune mauvaise surprise par la suite...

  20. #16
    flyerjet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    C'est noté, merci beaucoup !

  21. #17
    Franck-026

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    va falloir que je me repenche sur les moteurs servo, et que je bricole des PAP aussi, ca me changera un peu...

  22. #18
    gedonet

    Re : Au secours, mon servomoteur ne tourne que dans un sens !

    Citation Envoyé par Franck-026 Voir le message
    . Si tu veux etre compliant au mode des servos, tu peux comme conseillé plus haut reduire la periode de 20ms a 15ms, comme ca aucune mauvaise surprise par la suite...
    Bonjour
    Je pense qu'il peut laisser les 20ms, ce n'est pas tres critique. Par exemple, j'avais une radio Graupner MC18 qui commandais 8 voies en PPM, en comptant 8 X 2ms = 16ms plus un petit delai de mini 3 ms pour identifier le debut de la trame on arrive deja à 19ms. En fait la trame de ma MC18 mesurait 25ms et c'etait 22ms pour mon ancienne Sanwa.
    Gilles

  23. Publicité

Sur le même thème :

Discussions similaires

  1. Est-ce que Venus tourne dans le sens inverse...
    Par Pyrim dans le forum Archives
    Réponses: 7
    Dernier message: 25/02/2015, 17h32
  2. [Blanc] SL brandt tourne que dans un sens
    Par blackix dans le forum Dépannage
    Réponses: 2
    Dernier message: 23/06/2010, 09h31
  3. [Blanc] LL Zanussi ( ? ) : tourne dans un seul sens !
    Par tchacha dans le forum Dépannage
    Réponses: 5
    Dernier message: 12/06/2010, 13h56
  4. [Blanc] machine a laver tourne dans le mm sens .
    Par format29 dans le forum Dépannage
    Réponses: 10
    Dernier message: 10/11/2007, 18h06
  5. Dans quel sens tourne-t-elle?
    Par Jean-Luc dans le forum Électronique
    Réponses: 20
    Dernier message: 27/08/2005, 13h41