Aller au contenu

GO Print

[Dev] AlfaWise U20x-U30 : Marlin 2.x (firmware alternatif)


CacaoTor

Messages recommandés

Le 11/11/2018 at 06:58, CacaoTor a dit :

 

Topic Officiel du portage Marlin 2-x pour Alfawise U20, U20+ et U30

 

 

DSC_0132_2.thumb.jpg.f8f283b22f472217994c8545fe941aab.jpg

AVERTISSEMENT : Ce Topic est dédié aux aspects techniques du portage de Marlin sur les AlfaWise, développement, bugs spécifiques, problèmes de flash et tout ce qui y affère. Il ne s'agit en aucun cas d'un topic ou tuto sur Marlin et sa configuration générale.

Developpement in progress

SD card reader ==> OK (13/04/2019)

Touch Screen ==> OK (13/04/2019)

Retour arrière vers firmware d'origine ==> OK. Procédure à écrire. Tuto à update

USB port ==> OK ! (14/04/2019)

USB port Full speed ==> OK ! (250K) (14/04/2019)

BL-Touch ==> Config et schéma OK. Attente et tests prévu le 25/04/2019

Flash via carte SD ==> OK ! (20/04/2019)

(v6, update du 21/04/2019).

===================================================================================================================================================================

Comme promis, voici LE tuto sur l'installation de Marlin 2.x sur AlfaWise U20, U20+ et U30

(v4.2 update du 22/04/2019)

  • IMPORTANT / RAPPEL
    • Marlin est aujourd'hui le firmware OpenSource le plus populaire des imprimantes 3D. Alors que la version la plus répandu est encore Marlin 1.x.x, la version 2.x est toujours en cours de développement. Cette dernière apporte le support en natif des carte-mères en 32bits de type ARM, bien plus puissantes. 
    • Les développeurs actuels n'ayant pas inclus les cartes de chez Alfawise, nous avons donc créé un fork de la dernière bêta de Marlin 2.x. La version proposée aujourd'hui est donc une bêta stable. Pour ces raisons et malgré notre travail, des bugs peuvent être rencontrés.
    • Il est désormais possible de revenir totalement en arrière et de reflasher avec le firmware d'origine. La procédure est en cours de rédaction.
    • Flasher votre imprimante est une opération non anodine et peut rendre inutilisable cette dernière de façon temporaire ou définitive. Veillez à suivre scrupuleusement toutes les explications et recommandations, plusieurs fois, et de faire tout cela au calme sans précipitation.
    • Vous perdrez l'environnement graphique que vous connaissez sur l'écran de vos machines. En effet, cela demande un développement spécifique qu'il faudra là encore produire. Vous aurez à la place un affichage plus austère, mais néanmoins efficace. Nous travaillerons plus tard sur une nouvelle intégration graphique.
    • L'écran tactile est parfaitement fonctionnel en version 1.1 et 1.2
    • L'imprimante fonctionne parfaitement sous Marlin avec un Octoprint.
    • Toutes les cartes mères excepté celle de la U10 sont compatibles !
    • Vous pourrez au choix, soit directement utiliser la dernière version compilée en PJ de ce post, soit personnaliser votre propre version de Marlin pour votre machine.
    • Marlin permet également de corriger le problème de baudrate en USB, ce qui causait des impressions de mauvaises qualités ou ratés à contrario de la carte-sd, comme vu ici :
  • Archive (obsolète) :
  Révéler le texte masqué
    • Marlin est aujourd'hui le firmware OpenSource le plus populaire des imprimantes 3D. Alors que la version la plus répandu est encore Marlin 1.x.x, la version 2.x est toujours en cours de développement. Cette dernière apporte le support en natif des carte-mères en 32bits de type ARM, bien plus puissantes. 
    • Les développeurs actuels n'ayant pas inclus les cartes de chez Alfawise, nous avons donc créé un fork de la dernière bêta de Marlin 2.x. La version proposée aujourd'hui est donc une bêta, d'une bêta. Pour ces raisons et malgré notre travail, des bugs peuvent être rencontrés.
    • A l'heure actuelle, flasher votre alfawise sera une opération irréversible. En effet, vous ne pourrez plus flasher votre firmware d'origine. En cause, nous n'avons pas encore pu bricoler sur le bootloader. Certaines informations nous échappent et ne sont pas communiquées par le constructeur.
    • Il est désormais possible de revenir totalement en arrière et de reflasher avec le firmware d'origine. La procédure est en cours de rédaction.
    • Flasher votre imprimante est une opération non anodine et peut rendre inutilisable cette dernière de façon temporaire ou définitive. Veillez à suivre scrupuleusement toutes les explications et recommandations, plusieurs fois, et de faire tout cela au calme sans précipitation.
    • Vous perdrez l'environnement graphique que vous connaissez sur l'écran de vos machines. En effet, cela demande un développement spécifique qu'il faudra là encore produire. Vous aurez à la place un affichage plus austère, mais néanmoins efficace.
    • Le tactile de l'écran ne fonctionne pas encore.
    • L'écran tactile est parfaitement fonctionnel en version 1.1 et 2.1
    • Le lecteur de carte SD est à tester.
    • L'imprimante fonctionne parfaitement sous Marlin avec un Octoprint.
    • A ce jour, il existe des versions de cartes-mère qui présentent un problème matériel supposé sur le processeur ou un composant d'alimentation, empêchant une ou plusieurs fonctions avec le firwmare Marlin. Ce problème diffère au sein même d'une même version de CM. Des investigations sont en cours.
    • Sous réserve des retours d'autres testeurs, TOUTES les cartes-mères d'Alfawise (sauf les U10) sont désormais full compatibles !
    • Toutes les cartes mères excepté celle de la U10 sont compatibles !
    • Marlin permet également de corriger le problème de baudrate en USB, ce qui causait des impressions de mauvaises qualités ou ratés à contrario de la carte-sd, comme vu ici :

 

  • Pourquoi passer sous Marlin ?
    • Tout utilisateur d'Alfawise s'est confronté tôt ou tard aux limitations d'un firmware fermé et limité en options de réglages. Utiliser Marlin permet de configurert de A à Z son imprimante pratiquement dans les moindres détails. Ainsi, chaque utilisateur peut avoir au final SA version de l'OS personnalisé sur sa machine.
    • Des problèmes techniques ou limites techniques sont également habituellement rencontrées.
      • Limitations de vitesses de déplacements du homing, vitesse d'impression MAX,
      • Optimisation/configuration des éléments de chauffe, de sécurité..
      • Ajout d'un palpeur/sonde pour mise à  niveau du bed automatique (Z probe comme un BL-Touch par exemple),
      • Sécurités supplémentaires en cas de problème,
      • Précisions globales des impressions, performances des moteurs,
      • Débit USB limité etc...
    • Bref la liste est longue, et impossible de tout détailler ici. Chacun jugera nécessaire ou non de passer sous cet OS, mais personnellement, le bonheur est total !

 

  • De quoi ai-je besoin ?
    • Plus besoin d'alourdir les dépenses ou la prise de tête, vous pouvez flasher votre firmware directement par la carte SD, et ce, sans aucune modification ! En effet, c'est le bootloader d'origine présent dans le CPU qui se chargera de ce travail.
    • Vous pouvez toujours vous procurer un ST-Link qui vous permettra soit selon le cas des personnes de se faciliter la vie, soit pouvoir debugger, soit en cas de souci débloquer la machine. Si vous êtes intéressé voir l'archive du post d'origine plus bas.
      • Si vous souhaitez personnaliser votre version de Marlin pour votre machine (compilation) :
        •   Masquer le contenu

           

          • Visual Studio Code, téléchargeable ici. Ce logiciel qui est en fait un IDE amélioré, vous permet à la fois de programmer dans différents langages, mais aussi de pouvoir directement travailler avec des ensembles de librairies et plateformes essentielles. De plus, il intègre les outils nécessaires de communications avec différents matériels.
            Vous pourriez aussi bien utiliser Atom, mais nous avons ici pris l’habitude avec VS. Ce tutoriel est donc orienté vers VS.
          • PlatformIO-IDE extension : C'est la plateforme qui permettra de compiler correctement les sources, et de pouvoir flasher.
          • Les sources. Disponibles ici pour la carte-mère et ici pour la calibration de l'écran. Elles contiennent la base de Marlin 2.x, les drivers des composants des cartes-mères Alfawise, ainsi que les configurations et de quoi calibrer votre écran. Sources pour l'écran, Uniquement disponible pour les développeurs et testeurs pour l'instant.
          • Des manuels de référence de Marlin pour le fichier configuration.h et configuration_adv.h
          • De la patience et du sérieux. Et oui, on a tendance à aller trop vite, ou ne lisant que la moitié des informations ce qui a pour effet de bloquer votre matériel ou de poser des questions intitules.
          • Du dump du firmware d'origine en cas de problème, ou si vous avez déjà flashé avec une vielle version : AlfaWiseuX-Stock-Dump.rar

           

           

      • Si vous ne souhaitez pas personnaliser votre version de Marlin pour votre machine (flash seul) 
  • Archive (obsolète) :
  Révéler le texte masqué
  • De quoi ai-je besoin ?
    • Vous devez vous équiper d'un module ST-Link V2. Ce module permet de communiquer directement avec la mémoire et le processeur de votre carte-mère. Il permettra donc de flasher ou debuger cette dernière. Il existe multitude de clone qui donneront des résultats variables, et pour les pires, pourraient endommager votre carte-mère.
    • Update 20/04/2019 Suite aux dernières investigations de ce jour, le ST-Link n'est plus obligatoire, et vous pourrez Flsher Marlin directement par la carte SD comme avec le firmware d'origine ! Si vous possédez déja un ST-link, ne vous en débarrassez pas, il pourra vous servir à debuger votre imprimante, ou la remettre en état en cas de mauvais flash ou d'utilisation avancée.
      • Aussi il est conseillé de vous procurer une version officielle comme celle-ci :

