Welcome! Log In Create A New Profile

Advanced

Neopixel 2812 + MK4Duo

Posted by carlonb 
Neopixel 2812 + MK4Duo
February 10, 2019 06:31AM
Ciao Alberto, sono di nuovo qui con una nuova necessità.
Sto provando il Neopixel Adafruit tipo 2812, per ora ho collegato solo una strip da 8 led su Ymax per capirne il funzionamento ed ho usato le seguenti impostazioni:
#define NEOPIXEL_LED
#define NEOPIXEL_TYPE NEO_RGB
#define NEOPIXEL_PIXELS 8
#define NEOPIXEL_IS_SEQUENTIAL
#define NEOPIXEL_BRIGHTNESS 127
#define NEOPIXEL_STARTUP_TEST
#define PRINTER_EVENT_LEDS
//#define LASER
//#define CNCROUTER
#define CASE_LIGHT
#define INVERT_CASE_LIGHT false
#define CASE_LIGHT_DEFAULT_ON false
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 255
#define CASE_LIGHT_USE_NEOPIXEL
Alla accensione della stampante ho il check con tutto Verde, tutto rosso, tutto blu poi tutto spento.
Se premo il tasto Case Light ho tutto acceso/tutto spento.
Fino qui tutto bene credo, invece quando parte la stampa si accendono i LED (colore blu) in modo sequenziale ma molto
rapidamente tutti nel giro di pochi gradi del Bed (circa 50°), poi rimangono sempre blu fino alla temp. target (90°), a questo punto diventano bianchi.
Non vedo nessun riscontro per la temperatura dell'HotEnd.
Come ti sembra?
Domanda, il cambio colore fino al rosso che dovrei vedere ma non vedo, si dovrebbe attivare solo se parte la stampa o anche se singolarmente accendo il Bed o l'HotEnd?
Ora se li accendo al di fuori della stampa i led non si attivano.

Potresti descrivere come funziona la cosa? Io ho cercato ma non ho trovato grandi info.
Ciao e grazie.

EDIT: Corretto temp. target Bed

Edited 1 time(s). Last edit at 02/10/2019 08:29AM by carlonb.


Cartesiana, MKS Gen 2Z v1.1 modificata non piu' 2Z, MK4Duo, BLTouch clone, Flusso canalizzatore, Autofan, LCD Full Graphic
Re: Neopixel 2812 + MK4Duo
February 10, 2019 09:25AM
Dai il comando M109 S200 e vedi che va..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Neopixel 2812 + MK4Duo
February 10, 2019 10:15AM
Si col comando M109 va, ma in pochi gradi si accendono tutti gli 8 led, mi aspettavo una cosa proporzionale tipo su 200 gradi target e 8 led accendo un led ogni 25° circa, ma forse è cosi' come l'hai fatto tu, oppure 8 led sono pochi? Ho un'altra strip da 8 da collegare in serie potrei provare.
In ogni caso sono sempre blu (sembra un blu che diventa piu' luminoso quasi bianco) e non diventano mai rossi, alla fine diventano tutti bianchi (Riscaldamento target raggiunto).
Stessa cosa per il Bed con M190 S90.
Delucidami….
Grazie e Ciao
Re: Neopixel 2812 + MK4Duo
February 10, 2019 11:49AM
Si ma il test li fa tutti i colori? Lui dovrebbe fare led per led partendo da blu a diventare rossi, con l'hotend. Se non si accendono i rossi c'è qualcosa che non va.


EDIT: Ma gli hai detto che hai 8 led?

Edited 1 time(s). Last edit at 02/10/2019 12:00PM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Neopixel 2812 + MK4Duo
February 10, 2019 12:06PM
Allora…
Ho visto ora, si, è una unica strip composta da 8 led ed ho definito 8 come numero di led.

Ho cambiato la configurazione da #define NEOPIXEL_TYPE NEO_RGB a #define NEOPIXEL_TYPE NEO_GRB (Normal) e cosi' con l'HotEnd con M109 S200 parte dal rosa chiaro fino a diventare rosso poi al termine diventa bianco.
Invece il Bed con M190 S90 parte dal Blu leggermente sfumato di rosa e alla fine un po' piu' rosa, poi al termine diventa bianco.
Non mi è chiara la #define nel configuratore on line, RGB, GRB, BRG …..
Alla accensione tutti gli 8 led stanno contemporaneamente per un secondo tutti Verdi, poi per un secondo tutti Rossi e poi un secondo tutti Blu poi tutto spento.

Edited 2 time(s). Last edit at 02/10/2019 12:07PM by carlonb.


Cartesiana, MKS Gen 2Z v1.1 modificata non piu' 2Z, MK4Duo, BLTouch clone, Flusso canalizzatore, Autofan, LCD Full Graphic
Re: Neopixel 2812 + MK4Duo
February 10, 2019 12:54PM
Dipende dalla strip, non sono tutte uguali, ognuna ha una sua corrispondenza di colore. Adesso mi sembra che va bene. C'è il comando per comandare i colori, accendi il verde, poi il blu e poi il rosso cosi verifichi che corrisponde...

M150 R255 U0 B0 Tutto rosso
M150 R0 U255 B0 Tutto verde
M150 R0 U0 B255 Tutto blu
Se corrisponde allora è giusto il valore che hai messo..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Neopixel 2812 + MK4Duo
February 10, 2019 03:30PM
OK, con i comandi che mi suggerisci (ora so come provare) i colori corrispondono, quindi la mia strip è di tipo GRB.
Domande:
1) E' giusto che il Bed faccia accendere di un rosino leggero fino ad un rosino un po' piu' marcato alla temperatura target (cosa che mi succede) oppure deve essere Rosso come l'HE?
2) Nel caso di stampa con Bed riscaldato cosa mi devo aspettare come sequenze di colori? Prima parte il riscaldamento del Bed col rosa leggero fino al target, poi si prosegue con l'HE fino al rosso oppure raggiunta la temperatura del Bed diventa tutto bianco e non segnala piu' la temperatura dell'HE? (cosa che mi succede).
3) Alla accensione è quindi giusto che si accendono tutti i miei 8 led fissi per circa un secondo Verde, poi Rosso e poi Blu ?

