Aller au contenu


Photo
- - - - -

commande amortisseur vélo


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

#141 Sandro

Sandro

    Pilier du forum

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

Posté 01 septembre 2021 - 12:11

Le servo tourne?

 

Pour le bouton, c'est normal qu'il "n'est pas reconnu", tu ne lis jamais le bouton (la seule chose que tu fais, c'est définir une variable "bouton" (que je te conseillerais de renommer pinBouton pour plus de clarté) et lui donner la valeur 8.

Si tu veux que le bouton ait un effet, il faut programmer cet effet (et la lecture du bouton)


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.


#142 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 01 septembre 2021 - 02:35

Le servo tourne?

 

Pour le bouton, c'est normal qu'il "n'est pas reconnu", tu ne lis jamais le bouton (la seule chose que tu fais, c'est définir une variable "bouton" (que je te conseillerais de renommer pinBouton pour plus de clarté) et lui donner la valeur 8.

Si tu veux que le bouton ait un effet, il faut programmer cet effet (et la lecture du bouton)

ça fonctionne tjrs pas mais le code est-il mieux ? 
 
#include <SCServo.h>   
 
SCServo SERVO; // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
const int bouton = 8;
 
int pinbouton = 8;
int etatpinbouton = 0;
                                    
void setup() 
{
pinMode (bouton, INPUT_PULLUP); 
Serial.begin(1000000);
  SERVO.pSerial = &Serial;
  delay(500);
  SERVO.EnableTorque(1, 1);
}
 
void loop() {
  SERVO.WritePos(1,0, 1000);// Servo ID:1, tourner vers la position 0 en 3s
  delay(2000);
  SERVO.WritePos(1,1000, 1000);// Servo ID:1, tourner vers la position 1000 en 3s
  delay(2000);


#143 Mike118

Mike118

    Staff Robot Maker

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

Posté 01 septembre 2021 - 03:29

Alors, 

A ) Merci d'utiliser les balises " code "   => "  <> " pour mettre en forme le code.  Cela facilite la lecture et rend l'ensemble plus agréable à regarder.  
 

// Ceci est un commentaire de code agréable à lire 

Au passage il serait tres sympathique de ta part d'éditer tes précédents messages ou tu partage du code en le mettant dans les balises.

B ) En effet  ça marche pas et sandro t'a déjà dit pourquoi. 

 

Le servo tourne?

 

Pour le bouton, c'est normal qu'il "n'est pas reconnu", tu ne lis jamais le bouton (la seule chose que tu fais, c'est définir une variable "bouton" (que je te conseillerais de renommer pinBouton pour plus de clarté) et lui donner la valeur 8.

Si tu veux que le bouton ait un effet, il faut programmer cet effet (et la lecture du bouton)

 

par contre en effet tu as avancé d'un pouce en ajoutant cette ligne : 

pinMode (bouton, INPUT_PULLUP);

Maintenant il faut lire le bouton et faire bouger le servo en conséquences au lieu de le faire bouger tout le temps en utilisant digitalRead ...
Reprend l'exemple d'utilisation du bouton que tu as fait fonctionné ...


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  

 

 

 


#144 Mike118

Mike118

    Staff Robot Maker

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

Posté 01 septembre 2021 - 05:26

Bon si tu essayes ça :

#include <SCServo.h>

SCServo SERVO; 

#define PINBOUTON 8
#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
  Serial.begin(1000000);
  SERVO.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;                 
    SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);
    delay(WAITINGTIME); 
  }
}

 

ça donne quoi ?


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  

 

 

 


#145 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 01 septembre 2021 - 09:41

 

Bon si tu essayes ça :

#include <SCServo.h>

SCServo SERVO; 

#define PINBOUTON 8
#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
  Serial.begin(1000000);
  SERVO.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;                 
    SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);
    delay(WAITINGTIME); 
  }
}

 

ça donne quoi ?

 

Et bien ça fonctionne super bien  :thank_you:  :thank_you:

 

J'ai gagné un mois de recherche vraiment top. Merci merci 

 

Du coup j'ai pu faire des tests et est-il possible de régler le couple du servo ? 



#146 Sandro

Sandro

    Pilier du forum

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

Posté 01 septembre 2021 - 10:02

Bonsoir,

tu veux faire quoi exactement?

 

Limiter le couple? Ou augmenter le couple?

 

Si tu veux limiter le couple, je penses que c'est possible (cf l'exemple ProgrammEEPROM fourni avec la librairie).

 

Si tu veux augmenter le couple, c'est peut-être possible en logiciel (mais j'y crois pas trop, le plus logique étant que par défaut le couple max soit autorisé). Sinon, c'est probablement possible en augmentant la tension d'alimentation du servo (sauf erreur de ma part, ils est actuellement alimenté en 5V : si tu passes à 6 ou 7V (voire 7.4V), tu gagnera probablement en couple. Attention à ne pas pousser trop loin au risque de cramer le servo (à priori, il est donné pour 7.4V max))


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.


