Aller au contenu


Contenu de theo-paul

Il y a 23 élément(s) pour theo-paul (recherche limitée depuis 03-avril 13)


#98612 console de controle robot

Posté par theo-paul sur 22 août 2018 - 04:52 dans Programmation

 

void loop(){

             //on met un 0 dans customKey 
sens = customKeypad.getKey();
  while (sens != '#' && sens != '*') {  //tant qu'on a pas de réponse valable
     sens = customKeypad.getKey();    //on attends qu'elle arrive
  }
switch (sens)
// sens = 
{
  case '#':        //on défini sens_rotation
    sens_rotation = true;
    lcd.setCursor(6,0);
    lcd.print("+");
  break;
  case '*': 
    sens_rotation = false;
    lcd.setCursor(6,0);
    lcd.print("-");
  break;
}
// selon ce qui est selectionné, afficher le resultat en 6,0
//ensuite, passer à la selection de l'angle voulu 
customKey = customKeypad.getKey();
 while (customKey >= '0' && customKey <= '9') // This keeps collecting the Value until customKey is not a number
  {
    Value = Value * 10 + (customKey - '0'); // concatnate key presses into one value
    lcd.print(Value);
  }
  switch (customKey)
    {
      case 'C': // Change set speed
      Value = 0;
      lcd.clear();
        break;
 
      case 'D':
      lcd.print("demarrage");
      delay(2000);
      lcd.clear();
        break;     
       // Value = constrain(Value, 0, 200);
      //lcd.setCursor(7,0);
      //lcd.print(Value);
  }
//tout ceci compris entre 0 et 200 degrés
//methode a trouver
//X = constrain(X,INF,SUP);
}

voila ce que ca donne, et ca marche !!!! pour le +et le -. pour les numeros c'est pas encore ca. j'ai des traits qui se mettent a la place. j'avance doucement mais surement. Merci de votre aide  :yahoo:




#98591 console de controle robot

Posté par theo-paul sur 22 août 2018 - 09:14 dans Programmation

 

void loop(){

             //on met un 0 dans customKey 
  char  customKey = customKeypad.getKey();
  while (customKey != '#' && customKey != '*') {  //tant qu'on a pas de réponse valable
  sens = customKeypad.getKey();    //on attends qu'elle arrive
  }
switch (sens)
// sens = 
{
  case '#':        //on défini sens_rotation
    sens_rotation = true;
    lcd.setCursor(6,0);
    lcd.print("+");
  break;
  case '*': 
    sens_rotation = false;
    lcd.setCursor(6,0);
    lcd.print("-");
  break;
}
// selon ce qui est selectionné, afficher le resultat en 6,0
//ensuite, passer à la selection de l'angle voulu 
if (customKey >= '0' && customKey <= '9') // This keeps collecting the Value until customKey is not a number
  {
      Value = Value * 10 + (customKey - '0'); // concatnate key presses into one value
      Value = constrain(Value, 0, 200);
      lcd.setCursor(7,0);
      lcd.print(Value);
  }
//tout ceci compris entre 0 et 200 degrés
//methode a trouver
//X = constrain(X,INF,SUP);
//  char customKey = '0';
  if (customKey =='D') {          //tant qu'on ne valide pas par 'D'
      lcd.print("demarrage");
      delay(2000);
    }
    if (customKey == 'C') {      //si on veux corriger
      Value = 0;              //on reinitialise Value
      lcd.print(Value);
      lcd.clear();
   }
  }
 

bon, maintenant, plus rien ne s'affiche, j'ai passé mon aprem a essayer des trucs, en vain  :Alvarin_07:  

c'est cette commande de debut qui foire tout. quand je l'enleve ca marche a peut pret




#98520 console de controle robot

Posté par theo-paul sur 20 août 2018 - 03:42 dans Programmation

 

