
loukatamiaou
Membres-
Compteur de contenus
25 -
Inscrit(e) le
-
Dernière visite
Tout ce qui a été posté par loukatamiaou
-
-
@inteloide bon j ai mis ces lignes dans le marlin_main ccp entre la case 600 et la case 605 fait la mise a jour du firmware ,introduit la ligne M601 X10 Y10 Z15 E-5 P18 I2 D0.8 B27 juste avant ;layer:15 . rien y fait doit je mettre cette ligne juste apres la layer
-
Ok bon je mange et je teste .en ce qui concerne le béeper tu la brancher sur quel pin ?
-
case 601: // Pause for filament change (New code by Inteloide) // Syntaxe : X[pos] Y[pos] Z[relative lift] : Position parking (en relatif ! doit être positif !) // E[initial retract] : longueur de filament retiré juste avant la pause (doit être négatif !) // L[later retract distance for removal] : longueur de filament (doit être négatif !) // T[time to wait] : Durée de l'attente (en secondes) // P[pin input to change continue] : Entrée sur laquelle on attent le changement d'état (18=fin de course axe X) // I[Interval between beep] : Intervale entre deux beeps (en secondes, défaut = 5) // D[Beep duration] : Durée de chaque beep (en secondes, défaut = 0.5) // B[pin of the beep] : Pin du beeper (défaut = 27) // // NB: Par défaut on attend un temps de 180 secondes // Exemple de syntaxes : // M601 X10 Y10 Z15 E-5 T300 : Remonte de 15mm, va dans un coin du plateau, attends 300 secondes // M601 X10 Y10 Z15 E-5 P18 I2 D0.8 B27 : Remonte de 15mm, va dans un coin du plateau, attends appui sur capteur axe X { // Save positions float target[4]; float lastpos[4]; target[X_AXIS]=current_position[X_AXIS]; target[Y_AXIS]=current_position[Y_AXIS]; target[Z_AXIS]=current_position[Z_AXIS]; target[E_AXIS]=current_position[E_AXIS]; lastpos[X_AXIS]=current_position[X_AXIS]; lastpos[Y_AXIS]=current_position[Y_AXIS]; lastpos[Z_AXIS]=current_position[Z_AXIS]; lastpos[E_AXIS]=current_position[E_AXIS]; //retract by E if(code_seen('E')) { target[E_AXIS]+= code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_FIRSTRETRACT target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT ; #endif } plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //lift Z if(code_seen('Z')){ target[Z_AXIS]+= code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_ZADD target[Z_AXIS]+= FILAMENTCHANGE_ZADD ; #endif } plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move xy if(code_seen('X')) { target[X_AXIS]+= code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_XPOS target[X_AXIS]= FILAMENTCHANGE_XPOS ; #endif } if(code_seen('Y')) { target[Y_AXIS]= code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_YPOS target[Y_AXIS]= FILAMENTCHANGE_YPOS ; #endif } plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); // More retract ? if(code_seen('L')) { target[E_AXIS]+= code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_FINALRETRACT target[E_AXIS]+= FILAMENTCHANGE_FINALRETRACT ; #endif } plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //finish moves st_synchronize(); //disable extruder steppers so filament can be removed disable_e0(); disable_e1(); disable_e2(); delay(100); // Variables générales unsigned long currentMillisBeeper = 0; // Top de depart pour le chrono du beeper unsigned long previousMiliBeeper = 0; // Précédent top unsigned long startMiliBeeper = 0; // Top de départ pour l'attente unsigned long temps=180000; // Durée d'attente unsigned long intervalBeeper = 5000; // Intervale entre chaque beep (en ms) unsigned long durationBeeper = 500; // Durée du beep (en ms) int etatBeeper = LOW; // Etat du beeper int pinBeeper = 27; // Pin pour le beeper int pin_number = 18; // Pin pour fin attente bool wait_for_time=true; int pin_target; // On récupère les paramètres if(code_seen('I')) intervalBeeper = code_value()*1000; // Intervale entre chaque beep (en ms) if(code_seen('D')) durationBeeper = code_value()*1000; // Durée du beep (en ms) if(code_seen('B')) pinBeeper = code_value(); // Pin pour le beeper if(code_seen('T')) temps = code_value()*1000; // Le temps à attendre en ms if(code_seen('P')) {pin_number = code_value(); wait_for_time=false;}; // La pin à attendre // On active les entrées/sorties pinMode(pinBeeper, OUTPUT); // On active la sortie du beeper if (!wait_for_time){ // On active l'entrée si on n'est pas en temps pinMode(pin_number, INPUT); pin_target = !digitalRead(pin_number); } // On démarre l'attente startMiliBeeper = millis(); bool stop_la_boucle=false; while(!stop_la_boucle){ manage_heater(); manage_inactivity(); // on fait aller le beeper currentMillisBeeper = millis(); if ((etatBeeper == LOW) && (currentMillisBeeper - previousMiliBeeper >= intervalBeeper)) { previousMiliBeeper = currentMillisBeeper; // On garde le moment où on a changé d'état etatBeeper = HIGH; // On change l'état du beeper digitalWrite(pinBeeper, etatBeeper); // On applique le nouvel état = on fait sonner } if ((etatBeeper == HIGH) && (currentMillisBeeper - previousMiliBeeper >= durationBeeper)) { previousMiliBeeper = currentMillisBeeper; // On garde le moment où on a changé d'état etatBeeper = LOW; // On change l'état du beeper digitalWrite(pinBeeper, etatBeeper); // On applique le nouvel état } // On regarde si on doit stopper la boucle if (!wait_for_time) {//On regarde un changement d'une entrée if (digitalRead(pin_number) == pin_target) { stop_la_boucle=true; } } else {// On regarde si la tempo est finie if (currentMillisBeeper-startMiliBeeper>=temps) { stop_la_boucle=true; } } } // Finalisation de la boucle d'attente digitalWrite(pinBeeper, LOW); // pour remettre au niveau bas (0V) après la boucle d'attente pinMode(pinBeeper, INPUT); // pour remettre en entrée qui est la valeur par défaut //return to normal if(code_seen('L')) { target[E_AXIS]+= -code_value() * global_unit_modifier; } else { #ifdef FILAMENTCHANGE_FINALRETRACT target[E_AXIS]+=(-1)*FILAMENTCHANGE_FINALRETRACT ; #endif } current_position[E_AXIS]=target[E_AXIS]; //the long retract of L is compensated by manual filament feeding plan_set_e_position(current_position[E_AXIS]); plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //should do nothing plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move xy back plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move z back plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], feedrate/60, active_extruder); //final untretract } break;
-
Ça c est fait . Sur la même page y a un plugin pour cura . Je parle du pâte de ligne qui concerne le m601 et toutes c est explication ceci doit ce mettre ou exactement ?
-
@lefresh le plugin que j ai installer sur cura c est pour nommer la couche à laquelle on veut faire une pause c est un plugin qui date de un poste du début de ce sujet. Au sujet du poste de @inteloide j ai bien compris que le plugin qu il a mis est pour sketchup .j utilise sketchup depuis longtemps j ai fait tout les plan du permis de construire de ma maison avec mais pour les stl telecharger j aime pas y a trop de trait je préfère passer avec tinkercad.bref . Le pâté de ligne de code doit ce mettre ou dans le firmware ?
-
J ai installer cura standard pour tester ton plugin mais sans resultat faut il ajouter ton firmware dans le dossier firmware de cura ?
-
message adresser a inteloide . j ai installer ta mise a jour du firmware marlin ccp . j aimerai tester ton m601 mais que doije faire avec tout ce codage et ou son les valeur a changer ?
-
bon c est bon j ai tout reglé je pense que c été un probleme de xml maintenant tout fonctionne comme il faut merci pour les infos
-
bon tout fonctionne sauf l impression qui est trop haute d environ (mm ou plus le const bool Z_MIN_ENDSTOP_INVERTING = false; est ok doit je teste l inversion des fil noir et bleu ?
-
Bien vu plexy c était bien à cause du zip .le televerssement c est effectué en entier maintenant on va voir si tout fonctionne .
-
Oui j ai bien telecharger le firmware je vais essayer en suivant tes étapes dans le bon sens
-
est ce que la broche du vcc doit prendre les deux pins ?
-
Vcc
-
-
mes broches sont en bonne position
-
je rentre du boulot dans 30 min je verifie ca mais je pense bien l avoir mis sur les deux et l autre sur les deux causses usb
-
oui c est tout a fait ca j ai la bonne version , les jumpers sont en bonne position (dans le doute celui du auto reset doit ce trouver sur les deux causse ou sur une ?)
-
bonjour j ai un palpeur orange fait toute les etapes et au moment du televersement arduino ce met en erreur et ne m effectue pas le techargement pourriez vous m aider svp
-
Retour d'expérience concernant le montage du Kit
loukatamiaou en réponse au topic de vfelix dans Dagoma
Moi ça va j ai tout bien monté à part certain câble qui passe pas par les bons endroit cela ne gêne en rien le fonctionnement mais esthétiquement cela me déplaît mais je verrai plus tard pour le moment j imprimé à plein pot. PS pour dagoma détaillez un peu plus les passages de câbles -
Plateforme d'échange de fichiers 3D
loukatamiaou en réponse au topic de Hay Pepito dans Projets et impressions 3D
c est bon formulaire remplit -
Homag baz 722
loukatamiaou en réponse au topic de loukatamiaou dans Discussions sur les graveurs laser, les CNC et l'usinage
j y travaille mais c est pas le bon format sinon je mettrais le lien you tube -
Homag baz 722
loukatamiaou a posté un sujet dans Discussions sur les graveurs laser, les CNC et l'usinage
Bonjour tout le monde j ouvre ce sujet car je travaille sur ce type de machine commande numérique homag baz 722 avec système de placage embarque sur tête indépendante machine mesurant environ 8m de long par autant de large voici quelques video https://www.youtube.com/watch?v=GYOHuD2jP-Q -
bonjour tout le monde je n est pas encore d imprimante 3d mais cela ne serait tarder d ici quinze jour j espere