image.png.e739f81af5dfead353de5a40cd00fcf5.png

                                    Si vous êtes pressé, et disposez de moins de budget, vous pouvez tenter l'aventure avec celui-là :  

image.png.e078abde0ad1fdb58b8c5e638c3fe1ca.png

                                   Il en existe d'autres un peu partout. Il s'agit de clones qui encore une fois, pourront au mieux ne pas fonctionner, au pire rendre votre imprimante inutilisable. A vous de voir.

  • Visual Studio Code, téléchargeable ici. Ce logiciel qui est en fait un IDE amélioré, vous permet à la fois de programmer dans différents langages, mais aussi de pouvoir directement travailler avec des ensembles de librairies et plateformes essentielles. De plus, il intègre les outils nécessaires de communications avec différents matériels.
    • Vous pourriez aussi bien utiliser Atom, mais nous avons ici pris l’habitude avec VS. Ce tutoriel est donc orienté vers VS.
  • PlatformIO-IDE extension C'est la plateforme qui permettra de compiler correctement les sources, et de pouvoir flasher.
  • Les sources. Disponibles ici pour l'instant. Elles contiennent la base de Marlin 2.x, les drivers des composants des cartes-mères Alfawise, ainsi que les configurations. Uniquement disponible pour les développeurs et testeurs pour l'instant.
  • De la plateforme STM32, à intégrer dans PlatformIO.
  • Des manuels de référence de Marlin pour le fichier configuration.h et configuration_adv.h
  • De la patience et du sérieux. Et oui, on a tendance à aller trop vite, ou ne lisant que la moitié des informations ce qui a pour effet de bloquer votre matériel ou de poser des questions intitules.

