Aller au contenu


Photo
- - - - -

Carte uno pour accel stepper


22 réponses à ce sujet

#1 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 25 mars 2020 - 09:07

Bonjour, il y a quelques temps j'ai récupéré un spot professionnel pivotant dans tous les sens . Mais après une chute beaucoup de pièce ont manquées . Il a été réparé avec une carte arduino et un driver stepperonline digital , des explications et un numéro de téléphone en dérangement .

Il n'as plus que un sens unique de marche , mais c'est pas grave . Dans tous les cas ,mécaniquement il n’accepte plus que ça .

Il fonctionne avec constand speed de chez accel stepper . Une petite merveille .

Depuis , pour une question d'usure latérale il a fallu que je retourne le moteur sans penser que le sens de rotation serai plus bon . :Alvarin_07:

Je cherche encore le moyen d'inverser son sens mais électriquement rien y fait . Connaissez vous le bon fil à inverser , non les bons fils ?

 

Bien sur j'ai pensé à modifier son code , mais c'est pas faute d'avoir chercher . Des signes moins de partout , ça marche pas non plus .

Le programme est celui de www.airspayce.com , accel stepper . Il s'appelle constand speed . Je vais modifier le câblage moteur du codage . J'ai un brouillon pour ça,  et du temps en ce moment . Comme beaucoup je me confine .

Si quelqu'un connais un spécialiste accel stepper pour changer son sens ? 

Merci pour votre lecture et si vous pouvez passer le mot .

cook

 

// ConstantSpeed.pde
 
 
#include <AccelStepper.h>
 
AccelStepper stepper (1.5.6)
 
void setupe()
{
stepper.setMaxSpeed ​​(1000);
stepper.setSpeed ​​(50);
}
 
boucle loope ()
{
stepper.runSpeed ​​();
}


#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 511 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 mars 2020 - 09:21

#include <AccelStepper.h>

// Il faut ajouter la définition de " stepper " car sinon ça ne compilera pas ...


void setup()
{
 stepper.setMaxSpeed ​​(1000);
 stepper.setSpeed ​​(-50);
}

void loop()
{
 stepper.runSpeed ​​();
}

 
As tu essayé ça ?
 
Sinon il suffit d'inverser deux fils sur ton moteur pas à pas. 
Pour ce faire de manière très simple : 

1) tu repères comment est câblé ton moteur. 
Je pars du principe qu'il a 4 fils avec les couleurs noir vert rouge et bleu dans cet ordre.
Si tu ne peux pas différencier les fils ( exemple ils sont tous les 4 noirs  ... Trouve une méthode pour les différencier : scotch , noeud ... ) 

2) débranche le moteurs et prend un multimètre, met ce dernier en mode testeur ( ça sonne quand tu touches les deux pointes de tes sondes ) et teste tous les fils deux à deux ensemble. 

Dès que ça sonne tu as trouvé une paire. Imaginons que dans ton cas ce soit noir et vert. 

3) rebranche le moteur comme avant, en inversant uniquement les deux fils de la paire que tu as trouvé avec ton multimètre. 
Du coup dans notre cas hypothétique d'exemple il faudrait rebrancher les fils dans l'ordre vert noir rouge bleu. 
 
4) Tu testes et tu reviens ici nous confirmer que c'est bon ça marche comme prévu ! :P ou bien tu nous dit à quel étape tu bloques / quel est ton problème ( avec des photo ou autre ) 



Voilà normalement tu es tout bon sauf si tu as une config de moteur à 6 fils ou plus dans ce cas là tu passe directement à l'étape 4 ;) 

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 ! 

 

Les réalisations de Mike118  

 

 

 


#3 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 11:05

Bonjour , merci pour votre réponse . Je vais plutôt inverser les fils . Le codage est complexe mais tres tres intéressant . Je vais pas en rester là .

Pour l'inversion des fils je n'ai pas un accès pratique au moteur. Les fils sont court et sans la bonne clé , j' abîme les boulons . Je vais arrêter , trouver la bonne clé . C'est juste un problème de confinage .

En attendant je vais profité du temps  et relire le code . J'ai essayé de changer le codage et rajouter le signe négatif mais le sens de rotation n'a pas changer .