void loop(){

             //on met un 0 dans customKey 
  char  customKey = customKeypad.getKey();
  if (customKey == '#' || customKey == '*') {  //tant qu'on a pas de réponse valable
  sens = customKeypad.getKey();    //on attends qu'elle arrive
  }
switch (sens)
// sens = 
{
  case '#':        //on défini sens_rotation
    sens_rotation = true;
    lcd.setCursor(6,0);
    lcd.print("+");
  break;
  case '*': 
    sens_rotation = false;
    lcd.setCursor(6,0);
    lcd.print("-");
  break;
}
// selon ce qui est selectionné, afficher le resultat en 6,0
//ensuite, passer à la selection de l'angle voulu 
if (customKey >= '0' && customKey <= '9') // This keeps collecting the Value until customKey is not a number
  {
      Value = Value * 10 + (customKey - '0'); // concatnate key presses into one value
      lcd.setCursor(7,0);
      lcd.print(Value);
  }
//tout ceci compris entre 0 et 200 degrés
//methode a trouver
 
//  char customKey = '0';
  if (customKey =='D') {          //tant qu'on ne valide pas par 'D'
      lcd.print("demarrage");
      delay(2000);
    }
    if (customKey == 'C') {      //si on veux corriger
      Value = 0;              //on reinitialise Value
      lcd.print(Value);
      lcd.clear();
   }
  }
 

avec ca, la fonction effacer et demarrer fonctionnent. j'arrive toujours pas a mettre ma premiere condition. Je vais essayer avec une boucle while. 

Une idée de comment delimiter un affichage de caractere ? ( pas afficher plus que 200 ou alors prendre valider automatiquement quand 3 nombres sont rentrés)




#98498 console de controle robot

Posté par theo-paul sur 19 août 2018 - 06:47 dans Programmation


void loop(){
             //on met un 0 dans customKey 

  char  customKey = customKeypad.getKey();

  while (customKey != '#' || customKey != '*') {  //tant qu'on a pas de réponse valable

  customKey = customKeypad.getKey();    //on attends qu'elle arrive

  }

// sens = 

  if (customKey == '#') {        //on défini sens_rotation
    sens_rotation = true;
    lcd.setCursor(6,0);

    lcd.print("+");

  }
  if (customKey == '*') {
    sens_rotation = false;

    lcd.setCursor(6,0);

    lcd.print("-");
  }
// selon ce qui est selectionné, afficher le resultat en 6,0
//ensuite, passer à la selection de l'angle voulu 

if (isDigit(customKey)) {       //on saisi un nombre (isdigit n'accepte que les caracteres de 0 à 9)

      Value = Value * 10 + (customKey - '0'); // concatnate key presses into one value

      lcd.print(Value);

//tout ceci compris entre 0 et 200 degrés

//methode a trouver



//  char customKey = '0';

  while (customKey !='D') {          //tant qu'on ne valide pas par 'D'

                customKey = customKeypad.getKey();
/*    if (isDigit(customKey)) {       //on saisi un nombre (isdigit n'accepte que les caracteres de 0 à 9)
      Value = Value * 10 + (customKey - '0'); // concatnate key presses into one value
      lcd.print(Value);*/

    }
    if (customKey == 'C') {      //si on veux corriger

      Value = 0;              //on reinitialise Value

      lcd.print(Value);
    }
  }

}

