Aller au contenu

Anycubic Kobra 3 Combo

Connexion host par GPIO (sans USB)


Tircown

Messages recommandés

Bonjour,

Désireux de me passer du vilain gros câble USB entre le raspberry et la carte de l'imprimante j'ai donc glané quelques renseignements que je vous compile et traduit ici.

Ce tuto ne s'adresse qu'aux utilisateurs du firmware Klipper avec une carte Bigtreetech SKR 1.3. Bien que ces informations doivent pouvoir être transposées à d'autres types de cartes moyennant quelques adaptations pour le flashage et peut-être un câblage différent.

En théorie on ne peux pas utiliser d'écrans TFT, de MMU ou tout autre périphérique utilisant le même UART en même temps. Je n'ai pas testé ce point.

1 - Câblage

Comme évoqué, sachez que le câblage peut être différent suivant la carte et peut nécessiter des résistances ou un level-shifter. Pour la SKR 1.3, c'est très simple: 3 petits fils type prototypage suffisent, un pour GND et deux pour RX/TX. Inutile de rajouter un câble pour le +5V, le raspberry et la SKR sont alimentés indépendamment. Pour le câblage de l'UART on croise: RX du raspberry va sur TX de la SKR et inversement.

Pour le Raspbery le GPIO 14 est TX et le GPIO 15 est RX.

gpio-numbers-pi2.png

Pour la SKR 1.3: https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/hardware/SKR-V1.3-PIN.pdf

On pourra se brancher sur les broches nommées TFT. De gauche à droite: le premier pin est libre, le second est GND, TX est au milieu, puis RX et enfin le dernier est libre.

1659553922_Screenshot_2019-09-13bigtreetechBIGTREETECH-SKR-V13.png.74bb59cd8d3305e744e7a78d441a132a.png

2 - Préparation du firmware pour la SKR:

Suivez l'excellent tuto de @Nibb31, avec toutefois quelques adaptations pour la SKR.

  • Après avoir tapé la commande make menuconfig, choisissez LPC176X.
  • Désélectionnez "Use USB for communication [...]" pour permettre le 2-Wires UART.
  • Quittez en sauvegardant.
  • Tapez la commande make. Si vous aviez déjà fait cette manipulation en laissant la connexion USB classique il sera nécessaire de taper make clean avant.
  • Avec le logiciel WINSCP cherchez le fichier klipper.bin qui se trouve dans /home/user/klipper/out
  • Copiez/collez le sur la carte microSD de la SKR.
  • Renommez le fichier sur la carte en firmware.bin

Vous pouvez remettre la carte microSD dans l'imprimante. Au premier démarrage il peut être nécessaire d'appuyer sur le bouton rouge pour reset. Elle va créer ou écraser un fichier FIRMWARE.CUR. Si vous avez un doute que tout c'est bien passé, vous pouvez vérifier la date de création/modification de ce fichier.

3 - Préparer le Raspberry:

Ouvrez le fichier config en tapant sudo nano /boot/config.txt. Rajoutez à la fin du fichier "dtoverlay=pi3-miniuart-bt" et "enable_uart=1" (en 2 lignes). Ctrl+O pour enregistrer et Ctrl+X pour fermer.

Ouvrez le fichier cmdline en tapant sudo nano /boot/cmdline.txt. Cherchez la chaine de caractères "console=serial0,115200" et supprimez la. Ctrl+0 puis Ctrl+X.

Tapez la commande sudo systemctl stop serial-getty@ttyS0.servicestop serial-getty@ttyS0.service

Puis la commande sudo systemctl disable serial-getty@ttyS0.service

Il est nécessaire de redémarrer le raspberry, par exemple avec la commande sudo reboot.

4 - Configurer Octoprint:

Dans les settings > sous menu connexion, rajoutez dans les connexions additionnelles "/dev/ttyAMA0". Vous devriez avoir "/tmp/printer" sur la première ligne si vous avez bien suivi le tuto de @Nibb31.

5 - Fichier printer.cfg de Klipper:

Cherchez la partie [mcu] et mettre la valeur "/dev/ttyAMA0" à serial.

[mcu]
serial: /dev/ttyAMA0

FIN

Dans Octoprint, si ça ne fonctionne pas correctement, il peut être nécessaire de redémarrer "host" et "firmware" depuis le menu du plugin OctoKlipper et redémarrer Octoprint depuis le bandeau du haut ou en ligne de commande SSH: sudo service octoprint restart

Les câbles entre les deux parties est très sensible aux interférences électromagnétiques. Il ne doit pas être trop long. Prévoir idéalement un câble blindé ou avec une ferrite. Pour les tests que j'ai pu effectuer, les 3 petits câbles de prototypage pour arduino de moins de 10cm vont parfaitement sans rien prévoir de spécial.

sources:

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

Hier j'ai testé la connexion multiple avec une SKR1.3 via GPIO et une MKS Gen v1.4 via USB et ça fonctionne!!!! Donc même avec une connexion sur les GPIO, ça reste possible avec quelques nuances:

Toutes les cartes paramétrées dans le fichier config doivent être connectées sinon Klipper vous envoie balader au démarrage. C'est plutôt logique pour la plupart des utilisations mais moi j'explorais la possibilité de gérer le caisson depuis Klipper tout en me permettant de sortir l'imprimante et imprimer hors de l'armoire si je le désirais. En d'autre terme, branché ou non au caisson. Échec de ce coté là mais il y a plein d'autre façons de faire ce que je souhaite donc ce n'est pas bien grave.

J'ai eu quelques soucis de reconnaissance du port serial. Seul /serial/ttyUSB0 répondait mais à chaque démarrage/reset/débranchement il est susceptible de changer, donc pas très pratique. Dans la doc klipper il est conseillé de pointer vers l'id du périphérique et c'est ce que je faisais avec succès avant de passer par les GPIO. Mais là, celui indiqué par la commande ad-hoc ne marchait pas. Il faut dire aussi qu'on désactive pas mal de choses pour la connexion par GPIO et en plus la skr est en baud 250000 et la MKS Gen v1.4 en 115200 histoire de cumuler un peu tout. Quoiqu'il en soit il est toujours possible de passer par le path au lieu de l'id (dev/serial/by-path) auquel cas il faudra toujours brancher la ou les cartes sur leur port respectif. Pas si contraignant en pratique puisqu'on est pas sensé les débrancher.

Les utilisations sont multiples (liste non exhaustive):

  • Gestion indépendante de moteurs Z, pour niveler par exemple. Google it!  VORON 2.1gantry levelling
  • Une carte en 24V pour les moteurs, une autre en 12V pour recycler une hotend 12V ou juste piloter des ventilateurs 12V. Pour cet usage on peut très bien reprendre sa vieille carte 8bit avec des drivers A4988 soudés et brancher tout sauf les moteurs dessus.
  • Mettre plusieurs extrudeurs vers une ou plusieurs hotends. Façon MMU1 de Prusa par exemple. Il y a aussi un projet très inspiré du MMU2 en cours. Électronique de Prusa en moins.
  • Du multitool. Pas encore vu avec Klipper mais c'est la voie royale pour le faire.
  • J'aime 1
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...
  • fran6p locked this topic
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...