Adaptation de tension
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

Adaptation de tension



  1. #1
    invite8975011f

    Adaptation de tension


    ------

    Bonjour à tous,

    Pour commencer, j'ai vu que ce sujet a déjà été traité : http://forums.futura-sciences.com/el...e-tension.html .
    Cependant ce topic ne répond malheureusement pas mon souci : mon but est de pouvoir reprogrammer et de tester les servo Hitec HS-5085 et HS-5055 à leur arrivée dans nos stocks, bien évidemment de base nous le faisons à la main 1 par 1 mais cette opération est fastidieuse surtout quand on en a 500 à faire ...

    Du coup à l'aide du programmateur HPP 21 : https://www.servocity.com/html/hpp-2...l#.VcB9nfPtmko j'ai récupéré les trames de communication entre le servo et l'HPP 21, image jointe au message. On remarque déjà que sur 1 seul fil, nous changeons de niveau logique (2.15V) et que sur cet unique fil il y a de la transmission et de la réception pour les 2 dispositifs.

    Du coup mon but est qu'avec une arduino, je recopie les trames de transmission (la réception des données du servo, à priori je n'en ai pas besoin) pour reprogrammer le servo, le souci est l'adaptation de tension ! Au début j'ai tenté un pont diviseur le problème c'est que ça n'adapte pas la tension comme je le souhaiterais, avec l'émission du servo on a des soucis : le niveau logique "haut" passe bien à 2.15V mais le niveau "bas" est à 1.0V.

    Quelle solution puis-je avoir pour adapter l'adaptation de l'ensemble sachant qu'on a un niveau logique de 5V en sortie de l'Arduino et un de 2.5V en sortie du Servo ? (une image pour simplifier ma question en pièce jointe)

    Merci de votre compréhension,
    Simon

    -----
    Images attachées Images attachées

  2. #2
    invite01fb7c33

    Re : Adaptation de tension

    Le servo que tu donnes en référence (HS5055 par exemple) acceptent jusqu'à 5v en impulsions de commande (https://www.servocity.com/html/hs-50...l#.VcCJHjDtmko). Donc il est possible de le piloter directement avec l'Arduino.

  3. #3
    invite8975011f

    Re : Adaptation de tension

    Désolé de ne pas avoir été assez clair, je cherche à le reprogrammer sans utiliser l'HPP21, le piloter nous n'avons aucun soucis mais pour la reprogrammation Hitec utilise un protocole et niveau logique différent (2.15V).
    D'où ma question d'adaptation de tension.

    Simon

  4. #4
    Pierrre

    Re : Adaptation de tension

    bonjour

    hitec ne peux pas se charger de la prog ? parce que 500 servos c'est quand meme pas mal!

    "(la réception des données du servo, à priori je n'en ai pas besoin)"... c'est sur oui ou non ?

    A+

  5. A voir en vidéo sur Futura
  6. #5
    invite8975011f

    Re : Adaptation de tension

    Pas assez pour eux, pas faute d'avoir essayé.

    La réception est inutile pour nous, nous devons juste le reprogrammer, en changeant de servo les trames ne changent pas, du coup on a juste à l'implémenter une seule fois.
    Il me faut juste une solution pour faire cette adaptation de tension.

    Simon

  7. #6
    Pierrre

    Re : Adaptation de tension

    schema du pont diviseur teste ?

    il y a surement moyen de s'en sortir avec un petit transitor MOS qui imposerai le niveau 0

  8. #7
    invite8975011f

    Re : Adaptation de tension

    Merci de tes réponses rapides.
    C'est ce que j'ai pensé mais je ne sais pas comment m'y prendre je t'avoue.
    Pour le pont diviseur il est juste en série sur le fil, image en pièce jointe.

    Simon
    Images attachées Images attachées  

  9. #8
    invite8975011f

    Re : Adaptation de tension

    Je joins également le relevé de trame envoyée par l'arduino au servo.

    Simon
    Images attachées Images attachées  

  10. #9
    Pierrre

    Re : Adaptation de tension

    je te propose ce petit montage a base de 2 BS170

    tiens moi au courant...

    Pièce jointe supprimée
    Dernière modification par JPL ; 04/08/2015 à 19h07.

  11. #10
    JPL
    Responsable des forums

    Re : Adaptation de tension

    Les schémas doivent être postés dans un format graphique (gif, png, jpg). Merci.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  12. #11
    Pierrre

    Re : Adaptation de tension

    OK scusez moi...
    Images attachées Images attachées  

  13. #12
    invite8975011f

    Re : Adaptation de tension

    Bonjour Pierre,

    Merci pour vos réponses, le schéma a bien l'air de fonctionner, on voit des pics de tension lors d'un changement de bit.

    Je pensais que pour atténuer cet effet, l'utilisation d'un passe bas (résistance série et cap //) suffirait, mais je dois avoir une constante de temps trop grande ce qui fait que la trame envoyée est perturbée. Enfin je pense pouvoir résoudre ce problème. Maintenant il faut que je vois si avec un tel schéma d'adaptation je peux récupérer ce que m'envoie le servo.

    En tout cas merci pour tout Pierre, je continue à travailler sur ce projet et reviens vers vous en cas de besoin. (Si jamais vous avez une solution pour les pics de tension )
    Images attachées Images attachées

  14. #13
    invite8975011f

    Re : Adaptation de tension

    Ah oui, j'ai oublié de rajouter : pour le reprogrammer je n'ai pas besoin de la réception cependant celle-ci existe, il faut donc que j'opère trame par trame pour voir ce qu'il répond, comme ça dans mon code de programmation je n'envoie que les trames utiles.

    Simon

  15. #14
    Pierrre

    Re : Adaptation de tension

    pour les pics de tension, pas vraiment d'idee... voir longueur des connexions, filtrage de l'alim 5V...

    a tester: revoir les valeurs du pont resistif: l'arduino est en principe capable de supporter un courant de 40mA

    avec 17.8K et 12.5K on a un courant de 0.16mA; recalculer des valeurs pour un courant d'environ 10mA par exemple

  16. #15
    Pierrre

    Re : Adaptation de tension

    IMPORTANT

    voir si ca ne perturbe pas le signal emis par le servo.... peut etre commencer avec des R de 1.78K et 1.25K (I= 1.6mA)

  17. #16
    Antoane
    Responsable technique

    Re : Adaptation de tension

    Bonjour,
    Citation Envoyé par Simon.95 Voir le message
    Merci de tes réponses rapides.
    C'est ce que j'ai pensé mais je ne sais pas comment m'y prendre je t'avoue.
    Pour le pont diviseur il est juste en série sur le fil, image en pièce jointe.

    Simon
    Tu peux essayer de diviser la valeur de tes résistances par 5 ou 10.
    Si cela ne fonctionne pas, tu peux ajouter une diode schottky en parallèle de la résistance "du haut", celle directement reliée à l'arduino :
    fs_1.png
    Elle court-circuite le pont diviseur lorsque la sortie de l'arduino est basse, assurant que la tension envoyée au servo est égale à ~300mV.

    Une autre solution, faisant le même travail que celui de Pierrre mais utilisant un transistor en base commune :
    fs_2.png
    Sa se simplifie en utilisant un MOSFET en grille commune :
    fs_3.png
    Mais il faut un composant bloqué pour Vgs<2.5V et passant pour Vgs>5V.

    Pour communiquer dans l'autre sens, du servo à l'arduino, tu peux par exemple utiliser :
    fs_4.png
    Les valeurs de différentes résistances peuvent être ajustées en fonction des différents niveaux voulus (2.5V ou 2.15V). Les valeurs données ici sont valides pour une conversion 0/5V vers 0/2.5V.

    Il est tout à fait possible que les pics de tension ne soient pas génants, voir même soient un artefact de mesure, du à l'oscilloscope que tu utilises.
    Augmenter les résistances de 1k du schéma de Pierrre (e.g. 10 ou 22k) et ajouter une (grosse) résistance en série avec la grille du MOSFET de droite devrait en diminuer l'amplitude.
    Dernière modification par Antoane ; 05/08/2015 à 11h47.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  18. #17
    invite8975011f

    Re : Adaptation de tension

    C'est exactement ce que j'ai fais (que ce que Pierre me disait), le signal est propre maintenant je m'attaque à l'étude des trames pour pouvoir les reprogrammer

    Antoane je vais tester le schéma pour la communication du servo à l'arduino, par contre du servo à l'arduino on est plutôt sur une conversion 0/2.15V vers 0/5V.

    Merci à vous 2 encore.

    Simon

  19. #18
    invite8975011f

    Re : Adaptation de tension

    Re-bonjour,

    J'ai réussi à en reprogrammer un avec quelques difficultés que je ne comprends pas, le signal s'est soudainement bruité pendant un envoi de trames en pièce jointe le relevé, si vous avez une idée je veux bien ...

    Merci pour tout.
    Simon
    Images attachées Images attachées

  20. #19
    Antoane
    Responsable technique

    Re : Adaptation de tension

    Bonsoir,
    Citation Envoyé par Simon.95 Voir le message
    Antoane je vais tester le schéma pour la communication du servo à l'arduino, par contre du servo à l'arduino on est plutôt sur une conversion 0/2.15V vers 0/5V.
    Après relecture, mon message n'est effectivement pas clair :
    - Les 3 premiers schémas assurent la conversion 0/5V vers 0/2.5V, mais on peut faire du 0/2.15V (ou autre) en ajustant les ponts diviseurs de sortie ;
    - Le dernier schéma assure la conversion 0/2.5V vers 0/5V (ou même, sans modification, 0/2.15V vers 0/5V).

    Citation Envoyé par Simon.95 Voir le message
    le signal s'est soudainement bruité pendant un envoi de trames en pièce jointe le relevé, si vous avez une idée je veux bien ...
    Comme ça, d'un coup d'un seul sans que tu ne fasses rien ?
    Je n'ai pas compris : qui communique vers qui ? la mesure est-elle faite à l'entrée ou à la sortie d'une interface que tu as réalisée ? celle du post 11 ? Si la mesure a été faite à la sortie de l'interface, quelle est l'allure du siganl à l'entrée ?
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  21. #20
    invite8975011f

    Re : Adaptation de tension

    Bonjour,

    A priori le signal s'est bruité dès lors que j'ai implanté mon nouveau programme :
    Code:
    mySerial.write(0x2B);//266.5ms
      delay(270);
      mySerial.write(0x67);
      mySerial.write((byte)0x00);
      mySerial.write((byte)0x00);
      mySerial.write(0x99);
      delay(2);
    Juste en ajoutant ces delay(2) le signal devient bruité, donc c'est un problème de soft car en les retirant j'ai remarqué qu'il n'y avait plus ce souci. Malheureusement je ne peux pas les enlever, ils correspondent aux trames envoyées par le servo. Je vais tâcher de coder un peu histoire de voir ce qui peut être changé.

    Sinon pour te répondre :
    - qui communique vers qui ?, l'arduino et le servo communiquent ensemble chacun leur tour, mais tout ce qui est envoyé par le servo je le mets à la poubelle car ici ce n'est pas ce qui m'intéresse mais plutôt communiquer de l'arduino vers le servo.
    - la mesure est-elle faite à l'entrée ou à la sortie d'une interface que tu as réalisée ?, la mesure se fait en sortie du dispositif d'adaptation, càd au niveau du servo dans le post 11
    Du coup j'ai fais un relevé du signal en entrée (pièce jointe, rouge l'entrée et bleu sortie).

    Merci de ta réponse.
    Simon
    Images attachées Images attachées  

  22. #21
    invite8975011f

    Re : Adaptation de tension

    Edit : déjà un gros souci réside dans le temps que j'ai mis : un octet s'envoie en 50us*10 alors c'est sûr que si je lui dis d'attendre 2 ms ça va pas trop le faire, je continue de chercher de ce côté là

  23. #22
    Antoane
    Responsable technique

    Re : Adaptation de tension

    Bonjour,
    Citation Envoyé par Simon.95 Voir le message
    A priori le signal s'est bruité dès lors que j'ai implanté mon nouveau programme
    Ca m'arrange
    De là, mes questions perdent de leur intérêt et "je laisse la main".
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  24. #23
    invite8975011f

    Re : Adaptation de tension

    Merci quand même , après si jamais tu as une idée sur le relevé en pièce jointe : la première trame s'envoie niquel, on a bien l'attente pour le retour d'informations et à partir du 2ème octet 0x60 on remarque une chute de tension, cela pourrait-il se corriger via le schéma du #11 ?
    Sinon je vais essayer ta solution à base de BC547.
    Images attachées Images attachées  

Discussions similaires

  1. adaptation de tension
    Par invitec1c4a7e1 dans le forum Électronique
    Réponses: 6
    Dernier message: 06/11/2014, 21h08
  2. adaptation de tension
    Par invitebe17e9d1 dans le forum Électronique
    Réponses: 29
    Dernier message: 06/08/2011, 13h37
  3. probleme d'adaptation de tension
    Par invite636cc4b1 dans le forum Électronique
    Réponses: 4
    Dernier message: 22/03/2007, 23h41
  4. adaptation de tension
    Par invitecf7c9eb4 dans le forum Électronique
    Réponses: 9
    Dernier message: 30/05/2005, 19h45
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...