j'ai transféré tel quel, rien ne s'affiche. j'ai modifié, rien ne s'affiche, je m'en arrachhe les cheveux  :help:
l'ordre des selection est :
1 choisir le sens de rotation ( la valeur sens est donc crée pour ca)
2 afficher la valeur sens en 6, 0 
3seulement maintenant, lire le clavier et afficher la selection de valeur comprise entre 0 et 200 (j'ai pas encore trouvé mais ca ne tardera pas)
4 attendre que D soit appuyé
5 afficher le message de mouvement et envoyer la commande
6 ma rumba envoie un message a la uno disant "ok, c'est fait"
7 retour a 1
pour le choix de la veleur, je ne comprends pas trop, quand j'appuie sur 1 et 2 et 3 et 4 puis ensuite 5, 6, 7en simultané, ca n'affiche pas tout ca met un truc comme -7635 alors que j'ai bien saisi dans l'ordre.
j'ai l'impression que cette ligne pose probleme

Value = Value * 10 + (customKey - '0');




#98465 console de controle robot

Posté par theo-paul sur 19 août 2018 - 10:35 dans Programmation

Voilà ce que ça fait quand je démarre, ça affiche bien ce que je veux. Quand jappuie sur des numéros, ça marche pas, il ny a que les deux premiers chiffres qui apparaissent dans les case 1 et 2 ligne 1. Ça efface pas lecran.
Jai essayé de décrire le mieux possible le comportement de mon programme sur papier histoire detre bien clair dans ma tete.

Image(s) jointe(s)

  • 3D462B43-98ED-4F82-A83C-9385E9A24FE6.jpeg

Fichier(s) joint(s)




#98441 console de controle robot

Posté par theo-paul sur 18 août 2018 - 06:46 dans Programmation

j'ai rajouté un peu de code, le message qui est sensé s'afficher s'affiche bien. quand j'appuie sur un chiffre, l'ecran ne s'efface pas. 

en appuyant sur D, la simulation de mouvement se fait bien. Vous avez une idée de comment faire pour :

au demarrage: afficher un message proposant deux choix, ensuite, attendre qu'une valeure soit entrée et ensuite attendre l'appui sur valider ou correction.

parce que la, en appuyant sur n'importe quel bouton, ca donne des resultats que j'arrive pas a interpreter.

Fichier(s) joint(s)




#98436 console de controle robot

Posté par theo-paul sur 18 août 2018 - 04:15 dans Programmation

Je pensais utiliser un pin analogique et trois pins digitaux. Je ne connais rien du tout sur tout ça en faite :/
I2c, ça me dit quelque chose mais sans plus. Je vais me renseigner un peu mieux alors



#98428 console de controle robot

Posté par theo-paul sur 18 août 2018 - 02:56 dans Programmation

bonjour à tous,

je travaille depuis déjà quelques temps sur ça : http://www.robot-maker.com/forum/topic/12212-bcn3d-firmware/

pour tout controler, j'ai eu l'idée de faire une console de controle.

en faite, c'est un keypad et plusieurs boutons et potentiomètre reliés a une arduino UNO. Celles ci elle meme reliés a une rumba qui controle le tout. 

mon objectif avec la UNO, c'est de faire comme un CD4051, comme ca, je ne perds pas de pins sur ma rumba ( ou tres peu). Quelqu'un aurait deja fait ca ? 

pour le moment, je travaille sur le keypad, il permettra de dire au robot de combien de degrés il doit bouger et dans quel sens. j'ai trouvé quelques tuto (assez rare sure ce sujet) qui parlent d'utiliser plusieurs carte en maitre esclave via un port analogique et les pins scl et sda des cartes. 

je vous joint mon debut de code pour la console ( je galere pas mal, mais ca m'apprend a programmer :) )

Fichier(s) joint(s)




#97413 Bcn3d firmware

Posté par theo-paul sur 13 juillet 2018 - 06:11 dans Bras 6 axes BCN3D Moveo

Je viens de retrouver ca dans mon tiroir, F0ECAA05-BC21-4166-B76F-67BD2FD5FBBE.jpeg
je me disais, pour contrôler et/ou voir a quelle position est le robot, ca peut etre sympa, mais le truc cest ....
Comment ca se programme ce machin ?
Cest un MKS tkt 32, habituellement conçu pour les imprimantes 3D. Sur le net je trouve pas mal dinfo dessus notamment que les images sont en bmp et que le firmware est propre a lecran Donc, apparement, la carte et lecran sont en liaison et ont tous deux un firmware différent 🤔
Quelquun a déjà touché à un écran similaire ?



#97408 Bcn3d firmware

Posté par theo-paul sur 13 juillet 2018 - 11:34 dans Bras 6 axes BCN3D Moveo

Bonjour !
Apres avoir travaillé sur le mouvement du robot la semaine dernière, cette semaine, je travaille sur la Prise Origine Marchine (POM) jessaye de lui fixer ses limites, jai eu une idée dintegrer des capteurs inductif dans le bras, ca risque de coûter assez chère donc jétudie cette possibilité. Pour linstant je reste à mes endstops basique ;)
Jai ajouté un tendeur de courroie pour ma rotation 1, de façon à réduire le bras mou.AA398951-802E-4733-95C4-D3C7739B0B0D.jpeg

Je cherche des tutos sur le contrôle de larduino via le port serial de mon pc (pour la POM) jai trouvé ça, mais cest toujours confu sur les objets que je peux utiliser et comment bien les placer. Y a til un dictionnaire ou un répertoire ou je peux trouver tous les objets dune bibliothèque ?



#97297 bras-robot BCN3D de Lanzeur

Posté par theo-paul sur 10 juillet 2018 - 03:14 dans Bras 6 axes BCN3D Moveo


 

Je recommande 2 drivers , 1 par moteur, par contre tu peux les piloter avec les même signaux de commandes ... Exactement ce que dit Donovan...

Il vaut mieux que je monte un autre driver pour mes nema mais, je vais perdre une sortie moteur non ?




#97293 bras-robot BCN3D de Lanzeur

Posté par theo-paul sur 10 juillet 2018 - 03:00 dans Bras 6 axes BCN3D Moveo

Salut Theo-Paul, tu pense mettre les deux néma 23 sur un seul driver ? Cela est faisable ? ( de toute façons j'ai acheté deux driver Tb6550)

Cest ce que jai installé sur le mien, ça marche bien avec des tb6600 en mettant 2,9A par phase. Lors du déplacement du bras jai quelques problèmes de lâché brusque (ça parait provenir du firmware plutôt que les driver) selon le programme qui es remis dedans. Le montage que jai faits, cest un driver pour les deux nema 23 et un pour le 17 avec réducteur le reste piloté par tes drivers normaux



#97278 bras-robot BCN3D de Lanzeur

Posté par theo-paul sur 10 juillet 2018 - 07:47 dans Bras 6 axes BCN3D Moveo

Bonjour lanzeur, je viens de lire attentivement ton projet, il est vraiment top, ça fait propre la peinture bleu. Jai tenté la même chose sur le mien, bon, disons que le pla na pas du tout aimé, jai du my prendre dune mauvaise façon, tu las fais à la main le ponçage ?
Jai une suggestion pour les NEMA 23, tu peux les mettre en parallèle, ça te fera économiser une sortie (noublies pas dinverser les bobines sur un des moteurs). Jespere que tout le monde va pouvoir taider :)



#97260 Bcn3d firmware

Posté par theo-paul sur 09 juillet 2018 - 06:56 dans Bras 6 axes BCN3D Moveo

voici le projet firmware + logiciel sur les quels je travaille en ce moment : le logiciel s'appelle AR2.exe

Fichier(s) joint(s)

  • Fichier joint  moveo.zip   5,81 Mo   336 téléchargement(s)



#97154 Bcn3d firmware

Posté par theo-paul sur 06 juillet 2018 - 05:49 dans Bras 6 axes BCN3D Moveo

 
Stepper moteur1(6400, 29, 28, 39, 0);
 
LiquidCrystal lcd(19,42,18,38,41,40);
const int boutton2 = 37;
const int boutton1 = 36;
int etat;
 
void setup()
{
    if(etat == HIGH)
      lcd.begin(20, 4);
      lcd.print("moteur en marche");
    if(etat == LOW)
      lcd.begin(20, 4);
      lcd.print("moteur eteint");
}
void loop() 
{
    etat = digitalRead(boutton1);
    if(etat == LOW)
        {
        moteur1.step(1000);
        delay(1);
        moteur1.step(-1000);
        delay(1);
        }
}
j'ai crée mon premier petit code, je n'arrive pas a faire deux choses, la premiere, c'est activer les pins quand le moteur tourne, je m'explique: quand le bras est en mouvement, que je descend le bras, il a tendance a sauter des pas et donc prendre de la vitesse sans etre controlable, en montée du bras, il ne monte plus du tout car trop lourd.
deuxieme chose, j'essaye de faire apparaitre un texte quand j'appuie sur mon bouton, en HIGH -> moteur en marche et en LOW -> moteur eteint, a part ca, je progresse doucement mais surement :)



