Aller au contenu

Filament ABS

lolvince

Membres
  • Compteur de contenus

    150
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

7 Neutre

À propos de lolvince

  • Rang
    Membre confirmé

Information

  • Imprimantes
    Anet A8 - Alfawise U20+ (V0G-1.2)

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. @Hobi , ça avance doucement, l'intégration me demande pas mal de temps.
  2. 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.
  3. 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 ?
  4. 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...
  5. 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.
  6. 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
  7. 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.
  8. super , j'essaye ça, car je vais devoir l'intégrer pour le MMU2.
  9. merci pour les gcode, ils ont ok pour les U20, il faut que j'ajoute 10cm pour ma U20+ du coup ?
  10. @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 ?
  11. 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 ?
  12. tout semble parfait maintenant à l'impression, je te remercie
×
×
  • Créer...