Vous avez pris votre décision ?

Vous avez dégagé tout élément perturbateur autour de vous ? (Votre femme, votre homme, vos enfants, votre chat vos amis (si vous êtes ici à cette heure c'est que vous n'en avez pas).

Alors allons-y !

 

 Vous avez pris votre décision ?

Vous avez dégagé tout élément perturbateur autour de vous ? (Votre femme, votre homme, vos enfants, votre chat vos amis...)

Alors allons-y !

 

Méthode personnalisée AVEC compilation :

  Masquer le contenu

 

  • Plus besoin d'alourdir les dépenses ou la prise de tête, vous pouvez flasher votre firmware directement par la carte SD, et ce, sans aucune modification ! En effet, c'est le bootloader d'origine présent dans le CPU qui se chargera de ce travail.
  • Vous pouvez toujours vous procurer un ST-Link qui vous permettra soit selon le cas des personnes de ce faciliter la vie, soit pouvoir debugger, soit en cas de souci débloquer la machine. Si vous êtes intéressez voir l'archive du post d'origine plus bas.
  • On récupère les sources sous la forme d'une archive sur le gihthub.     

 image.png.e7c3fb147f91d2f2e7ce8ba0daa468c4.png

  • On décompresse dans un répertoire avec une arborescence la plus courte possible, les deux archives récupérées comme indiqué au dessus (Marlin et le LCD Touch ToolKit). On installe Visual Studio code (rien de particulier à faire durant l'installation). On ouvre Visual Studio. On se rend dans le menu extension, puis on tape dans le champs de recherche "PlatformIO-ide". Il apparaît alors dans la liste. Il suffit de cliquer dessus, puis de faire '"install".

image.png.84ad4ef664933ab1b7fceac268a674a2.png

  • Platform IO sera représenté par une sorte de tête d'alien bien plus gentil que dans les films éponymes. Si l'affichage n'est pas automatique, sur la barre de gauche, ou ouvre platform IO. Il  apparaîtra  alors sur la page central, comme un sous-programme.

 

image.thumb.png.aeca11caed9f9da5352047db32154f3f.png

  • Dans Platform IO, on va dans "Platforms" puis "embedded", dans le champ de recherche, on tape" STM32". On clique sur la platform trouvée, mais ATTENTION ! N'installez pas directement cette dernière !
  • En dessous de "install", dans la liste déroulante, sélectionnez la version 5.3.0. Et cliquez sur "install".
  • Revenez à la page d'accueil de Platform IO, et cliquer sur "'Open Project". Dans la fenêtre qui s'ouvre, sélectionnez la racine du dossier que vous avez décompressé. Attendez un petit peu que PlatformIO index les fichiers, qui apparaîtrons sur la gauche sous forme de liste. Sur la liste de gauche, on sélectionne "platformio.ini". Ce dernier s'ouvre alors sous forme d'onglet sur la partie centrale. La partie haute du fichier doit absolument être être comme ceci : 

 

  Masquer le contenu
#
# Marlin Firmware
# PlatformIO Configuration File
#
# For detailed documentation with EXAMPLES:
#
#
 
# Automatic targets - enable auto-uploading
# targets = upload
 
#
# By default platformio build will abort after 5 errors.
# Remove '-fmax-errors=5' from build_flags below to see all.
#
 
[platformio]
src_dir = Marlin
build_dir = .pioenvs
lib_dir = .piolib
libdeps_dir = .piolibdeps
boards_dir = buildroot/share/PlatformIO/boards
env_default = alfawise_uX0
 
[common]
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
build_flags = -fmax-errors=5
-g
-ggdb
lib_deps =
LiquidCrystal@1.3.4
TMCStepper@<1.0.0
Adafruit NeoPixel@1.1.3

 

  • Un peu plus bas, vous devrez retrouver la section "Alfawise U20/U20+/U30 (STM32F103VET6)", exactement comme ceci :

 

  Révéler le texte masqué
#
# Alfawise U20/U20+/U30 (STM32F103VET6)
#
[env:alfawise_uX0]
platform = ststm32@5.3.0
framework = arduino
board = genericSTM32F103VE
debug_tool = stlink
upload_protocol = stlink
monitor_speed = 250000
extra_scripts = buildroot/share/PlatformIO/scripts/alfawise_Ux0.py
build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags}
-DSTM32_HIGH_DENSITY
src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
lib_deps = ${common.lib_deps}
lib_ignore = c1921b4
libf3c
lib066
Adafruit NeoPixel_ID28
Adafruit NeoPixel
libf3e
TMC26XStepper

 

  • Peu importe l'imprimante que vous avez, il faut bien laisser les mentions "uX0" comme tel. Effectivement, des flags ont été ajoutés dans le fichier Configuration.h qui permettent automatiquement de compiler correctement, selon la version de machine que vous avez. Enfin, enregistrez.
  • Justement, nous allons voir ici comment gérer ces paramètres pour compiler avec la bonne version de votre machine. Sur la gauche, ouvrir le fichier Configuration.h.
  • Vers la partie haute du fichier, les lignes 83, 84, 85 définissent les variables qui permettent d'aller prendre la bonne configuration. Il vous suffit de dé-commenter celle correspondant à votre machine, en supprimant les deux "//" au début de la variable, pour prendre en charge la bonne version.
    • Exemple pour une AlfaWise U20

 

  Révéler le texte masqué
//===========================================================================
//============================= Alfawise Printer ============================
//===========================================================================
 
// Forum link to help with a tutorial, in French! :
//
// 1 - Select your Alfawise U30 or U20 or U20+printer, but ONLY ONE!!
 
// U20_PLUS is not tested, as we do not have a printer to test.
// Print bed PID settings MUST be tuned
 
//#define U20_PLUS
#define U20
//#define U30

 

  • Il faut maintenant sélectionner la bonne version de vôtre écran. Pour ce faire, dans la partie un peu en dessous, on trouvera les lignes 98 et 99. 
  • Pour savoir quelle est votre version d'écran, il vous faut ouvrir votre module de contrôle, et regarder au dos de l'écran l'étiquette.
  • Par exemple ici une V1.1
    • image.thumb.png.392748b09172beb8e0914976f74e7e5c.png

 

  • Ce qui nous donnera dans le Configuration.h :
    •   Masquer le contenu
      // 3 - Select the touch panel version, either 1.1 or 1.2. Most recent touch panel in France are V 1.2. Blue PCB
      // V1.1 panels seem to be older, and came with green PCB. This selection only influence the calibration data
      // Should calibration need to be redone, please follow the French Tutorial!
       
      #define TS_V11
      //#define TS_V12

 

  • Pour configurer les bons paramètres de calibration du tactile de l'écran, que l'on placera dans Configuration.h,  il faut utiliser les secondes sources indiquées précédemment.
  • On décompresse donc "Alfawise_Ux0_LCD_Touch_Toolkit " et on suit la même procédure que le reste, jusqu’à ouvrir correctement les sources dans PlatformIO.
  • Cette fois il n'y a rien à faire, on se contente d'aller dans le menu "Terminal", puis sélectionner "Run build task".
  • Un petit menu déroulant apparaît, on sélectionne "PlatformIO: Build". La compilation ce fait alors.
  • On se rend dans le dossier de ces mêmes sources, puis dans ".pioenvs\Longer3D". On y trouve alors un fichier nommé "firmware.bin". Renommez-le en "project.bin", et finalement, copiez le à la racine de votre carte SD habituelle (formatée en FAT32), accompagnée du fichier "longer3D.UI".
  • Imprimante éteinte, insérer votre carte SD, puis démarrer l'imprimante. Vous êtes en train de flasher un petit programme qui permet d'identifier et calibrer l'écran.
  • Vous devriez avoir une première grosse barre au centre qui défile assez vite, puis une petite en dessous qui défile doucement :

image.png.f16a929211ac61d03f4ca838efd666ae.png

 

  • Si tout est OK, la machine redémarrera avec un petit menu qui vous demande de calibrer votre écran. Il vous suffit de cliquer avec votre meilleur doigt, sur les angles indiqués par une croix. La calibration est en cours. Dès que ce sera fini, l'écran affiche un récap : 

 

ecran-calib.thumb.jpg.6f0682c1d5859f286f659518054b0b26.jpg

  • Notez bien les informations de calibration sur un bout de papier, ainsi que le Controller. Puis éteignez la machine et revenez dans PlatformIO.
  • Dans notre fichier Configuration.h (pas celui de l'écran, celui des sources Marlin), on se rend vers la fin du fichier, à partie de la ligne 2063.
  • Pour simplifier les compilations, cette partie de la configuration a été conditionnée, comme on l'a vu un peu plus haut, en activant les bons paramètres de l'écran. Mais il est préférable de faire la votre pour être sur qu'elle soit optimale.
  • On reporte donc dans la bonne condition, ici celle avec TS_V11, les paramètres de calibration que nous avons trouvé : 

 

  Révéler le texte masqué
// Calibration data coming from external calibration software package
// Alfawise_Ux0_LCD_Touch_Toolkit
 
#if ENABLED(TOUCHSCREEN)
 
#if ENABLED(TS_V11)
// Alfawise Ux0 ILI9341 2.8 TP Ver 1.1 / Green PCB ( on the back of touchscreen) */
#define XPT2046_X_CALIBRATION 11605
#define XPT2046_Y_CALIBRATION 9091
#define XPT2046_X_OFFSET -24
#define XPT2046_Y_OFFSET -17
#endif

 

  • Cette fois, notre fichier de Configuration.h est prêt. En tout cas la configuration standard qui vous permet de faire fonctionner votre machine et personnalisée la calibration. Il ne tiens qu' à vous désormais d'aller fouiller, tester, configurer, compiler votre Marlin !
  • A ce sujet, nous ne détaillerons pas ici ou ailleurs dans ce topic, comment utiliser ou configurer Marlin. Il y a bien assez d'informations à ce sujet partout sur Internet, et sur le manuel de référence cité avant.
  • Cette fois, on compile Marlin ! On va de nouveau dans le menu "Terminal", puis sélectionner "Run build task". Un menu déroulant apparaît bien chargé cette fois. On sélectionne "PlatformIO: Build (Alfawise_uX0)". La compilation se fait alors. Un Terminal s'ouvre vers le bas de votre interface, comme pour la compilation de la calibration de l'écran.
  • Si tout est OK, vous devriez voir ceci :

image.thumb.png.df275a7594703499c97ea7f82125958c.png

  • On récupère alors le firmware compilé dans votre dossier de sources, puis "pioenvs\Longer3D", nommé project.bin (automatiquement généré avec le nom correct)
  • Copiez le à la racine de votre carte SD. Assurez-vous là aussi, de bien avoir le longer3d.ui à la racine de la carte.
  • Machine éteinte, on insère la carte SD dans le module de contrôle de l'imprimante, puis on la démarre. 
  • Une grande barre de progression apparaîtra au centre, puis une seconde plus petite en dessous qui mettra plus de temps à défiler, le flash est en cours...

image.png.f16a929211ac61d03f4ca838efd666ae.png

  • Une fois terminé, votre imprimante doit redémarrer toute seule, et faire apparaître le nouveau menu Marlin, "colorisé" à la main comme au bon vieux temps par @Hobi
  • Si l'écran fige sans redémarrer, éteindre l’imprimante de force et rallumez-là. Si vous n'êtes pas sous Marlin, renouveler les opérations de ce tuto une nouvelle fois. Si l'échec persiste, signalez vous sur ce topic.

 

Votre flash est terminé ! Félicitations, vous faites comme les grands y font !

 

 

Méthode standard SANS compilation (flash seul) :

  Masquer le contenu
  • Ici donc, on s'attaque à la méthode la plus simple, mais qui laissera les paramètres par défaut que nous avons apporté à ce portage Marlin pour Alfawise (qui fonctionnent très bien rassurez-vous !)
  • il existe 3 versions d'Aflawise compatibles, et 2 variantes au niveau de l'écran : U20, U20+ et U30. Et v1.1, V1.2 pour l'écranVous devrez donc utiliser la version de firmware compilée qui correspond à votre machine dans la partie "De quoi ai-je besoin ?"
  • Pour rappel, cette méthode ne vous permet pas de bénéficier en natif de vos valeurs PID, que vous devrez dans tous les cas re-régler pour vos machines. Plus d'infos sur les PID.
  • Prenez votre carte SD habituelle déjà préparée (formatée en FAT32 et non je ne vous dirais pas comment on fait...), puis décompresser l'archive téléchargée contenant la bonne version de votre firmware.
  • Copiez sans renommer le fichier "project.bin" à la racine de votre carte SD. Assurez-vous que le fichier longer3D.UI soit bien à la racine de votre carte. Dans le cas contraire, récupérez le et copiez-le dessus.
  • Imprimante éteinte, insérer cette dernière dans le lecteur SD de votre module de commande.
  • Allumez votre imprimante. Une grande barre de progression apparaîtra au centre, puis une seconde plus petite en dessous qui mettra plus de temps à défiler, le flash est en cours...

image.png.f16a929211ac61d03f4ca838efd666ae.png

  • Une fois terminé, votre imprimante doit redémarrer toute seule, et faire apparaître le nouveau menu Marlin, "colorisé" à la main comme au bon vieux temps par @Hobi
  • Si l'écran fige sans redémarrer, éteindre l’imprimante de force et rallumez-là. Si vous n'êtes pas sous Marlin, renouveler les opérations de ce tuto une nouvelle fois. Si l'échec persiste, signalez vous sur ce topic.

Votre flash est déjà terminé ! Et oui. Déçu ? C'est peut-être l'occasion de passer bientôt à l'étape de personnalisation de votre firmware !

Voir Méthode personnalisée AVEC compilation

 

Archives (obsolète) :

  Révéler le texte masqué

 

  • Plus besoin d'alourdir les dépenses ou la prise de tête, vous pouvez flasher votre firmware directement par la carte SD, et ce, sans aucune modification ! En effet, c'est le bootloader d'origine présent dans le CPU qui se chargera de ce travail.
  • Vous pouvez toujours vous procurer un ST-Link qui vous permettra soit selon le cas des personnes de ce faciliter la vie, soit pouvoir debugger, soit en cas de souci débloquer la machine. Si vous êtes intéressez voir l'archive du post d'origine plus bas.

On récupère les sources sous la forme d'une archive sur le gihthub.      image.png.e7c3fb147f91d2f2e7ce8ba0daa468c4.png On décompresse dans un répertoire avec une arborescence la plus courte possible. On installe Visual Studio code (rien de particulier à faire durant l'installation). On ouvre Visual Studio. On se rend dans le menu extension, puis on tape dans le champs de recherche "PlatformIO-ide". Il apparaît alors dans la liste. Il suffit de cliquer dessus, puis de faire '"installer". Platform IO sera représenté par une sorte de tête d'alien bien plus gentil que les films. image.png.84ad4ef664933ab1b7fceac268a674a2.png Si l'affichage n'est pas automatique, sur la barre de gauche, ou ouvre platform IO. Il  apparaîtra  alors sur la page central, comme un sous-programme image.thumb.png.aeca11caed9f9da5352047db32154f3f.png Dans Platform IO, on va dans "Platforms" puis "embedded", dans le champ de recherche, on tape" STM32". On clique sur la platform trouvée, mais ATTENTION ! N'installez pas directement cette dernière ! En dessous de "installation", dans la liste déroulante, sélectionnez la version 5.1.0. Et cliquez sur "install". Revenez à la page d'accueil de Platform IO, et cliquer sur "'Open Project". Dans la fenêtre qui s'ouvre, sélectionnez la racine du dossier que vous avez décompressé. Attendez un petit peu que PlatformIO index les fichiers, qui apparaîtrons sur la gauche sous forme de liste. Sur la liste de gauche, on sélectionne "platformio.ini". Ce dernier s'ouvre alors sous forme d'onglet sur la partie centrale. La partie haute du fichier doit absolument être être comme ceci : 

Peu importe l'imprimante que vous avez, il faut bien laisser les mentions "u30" comme tel. Cela sera changé plus tard dans une autre version. Enfin, enregistrez.

Je ne détaillerai pas ici comment configurer Marlin, ou du moins le personnaliser. Vous avez de la documentation sur le site officiel. Nous sommes prêts pour la compilation.

Allez dans le menu "Terminal" et sélectionner "Run build task". Un menu bien rempli apparaît. Sélectionnez "PlatformIO : Build (alfawise_u30)". Un menu en bas s'affichera alors sous forme de terminal, faisant apparaître tout un tas de lignes. Si tout se passe bien, vous devriez avoir ceci : image.thumb.png.df275a7594703499c97ea7f82125958c.png

On passe alors au montage. On éteint son imprimante. Pour des raisons pratiques, on dégage sa carte mère à l’extérieur. Le STlink alimentera suffisamment une petite partie de la carte mère, intitule de rester près du module de contrôle de l'imprimante, vous pouvez TOUT débrancher, à l'exception de l'écran.

On connecte le STLink à la carte mère. On part du principe que vous avez pris un clone d'assez bonne qualité, comme la deuxième photo de ce tuto.                                                                      ATTENTION : Les brochages peuvent varier d'un modèle ST-Link à l'autre.              Voici les branchements image.png.84cc5b1ec54d7931d07b04b1c056c05d.png

Nous utiliserons sur le module, les broches : 1, 2, 4, 6, et 7.

Côté carte mère image.thumb.png.431fe2507384b33facc62294f6f0c677.png

Assurez-vous que les fils sont bien connectés et au bon endroit plusieurs fois. l'électronique pourrait ne vraiment pas apprécier... Les chiffres  en rouge sur la photo ci-dessus, correspondent aux brochage du connecteur ST-Link.

Aller, on y est presque ! On connecte notre module USB ST-link. Ce dernier doit faire allumer l'écran relié à la carte-mère alors sans alimentation 24V. On retourne sous PlatformIO. Sur la gauche on clique sur notre tête d'alien. Toujours sur la gauche, en haut dans le sous menu "Project Tasks", on clique sur "upload". Dans la même fenêtre que pour la compilation, on voit de nouveau du texte apparaître. On y voit notamment les différentes commandes et réponses entre votre PC et votre carte-mère. Si tout c'est bien passé, vous devriez voir ceci :image.thumb.png.58a6aa2bd102e2084247c5542cef1d3d.png 

Mais surtout, votre écran devrait redémarrer tout seul, et faire apparaître... Le menu principal de Marlin 2.x ! 

 

Voilà, vous avez Flashé votre machine avec Marlin 2-x, amusez-vous bien !

##### Remerciements #####

Aux tauliers du forum et du site, 

@Hobi et @Epsylon3 @jmz52 pour leur remarquable travail de Recherche & Développement,

A tous les bêta-testeurs @Crzay, @Oniric@Sylvain37, @wipeout85800, @BarthDVS, @beber75 désolé si j'en oublie...

Cliquez sur le petit bouton merci, ça fera du bien à tous les participants !🙂

###########################################

 

image.thumb.png.297bb9e7931ae0c7aa93e6bcfc9ff3f0.png

 

image.png.ac7ab4c52091e232fda8676e170b04d1.png>>

=======================================================================================================================

Archive/Genèse du projet 1 :

  Révéler le texte masqué

Salut tout le monde,

Il est bien tôt pour un dimanche, mais je me permet de créer ce sujet quelques minutes après avoir pu pénétrer le cœur de notre imprimante favorite 🙂

DSC_0132_2.thumb.jpg.f8f283b22f472217994c8545fe941aab.jpg

Apparemment je suis le premier pour avoir discuté avec quelques spécialistes. Tout ça pour dire que ça ouvre peut-être des portes sur "l'openification"' de cette machine.

Caractéristiques :

  • Modèle Carte-mère : Longer3D Icecube3 STM32F1 (ça on le savais plus ou moins déjà)
  • OS : µC/OS-III 
  • Type OS : RTOS (Real Time Operating System)
  • Kernel-Release-Date : 05/12/2012
  • Firmware version : 08/10/2018
  • Date de fabrication de la CM : 31/10/2017 (données logicielles)
  • Max BuildSize : 300x300x400mm (on le savait déja, mais ça rassure toujours de voir que c'est bien programmé pour ^^)
  • Fichier de configuration Config.gco
  • BootLoader : OUI. Pas de protection détectée.
  • Environnement de dev : QT

Je note également que la carte était prévue et est même configurée pour le wifi.

Voilà l'aventure commence, et j'espère rapidement pouvoir avancer sur le sujet 🙂 

Petite image

image.thumb.png.05a0a21cff1d5a67351fe0f105ceac4b.png

Archive/Genèse du projet 2:

  Révéler le texte masqué

 

Bonsoir,

Je fais le trie dans ce premier post suite aux avancées récentes pour proposer un firmware alternatif sur nos chères Alfawise.

Aussi, en update de ce jour, 11/04/2018, une première version de Marlin 2.x est enfin disponible pour les U20-U30-U20+.

MISES EN GARDE

1- Attention, il s'agit d'une "bêta" voir d'une alpha...

2- Je vais rapidement faire un tuto sur le sujet, mais sachez que pour l'instant, flasher votre carte-mère est irréversible et ne permet pas de replacer l'ancien firmware d'origine.

3- De plus, cette manipulation comporte des risques, dont nous ne saurions êtres tenus responsable. Soyez sur de ce que vous faites !

4- Toutes les U20, U30 et U20+ n'ont pas les mêmes versions d'hardware, des dysfonctionnements partiels ou total peuvent êtres constatés.

5- Des bugs sont encore bien sur présents, et à ce jour aucun test en conditions réelles n'a encore été effectué.

Voici une version compilée en attendant les sources sur un git :

 

bonjour merci pour se sujet très intéressant est ce que on peut changer certaine valeur pour printer avec un e3dv6 avec la thermistance du e3dv6

 

j'ai trouver ceci https://e3d-online.dozuki.com/Guide/V6+Marlin+Configuration/5?lang=en

 

est ce que cela peut vous intéresser car je ne comprend pas trop tout sa

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

il y a 17 minutes, djlex37170 a dit :

bonjour merci pour se sujet très intéressant est ce que on peut changer certaine valeur pour printer avec un e3dv6 avec la thermistance du e3dv6

 

j'ai trouver ceci https://e3d-online.dozuki.com/Guide/V6+Marlin+Configuration/5?lang=en

 

est ce que cela peut vous intéresser car je ne comprend pas trop tout sa

http://www.cr10.fr/le-guide-malin-de-marlin/ Bonne base pour apprendre.

Comme écrit en GROS en ROUGE, ce topic n'est pas là pour configurer Marlin. Tu peux poser ta question en ouvrant un sujet dédié. Mais d'abord en faisant des recherches et beaucoup de lecture.

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Hello, bon j'ai fait un test de compil ce matin ..... je découvre/debute vs vscode .... en suivant le tuto pas a pas il semble qu'il manque des choses pour compiler ..... quand je lance le build :

Je cite :

LibraryManager: Installing SailfishLCD
Error: Please install Git client from https://git-scm.com/downloads
The terminal process terminated with exit code: 1

Je creuserai ce soir ....

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, wipeout85800 a dit :

Hello, bon j'ai fait un test de compil ce matin ..... je découvre/debute vs vscode .... en suivant le tuto pas a pas il semble qu'il manque des choses pour compiler ..... quand je lance le build :

Je cite :

LibraryManager: Installing SailfishLCD
Error: Please install Git client from https://git-scm.com/downloads
The terminal process terminated with exit code: 1

Je creuserai ce soir ....

Tu est le deuxième à avoir ça. Il faut installer git pour charger des librairies. 

Lien vers le commentaire
Partager sur d’autres sites

Sailfish lcd... on a vraiment besoin de cette lib??? Ou on va y pêcher des fonts ou un truc du genre...?

Lien vers le commentaire
Partager sur d’autres sites

je sais pas 😛 mais faut git pour le reste de toute facon

.pioenvs/alfawise_uX0/lib006/SailfishLCD/SailfishLCD.cpp.d:.pioenvs/alfawise_uX0/lib006/SailfishLCD/SailfishLCD.cpp.o: \
 

 

Marlin/src/lcd/HD44780/ultralcd_HD44780.h:94:  #include <SailfishLCD.h>
 

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

Hello en suivant le tuto avec compilation voici les coquilles que j ai trouvé rien de grave hein comparé au super boulot accomplie ce sont des détail 😛

  • PlatformIO demande la création de compte, est elle obligatoire ?
  • section De quoi ai-je besoin ?

Visual Studio Code, téléchargeable ici ==> Pas de liens https://code.visualstudio.com/

ici pour la calibration de l'écran. ==> Liens non fonctionnel mais on sait pourquoi

  • Section Méthode personnalisée AVEC compilation :
  • Un peu plus bas, vous devrez retrouver la section "Alfawise U20/U20+/U30 (STM32F103VET6)", exactement comme ceci :
build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags}
-DSTM32_HIGH_DENSITY

Perso j ai ca : 

build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags} -O3 -Wno-unused-variable
-DSTM32F1xx