Scusa se insisto, ma c'è poco o nulla in giro su questo (o almeno io non ho trovato) in modo dettagliato e chi se non tu può dare le dritte?
In compenso questo topic potrà essere di aiuto ad altri.

Ciao


Cartesiana, MKS Gen 2Z v1.1 modificata non piu' 2Z, MK4Duo, BLTouch clone, Flusso canalizzatore, Autofan, LCD Full Graphic
Re: Neopixel 2812 + MK4Duo
February 11, 2019 02:47AM
Allora
Per gli hotend funziona cosi Red fisso a 255, verde a 0, Blu 255 - Intensità
Per il bed Red intensità, verde a 0, Blu a 255 fisso.
Intensità è calcolato con un a formula che tiene conto della temperatura di start quella di target e quella corrente ed è sempre un valore tra 0 a 255.
immaginiamo Hotend e bed a 20 gradi di start.
setti hotend a 200 quindi start 20, target 200 corrente 20.
All'inizio hai 255 0 255 - 0 quindi un viola. Man mano che si alza la temperatura dell'hotend 255 -0 del blu tende a 0 quindi a rosso.
Setti il bed a 60, quindi start 20, target 60, corrente 20.
All'inizio hai 0, 0, 255, quindi blu e man mano che si alza la temperatura del bed tende a viola....
Questo è quello che fa..
E lo fa solo quando mandi i comandi per attendere il raggiungimento della temperatura e non sempre.. Quindi solo se si mandano i comandi M109 e M190, non quando mandi i comandi M104 e M140.
Quindi se metti all'inizio M104 S200 e M140 S60, poi parte a fare home e tutto il resto e infine arriva il comando di attesa M109 S200 in quel momento la temperatura di start è già bella alta e quindi l'effetto è bello che rovinato....
Se hai attivato NEOPIXEL_STARTUP_TEST è normale che quando si accende faccia il test. Se non lo vuoi basta disabilitarlo...
NEOPIXEL_BRIGHTNESS è quanto è messo di luminosità di default e se non la cambi con i comandi quella resta, quindi avendola di default a 127 hai un rosa pallido e non un rosso...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Neopixel 2812 + MK4Duo
February 11, 2019 06:31AM
Ok, quello che vedo è tutto corretto e va secondo il codice, funziona tutto.

