Aller au contenu


Photo
- - - - -

commande amortisseur vélo


  • Veuillez vous connecter pour répondre
191 réponses à ce sujet

#181 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 26 février 2022 - 03:35

peux tu poster le code que tu as essayé en vérifiant que tu utilises bien une seul nom pour ton servo ?

Bonjour, 

 

Bon OK j'ai beaucoup de mal avec ces codes.. 

 

voila ce que ça donne: 

#include <SCServo.h>

SMS_STS sms_sts;

#define PINBOUTON 8
#define pinledBicoloreA 9
#define pinledBicoloreB 10

#define POS0 0
#define POS1 1000
#define SPEED 1000
#define IDSERVO 1
#define WAITINGTIME 2000

bool positionNumber = 0;
uint16_t servoPositions[2] = {POS0, POS1};

void setup() {
  pinMode (PINBOUTON, INPUT_PULLUP);                               // Initialisation du pin de lecture du bouton
  pinMode (pinledBicoloreA, OUTPUT);                               // Initialisation du pin d'une des 2 LED
  pinMode (pinledBicoloreB, OUTPUT);                               // Initialisation du pin de l'autre LED
  ledBicolore(positionNumber);
  
  Serial.begin(1000000);
 SMS_STS sms_sts.pSerial = &Serial;
  delay(500);
  SERVO.EnableTorque(IDSERVO, true);
  SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);  // Initialisation de la position du servo
}


void loop() {
  if(!digitalRead(PINBOUTON)) {
    positionNumber = !positionNumber;
    ledBicolore(positionNumber);
    SMS_STS sms_sts.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);
    delay(WAITINGTIME);
  }
}
void ledBicolore(int position)
{
  if (position == 0)     // Allumer rouge
  {
    digitalWrite(pinledBicoloreA, LOW);
    digitalWrite(pinledBicoloreB, HIGH);
  } 
  else     // Allumer en vert
  {
    digitalWrite(pinledBicoloreA, HIGH);
    digitalWrite(pinledBicoloreB, LOW);
  }
}


#182 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 26 février 2022 - 07:27

Plusieurs erreur : 

  1. Tu as pas réussi à te mettre d'accord avec toi même il y a toujours des " SERVO "
  2. Tu as mis plusieurs fois SMS_STS or c'est un " type " au même titre que bool ou int sauf que là ça défini un objet  "servomoteur "  que tu dois nommer soit sms_sts soit SERVO ou tout autre nom que tu voudrais utiliser.  ( Tu n'écris pas bool à chaque fois que tu utilises positionNumber )
  3. Dans la librairie il n'y a pas WritePos mais WritePosEx  . Il te faut utiliser la bonne fonction. 

Corrige ces trois points et ça devrait être bon ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#183 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 28 février 2022 - 11:05

Plusieurs erreur : 

  1. Tu as pas réussi à te mettre d'accord avec toi même il y a toujours des " SERVO "
  2. Tu as mis plusieurs fois SMS_STS or c'est un " type " au même titre que bool ou int sauf que là ça défini un objet  "servomoteur "  que tu dois nommer soit sms_sts soit SERVO ou tout autre nom que tu voudrais utiliser.  ( Tu n'écris pas bool à chaque fois que tu utilises positionNumber )
  3. Dans la librairie il n'y a pas WritePos mais WritePosEx  . Il te faut utiliser la bonne fonction. 

Corrige ces trois points et ça devrait être bon ;)

Bonsoir, 

 

Merci pour l'aide, bon du coup j'ai essayé des choses mais je n'y arrive tjrs pas.. J'ai fait avec SERVO pour simplifier.. voici mon dernier code :

#include <SCServo.h>

SMS_STS SERVO;

#define PINBOUTON 8
#define pinledBicoloreA 9
#define pinledBicoloreB 10

#define POS0 0
#define POS1 1000
#define SPEED 1000
#define IDSERVO 1
#define WAITINGTIME 2000

bool positionNumber = 0;
uint16_t servoPositions[2] = {POS0, POS1};

