Aller au contenu


cook

Inscrit(e) (le) 25 mars 2020
Déconnecté Dernière activité mars 17 2024 11:08
-----

Sujets que j'ai initiés

bonton marche arret pour moteur pas à pas

16 mars 2024 - 04:44

Bonjour , 

pour tester la partie mécanique de mon projet , il me faut faire mettre en marche et arrêter   2 moteurs pas à pas simultanément avec l'aide d'un bouton . 

J'ai trouver la solution pour les faires démarrer  avec 1 bouton  , modifier leur vitesses et le nombre de pas en modifiant le code , mais cela ne marche qu'une fois après le téléchargement  . Si j' appuis à nouveau , il ne se passe plus rien . J'ai essayé avec 2 boutons , rien y fait . Mélangé plusieurs codes et fait des essais et liens à tout vas . J'ai lu que la fonction est bloquante  . je tourne en rond . 

Avez vous une idée de ce qu'il faut faire ? 

merci pour votre aide .


#include <AccelStepper.h>
#include <MultiStepper.h>
const int boutonmarche = 12;
const int boutonarret = 13;
int etatboutonmarche = 0;
int etatboutonarret = 0;
const int led = 8;
int etatboutonprecedent = 0;
int motors = 0;
//ccelStepper stepper2(AccelStepper::FULL4WIRE, 6, 7, 8, 9);
//AccelStepper stepper3(AccelStepper::FULL2WIRE, 10, 11);
AccelStepper stepper1(1, 2, 3);   // 1 pour dire je sais pas. 2 c'est le pul + sur l’arduino et 3 le dir +
AccelStepper stepper2(1, 5, 6);   // 1 pour dire je sais pas. 2 c'est le pul + sur l’arduino et 3 le dir +



void setup() {
  // Serial.begin(9600);
  pinMode(boutonmarche, INPUT_PULLUP);
  pinMode(boutonarret, INPUT_PULLUP);
  pinMode(8, OUTPUT);
}
void moteursMarche()  {

  stepper1.setMaxSpeed(1000);
  stepper1.setAcceleration(400);
  stepper1.moveTo(4000);

  stepper2.setMaxSpeed(2000);
  stepper2.setAcceleration(400);
  stepper2.moveTo(800);
  stepper1.run();
  stepper2.run();
  digitalWrite(8, HIGH);
}


void boutondecommande() {
  etatboutonmarche = digitalRead(boutonmarche);
  if ((etatboutonmarche == LOW) && (etatboutonprecedent == HIGH)) {
    motors = 1 - motors ;
  }
  etatboutonprecedent = etatboutonmarche ;
  if ( motors == 1) {
    moteursMarche();
  }
}

void loop() {
  boutondecommande();
}

//Serial.println("avant");
//Serial.print(motors);


Débrancher son driver et son moteur

10 juillet 2022 - 11:44

Bonjour à tous,

 

J'ai mis en route un moteur Nema 17 avec son driver TB 6600 , un Arduino uno et une alimention à découpage en  24 Vdc .

Dès le branchement de  l' alim sur la prise 220v et du l'USB à l'Arduino le moteur se met en route et fait ses aller retour grâce au code BOUNCE de https://www.airspayce.com/.

 

Jusqu'à là tout va bien mais je me souviens plus comment débrancher sans rien abimer ! Il me semble avoir entendu qu'une mauvaise manipulation entrainait une détérioration du matériel . 

 

Faut t'il débrancher l'alim 220 v qui alimente le driver en premier ou l'USB qui alimente l'Arduino ? 

Est 'il mieux de le débrancher le moins possible ?

 

Tous avis sera le bienvenue . Merci pour votre aide.


Guide linéaire motorisé

14 avril 2020 - 01:36

Bonjour à tous ,

en quelques lignes, je vais essayé de vous présenter au mieux mon projet .

Ça fait quelques semaines que je me suis plongé dans l'arduino et mon projet serait de faire fonctionner un guide linéaire motorisé avec un moteur pas à pas nema 17 .

 

"Photo jointe " Fichier joint  CHARIOT LINEAIRE.jpg   18,66 Ko   91 téléchargement(s)

 

Ce guide ou " rail " linéaire est équipé d'un plateau coulissant qui se déplace de gauche à droite avec une butée électrique sur une de ses extrémités .

 

L'idée étant de le faire fonctionner avec du matériel connu et très utilisé sur les vidéos en ligne  . Comme un écran LCD  , quelques boutons poussoirs , une carte uno ,Un pilote TB 6600 .

Dans l'idéal et si nécessaire avec les librairie Accel stepper , one button , liquid cristal .

 

Le mode de fonctionnement , est celui ci :

 

En premier ,comme ce rail est équipé d'un contact de fin de course je souhaiterai avec un bouton poussoir, le diriger vers cette butée réglé à 30,0 cm du bord . En résumé , j’appuie , ,le plateau se déplace et il s’arrête à 30,0 cm du bord . L'écran affiche 30 cm .

 

En second , je souhaiterai afficher sur l'écran avec l'aide d'un bouton poussoir la distance de déplacement situé en 30,0 et 190 cm . Les millimètres sont important .

Pour résumer , je reste appuyé, le menu se déroule sans s’arrêter . Si je fait un appuis il incrémente le compteur au millimètre par millimètre .

 

En troisième appuyer sur un autre bouton poussoir pour effectuer le déplacement du moteur à la distance noté sur l'écran soit de 30,0 à 190,0 cm possible .

 

En quatrième , rajouter deux boutons ,soit un pour faire avancé le plateau de 5 mm par appuis et l'autre pour le faire reculer de 5 mm . La mesure sur l’écran affichera 5 mm de plus ou de moins .

Puis retour à l’étape 1 .

 

 

Voila , j'en suis là ! 

 Bien sur , depuis je lis , je visionne , je teste . Je code , j'allume des leds .

Mais ce n'ai pas suffisant . Je ne sais pas par quel bout le prendre. Par quoi  il faut démarrer pour concrétiser ce code ?

Toute aide sera appréciable .

En vous remerciant .

 

cook.


Carte uno pour accel stepper

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 ​​();
}