Aller au contenu

lolvince

Membres
  • Compteur de contenus

    159
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par lolvince

  1. Salut ! un petit retour après tout ce temps. je n'ai pas pu mettre le nez dans mon montage pendant plus d'un an, mais j'ai fini par m'y replonger dernièrement. donc pour faire un point, j'ai flashé mon U20+ avec le dernier marlin 2.9.0.1 avec les sources de Tpruvot (https://github.com/tpruvot/Marlin). j'ai donc intégré mon MMU2 après avoir pu recompiler son firmware d'origine 1.0.6 (qui n'a pas changé depuis tout ce temps.) j'ai donc du modifier la longueur MAX admissible entre le MMU2 et mon extrudeur. je n'utilise pas de détecteur de filament juste avant l'extrudeur, pour autant j'en ai prévu un au cas ou qui utilisera le câble prévu pour mon détecteur de fin de course sur Z, car j'ai installé mon 3Dtouch, il ne sert plus. maintenant le tout fonctionne, la communication avec la carte mère d'origine est OK, le reset et transmis via le port COM et non par une sortie physique. il me reste donc qu'a tester tout cela en pratique, une fois que j'aurai réglé mon MMU2...
  2. ok merci, le framework STM32 ne semble plus fonctionner correctement ce qui empêche la compilation depuis les sources marlin officiel si j'ai bien compris. heureusement il y a ton repo je vais donc tester celui-ci et je te tiens informé. bon et bien me voila passé en v2.9.0.1 sur ma U20+ RAS pour le moment. extrudeur et 3Dtouch fonctionnel. le dialogue avec le MMU est maintenant OK, cependant, je n'ai plus le menu MMU qui s'affiche dans le menu marlin EDIT : c'est bon ! j'ai activé le menu depuis Config_ADV
  3. bonsoir à tous, je me remet un peu de dedans avec mon U20+. j'ai un un 3D Touch fonctionnel, et un MMU2 que je n'avais pas fini de configurer avec ma config, car il me fallait recompiler le firm du MMU avec des paramètres adapter à mon imprimante. le repo de https://github.com/tpruvot/Marlin est bien à jour si je souhaite updater ma machine ? ma dernière compilation date de fin 2019 avec la beta 2.0.000, j'imagine qu'il y a du mieux ^^ si c'est ok pour la version 2.9.0.1, je bascule sur cette version, et je tente l'intégration de mon MMU. bonne soirée.
  4. oui je comprend, mais je ne pourrai donc pas passer en full TMC 2209 car pas assez de place, ou je peut faire pareil et piloter 2 moteurs via un seul TMC ?
  5. oui une V0G, et donc 2 Z. je ne comrend ce que tu veux dire...
  6. @Hobi : mais j’ai un autre problème c'est une U20 + j'ai donc 5 moteurs ^^
  7. Bon boulot ça me tenterai bien d'essayer, mais pourrais-je continuer à utiliser mon BL touch, détecteur de filament optique et mon MMU2 ?!
  8. vas-y Hobi ! je suis curieux de voir le résultat ^^
  9. @Hobi , ça avance doucement, l'intégration me demande pas mal de temps.
  10. Trés bon travail
  11. @CacaoTor un capteur de fin de filament ?
  12. j'avance tranquillement sur la personnalisation du firmware coté MMU2 et Marlin. il y a un gros travail d'intégration sur nos sources existante. je ne suis pas expert en GIT, il va mettre compliqué de créer un fork impliquant mes modifications. j'ai donc mes sources de mon coté que je modifie directement pour le moment car on plus sur le L'alpha qu'autre chose. DeamonCrack M'aide sur la partie conception 3D via fusion360. Hobi sur la partie Electronique. pour le moment je regroupe toutes les infos sur le MMU2, et j'essaye d'intégrer le meilleur fonctionnement possible par rapport à notre configuration actuelle. j'avance jour après jour, il me reste un gros travail d'intégration, donc si quelqu'un à un peu temps à perdre sur cette partie et voudrait me faire avancer ça serait avec grand plaisir.
  13. ok, je compte mettre une diode entre la sortie et GND afin d'indiquer l’état du capteur de manière plus visuel, dois je la mettre entre le signal et la borne de la carte mère, ou il est plutôt conseillé de la mettre entre ces bornes gnd et signal afin de ne pas influencer la CM ? le diode seule n'est pas une excellente option, une résistance l'accompagnant sera nécessaire j’imagine ?
  14. le capteur d'origine établi un contact simplement (2 fils). il me semble que les borniers prévu pour les fins de courses attendent un signal en 3.3v alors que la j'alimente en 5v le capteur (5v,signal et gnd) et il enverra 5v ou gnd sur son fil signal...
  15. bonjour, je doit remplacer le capteur mécanique de notre alfawise, par un capteur IR. celui-ci est alimenté en 5v, (je vais le repique sur mon BL) et renvoie donc 5v si pas de filament ou Gnd si présent. comment puis-je intégrer cela nos source ? merci.
  16. puis-je utiliser le port série 2 en UART ? j'aimerai intégrer ces 2 fichiers la dans notre config afin de dialoguer avec le mmu : //uart2.h #ifndef _UART2_H #define _UART2_H #define USART2_BAUDRATE 38400UL #define MMU_F_CPU 16000000UL #define BAUD_PRESCALE (((MMU_F_CPU / (USART2_BAUDRATE * 16UL))) - 1) #define BLK 0x2D // Blank data filler "-" #include <inttypes.h> #include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h> #include "mmu.h" #include "Arduino.h" extern volatile unsigned char rxData1, rxData2, rxData3, rxData4, rxData5, rxFINDA; extern volatile bool confirmedPayload, confirmedFINDA, atomic_MMU_IRSENS; extern void uart2_txPayload(unsigned char*); extern void uart2_init(void); #endif //_UART2_H et //uart2.cpp /** * Robert McKenzie 7 byte payload comms protol with 0x7F as start byte * and 0xF7 as finish bytes. * ACK is with 0x06 * NACK is 0x15 */ #include "uart2.h" #include "system_timer.h" volatile unsigned char readRxBuffer, rxData1 = 0, rxData2 = 0, rxData3 = 0, rxData4 = 0, rxData5 = 0, rxFINDA = 0; volatile bool confirmedPayload = false, confirmedFINDA = false, atomic_MMU_IRSENS = false; volatile long rxTimeout = _micros(); enum class rx { Idle, Data1, Data2, Data3, Data4, Data5, End, FINDA, EndFINDA }; rx rxCount = rx::Idle; inline rx& operator++(rx& byte, int) { const int i = static_cast<int>(byte) + 1; byte = static_cast<rx>((i) % 9); return byte; } void uart2_init(void) { UCSR2A = (0 << U2X2); // baudrate multiplier UCSR2B = (1 << RXEN2) | (1 << TXEN2) | (0 << UCSZ22); // enable receiver and transmitter UCSR2C = (0 << UMSEL21) | (0 << UMSEL20) | (0 << UPM21) | (0 << UPM20) | (1 << USBS2) |(1 << UCSZ21) | (1 << UCSZ20); // Use 8-bit character sizes UBRR2H = (BAUD_PRESCALE >> 8); // Load upper 8-bits of the baud rate value into the high byte of the UBRR register UBRR2L = BAUD_PRESCALE; // Load lower 8-bits of the baud rate value into the low byte of the UBRR register UCSR2B |= (1 << RXCIE2); // enable rx interrupt } ISR(USART2_RX_vect) { readRxBuffer = UDR2; if (rxTimeout + 1855 < _micros()) rxCount = rx::Idle; switch (rxCount) { case rx::Idle: if (readRxBuffer == 0x7F) { rxCount++; rxTimeout = _micros(); } if (readRxBuffer == 0x06) { rxCount = rx::FINDA; rxTimeout = _micros(); } break; case rx::Data1: rxData1 = readRxBuffer; rxCount++; break; case rx::Data2: rxData2 = readRxBuffer; rxCount++; break; case rx::Data3: rxData3 = readRxBuffer; rxCount++; break; case rx::Data4: rxData4 = readRxBuffer; rxCount++; break; case rx::Data5: rxData5 = readRxBuffer; rxCount++; break; case rx::End: if (readRxBuffer == 0xF7) { if (rxData1 == 'I' && rxData2 == 'R' && rxData3 == 'S' && rxData4 == 'E' && rxData5 == 'N') atomic_MMU_IRSENS = true; else confirmedPayload = true; } rxCount = rx::Idle; break; case rx::FINDA: rxFINDA = readRxBuffer; rxCount++; break; case rx::EndFINDA: if (readRxBuffer == 0xF7) confirmedFINDA = true; rxCount = rx::Idle; break; } } void uart2_txPayload(unsigned char payload[]) { #ifdef MMU_DEBUG printf_P(PSTR("\nUART2 TX 0x%2X %2X %2X\n"), payload[0], payload[1], payload[2]); #endif //MMU_DEBUG mmu_last_request = _millis(); loop_until_bit_is_set(UCSR2A, UDRE2); // Do nothing until UDR is ready for more data to be written to it UDR2 = 0x7F; for (uint8_t i = 0; i < 5; i++) { loop_until_bit_is_set(UCSR2A, UDRE2); // Do nothing until UDR is ready for more data to be written to it UDR2 = (0xFF & (int)payload[i]); } loop_until_bit_is_set(UCSR2A, UDRE2); // Do nothing until UDR is ready for more data to be written to it UDR2 = 0xF7; } si quelqu'un est à l'aise avec marlin je suis preneur
  17. il est difficile (avec mon clone BMG) de charger décharger le filament manuellement. le script Gcode permet d'utiliser le moteur plutôt que d'user le filament contre les mâchoires même desserrées du BMG.
  18. super , j'essaye ça, car je vais devoir l'intégrer pour le MMU2.
  19. merci pour les gcode, ils ont ok pour les U20, il faut que j'ajoute 10cm pour ma U20+ du coup ?
  20. @3d92Printer merci pour ta réponse, effectivement, alfa doit passer pour un script Gcode, je pensait vraiment que Marlin le géré en natif. peux-tu partage des gcode stp ?
  21. salut ! une petite question , je n'ai pas trouvé au changer la distance entre mon extrudeur et ma buse dans marlin, j'ai une U20+, mais il me semble que cela n'est pas indiqué non plus pour la U20 pour les chargement/déchargement de filament... une idée ?
  22. tout semble parfait maintenant à l'impression, je te remercie
  23. Super ! je vais essayer avec ces paramètres et je te tiens informé
  24. @Epsylon3 merci
×
×
  • Créer...