On copie/colle les info du tuto ou pas ?

  • Sur la gauche, ouvrir le fichier Configuration.h. ==> Je suppose que c'est celui dans .\config\default  ou ceux dans exemple stm32 ==> Edit ben non pas trouvé les lignes 83, 84, 85 correspondante à la modification à faire donc ou est ce fichier 😛

Et je m arrête là car n ayant pas Alfawise_Ux0_LCD_Touch_Toolkit impossible d aller plus loin 

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

il y a 19 minutes, Acidounet a dit :
  • Sur la gauche, ouvrir le fichier Configuration.h. ==> Je suppose que c'est celui dans .\config\default  ou ceux dans exemple stm32 ==> Edit ben non pas trouvé les lignes 83, 84, 85 correspondante à la modification à faire donc ou est ce fichier 😛

Celui du sous-répertoire Marlin je crois

Modifié (le) par boleofr
  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, lilooo66 a dit :

Bonjour messieurs, dames;

est-il possible qu'une personne ayant déjà téléchargé le fichier pour la config de l'écran le partage.

En effet impossible à télécharger sur GITHUB.

Merci par avance, cordialement.

Bonjour. Ce soir! 

Lien vers le commentaire
Partager sur d’autres sites

il y a 44 minutes, Acidounet a dit :

