Aller au contenu

Filament ABS

loukatamiaou

Membres
  • Compteur de contenus

    25
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

4 Neutre

À propos de loukatamiaou

  • Rang
    3D Newbie
  • Date de naissance 07/08/1984

Information

  • Genre
    Masculin
  • Lieu
    tarn
  • Imprimantes
    dagoma discovery 200 avec palpeur

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. Bon be ça y est j y suis enfin arrivé merci pour vos coup de pouces
  2. @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
  3. Ok bon je mange et je teste .en ce qui concerne le béeper tu la brancher sur quel pin ?
  4. 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;
  5. Ç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 ?
  6. @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 ?
  7. J ai installer cura standard pour tester ton plugin mais sans resultat faut il ajouter ton firmware dans le dossier firmware de cura ?
  8. 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 ?
  9. 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
  10. 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 ?
  11. Bien vu plexy c était bien à cause du zip .le televerssement c est effectué en entier maintenant on va voir si tout fonctionne .
  12. Oui j ai bien telecharger le firmware je vais essayer en suivant tes étapes dans le bon sens
  13. est ce que la broche du vcc doit prendre les deux pins ?
×
×
  • Créer...