#97120 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 10:02 dans Bras 6 axes BCN3D Moveo

petite question, pour sur les moteurs, quand je fais digitalwrite ( PIN_DIR1, HIGH) ou pinMode(PIN_DIR1, OUTPUT).

Il y a les Dir en output et high, les Step output et high , et les Enable, je les mets comment ?




#97115 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 07:06 dans Bras 6 axes BCN3D Moveo

Partage ton programme, on va regarder ce qui va pas.

 

bon, jai pas de ligne de code de façon a bouger le robot, j'ai plutôt fais un grand tri dans marlin de façon à n'avoir que ce que je veux. 

l'erreur est : collect2.exe: error: ld returned 1 exit status

je n'arrive pas à faire lier mes 3 fichiers entre eux, y a t'il un tuto ? merci :)

Fichier(s) joint(s)

  • Fichier joint  moveo.zip   9,95 Ko   338 téléchargement(s)



#97106 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 04:42 dans Bras 6 axes BCN3D Moveo

Deux alimentations ?
Dommage que tu n'ai pas intégré les endstop directement dans la masse.

C’est assez bête mais j’ai pensé a les ajouter après avoir fait le robot . Oui, une alimentation robot, celle en 24 V et une alimentation outil en 12V, je me lance dans l’ecriture du programme, j’étais hate de pouvoir le faire bouger :) Pour ton LCD, tu as directement ajouté le code dans ton code général ? J’aimerai faire un programme un peu comme marlin, avec des pages dédiées mais ca met plein de messages d’ereur A la compilation