Hello en suivant le tuto avec compilation voici les coquilles que j ai trouvé rien de grave hein comparé au super boulot accomplie ce sont des détail 😛

  • PlatformIO demande la création de compte, est elle obligatoire ?
  • section De quoi ai-je besoin ?

Visual Studio Code, téléchargeable ici ==> Pas de liens https://code.visualstudio.com/

ici pour la calibration de l'écran. ==> Liens non fonctionnel mais on sait pourquoi

  • Section Méthode personnalisée AVEC compilation :
  • Un peu plus bas, vous devrez retrouver la section "Alfawise U20/U20+/U30 (STM32F103VET6)", exactement comme ceci :

build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags}
-DSTM32_HIGH_DENSITY

Perso j ai ca : 


build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags} -O3 -Wno-unused-variable
-DSTM32F1xx

On copie/colle les info du tuto ou pas ?

  • Sur la gauche, ouvrir le fichier Configuration.h. ==> Je suppose que c'est celui dans .\config\default  ou ceux dans exemple stm32 ==> Edit ben non pas trouvé les lignes 83, 84, 85 correspondante à la modification à faire donc ou est ce fichier 😛

Et je m arrête là car n ayant pas Alfawise_Ux0_LCD_Touch_Toolkit impossible d aller plus loin 