Merci beaucoup . Je m'occupe de la clé et à bientôt pour de bonne nouvelle .



#4 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 26 mars 2020 - 11:40

Bonjour,

tu peux aussi essayer du coté du constructeur de ta classe :

AccelStepper (uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)

En utilisant la définition "complète" (bon, tu peux ne pas spécifier le enable), tu peux inverser une paire de numéros de pins : ça devrait avoir le même effet que d'inverser les fils correspondants.

 

Après, sans démonter, c'est un peu plus compliqué de tester les paires, du coup, je vois deux options :

1) tu essaye au hasard d'inverser une paire de pin, jusqu'à en trouver une qui fait ce que tu veux (j'aurais tendance à penser la paire 1-2 ou 3-4, mais sans en être sur)

2) tu essayes d'identifier les paires : tu mesures le courant consommé par le montage. Puis, sans utiliser AccelStepper, tu mets tous les pins utilisés à low sauf le pin 1. Normalement tu devrais voir un courant "élevé" (une bobine active). Ensuite tu mets successivement les autres pins à high, une seule à la fois (la pin 1 reste à high) : si le courant diminue, c'est que tu as trouvé l'autre moitié de la pin de 1; si le courant augmente, c'est que le pin correspond à l'autre bobine (ie tu viens d'activer la seconde bobine en même temps). Nb : je pense que cette procédure pourrait marcher pour un moteur 4 fils (mais pas testé). Pour un moteur avec un autre nombre de fils, je sais pas trop
 



#5 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 511 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 26 mars 2020 - 12:05

Deux autres possibilités que je vois : 

Tu confirmes que ton driver de moteur ressemble à celui là : 

 

https://www.omc-step...tor-dm542t.html  ? 

Si oui : la proposition de sandro telle que décrite ne pourra pas fonctionner, car il s'agit d'un pilotage en step et dir ... 
Par contre il est possible d'inverser le pin dir  avec " setPinsInverted (bool directionInvert=false, bool stepInvert=false, bool enableInvert=false)" 

Dans ton cas tu souhaites uniquement inverser " directionInvert " 

Il faudrait donc faire un 

stepper.setPinsInverted(true, false, false);

Autre possibilité comme le dit sandro si tu es dans une configuration qui marche, normalement sur ton driver ( comme on peu le voir sur la photo ) les paire sont déjà " côte à côte " ... 
Donc en numérotant les fils 1 2 3 et 4 ,  1 et 2 sont une paire et 2 et 3 sont une autre paire. 
Tu peux essayer d'inverser juste les fils 1 et 2.  =>  2 1 3 4. 

 


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 ! 

 

Les réalisations de Mike118  

 

 

 


#6 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 26 mars 2020 - 12:15

C'est vrai que ça dépend pas mal du driver. Ma proposition était sur un driver constitué de 4 demi-ponts en H, chacun commandé par une pin.

Mais c'est vrai que les drivers step + dir sont plus fréquent (et dans ce cas, ma technique ne marche pas).



#7 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 04:43

Envoyer une photo d’après les commentaires c'est possible , mais j'ai pas trouvé ! ? Comme on fait svp 



#8 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 26 mars 2020 - 05:43

Pour envoyer une photo, il faut cliquer sur "Plus d'options de réponse" (en bas, à coté de "Ajouter", juste sous l'espace où tu écrit le message). Ensuite, tu as, juste en dessous de l'espace où tu écrit le message, une section "joindre des fichiers", qui te permet d'uploader ton image.



#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 511 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 26 mars 2020 - 06:37

D'ailleurs je te recommande de lire ce " tuto " pour savoir ce que tu peux poster sur le forum et comment =)


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 ! 

 

Les réalisations de Mike118  

 

 

 


#10 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 07:04

IMG_2288.jpg

Merci pour l'explication . C'est la photo du driver . Je pense etre dans cette possibité là  :  bool directionInvert=false

J'ai vu le lien dans votre explication . Je vais le relire . C'est pas clair du tout .

D'ailleur j'ai une question . L'arduino et sa programmation ! Ca s'adresse à qui ? Tout le monde peu programmer ou si vous êtes pas du métier c'est pas la peine ?

 



#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 511 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 26 mars 2020 - 07:13

Tout le monde peut programmer =)