#97100 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 03:41 dans Bras 6 axes BCN3D Moveo

Voici quelques photos du robot, de mes transfos et des fins de course rajoutés pour etre plus précis dans mes déplacements.
Jessayerai de vous partager lavancement du bras ;)

Image(s) jointe(s)

  • 3122BFE4-3316-4026-B8D6-4AC6633AC540.jpeg
  • 8C0F2C56-31CF-45F3-8D27-911765166B57.jpeg
  • E174B785-17A1-442E-BAF2-245F97C03D10.jpeg
  • 74707B57-7094-4CBB-B276-D4E931D94282.jpeg
  • BD287A83-1510-410B-B222-9109C069754C.jpeg



#97097 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 02:55 dans Bras 6 axes BCN3D Moveo

Super projet, mais quel est ton niveau en programmation? :)

Je connais les bases d’arduino, j’ai jamais créé de programme, j’en récupère et je les modifie à ma sauce, par exemple marlin, pour mes imprimantes. Je suis un débutant pour écrire un programme complet.
J’arrive à faire bouger le robot, le faire tourner mais le soucis, c’est que avec marlin d’installé dessus, les deux moteurs du dernier axes sont en tant qu’extrudeur.

Ça fait plaisir de voir un copain à mon robot
C'est du language C la Rumba ?

Je connais pas du tout la rumba en faite. Je l’ai prise parce qu’elle dispose d’assez de sorties par rapport à ce que je compte faire du robot, et niveau prix, les chinois la vendent moins chère que les autres.



#97088 Bcn3d firmware

Posté par theo-paul sur 05 juillet 2018 - 12:44 dans Bras 6 axes BCN3D Moveo

Bonjour à tous,
Je me suis lancé dans un projet: créer un robot pouvant mêtre utile, par example pour pouvoir me tenir des choses quand je soude, faire le tri dans mes affaires. Mais aussi, pour une utilisation plus sérieuse, il ma ete proposé de créer un robot pouvant prendre des mesures dune sphere et à partir de ces mesure, à laide dun objet de could, rectifier les impuretés de celle ci.
Jai donc choisi le bcn3d moveo comme base robotique, les degrés de liberté sont suffisant, jai trouvé une variante améliorée : https://roboteurs.co...s-robot-arm-kit
Pour ce qui est du bras, il doit pouvoir embarquer en bout du dernier axe un laser et un télémètre. Tout ceci commandé par une rumba et un pc qui lui sera dédié.
Je suis donc à la recherche dun firmware qui aurait déjà été commancé, à partir du quel je pourrais donc me baser et y ajouter toutes mes données. Je travaille en parallèle sur un logiciel un peu comme celui créé par Chris Annin pour son Ar2 : https://github.com/Chris-Annin/AR2
Je vous met quelques photos du robot, inprimé en pla qui sera au fur et à mesure du temps fait en petg. Nhésitez pas à donner vos avis ;)

Image(s) jointe(s)

  • EBEEC3C6-CFAA-41A3-945E-29D46BCD9C64.jpeg
  • A7241149-B746-406D-B878-8F7FEC0ACAE4.jpeg
  • 54520D65-9150-4595-908E-709CAB8ED205.jpeg



#97080 Bras robot BCN3D Moveo de Donovan

Posté par theo-paul sur 05 juillet 2018 - 07:11 dans Bras 6 axes BCN3D Moveo

Jutilise une rumba, mes deux nemas 23 sont mis en parallèle sur un même port, connecté à un tb6600, le Nema 17 avec le réducteur est connecté à un tb6600 et les autres sont mis sur des dev8825



#97076 Bras robot BCN3D Moveo de Donovan

Posté par theo-paul sur 04 juillet 2018 - 09:51 dans Bras 6 axes BCN3D Moveo

Bonjour à tous, je suis nouveau en programmation, depuis plus dun moi, je me suis lancé dans la fabrication du moveo, dans le but den faire un outil du type danse avec les robots. Jai rajouté des fins de courses pour que le robot ait plus de précision dans ses mouvements. Savez vous où je pourrais trouver un programme de base sur le quel bien commencer ? Merci :)