Bonjour,

 

Le bon, c'est celui la ! 

build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py
${common.build_flags} -O3 -Wno-unused-variable
-DSTM32F1xx

 

Et pour ce qui est du touch, pas grave, passez cette etape. 

Si votre PCB d'ecran est bleu V12., et utilisez le calibrage par défaut qui est deja dans le code. 

A+ 

Lien vers le commentaire
Partager sur d’autres sites

Pour les PID , j'ai beau testé le M500 :x rien nada redémarrage de la becanne mes pas/mm reviennent a 80 :x , bon en tout cas la qualitée est la, j'ai fait un petit script qui me re balance les pid et les pas/mm 😉 ... " je suis passé par le mode SD grosse flem de flasher la carte réellement 😛 

 

en tout cas vous avez bien bossé . merci a vous 

Lien vers le commentaire
Partager sur d’autres sites

C'est en cours de resolution. 

Passer par la SD c'est ce qu'il faut faire. le STLink apporte rien de plus sauf si gros probleme necessitant Debug. 

En attendant, compilez votre code et mettez vos parametres en dur dans Config.H. 

Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, Hobi a dit :

C'est en cours de resolution. 

Passer par la SD c'est ce qu'il faut faire. le STLink apporte rien de plus sauf si gros probleme necessitant Debug. 