Riassumo i punti sopra da me richiesti.
1) E' giusto che si comporta cosi, ho visto il codice.

2) Quanto hai descritto l'ho capito, ma se invio i comandi prima M190 e poi M109, il primo che comincia il riscaldamento è il Bed. Inizia la sequenza colorata del Bed...arriva alla fine e i led diventano bianchi a segnalare la fine della fase di riscaldamento. Poi parte il riscaldamento dell' HE ma ormai i led sono bianchi e non vedo piu' l'effetto per quanto riguarda l'HE, è corretto?

3) Lo so che posso escludere il test, volevo solo chiedere se era corretta la fase di test, ho visto il codice e quindi alla accensione il test che vedo è corretto.

Grazie
Ciao


Cartesiana, MKS Gen 2Z v1.1 modificata non piu' 2Z, MK4Duo, BLTouch clone, Flusso canalizzatore, Autofan, LCD Full Graphic
Re: Neopixel 2812 + MK4Duo
February 11, 2019 07:18AM
2) No che non è corretto!!! Ma prima hai comandi M104 o M140??


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Neopixel 2812 + MK4Duo
February 11, 2019 12:03PM
Caro Alberto,
Ho capito, con M104... all'inizio, tutto funziona come previsto.
A questo punto qui di seguito ho riassunto tutto quello che ho afferrato e verificato in modo che sia utile per tutti quelli come me a cui piace smanettare.

Dai una bella occhiata e commenta/correggi/aggiungi quello che credi opportuno, addirittura, potresti poi infilare questa "Descrizione sull'uso Neopixel" sul GitHub con una bella pagina dedicata a memoria futura smiling smiley

Configurare la funzione Neopixel:
Questa funzione sfrutta i Led tipo Neopixel Adafruit per segnalare con diversi colori lo stato della stampante e lo stato della fase di
riscaldamento del Bed e dell'HotEnd.
Nel caso descritto si utilizza il Neopixel tipo 2812/8. E' una strip da 8 LED (pixel) di prova. Si possono comunque collegare in serie
piu' strip per avere un numero maggiore di led.
Tutto questo è verificato con MK4Duo vers. 4.3.8 del 09/02/2019. RAMPS+Arduino Mega 2560 8bit.

Collegamenti elettrici:
Questo tipo di Neopixel Strip, ma anche il tipo circolare, viene alimentato a 5V, quindi abbiamo un positivo (5V) un negativo
ed un ingresso segnale (tipo seriale) che va collegato ad un pin della scheda stampante definito con la configurazione qui di seguito.
Attenzione, questi led assorbono molta corrente, 8 led sembrano ancora sopportabili dall'alimentatore a 5V sulla scheda,
ma se si va oltre occorre prevedere un 5V dedicato sufficiente al carico.

CONFIGURATORE ON LINE:
Selezionare “Adafruit Neopixel LED”
Selezionare “Printer Event Leds”
Adafuit Neopixel Type “NEO_GRB Normal”
Adafuit Neopixel Pixels “N. di led da controllare” (In questo caso 8)
Adafruit Neopixel pin: Pin al quale è collegato il segnale seriale Neopixel. (In questo caso Y MAX PIN)

Se siete interessati anche alla funzione illuminazione:
Selezionare "Case Light"
Case Light PIN: Pin al quale è collegato il segnale seriale Neopixel. (In questo caso si usa la stessa strip come illuminazione e
quindi stesso pin Y MAX PIN)

Configurazione editando il Configuration_overall.h:
#define NEOPIXEL_LED			Attiva funzione
#define NEOPIXEL_TYPE NEO_GRB		Tipo Neopixel 2812
#define NEOPIXEL_PIXELS 8		N. di led sulla strip
#define NEOPIXEL_IS_SEQUENTIAL		Accende uno dopo l’altro per temperatura
#define NEOPIXEL_BRIGHTNESS 127		Luminosità generale per tutto il ciclo
#define NEOPIXEL_STARTUP_TEST		Alla accensione Red/Green/Blue circa 2sec ciascun colore.
#define PRINTER_EVENT_LEDS		Altri Eventi stampante (Riscaldamento, Fine stampa=Verde, altro ancora da verificare)

