Aller au contenu

Anycubic Kobra 3 Combo

Firmware Guilouz / Marlin-SuperRacer-MKS-Nano-V3 pour Super Racer


Motard Geek

Messages recommandés

J'étais en train de regarder les sources que m'a envoyé FLSUN pour y apporter quelques modifications quand je suis tombé sur ce firmware dans le groupe Facebook US.

LES FONCTIONNALITÉS PRINCIPALES

Citation
  • MKS Robin Nano V3 motherboard support
  • TMC2209 / TMC2226 UART drivers support
  • Nozzle & Bed PID support
  • Enabled thermal protection for Nozzle & Bed
  • Bed Leveling Bilinear 9 x 9 point support
  • Nozzle Park / Advanced Pause support with improved position
  • Babystepping with Combine Z-Offset support
  • EEPROM support
  • S-Curve Acceleration support
  • Bed Skew Compensation support (https://www.thingiverse.com/thing:2563185)
  • G26 - Mesh Validation Pattern support
  • G33 - Delta Auto Calibration support
  • Enabled Hotend idle timeout (15 minutes)
  • Disabled Power Loss Recovery because not correctly implemented, repeated writes to the EEPROM are performed. Not good for EEPROM.
  • Binary file transfert support to transfer and update the firmware remotely
  • Enabled host prompt support
  • Enabled Firmware Info with M115
  • Enabled monitor for TMC drivers
  • Enabled M106 to report the new fan speed when changed
  • Improved probing speed
  • Improved buffer size
  • Fix TMC drivers settings
  • Disabled not used settings

C'est complet, je ne vois pas quoi y ajouter 😛 De plus, c'est très bien documenté :

PROCÉDURE D'INSTALLATION

Citation
  • Do an EEPROM reset before flashing the new firmware (command M502 followed by command M500 in a terminal or with the TFT screen).
  • Restart the printer.
  • Choose version you want here, SDCARD to use microSD Card port or USB to use USB port.
  • Copy Robin_nano_v3.bin file to the root of the microSD card (max capacity 32GB, formatted in FAT32, allocation unit size 4096).
  • With printer off, insert the microSD card into the dedicated port on the motherboard and turn on the printer.
  • Flash procedure starts (without displaying anything on the screen) and lasts a few seconds.
  • Check contents of the microSD card, Robin_nano_v3.bin file has been renamed to ROBIN_NANO_V3.CUR which indicates that the flash was successful.
  • It's possible after flash you loose text on TFT screen, select your language again and save.
  • Do an EEPROM reset again (command M502 followed by command M500 in a terminal or with the TFT screen).
  • Restart the printer.
  • Launch a Nozzle PID in a terminal:
    • M303 E0 S220 C8
    • Retrieve the values Kp, Ki and Kd then:
    • M301 PKp IKi DKd
    • Then M500 to save.
  • Launch a Bed PID in a terminal:
    • M303 E-1 S90 C8
    • Retrieve the values Kp, Ki and Kd then:
    • M304 PKp IKi DKd
    • Then M500 to save.
  • Launch an extruder calibration in a terminal:
    • Heat your hotend to its usual operating temperature :
    • M109 Sxxx where xxx is temperature
    • Make a pencil mark at 120mm on the filament from the hole on the top of the printer (where we insert the filament)
    • M83 to switch to relative mode.
    • G1 E100 F100 for extruding 100mm.
    • Wait until the end of the extrusion and measure if there is still 20mm of the line on the filament until the filament inlet otherwise apply this calculation:
      • To obtain extrusion length: 120 - (value measured between the line and the filament inlet)
      • To obtain number of steps to have extruded 100mm: (value of E-steps/mm) x 100. Default E-Steps value is 415.
      • To obtain the new E-steps/mm: (number of steps to have extruded 100mm) / (extrusion length)
    • M92 E(new E-steps/mm)
    • Then M500 to save.
  • Launch a Delta Calibration a wait until end of process :
    • Make sure to connect bed level probe before to start the following command.
    • G33
    • Then M500 to save.
  • Start auto-leveling from the TFT screen menu and adjust Z-Offset. Don't forget to save.

Il y a quelques changements à appliquer dans les sources pour les cartes mères SKR 1.3 ou si vous voulez switcher de l'USB au port microSD :

Citation
  • If you have SKR 1.3 motherboard, set these values :

    • In platformio.ini : default_envs = LPC1768
    • In Configuration.h : #define MOTHERBOARD BOARD_BTT_SKR_V1_3
    • In Configuration.h : #define SERIAL_PORT -1
    • In Configuration.h : #define SERIAL_PORT_2 0
    • In Configuration_adv.h : #define E0_AUTO_FAN_PIN P2_04
  • If you want to use microSD port :

    • In Configuration_adv.h : //#define USB_FLASH_DRIVE_SUPPORT
  • If you want to use USB port :

    • In Configuration_adv.h : #define USB_FLASH_DRIVE_SUPPORT

Et pour compiler, c'est aussi documenté !

Je vais terminer mes tests en stock pour le blog et ensuite je flasherai 🙂 

  • J'aime 2
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Bonjour à tous,

Tout nouveau dans l'impression 3D, j'ai reçu ma SR il y a quelques jours et je viens de faire cet update du Firmware sur ma SR.

Entre ça et une 1.3 de Flsun je me suis dit pourquoi pas tenter ce firmware.

J'ai par contre eu une suprise a la première impression après avoir fait toutes les configurations listées : la tête s'est beaucoup trop rapprochée d'un des axes et cela à déclipsé les tiges sur l'axe d'en face. Heureusement je n'étais pas loin et j'ai pu arrêter l'imprimante en urgence.

Du coup j'ai repris le setup à partir du G33. J'ai aussi remis le start code de superslicer sur cura qui avait généré le fichier lors du test.

Aucune idée à ce stade d'où à pu venir le problème.

A votre avis cela pouvait venir de la calibration ou du start code ? Je préfererais éviter que cela se reproduire 😅

Lien vers le commentaire
Partager sur d’autres sites

J'ai testé le firmware et il est pas mal, mais hélas, aucune gestion depuis l'écran lorsque l'impression est lancée depuis octoprint.

Y t'il une option à activer dans le firmware? je suis près à le compiler moi même, mais je ne saurais pas quoi modifier pour que cela fonctionne.

Quelqu'un a une idée?

Lien vers le commentaire
Partager sur d’autres sites

je viens de regarder les sources et il y a le paramètre:



    #define HOST_START_MENU_ITEM
        This adds a 'HOST START' menu item to the LCD. This is most useful in a case where you end up canceling a print because the first layer wasn't coming out right and then want to start it again from the LCD, or similar.

qui devrait fonctionner je vais essayer de le compiler (je n'ai jamais fait ça avant) et attendre de recevoir mon imprimante pour le tester!

 

par exemple sur ma cr-6 avec le firmware communautaire j'ai ça quand j'imprime avec octoprint:

 

IMG_20220126_201052.jpg

Lien vers le commentaire
Partager sur d’autres sites

@NOX oui et non, ce que je montre c'est le même écran que si j'imprime depuis la sd.

ce que je veux, c'est le même écran que lors d'une impression normal mais quand j'imprime depuis octoprint.

 

edit: c'est bon il est compilé, plus qu'à attendre l'imprimante!

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, smiley a dit :

@NOX oui et non, ce que je montre c'est le même écran que si j'imprime depuis la sd.

ce que je veux, c'est le même écran que lors d'une impression normal mais quand j'imprime depuis octoprint.

 

edit: c'est bon il est compilé, plus qu'à attendre l'imprimante!

Bonjour,
Comme l'a dit @NOX l'Os de l'écran de la SR est propriétaire et de type DWIN/DGUS mais en version V2. Pour avoir le même resultat que ta CR6, il faut que l'OS de l'écran soit compatible avec le hard de l'écran SR (résolution et DwinOSv2). En plus, il faut avoir défini les mêmes fonctions sur l'écran et dans Marlin (ex G33 ou le type de nivellement) pour que l'affichage fonctionne correctement (histoire de pointeurs). Si t'es programmeur, tu pourras rajouter les fonctions manquantes des Deltas dans Marlin et aussi dans le firmware de l'écran. Bref, le plus simple c'est de basculer vers un écran compatible et ouvert (sources) comme la famille des BTT-TFT ou le Mks-TS35. Avec ça tu pourras profiter pleinement de ta SR et le dernier Marlin. Sinon si tu penses que l'écran n'est pas primordial alors tu bascules sous Klipper.
Pour infos, j'ai réaliser deux pack avec le dernière version stable de Marlin (SR+BTT-TFT135 et SR+TS35) qui sont disponible sur mon GitHub. J'ai des bon retours pour le moment mais je peaufine encore le firmware de l'écran TFT35 et celui de Marlin.
@+
QQSP-SRM.thumb.jpg.a56f9b860ba65532840991d72d01eb8c.jpg

Modifié (le) par Foxies
Lien vers le commentaire
Partager sur d’autres sites

@Foxies Merci pour les infos, je développe un peu, mais ce sont mes débuts avec marlin.

Il y a une chose que je ne comprends pas, c'est que pour moi en activant la fonction dont j'ai parlé plus haut dans le firmware de l'imprimante, lorsque j'imprime depuis octoprint ça ne lance que l'écran d'impression déjà enregistré dans le firmware de l'écran et pas un nouveau.

Mais effectivement ce sont mes débuts, donc j'apprends.

Par contre un tft70, non seulement c'est cher mais en plus c'est énorme!

Moi tout ce que je veux, c'est que si je passe devant l'imprimante, et que l'impression foire, je peux l’arrêter directement sans allumer un pc ou lancer une app sur mon téléphone!

 

alors si tu as une version pour un écran plus petit (et donc moins cher) je suis preneur! ou des conseils pour savoir quoi modifier pour adapter le firmware de l'écran à une résolution plus petite.

mais je ne trouve pas un tft35, c'est un btt? tu as un lien peut-être?

d'ailleurs tu as un lien pour github?

Merci pour ton aide!

Modifié (le) par smiley
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, smiley a dit :

Moi tout ce que je veux, c'est que si je passe devant l'imprimante, et que l'impression foire, je peux l’arrêter directement sans allumer un pc ou lancer une app sur mon téléphone!

Avec l'écran de la Flsun SR tu disposes malgré tout de pas mal de fonctions et notamment celle qui te permet d'interrompre ou de mettre en pause une impression ...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Quelqu'un à déjà paramétré le linear advance sur ce firmware?

Il est bien activé dans les sources, mais lorsque je le lance manuellement depuis la console (comme un m900 k0.2) il me répond "unknow command":

Send: M900 K0.2
Recv: echo:Unknown command: "M900 K0.2"
Recv: ok

 

edit: j'ai rien dit il n'est pas activé.

Modifié (le) par smiley
Lien vers le commentaire
Partager sur d’autres sites

oui oui, j'ai surtout mal lu le fichier, (j’apprends encore avec les firmwares) mais j'ai compilé un nouveau firmware avec linear_advance activé. Et ça marche bien, bon, l'extrudeur c'est de la m.... côté bruit, j'ai un clone bmg de trianglelab sur ma cr-6 et il n'y avait pas plus de bruit qu'avant, va falloir changer...

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...
il y a une heure, Fanybabeth a dit :

Il est vrai que l'extruder est inadmissible coté bruit ! Du coup quoi mettre qui fonctionne bien et silencieux ?

En réduisant la vitesse de rétraction de l’extrudeur à 30mm/s, il devient complètement silencieux.

Tu parles bien de la SR (je vois Ultimaker et Anycubic dans ton profil) ?

Lien vers le commentaire
Partager sur d’autres sites

Le 08/03/2022 at 12:34, Fanybabeth a dit :

Il est vrai que l'extruder est inadmissible coté bruit ! Du coup quoi mettre qui fonctionne bien et silencieux ?

perso j'ai mis un trianglelab DDB 2.1 il est top ! 35euros

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...

Bonsoir à tous,
Je suis aussi possesseur d'une FLSUN SR, mais en carte mère BTT_SKR_V1.3
Je suis en train de recompiler Marlin à partir du firmware de Guilouz (que je remercie au passage) pour cette carte.

Malheureusement, je tombe sur une erreur de compilation que je ne comprends pas et donc n'arrive pas à résoudre 😞

Compiling .pio\build\LPC1768\src\src\gcode\bedlevel\M420.cpp.o
Compiling .pio\build\LPC1768\src\src\gcode\bedlevel\abl\G29.cpp.o
In file included from Marlin\src\MarlinCore.cpp:194:
Marlin\src\feature/runout.h: In static member function 'static void TFilamentMonitor<RESPONSE_T, SENSOR_T>::my_run()':
Marlin\src\feature/runout.h:140:12: error: there are no arguments to 'jump_to' that depend on a template parameter, so a declaration of 'jump_to' must be available [-fpermissive]
  140 |            jump_to(0x22);
      |            ^~~~~~~
Marlin\src\feature/runout.h:140:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Marlin\src\feature/runout.h:142:12: error: there are no arguments to 'pause_resume' that depend on a template parameter, so a declaration of 'pause_resume' must be available [-fpermissive]
  142 |            pause_resume();
      |            ^~~~~~~~~~~~
Marlin\src\MarlinCore.cpp: In function 'void abortSDPrinting()':
Marlin\src\MarlinCore.cpp:386:5: error: 'jump_to' was not declared in this scope
  386 |     jump_to(01);//新增
      |     ^~~~~~~
Marlin\src\MarlinCore.cpp: In function 'void finishSDPrinting()':
Marlin\src\MarlinCore.cpp:396:8: error: 'print_thr_adress_string' was not declared in this scope
  396 |        print_thr_adress_string(0x17,0x00,buf_null);
      |        ^~~~~~~~~~~~~~~~~~~~~~~
Marlin\src\MarlinCore.cpp:399:25: error: 'IDLE' was not declared in this scope
  399 |        my_print_state = IDLE;
      |                         ^~~~
compilation terminated due to -fmax-errors=5.
In file included from Marlin\src\feature\host_actions.cpp:37:
Marlin\src\feature\runout.h: In static member function 'static void TFilamentMonitor<RESPONSE_T, SENSOR_T>::my_run()':
Marlin\src\feature\runout.h:140:12: error: there are no arguments to 'jump_to' that depend on a template parameter, so a declaration of 'jump_to' must be available [-fpermissive]
  140 |            jump_to(0x22);
      |            ^~~~~~~
Marlin\src\feature\runout.h:140:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Marlin\src\feature\runout.h:142:12: error: there are no arguments to 'pause_resume' that depend on a template parameter, so a declaration of 'pause_resume' must be available [-fpermissive]
  142 |            pause_resume();
      |            ^~~~~~~~~~~~
Marlin\src\feature\powerloss.cpp: In static member function 'static void PrintJobRecovery::write_eeprom()':
Marlin\src\feature\powerloss.cpp:249:7: warning: unused variable 'eeprom_pos_duandian' [-Wunused-variable]     
  249 |   int eeprom_pos_duandian = 900;
      |       ^~~~~~~~~~~~~~~~~~~
*** [.pio\build\LPC1768\src\src\MarlinCore.cpp.o] Error 1
*** [.pio\build\LPC1768\src\src\feature\host_actions.cpp.o] Error 1
In file included from Marlin\src\feature\pause.cpp:47:
Marlin\src\feature\runout.h: In static member function 'static void TFilamentMonitor<RESPONSE_T, SENSOR_T>::my_run()':
Marlin\src\feature\runout.h:140:12: error: there are no arguments to 'jump_to' that depend on a template parameter, so a declaration of 'jump_to' must be available [-fpermissive]
  140 |            jump_to(0x22);
      |            ^~~~~~~
Marlin\src\feature\runout.h:140:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Marlin\src\feature\runout.h:142:12: error: there are no arguments to 'pause_resume' that depend on a template parameter, so a declaration of 'pause_resume' must be available [-fpermissive]
  142 |            pause_resume();
      |            ^~~~~~~~~~~~
In file included from Marlin\src\gcode\bedlevel\../../inc/MarlinConfig.h:45,
                 from Marlin\src\gcode\bedlevel\G26.cpp:98:
Marlin\src\gcode\bedlevel\../../inc/../HAL/LPC1768/inc/Conditionals_post.h:33:4: warning: #warning "To prevent 
step loss, motion will pause for PRINTCOUNTER auto-save." [-Wcpp]
   33 |   #warning "To prevent step loss, motion will pause for PRINTCOUNTER auto-save."
      |    ^~~~~~~
*** [.pio\build\LPC1768\src\src\feature\pause.cpp.o] Error 1

Quelqu'un aurait il une idée de l'erreur que je fais?

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Hello

Information complémentaire : quand je recompile les sources de Guilouz pour la MKS, je recompile sans soucis (donc l'environnement doit être bien paramétré)
C'est au moment du passage à la SKR V1.3 que l'erreur apparait :
   

  • In platformio.ini: default_envs = LPC1768
  • In Configuration.h: #define MOTHERBOARD BOARD_BTT_SKR_V1_3
  • In Configuration.h: #define SERIAL_PORT -1
  • In Configuration.h: #define SERIAL_PORT_2 0
  • In Configuration_adv.h: #define E0_AUTO_FAN_PIN P2_04

Un idée d'où chercher ? Je suis un peu perdu...

Lien vers le commentaire
Partager sur d’autres sites

Essaie en inversant les SERIAL_PORT si tu utilises un écran TFT :

Citation
  • In Configuration.h: #define SERIAL_PORT 0
  • In Configuration.h: #define SERIAL_PORT_2 -1

Réglage de la vitesse : #define BAUDRATE 115200 // Default for TFTs

🙂

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton aide.

Malheureusement ça ne change rien à mes soucis de compilation, même en inversant le SERIAL_PORT

Pour être certain d'avoir été clair 🙂

  • J'ai récupéré les sources de Guilouz
  • Je les ai recompilées sans erreur (je ne peux pas tester ma compilation, j'ai une SKR 1.3
  • Je fais les 4 modifications listées dans mon précédent post
  • La compilation fail avec les erreurs du premier post

Le fait de passer sur le LPC1768 fait planter la compilation, mais je ne trouve pas pourquoi

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...