En attendant, compilez votre code et mettez vos parametres en dur dans Config.H. 

je crois bien que je vais devoir faire ça lol , pfff la simplicité est toujours mieux 😛 ... bon bas on va bosser sur le sujet

 

P.S. M500 seul me remet mes parametres a 80 pas/mm par contre quand il est dans le fichier avec :

M92 X79.5 Y79.5 ;

m500 ;

pas de souçis ... sauf au redémarrage y'a un truc 😉 je vais chercher 😛 

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

Le plus simple c'est de faire :

  • Installation de git https://git-scm.com/download/win
  • Avec "Git GUI" pour récupérer les sources (facile pour ceux pas à l'aise avec les lignes de commandes)
  1. choisir "Clone existing repository"
  2. Source location = https://github.com/hobiseven/Marlin_2.0.X_Beta_Alfawise_Ux0
  3. Target directory = * \Marlin_2.0.X_Beta_Alfawise_Ux0-master\

On a d'un coup les sources avec la bonne structure, le client git et un moyen simple de se synchroniser pour récupérer les corrections ultérieures.

Pour les plus malins ça permet même de visualiser/conserver ses modifications lors de la synchro

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

Merci pour à tous ceux qui ont visiblement travaillé très fort sur ce projet.

J'ai essayé de suivre au mieux la conversation mais j'ai 2 ou 3 questions où je n'ai pas vraiment trouvé de réponse:

- est-ce que Marlin intègre une protection contre le thermal runway? (ou bien c'est lié au hardware)

- je lis plusieurs fois que chacun doit régler ses PID. Ayant lu les différents liens proposés, je me gratte quand même la tête pour comprendre d'où viennent les valeurs à renseigner. Est-ce à dire que le firmware proposé n'est pas directement fonctionnel pour une imprimante stock?

- j'ai vu les impressions avant/après que des utilisateurs ont postées, mais dans tous les cas les impressions "Marlin" semblaient moins bonnes. Est-ce dû à un manque de réglages dans Marlin par les utilisateurs ou simplement parce que Marlin v2 est une béta?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, ElectricWaster a dit :

est-ce que Marlin intègre une protection contre le thermal runway? (ou bien c'est lié au hardware)

Oui. Il peut poser problème d'ailleurs sur nos cartes pour l'instant. 

 

Il y a 2 heures, ElectricWaster a dit :

je lis plusieurs fois que chacun doit régler ses PID. Ayant lu les différents liens proposés, je me gratte quand même la tête pour comprendre d'où viennent les valeurs à renseigner. Est-ce à dire que le firmware proposé n'est pas directement fonctionnel pour une imprimante stock?

On vous propose des PID réglés maison pour ne pas vous bloquer qui sont intégrés dans les compiles. Mais chacun aura des données différentes.  Donc ça demande à bien refaire ses réglages chacun de son côté.

Il y a 2 heures, ElectricWaster a dit :

j'ai vu les impressions avant/après que des utilisateurs ont postées, mais dans tous les cas les impressions "Marlin" semblaient moins bonnes. Est-ce dû à un manque de réglages dans Marlin par les utilisateurs ou simplement parce que Marlin v2 est une béta?

Nos bêtas testeurs n'ont eu de baisse de qualité. Mais il est certain que chacun devra tôt ou tard personnaliser sa configuration pour avoir les meilleurs Print possible.. 

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

il y a 4 minutes, CacaoTor a dit :

Ok vous propose des PID réglés maison pour ne pas vous bloquer qui sont intégrés dans les compil. Mais chacun aura des données différentes. 

Merci pour la réponse

Ok, donc ça devrait fonctionner directement. Est-ce que rouler le PID auto-tune est suffisant? Ou bien il y a une autre façon de faire pour trouver le PID d'une imprimante?

Lien vers le commentaire
Partager sur d’autres sites

@CacaoTor surtout pour le bed ....

 

#if ENABLED(U30)
//From M303 command for Alfawise U30 :
#define DEFAULT_bedKp 338.46
#define DEFAULT_bedKi 63.96
#define DEFAULT_bedKd 447.78
#endif
 
#if ENABLED(U20)
//From M303 command for Alfawise U20 :
#define DEFAULT_bedKp 335.36 //wipeout85800
#define DEFAULT_bedKi 58.91 //wipeout85800
#define DEFAULT_bedKd 477.25 //wipeout85800
 
//#define DEFAULT_bedKp 841.68
//#define DEFAULT_bedKi 152.12
//#define DEFAULT_bedKd 1164.25
#endif
Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, ElectricWaster a dit :

Merci pour la réponse

Ok, donc ça devrait fonctionner directement. Est-ce que rouler le PID auto-tune est suffisant? Ou bien il y a une autre façon de faire pour trouver le PID d'une imprimante?

Oui. Tu dois avoir au pire un temps de chauffe augmenté ou un dépassement de la consigne lors de la chauffe de 10-15°C parfois. Ce qui peut suffire à mettre la machine en sécurité.

il y a 56 minutes, wipeout85800 a dit :

@Hobi Il y quand même de sacrés différences concernant les PID en autotune et le fichier .h..... les miens pour une U20 serait proche des valeurs de la U30 du .h ...... Les versions de CM ne pourraient'elles pas influencer sur les valeurs ?

Si bien sur. Notamment les résistances de chauffe qui différent.

Encore une fois, on vous a mis des valeurs pour faire un minimum de choses, mais ensuite c'est du pur "Marlin config".

Il devient urgent de créer un sujet dédié type "Marlin Alfawise configuration" ou quelque chose dans le genre. Bien qu'en soit, n'importe quel sujet déjà ouvert et renseigné sur Marlin sur ce forum fasse l'affaire.

Modifié (le) par CacaoTor
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...