Aller au contenu

GO Print

LCD 12864 de contrôle compatible ?


Virgin22

Messages recommandés

Bonsoir :)

Voici mon marlin  : http://dl.free.fr/o6anUJB9F

Mes paramètres perso à modifier si besoin : 

  • Palpeur sur true
  • Extrudeur E3D
  • Nom de la machine
  • Heatbed activé
  • Bed leveling en 4 points
  • Afficheur I2c SSD1306 : #define U8GLIB_SSD1306

J'ai pratiquement résolu tous les problèmes, juste un qui m'embête (sinon c'est pas marrant :D) : Le ventilo de l'extrudeur ne démarre pas à la mise en route de la machine. 

En manuel ça fonctionne, l'envoi d'un M106 le fait bien tourner et j'arrive à le faire varier avec l'interface de Repetier. Donc ce n'est pas un problème de pins.

J'ai regardé un peu d'où ça pouvais venir, à la ligne 293, le #define DISCO_MINI_FAN_SPEED 130 est bien présent, je ne vois pas d'autre #define qui parle de ça dans le fichier.

J'ai réfléchis dans ma tête :P et je me suis dit que c'est pas plus mal en fait qu'il ne tourne pas tant qu'une impression n'est pas lancée :D. Donc j'ai modifié le fichier XML de cura et j'ai rajouté un M106 S130 en première ligne du header et dégagé les M107 (arrêt ventilo) qui traîne. Le souci c'est qu'il y en a un au tout début du gcode d'impression et celui là n'est pas éditable dans le XML. Du coup pour l'instant j'enlève manuellement le M107 de mes fichiers .g. Voilà où j'en suis pour ça.

(attention si vous chargez ce marlin de ne démarrez surtout pas la chauffe de l'extrudeur avec le ventilo éteint, il y a risque de fonte du support)

 

Autre bizarrerie et autre modification dans le XML, dans le Gend, le M908 ne stoppe pas le ventilo en fin d'impression, j'ai ajouté un M107. (d'ailleurs je ne sais pas ce que ce M908 fait là, dans la doc marlin, il n'est pas censé servir à éteindre le ventilo : M908 - Control digital trimpot directly . Si quelqu'un a une idée )

 

J'ai rencontré un autre souci moins important, la hauteur du Z ne s'affichait pas, après une recherche, cela venait de la ligne 373 à mettre sur false : #define DISABLE_Z false

Ce paramètre désactive l'arrêt automatique des moteurs lorsque ceux-ci ne sont pas utilisés. Je ne vois pas le problème de toujours les garder actif, de plus il est marqué en commentaire : " WARNING: When motors turn off there is a chance of losing position accuracy! " donc si ça peut améliorer quelque chose c'est toujours mieux. Si quelqu'un y voit un prob, n'hesitez pas à intervenir :) .

Voilà pour les soucis rencontrés, j'ai testé une impression, tout se déroule normalement.  

Pour configurer le marlin, je me suis basé sur le firmware dagoma modifié pour le heatbed puis remodifié par r2d2 (vous suivez ? :D ) : http://dl.free.fr/cDmdF2d5k 

Je posterais le fichier configuration.h du nouveau marlin avec tous ce que j'ai bougé dessus pour que ce soit plus clair. pas le temps ce soir.

 

Niveau hardware, j'utilise cet petite chose à pas cher de chez nos amis orientaux : http://www.banggood.com/0_96-Inch-4Pin-White-IIC-I2C-OLED-Display-Module-12864-LED-For-Arduino-p-958196.html

Pour le branchement, attention c'est compliqué :

  • SCL afficheur -> SCL melzi
  • SDA afficheur -> SDA melzi
  • VCC afficheur -> VCC melzi
  • GND afficheur -> GND melzi

Pour l'instant j'ai branché tout en provisoire avec la melzi de traviolle et j'ai fais un magnifique branchement dit "àlarache" pour le palpeur et l'afficheur qui se dispute le 5v. Il va falloir par la suite déporter les pins de la melzi (non accessible à cause d'un stub qui passe devant). J'attend vos suggestions sur ce point :)  

 

Voilà voilà, si vous avez des remarques et une idée d'où vient le prob du ventilo, n’hésitez pas à répondre :) 

@+

 

 

edit : ah oui aussi le FR 100%, je ne sais pas encore à quoi il correspond :D

 

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

Le 31/1/2016 at 10:20, inteloide a dit :

Bonjour à tous,

Si on reste sur l'intégration d'un LCD directement sur la Discovery, j'aimerai vous faire par de mon expérience (pour l'instant non concluante).

J'ai acheté un écran LCD 12864 à 35€, câble et livraison compris sur ce site : http://www.reprap.cn/free-shipping-melzi-lcd-12864-to-upgrade-the-lcd-p-86.html?cPath=10

Je l'ai reçu en 15 jours.

20160128_203406.thumb.jpg.f8881128b2c93d

 

J'ai essayé de mettre le firmware Marlin développé spécialement pour la discovery et le LCD, trouvé un peu plus haut dans ce forum : https://github.com/MM56/Marlin-Dagoma-Discovery, Par contre, un fois installé, l'écran s'allume mais reste vide.

Rien ne se lance (avec ou sans carte SD mise dans l'imprimante)...

Si je débranche l'écran, là encore, rien se ne lance.

Je dois donc réinstaller le précédent firmware.

Quelqu'un a-t-il rencontré le même soucis ?

Essaye de voir avec mon marlin voir si ça fonctionne : commente la ligne de mon afficheur #define U8GLIB_SSD1306 et décommente  #define LCD_I2C_PANELOLU2.

(attention au ventilo)

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

Il y a 13 heures, Dumnac a dit :

 

Autre bizarrerie et autre modification dans le XML, dans le Gend, le M908 ne stoppe pas le ventilo en fin d'impression, j'ai ajouté un M107. (d'ailleurs je ne sais pas ce que ce M908 fait là, dans la doc marlin, il n'est pas censé servir à éteindre le ventilo : M908 - Control digital trimpot directly . Si quelqu'un a une idée )

 

 

edit : ah oui aussi le FR 100%, je ne sais pas encore à quoi il correspond :D

 

Le M908 est modifié dans Marlin_main.cpp de Dagoma (comme pleins d'autre bidules d’ailleurs)

 

      case 908:
        fanSpeed = 0;
        break;
 

 

FR : Flow Rate ? ...... ah bah non, plutot feedrate, controle de la vitesse de la machine

Modifié (le) par Invité
auto-correction ;o)
Lien vers le commentaire
Partager sur d’autres sites

Il y a 12 heures, Dumnac a dit :

 

J'ai pratiquement résolu tous les problèmes, juste un qui m'embête (sinon c'est pas marrant :D) : Le ventilo de l'extrudeur ne démarre pas à la mise en route de la machine. 

 

dans le   Marlin_main.cpp  de Dagoma (encore lui ;o) )

     fonction void setup(), il y a les lignes : 

            #if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
            SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
            #endif
            fanSpeed = 200;

Lien vers le commentaire
Partager sur d’autres sites

Salut @plexy

Merci pour l'info ! c'est effectivement ici que ça se passe mais là ça se complique pour moi :D. La structure du code entre les différentes version de Marlin sont assez différentes donc je m'y retrouve pas trop. 

Si je comprend bien, le but serais d'ajouter dans le marlin offciel un fanSpeed = 200 dans le void setup() et modifier les case 106, 107 et 908

Voici à quoi ça ressemble dans le marlin dagoma :

case 106: //M106 Fan On
        if (code_seen('S')){
           fanSpeed=constrain(code_value(),DISCO_MINI_FAN_SPEED,255); //disco 200: replaced '0' by 'DISCO_MINI_FAN_SPEED' to force minimal fan speed
        }
        else {
          fanSpeed=255; //disco 200: replaced '0' by 'DISCO_MINI_FAN_SPEED' to force minimal fan speed
        }
        break;
      case 107: //M107 Fan Off
        fanSpeed = DISCO_MINI_FAN_SPEED;
        break;
      case 908:
	fanSpeed = 0;

Et à quoi ça ressemble dans le marlin officiel :

case 106: // M106: Fan On
          gcode_M106();
          break;
        case 107: // M107: Fan Off
          gcode_M107();
          break;

Ca renvoi à des fonctions contrairement dans le marlin de dagoma...

De plus il faut aussi s'occuper du M908 dans le marlin offciel qui n'a plus sa fonction native. Un case 909 a été créé dans le marlin dagoma :

case 909: // M908 Control digital trimpot directly.
    {
      #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
        uint8_t channel,current;
        if(code_seen('P')) channel=code_value();
        if(code_seen('S')) current=code_value();
        digitalPotWrite(channel, current);
      #endif

A mon avis pour ça, il faut juste remplacer le case 908 par case 909 dans le marlin offciel, à confirmer :

 #if HAS_DIGIPOTSS
        case 908: // M908 Control digital trimpot directly.
          gcode_M908();
          break;

C'est un peu le bazar, je réfléchis en écrivant :D.

edit : j'ai trouvé ça un peu plus haut dans le marlin officiel ( ligne 3877 )

#if HAS_FAN

  /**
   * M106: Set Fan Speed
   */
  inline void gcode_M106() { fanSpeed = code_seen('S') ? constrain(code_value_short(), 0, 255) : 255; }

  /**
   * M107: Fan Off
   */
  inline void gcode_M107() { fanSpeed = 0; }

c'est plus à faire ici les modif'

 

edit² : bon ça a l'air de fonctionner :) , j'edit mon marlin et je post

 

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

Il est possible que le fanSpeed=200 soit fonctionnel (avec le S majuscule). Il faut chercher très loin pour voir où la valeur est appelé.

Pourquoi s’embêter a modifier le M908, si le M107 marche ;o)

Lien vers le commentaire
Partager sur d’autres sites

Le souci pour le xml de dagoma c'est que le M107 n'est pas considéré comme un fan off mais plus comme vitesse mini, le M908 sert de Fan off. Si j'ai bien compris :D . 

   

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

Le souci en fait c'est qu'il y a un M107 en tout début d'impression au niveau du layer0 et celui ci n'est pas éditable dans le xml (peut être ailleurs) :

Layer count: 30
;LAYER:0
M107
G0 F3600 X89.062 Y93.915 Z0.260
;TYPE:SKIRT
G1 F1200 X90.9

Le ventilo s’éteint avec la buse à 200°c, ça la fout mal :D

 

 

Lien vers le commentaire
Partager sur d’autres sites

Voici le marlin qui est fonctionnel pour moi :

 

edit : (attention cette version de marlin est toujours en cours de développement, ça fonctionne mais des bugs peuvent apparaître) 

A tester chez vous.

Pour voir les modif', vous pouvez comparer les fichiers Configuration.h et Marlin_main.cpp avec le firmware d'origine. (perso j'utilise notepad++ avec le plugin NPPCompare).

edit : @plexy au fait, le fr 100%  est bien la vitesse machine ;) 

Lien vers le commentaire
Partager sur d’autres sites

ah bah je vois que ça a bien avancé ici ! :D 

Bon, j'ai reçu ma D200 vendredi, elle est montée, j'attend encore mon écran...

En tout cas GG à tout le monde !

PS:

@Dumnac tu est carrement parti sur la RC3 de la v1.1.0 ? tu préfère pas rester sur une stable pour le moment ?

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

Salut @nothing_fr,

Je suis pas stable comme gars moi :D . La dernière version stable ne gère pas encore mon afficheur OLED, ma dernière impression de 2h s'est bien déroulée, je n'ai pas rencontré de bug particulier pour l'instant. Je vais quand même mettre une annotation sous mon lien.

 

Lien vers le commentaire
Partager sur d’autres sites

C'est plus histoire de prévenir si les gens ont pas fait attention :) Vivement mon écran, ça donne envie !

Perso, j'ai forké le Marlin sur Github, je ferai mes modifs dessus quand j'aurais tout testé et validé... https://github.com/nothing-fr/Marlin

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

Il y a 1 heure, nothing_fr a dit :

C'est plus histoire de prévenir si les gens ont pas fait attention :) Vivement mon écran, ça donne envie !

Perso, j'ai forké le Marlin sur Github, je ferai mes modifs dessus quand j'aurais tout testé et validé... https://github.com/nothing-fr/Marlin

Pas de souci ;) la dernière version stable est ici : https://github.com/MarlinFirmware/Marlin/releases/tag/1.0.2-1

il y a 31 minutes, gorbleu a dit :

du point de vue des branchement écran et palpeur, on peut repiquer le GND pour le palpeur ou ?

Le GND va sur une des bornes du Z stop, tu veux peut être parler du VCC ? 

Je vois que le palpeur accepte une tension de 6 à 36v, peut être pourrait il être branché directement sur le +12 v avec l'alim ?  (à confirmer)

edit : oui effectivement il y a un autre 5v sur la prise ISP, ça peut se raccorder ici . 

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

  • 2 weeks later...
Le 5/2/2016 at 22:55, Dumnac a dit :

 

Pour le branchement, attention c'est compliqué :

  • SCL afficheur -> SCL melzi
  • SDA afficheur -> SDA melzi
  • VCC afficheur -> VCC melzi
  • GND afficheur -> GND melzi

 

 

pour les petits noeuil

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