void setup() {
  pinMode (PINBOUTON, INPUT_PULLUP);                               // Initialisation du pin de lecture du bouton
  pinMode (pinledBicoloreA, OUTPUT);                               // Initialisation du pin d'une des 2 LED
  pinMode (pinledBicoloreB, OUTPUT);                               // Initialisation du pin de l'autre LED
  ledBicolore(positionNumber);
  
  Serial.begin(1000000);
 SERVO.pSerial = &Serial;
  delay(500);
  SERVO.EnableTorque(IDSERVO, true);
  SERVO.WritePosEX(IDSERVO, servoPositions[positionNumber], SPEED);  // Initialisation de la position du servo
}


void loop() {
  if(!digitalRead(PINBOUTON)) {
    positionNumber = !positionNumber;
    ledBicolore(positionNumber);
    SERVO.WritePosEX(IDSERVO, servoPositions[positionNumber], SPEED);
    delay(WAITINGTIME);
  }
}
void ledBicolore(int position)
{
  if (position == 0)     // Allumer rouge
  {
    digitalWrite(pinledBicoloreA, LOW);
    digitalWrite(pinledBicoloreB, HIGH);
  } 
  else     // Allumer en vert
  {
    digitalWrite(pinledBicoloreA, HIGH);
    digitalWrite(pinledBicoloreB, LOW);
  }
}

error : 'class SMS_STS' has no member named 'WritePosEX'; did you mean 'WritePosEx'?

 

je comprend que WhritePosEx n'est pas reconnu .? 

 

Merci 



#184 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 28 février 2022 - 11:12

Bonsoir,

 

ça veut dire que tu as fait une faute de frappe (et que le compilateur te suggère la solution) : tu as écris "WritePosEX" qui n'existe pas au lieu de "WritePosEx"  : remplace les "X" majuscules par des "x" minuscules et ça devrait résoudre ton problème

 

Bonne soirée

Sandro


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#185 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 02 mars 2022 - 10:44

Bon et bien bonne nouvelle tout fonctionne je suis ravi et un GRAND MERCI à vous tous. C'est un petit projet qui me tenait à coeur et c'est vraiment top. Donc Merci  :thank_you:

 

Il me reste des petits réglage de vitesse et de rotation mais ça c'est bon je connais  :ignat_02:

 

Ce petit servo me semble bien avec son corps en Alu et le gros axe ça me semble robuste. Plus cas installer tous ça et zouu

 

Ha dernier petit question. J'aimerais protéger la partie électronique (arduino et autre résistance..) du coup j'avais l'idée de mettre le tout dans une petite boite et remplir de colle à chaud ou autre résine... vous en pensez quoi ?  

 

Merci encore et à bientôt.  



#186 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 03 mars 2022 - 12:01

Si tu noie tout dans la colle chaude, tu n'aura plus accès au port USB de l'arduino, donc plus possible de changer le programme (donc si par exemple tu dois changer de moteur, il te faudra aussi racheter un arduino pour pouvoir régler les positions).

 

Autre problème : le régulateur de tension de l'arduino peut chauffer un peu : s'il est noyé dans de la colle/résine, je ne sais pas s'il arrivera bien a dissiper la chaleur.

 

Du coup, je te suggèrerais plutôt de bricoler ta betite boite, et de couvrir les joints et trous pour fils de colle chaude : comme ça, la colle chaude assure l'étanchéité (dans la limite du raisonnable, mais ça devrait aller pour un VTT tant que tu ne fait pas un plongeant dans la rivière), et si tu veux ouvrir, tu peux assez facilement enlever la colle chaude


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#187 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 03 mars 2022 - 07:53

Si tu noie tout dans la colle chaude, tu n'aura plus accès au port USB de l'arduino, donc plus possible de changer le programme (donc si par exemple tu dois changer de moteur, il te faudra aussi racheter un arduino pour pouvoir régler les positions).

 

Autre problème : le régulateur de tension de l'arduino peut chauffer un peu : s'il est noyé dans de la colle/résine, je ne sais pas s'il arrivera bien a dissiper la chaleur.

 