#147 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 03 septembre 2021 - 11:34

Bonsoir,

tu veux faire quoi exactement?

 

Limiter le couple? Ou augmenter le couple?

 

Si tu veux limiter le couple, je penses que c'est possible (cf l'exemple ProgrammEEPROM fourni avec la librairie).

 

Si tu veux augmenter le couple, c'est peut-être possible en logiciel (mais j'y crois pas trop, le plus logique étant que par défaut le couple max soit autorisé). Sinon, c'est probablement possible en augmentant la tension d'alimentation du servo (sauf erreur de ma part, ils est actuellement alimenté en 5V : si tu passes à 6 ou 7V (voire 7.4V), tu gagnera probablement en couple. Attention à ne pas pousser trop loin au risque de cramer le servo (à priori, il est donné pour 7.4V max))

je pensais augmenter le couple car j'ai l'impression que le moteur lute un peu ça fonctionne quand même très bien. Mais oui éventuellement il faudrait que je test avec une batterie plus forte.. 



#148 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 03 septembre 2021 - 11:52

Alors voici le montage de l'ensemble. ça fonctionne très bien, il faut juste que j'optimise un peu l'ensemble comme trouver une batterie plus petite ou alors avoir les 2 accus sur la longueur.. Il faudrait également que je rende le câblage plus simple et pratique avec une fiches qui réunis l'ensemble des files .. Il faudrait que je monte Arduino sans les pins pour gagner de la place également.. 

Donc à suivre mais en tout cas ça fonctionne et je suis bien content. Merci a vous :thank_you:

Image(s) jointe(s)

  • IMG_8024.JPG


#149 Sandro

Sandro

    Pilier du forum

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

Posté 03 septembre 2021 - 01:02

je pensais augmenter le couple car j'ai l'impression que le moteur lute un peu ça fonctionne quand même très bien. Mais oui éventuellement il faudrait que je test avec une batterie plus forte.. 

Une batterie "plus forte", en soit, ne change rien : sauf erreur de ma part, tu alimentes le moteur depuis un pin "5V" du shiel de l'arduino Nano, c'est bien ça? Si oui, ton moteur est alimenté en 5V et changer de batterie n'y changera rien (sauf éventuellement cramer ton régulateur).

 

Une solution serait d'utiliser un régulateur qui te fourni du 7V en sortie : il permettra alors d'alimenter à la fois l'arduino (via le pin "Vin") et le servo (qui aura donc 7V).

 

Après, honnêtement, si ça marche comme ça, pas sur que ce soit vraiment utile de chercher à gagner en couple


 

Alors voici le montage de l'ensemble. ça fonctionne très bien, il faut juste que j'optimise un peu l'ensemble comme trouver une batterie plus petite ou alors avoir les 2 accus sur la longueur..

Une batterie plus petite, à priori pas de problème, il faut juste vérifier deux points:

- qu'elle fourni assez de courant (tant que c'est des batteries au lithium, ça ne posera probablement pas de problème, mais à vérifier rapidement)

- qu'elle a assez de capacité (j'ai aucune idée du nombre de fois que tu veux actionner le servo avec une charge de batterie). Si tu veux estimer qu'elle est la capacité qu'il te faut, tu peux faire le test avec la batterie actuelle, etcompter combien de fois tu peux actionner le servo avant qu'elle soit "vide" (ie 3V, je te déconseille de descendre plus bas sous peine d'user rapidement voir d'endommager la batterie). Ensuite, tu en déduit la capacité de la batterie qu'il te faut par proportionnalité (règle de 3) à partir de la capacité de la batterie actuelle.

 