Qui si abilita la funzione illuminazione usando lo stesso pin
#define CASE_LIGHT    				Attiva illuminazione stampante
#define INVERT_CASE_LIGHT false
#define CASE_LIGHT_DEFAULT_ON false
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 255	Luminosità generale
#define CASE_LIGHT_USE_NEOPIXEL   		Usa stesso pin della funzione sopra

Se tutto funziona come previsto cosa ci si aspetta?
Accensione stampante:
Se è definito NEOPIXEL_STARTUP_TEST, si avrà la sequenza (circa due secondi per colore): Tutto spento, tutto Rosso, tutto Verde,
tutto Blu e infine tutto spento.
Questo farà già capire se il tipo di Neopixel selezionato è quello corretto.

Illuminazione:
Col Nextion 7" (In questo caso si ha il Nestion a disposizione) premendo il tasto "Lampada da tavolo" si accende/spegne tutta la stricia
di LED di Bianco ed alla luminosità impostata in config_overall CASE_LIGHT_DEFAULT_BRIGHTNESS (min=0 max=255).

Stampa:
Il G-Code si incarica (oltre che di altre cose) di riscaldare il Piano se è richiesto e sicuramente L'HotEnd.
Durante il riscaldamento del Piano di stampa i LED assumono inizialmente un colore Blu, man mano che si
scalda tendono al violetto, alla fine saranno di un Viola intenso.
Raggiunta la temperatura target diventeranno Bianchi (luminosità max quella impostata in config_overall NEOPIXEL_BRIGHTNESS min=0 max=255).

Durante il riscaldamento dell'HotEnd i LED assumono inizialmente un colore Blu, man mano che si
scalda tendono al violetto, alla fine saranno di un Rosso intenso.
Raggiunta la temperatura target diventeranno Bianchi (luminosità max quella impostata in config_overall NEOPIXEL_BRIGHTNESS min=0 max=255).

Ora, per avere il massimo effetto scenografico, è necessario che il G-Code del pezzo da stampare abbia la parte iniziale come segue:
(Si tralascia tutto quello che non riguarda il contesto Neopixel)
M140 S90	; Set Bed temperature ed esce subito
M190 S90 	; set bed temperature ed aspetta (EFFETTO COLORI NEOPIXEL completo per il Bed)
M109 S245 	; set HotEnd temperature ed aspetta (EFFETTO COLORI NEOPIXEL completo per l'HE)
G28 		; home all axes
G29 		; ABL
.... resto del gcode.....
Questa inizializzazione pero' non è molto efficiente perchè si potrebbe già lanciare il riscaldamento dell'HotEnd prima dell'ABL,
cosi si risparmierebbe tempo, l'HE si scalderebbe durante la fase Homing e ABL.

Questa invece è piu' efficiente, l'HE si scalda durante la fase Homing e ABL, ma si perde l'effetto scenografico dei led del
dell'HE perchè durante l'ABL ha già quasi raggiunto la temperatura target.
M140 S90	; Set Bed temperature ed esce subito
M190 S90 	; set bed temperature ed aspetta (EFFETTO COLORI NEOPIXEL completo)
M104 S245 	; set HotEnd temperature ed esce subito
G28 		; home all axes
G29 		; ABL
M109 S245 	; set HotEnd temperature ed aspetta (EFFETTO COLORI NEOPIXEL ridotto perchè HE già caldo)
.... resto del gcode.....

Descritta la differenza dei due esempi di G-Code, ciascuno può quindi scegliere la metodologia preferita.

Fine stampa:
Tutti i Led diventano Verdi e dopo un po' si spengono.

Altre indicazioni luminose:
Dovrebbero esserci altre indicazioni fatte con i led a vari colori, purtroppo però ancora non le ho verificate, spero che il Mago possa completare l'opera.

Ciao e grazie per tutte le spiegazioni.

Edited 5 time(s). Last edit at 02/11/2019 04:22PM by carlonb.


Cartesiana, MKS Gen 2Z v1.1 modificata non piu' 2Z, MK4Duo, BLTouch clone, Flusso canalizzatore, Autofan, LCD Full Graphic
Sorry, only registered users may post in this forum.

Click here to login