Du coup, je te suggèrerais plutôt de bricoler ta betite boite, et de couvrir les joints et trous pour fils de colle chaude : comme ça, la colle chaude assure l'étanchéité (dans la limite du raisonnable, mais ça devrait aller pour un VTT tant que tu ne fait pas un plongeant dans la rivière), et si tu veux ouvrir, tu peux assez facilement enlever la colle chaude

Ok, très bien je ne savais pas pour le régulateur.. par contre pour protéger le reste effectivement j'avais deja fait un peu comme ça. Actuellement j'ai fabriqué une petite boite en fibre mais ce n'est pas l'idéal.. Il y trop d'humidité à l'intérieur et le montage n'est pas propre.. J'ai des petites souci a ce niveau là..

Je suis actuellement sur une idée de boite (carter) en impression 3D avec des compartiments interne pour chaque élément que je pourrais fermé pour une bonne étanchéité. Je suis actuellement sur le dessin avec le logiciel fusion 360. Après pour l'impression je vais voir car je n'ai pas d'imprimante.. Peu-être un futur achat..

 

En attendant je fais un montage simple avec une petite boite. Mais il faut que je la trouve :) 

 

J'ai pu rajouter à mon système un bouton ON/OFF ce qui le rend plus simple à l'utilisation. :)

 

Merci    



#188 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 03 mars 2022 - 01:19

Après, si tu veux vraiment noyer dans la colle, on peut essayer de vérifier la chaleur dissipée : c'est possible qu'on puisse noyer le régulateur si tu consommes assez peu de courant via le régulateur. Si tu veux partir sur cette voie, il me faudrait un schéma électrique du montage final et le lien vers la documentation des différents composants utilisés.

 

Sinon, si le problème est juste que les composants sont mal fixés, rien n'empêche de mettre un peu de colle chaude sur le dessous juste pour les maintenir en place.

 

Sinon, si tu as des problèmes d'humidité (et pas plus), tu peux mettre du silica-gel pour absorber l'humidité (les petits sachets "do not eat" qu'on trouve dans certains emballages pour absorber l'humidité).

 

Si en revanche tu veux lutter contre les infiltrations, alors il te faudra quelque chose de plus radical. Tu peux éventuellement essayer avec des polymères-super-absorbants (type polyacrylate de sodium), comme ceux dans les couches bébés : c'est de toutes petites billes qui peuvent absorber plus de 100 fois leur poids en eau. Pour en trouver, soit tu commandes sur internet, soit s'il ne t'en faut qu'un peu, tu peux regarder si Lidl fait toujours les couches "ultra fines" qu'ils vendaient il y a quelques années et qui contenaient uniquement le polymère super absorbant, sans la cellulose qui est présente en plus dans les autres couches.  Avec ça, tu devrais pouvoir absorber de petites fuites. Par contre, je ne sais pas si ce gel conduit ou pas l'électricité une fois mouillé. Et je te conseilles vivement de mettre du scotch sur le port USB pour pas qu'il se remplisse avec. NB: j'ai pas eut l'occasion de tester cette méthode tel quel : en revanche j’avais pendant un an un répétiteur wifi placé à un endroit où il risquait de prendre quelques goûtes de pluie par gros vent : je l'avais mis dans une couche bébé puis entouré d'un sac congélation, et il est toujours resté parfaitement au sec.


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#189 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 03 mars 2022 - 10:35

Après, si tu veux vraiment noyer dans la colle, on peut essayer de vérifier la chaleur dissipée : c'est possible qu'on puisse noyer le régulateur si tu consommes assez peu de courant via le régulateur. Si tu veux partir sur cette voie, il me faudrait un schéma électrique du montage final et le lien vers la documentation des différents composants utilisés.

 

Sinon, si le problème est juste que les composants sont mal fixés, rien n'empêche de mettre un peu de colle chaude sur le dessous juste pour les maintenir en place.

 

Sinon, si tu as des problèmes d'humidité (et pas plus), tu peux mettre du silica-gel pour absorber l'humidité (les petits sachets "do not eat" qu'on trouve dans certains emballages pour absorber l'humidité).

 