Petit tuto pour commencer :)

 

Par contre la photo est super floue x) Je suis même pas sûr à 100% de la référence du driver x) Mais bon j'en vois suffisamment pour supposer que c'est bien un contrôle en .step et .direction


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 ! 

 

Les réalisations de Mike118  

 

 

 


#12 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 07:40

Bien vu le petit tuto pour commencer . 

 

J'aurai du prendre la photo la première fois quand tout était démonté . Il m'a fallu glisser le i phone dans un trou de souris .

Éclairer tant bien que mal, et appuyer sur le bouton avec une tige . C'est la meilleure que j'ai pu faire ! 

 

J'ai le plan de branchement sur un brouillon de raccordement . C'est vrai que par rapport au lien sur le DM 542 T . Je retrouve tout à l'identique sauf que moi j'ai la case opto en plus .



#13 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 07:41

J'ai le plan de branchement sur un brouillon qui montre le raccordement .



#14 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 mars 2020 - 09:01

J'ai suivi les message et l'option d'inverser les fils me semble plus à porté de main.

 

J'ai pris le temps de lire , rajouter la ligne ci dessous dans la partie setup parce que les informations moteur sont notés là .

J'ai changé l'ordre du  (true , false, false ) aussi sans quoi il ne tourne pas si je commence pas par un false .

Mais la rotation reste identique .

 

stepper.setPinsInverted(true, false, false);

 

 

Bonne soirée , bon confinement , à bientot



#15 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 26 mars 2020 - 09:32

Attends,

depuis le début, on essaye de trouver des astuces "tordues" pour changer le sens de rotation.

Est-ce que tu as le code complet de l'arduino? Car si oui, il est probablement plus facile de juste adapter un peu le code pour inverser le sens qu'on demande de tourner (plutôt qu'essayer de faire changer de sens sans changer au contenu du code).

Est-ce que tu pourrais poster le code?



#16 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 27 mars 2020 - 10:58

Bonjour ,

Je rajoute le code et le plan même si il est pas clair . J' ai essayé aussi , croyez moi et dans tous les sens , mais il me faut une plaquette arduino . Modifier le code comme je le fait , c'est n'importe quoi .!!

Image(s) jointe(s)

  • instruction pad.JPG


#17 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 27 mars 2020 - 11:08

Donc si je comprends bien, le seul code est celui sur cette feuille?

 

Si oui, est-ce que tu as essayé de mettre un moins devant le 50 dans setSpeed? A priori ça devrait faire tourner dans l'autre sens.

 

Alternativement, tu peux inverser les deux fils marqués A.



#18 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 27 mars 2020 - 11:10

Le code avec lequel il marche mais ne tourne pas dans le bon sens . Il marche avec se code . Je viens de rééssayer .

// ConstantSpeed.pde

/// \author  Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2009 Mike McCauley

#include <AccelStepper.h>
AccelStepper stepper(1, 5, 6); // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
void setup()
{  
   stepper.setMaxSpeed(1000);
   stepper.setSpeed(50);        
} 
void loop()
{  
   stepper.runSpeed();
}


#19 Sandro

Sandro

    Membre passionné

  • Membres
  • PipPipPip
  • 499 messages
  • Gender:Male

Posté 27 mars 2020 - 11:29

Alors essaye avec le code suivant :

// ConstantSpeed.pde

/// \author  Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2009 Mike McCauley

#include <AccelStepper.h>
AccelStepper stepper(1, 5, 6); // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
void setup()
{  
   stepper.setMaxSpeed(1000);
   stepper.setSpeed(-50);        
} 
void loop()
{  
   stepper.runSpeed();
}


#20 cook

cook

    Nouveau membre

  • Membres
  • 11 messages

Posté 27 mars 2020 - 12:01

Le code marche pas avec le - . J'ai tournée les deux fils A et ça marche . Meme mieux j'ai l’impression au niveau du bruit . Ce doit être mécanique .

Yesssssssssssssss . Je vais le remonté provisoirement  ; c'est fragile et j'ai abimé quelques vis . Boire l'apéro à votre santé !!  merci 

Je vais m'équipé d'un arduino . Ca m'a donnée plein d'idée . 





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users