Utiliser deux batteries "en même temps" (ie branchés en parallèle) est une assez mauvaise idée si tu ne sais pas exactement ce que tu fais (par exemple si l'une est chargée et l'autre déchargée, ça fait un "court-circuit", sans compter plein d'autres problèmes moins dramatiques)
 


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.


#150 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 768 messages
  • Gender:Male

Posté 03 septembre 2021 - 01:15

Pourquoi ne pas supprimer l'alimentation et le Shield ? Le Shield n'est là que pour faciliter les branchements.

La batterie serait connectée directement au servo et au Nano.

Du coup tout serait en 7,4V et le servo aurait un couple plus élevé. Mais supportera t-il les 8,5V ?

Quand la batterie est chargée, c'est 8,5V, et non 7,4V qui est une valeur moyenne.



#151 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 03 septembre 2021 - 01:46

Après, honnêtement, si ça marche comme ça, pas sur que ce soit vraiment utile de chercher à gagner en couple

 

Oui je suis assez d'accord je vais laisser comme ça :) 

 

Pour la batterie je voulais dire une seule batterie mais avec le montage interne des accus fixer en ligne. En gros une batterie avec une forme de cigare .. 

 

Il faudrait aussi je que trouve un cerveau avec les mêmes caractéristiques mais étanche. Il faudrait que je vois avec Mika118 .. 

 

Merci 



#152 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 03 septembre 2021 - 01:53

Pourquoi ne pas supprimer l'alimentation et le Shield ? Le Shield n'est là que pour faciliter les branchements.

La batterie serait connectée directement au servo et au Nano.

Du coup tout serait en 7,4V et le servo aurait un couple plus élevé. Mais supportera t-il les 8,5V ?

Quand la batterie est chargée, c'est 8,5V, et non 7,4V qui est une valeur moyenne.

Le shield n'est pas branché. il ma servit pour le montage et supprimé pour le montage finale. je l'avais commandé avec les pins montées mais le prochain ça sera sans pour simplifier le montage finale. 

Pour le couple je vais rester comme ça pour le moment car ça fonctionne bien. Il faudrait par-contre un servo étanche et éventuellement avec pignons métallique pour assurer le coup.

 

Merci 



#153 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 07 septembre 2021 - 10:57

bonjour, tout le monde, 

 

Petit souci.., imaginons que le moteur soit en position "à fond vers la droite" une fois dans cette position je débranche la batterie.

Le lendemain je rebranche la batterie et le moteur se met à tourner tout seul.. (sans impulsion sur le bouton)

 

Je ne sais pas vers quel coté il tourne me cela pourrait me faire décaler ma position de fonctionnement.. Cela est-il possible ?? 

 

Merci 



#154 Sandro

Sandro

    Pilier du forum

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

Posté 07 septembre 2021 - 12:50

Bonjour,
Sans garantie pour ce servomoteur "intelligent", mais pour un servo classique, les positions son des positions "Absolues", donc si tu lui dit d'aller en position 45°, il ira toujours au même endroit (même si à l'allumage il était à un endroit inconnu).

Pour les servis classiques, en l'absence de commandes, ils se mettent souvent à une position par défaut à l'allumage.
Si tu veux choisir cette position toi même, il suffit de dire au servo d'aller à la position de toi choix dans le setup.

Si au contraire tu peux que le servo reste où il était, c'est possible aussi (si ce n'est pas le comportement par défaut de ton servo intelligent, alors on peut créer ce comportement via le programme)

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.


#155 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 768 messages
  • Gender:Male

Posté 07 septembre 2021 - 12:54

Si tu utilises toujours le programme de Mike, à chaque démarrage, le servo est initialisé en position 0.



#156 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 07 septembre 2021 - 04:08

Si tu utilises toujours le programme de Mike, à chaque démarrage, le servo est initialisé en position 0.

Alors je viens de faire un test est effectivement il revient en position zéro qui est à fond à droite. Quand je le débranche en position zéro et que je le branche il ne bouge pas. il bouge uniquement quand il est débranché en position 1. Ok cela est normal et mon souci vient de l'amortisseur.

 

Merci   



#157 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 18 octobre 2021 - 08:34

Bonjour, tout le monde, 

 

Je reviens vers vous car j'ai une petite question concernant mon projet qui est tjrs en phase de test. (très concluant mais il faut peaufiner encore) :) 

 

Est-il possible d'avoir un bouton poussoir avec une led qui aurait 2 couleurs (vert et rouge) sur la partie poussoir?

 

L'idée serait d'avoir suivant les positions du moteur soit le bouton en rouge ou en vert. Je pense que cela est possible mais je ne trouve pas de bouton poussoir comme cela .. auriez vous une idée ? 

 

Merci 



#158 Mike118

Mike118

    Staff Robot Maker

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

Posté 18 octobre 2021 - 11:03

Je connais des led bicolor, mais pas de boutons intégrant ce genre de led ... 
 


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  

 

 

 


#159 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 18 octobre 2021 - 11:53

Je connais des led bicolor, mais pas de boutons intégrant ce genre de led ... 
 

Je pense avoir trouvé, voici un lien https://fr.rs-online...ussoirs/9131740

Il faut voir la consommation mais ça peut être interessant de tester .. 



#160 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 20 octobre 2021 - 10:21

Re, je regarde également pour passer en bluetooth afin de rendre le montage plus simple.

 

Dans mes recherches je trouve beaucoup de chose avec une commande via smartphone... mais rien avec un simple bouton poussoir.. 

 

Du coup je vois pas trop comme ça fonctionne faut-il un module HC-05 sur l'arduino nano et un second module avec le bouton poussoir et batterie ? 

 

Merci :)

 




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

0 members, 0 guests, 0 anonymous users