Si en revanche tu veux lutter contre les infiltrations, alors il te faudra quelque chose de plus radical. Tu peux éventuellement essayer avec des polymères-super-absorbants (type polyacrylate de sodium), comme ceux dans les couches bébés : c'est de toutes petites billes qui peuvent absorber plus de 100 fois leur poids en eau. Pour en trouver, soit tu commandes sur internet, soit s'il ne t'en faut qu'un peu, tu peux regarder si Lidl fait toujours les couches "ultra fines" qu'ils vendaient il y a quelques années et qui contenaient uniquement le polymère super absorbant, sans la cellulose qui est présente en plus dans les autres couches.  Avec ça, tu devrais pouvoir absorber de petites fuites. Par contre, je ne sais pas si ce gel conduit ou pas l'électricité une fois mouillé. Et je te conseilles vivement de mettre du scotch sur le port USB pour pas qu'il se remplisse avec. NB: j'ai pas eut l'occasion de tester cette méthode tel quel : en revanche j’avais pendant un an un répétiteur wifi placé à un endroit où il risquait de prendre quelques goûtes de pluie par gros vent : je l'avais mis dans une couche bébé puis entouré d'un sac congélation, et il est toujours resté parfaitement au sec.

Merci pour ton retour Sandro, je pense qu'il était possible de parler couche sur ce forum  :) mais en tout cas c'est une bonne idée effectivement car j'ai eu des soucis d'humidité. Il faudrait que je test pour voir si il y a une différence dans ma petite boite :) 

 

Pour mesurer la température du régulateur est-il possible de contrôler avec un thermomètre infrarouge?

mais oui je peux faire un schéma. Je pense qu'il serait interessant de savoir si je fais une boite en 3D.

 

Merci beaucoup  



#190 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 03 mars 2022 - 11:38

Mon idée n'était pas tant de mesurer la température du régulateur de tension (qui augmentera si on l'isole avec de colle chaude), mais plutôt d'estimer la puissance qu'il dissipe (ce qui dépend de la tension d'alimentation de l'arduino, et du courant qui sort de l'arduino). Comme ça, on peut se faire une bonne idée si c'est acceptable ou pas avec la colle chaude.


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#191 GauLudo

GauLudo

    Membre

  • Membres
  • 29 messages

Posté 04 mars 2022 - 08:42

Mon idée n'était pas tant de mesurer la température du régulateur de tension (qui augmentera si on l'isole avec de colle chaude), mais plutôt d'estimer la puissance qu'il dissipe (ce qui dépend de la tension d'alimentation de l'arduino, et du courant qui sort de l'arduino). Comme ça, on peut se faire une bonne idée si c'est acceptable ou pas avec la colle chaude.

Ha oui ok je comprend. Apres il n'y a pas de risque de cramer des choses avec la colle à chaud ? 

 

du coup voici:

 

La batterie: https://www.robot-ma...2p-ncr-383.html

Le convertisseur: https://www.robot-ma...-dc-dc-474.html

 

Je peux éventuellement faire une photo du montage ..? 

 

Merci 



#192 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 04 mars 2022 - 01:40

Ah, tu pars de 3.7V (je m'attendais à une batterie au dessus de 5V).

Du coup, tu alimentes l'arduino directement depuis le pin 5V? Si oui, le régulateur 5V interne n'est pas utilisé (c'est lui qui chauffe beaucoup selon l'utilisation).

Il restes certes le régulateur 3.3V, mais à moins que tu ne branche quelque chose sur le pin 3.3V (ce qui n'est pas ton cas je suppose), il ne chauffera pas de manière significative.

 

Pour ce qui est de la colle chaude, je ne garanti rien, mais je penses que si tu mets une petite quantité (rapidement) à la fois, ça ne devrait pas risquer grand chose (les composants sont souvent passé dans un four pour être soudés). En tout cas, je n'ai jamais eut de problème en fixant des composants à la colle chaude (après, je les ai pas noyés entièrement)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.





1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users