Welcome! Log In Create A New Profile

Advanced

Stampante economica per scopi educativi

Posted by onekk 
Stampante economica per scopi educativi
August 16, 2020 07:08AM
Dopo alcuni post in altre parti di questo forum, ho deciso di aprire un topic qui.

L'intenzione è quella di trovare gente disposta a collaborare per creare un progetto per la creazione di:

- documentazione
- progetti
- firmware

destinato alla realizzazione di una stampante 3d economica che possa essere realizzata da uno studente di un istituo tecnico.

L'idea sarebbe quella di focalizzare tutto su una stampante con queste caratteristiche:

- Cartesiana
- scheda di controllo a 8 bit
- firmware derivato da MK4Duo, semplificato per schede ad 8 bit e driver economici (No TMC programmabili e altre cose), senza display esotici e al massim con un sensore di fine filo e un sensore di autolivellamento economico.

La meccanica farebbe uso di componenti economici e facilmente reperibili in rete, lo schema di riferimento potrebbe essere la classica prusa i3 clone magari con qualche miglioria suggerita dall'uso e dall'esperienza.

Si raccolgono idee, offerte di collaborazione o altre cose finalizzate a questo scopo.

Servono collaboratori che si occupino di varie cose:

- scrittura del manuale
- realizzazione di progetti in CAD (possibilmente usando formati liberi)
- capacità di modificare il firmware

Idea di base:

- scheda MKS gen 1.4 o anche 1.2 perché all in one, economica, e facilmente reperibile sotto i 25 Euro
- endstop classici elettronici, al massimo anche i semplici finecorsa meccanici vanno bene
- estrusore diretto o bowden, compatto (non con il rinvio ad ingranaggi), al limite quelli economici in alluminio da 8-10 euro eventulamente modificando il cuscinetto e la ruota con la MK8.
- hot end clone E3D
- per il telaio, si potrebbe pensare ad una i3 rework (p3steel come "versione di lusso").


Niente di particolarmente difficile, la parte di lavoro maggiore sarebbe la "messa a punto" del firmware in modo che sia capibile e modificabile senza perdersi in una miriade di configurazioni diverse.

Una cosa carina sarebbe poter disporre di un "coinfiguratore offline" tipo quello del firmware Teacup che permetta di configurare in modo piano le principali opzioni.

Usando come base MK4Duo la cosa dovrebbe essere fattibile, perché in somma sostanza andrebbero prodotti solo due file:

Configuration_overall.h
Configuration_pin.h

Lo schema di compilazione di MK4Duo infatti usa questi due file per personalizzare il firmware.

Le modifiche principali al fimware dovrebbero essere:

- Eliminare i riferimenti alle schede a 32bit
- Eliminare i riferimenti alle meccaniche delta e scara (magari mantenere la coreXY come caso di studio)
- Elminare i riferimenti ai driver esotici
- Semplificare molto la sezione display in modo da mantenere i sue classici RepRap che si trovano facilmente in rete.


Già così si dovrebbe ridurre di molto il carico di personalizzazione della configurazione.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 17, 2020 06:55AM
Aggiorno il post una prima analisi dei costi, grezza e fatta usando un noto sito di acquisti on line:

Scheda mks gen 1.4 = 30 euro
Display Reprap Full graphics = 15 euro
Driver DRV8825 5 pezzi = 15 euro diciamo dai 10 ai 20 euro, stiamo nel mezzo
Estrusore in alluminio = 10 euro anche qui ci sono varie soluzioni



Motori 42BYGHW811 circa 15 euro cadauno = 60 Euro qualcosa meno per i 42BYGHW609 ma proprio poco

Per le barre e per l'altra meccanica non si trova nulla di particolare in giro, va visto cosa c'è nei negozi online.

Si accettano suggerimenti.

L'idea sarebbe di usare le barre della p3steel in modo da poter fare un upgrade con un telaio rigido senza cambiare le barre.


Nel frattempo ho creato un repository per il firmware, sono partito da MK4Duo 4.3.8. per il nome beh ho usato la fantasia Student Firmware cioè " StuFW" lop trovate a: [github.com]

Vanno tolti tutti i riferimenti a MK4Duo nel codice, e nelle "testatine dei file" modificando il nome e dando credito all'autore di MK4Duo, eventualmente aggiungendo il copyright a noi (me e gli altri contributori)

Non è usabile così com'è:
- ho tolto le configurazoni per le meccaniche e ho lasciato solo le schede ramps e la MKS gen 1.4 (va bene anche per la 1.2 che uso io) e la configurazione 99 per una scheda custom.
- ho tolto le directory del firmware nextion e le directory nel sorgente per il laser e la cnc

ora vanno riviste tutte le opzioni e semplificati i MCode lasciando solo quelli che servono, ma qui mi serve aiuto.

La modifica è un incubo però alciune cose comincio a capirle, la costruzione del firmware è abbastanza dispersa su molti file, ma la logica delle divisioni e abbastanza facile da capire, e una volta orientati si riesce ad intuire la logica dietro alla divisione, il Mago ha fatto un bel lavoro.

servirebbe qualcuno che abbia una RAMPS è che possa testare il firmware, la mia MKS GEN è particolare perché usa una scheda esterna per le fan e un mosfet esterno, però è solo questione di configurazione dei pin niente codice strano in giro quando avevo controllato tempo fa.

i consigli sono sempre ben accetti.

Saluti per ora

Carlo D.

Edited 2 time(s). Last edit at 08/17/2020 01:37PM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 17, 2020 04:40PM
Di Ramps 1.4 ne ho 3 nuove, non vi sono problemi, e un paio di Arduino Mega. Praticamente potrei costruire la stampante con quello che ho nel cassetto.
Il mio vizio è di acquistare di più e poi cambiare idea.
Sono interessato anche al Firmware
Franco
Re: Stampante economica per scopi educativi
August 18, 2020 04:00AM
Io posso dare una mano con il manuale, anche se credo che questa sarà una delle ultime cose da fare.

Per il firmware, non si potrebbero, almeno per il momento, solo nascondere alcune opzioni? Ad esempio mettendo le principali in cima al file overall e quelle meno importanti in fondo alla pagina dopo un tot di linee bianche? Tanto un principiante non credo vada a mettere mano negli altri file e una versione di mk completo entra comunque su un Arduino mega (stralciando solo le cose "inutili", come laser e cnc ad esempio, se possibile).



Per la scheda credo che mega+ ramps sia la scelta più diffusa, e consiglierei di considerare solo un Arduino mega originale. Il costo verrà 20€ più alto, ma non mi sembra corretto consigliare da subito un clone. Se poi uno vuol risparmiare ci penserà lui. Stesso discorso sarebbe da fare con l'hotend, ma qui la differenza di prezzo è notevole. (130€ per titan + v6 contro meno di 50€ per i cloni).
Con il prezzo non si potrà mai rivaleggiare con le economiche cinesi, secondo me sarebbe meglio fare un prodotto di maggior qualità e che sia più affidabile (comunque tenedo d'occhio il budget), e se uno ha problemi potrebbe contattare il servizio tecnico del componente originale che ha comprato. Sono questioni etiche che ora lasciano il tempo che trovano, quando ancora manca da progettare tutta la macchina, ma volevo farle presenti.


Alessandro

Prusa I3 Rework molto modificata - Taurino Classic - Ramps 1.4 - Driver DVR8825 - Titan Extruder e Hotend E3D V6 - Bltouch originale - Firmware MarlinKimbra - Cura - Repetier Host
Re: Stampante economica per scopi educativi
August 18, 2020 01:32PM
Quote
bilanciamist
Io posso dare una mano con il manuale, anche se credo che questa sarà una delle ultime cose da fare.

Per il firmware, non si potrebbero, almeno per il momento, solo nascondere alcune opzioni? Ad esempio mettendo le principali in cima al file overall e quelle meno importanti in fondo alla pagina dopo un tot di linee bianche? Tanto un principiante non credo vada a mettere mano negli altri file e una versione di mk completo entra comunque su un Arduino mega (stralciando solo le cose "inutili", come laser e cnc ad esempio, se possibile).

Allora il problema del firmware è un pochino più profondo:

- senza il configuratore online le cose andrebbero configurate a mano, per cui servirà una guida alla corretta compilazione dei file configuration_overall.h e configuration.pin.h, per lo meno per la configurazione degli endstop e di qualche altra cosa.

- dallo studio dei sorgenti, viene fuori che non è prorpio facile stralciare le cose inutili, la modifica del mago sono profonde e non compatibili con lo "stile di programmazione" di Marlin.
- mi sono accorto che in somma teoria una riscrittura della parte dei menu l'eliminazione di alcuni file di configurazione potrebbero essere un buon inizio, piano piano poi si potrebbe eliminare il resto, per cui il lavoro che ho fatto fin'ora "è da rifare" quasi completamente, rimane la conoscenza maggiore della struttura del firmware che di sicuro aiuta.


Quote
bilanciamist
Per la scheda credo che mega+ ramps sia la scelta più diffusa, e consiglierei di considerare solo un Arduino mega originale. Il costo verrà 20€ più alto, ma non mi sembra corretto consigliare da subito un clone. Se poi uno vuol risparmiare ci penserà lui. Stesso discorso sarebbe da fare con l'hotend, ma qui la differenza di prezzo è notevole. (130€ per titan + v6 contro meno di 50€ per i cloni).
Con il prezzo non si potrà mai rivaleggiare con le economiche cinesi, secondo me sarebbe meglio fare un prodotto di maggior qualità e che sia più affidabile (comunque tenedo d'occhio il budget), e se uno ha problemi potrebbe contattare il servizio tecnico del componente originale che ha comprato. Sono questioni etiche che ora lasciano il tempo che trovano, quando ancora manca da progettare tutta la macchina, ma volevo farle presenti.

Beh la Ramps, ha alcune debolezze che in genere creano molte rogne all'autocostruttore, una su tutte la posizione e la configurazione dei morsetti di alimentazione che molte volte vanno in corto sulla presa usb di Arduino, rischiare di bruciare tutto perché il piedino della morsettiera va in corto sulla presa USB è una cosa successa molti.

Sul fatto dei cloni, la questione di principio va bene, meglio sarebbe "mettere assieme" una lista di siti dove trovare materiale con spedizione per corrispondenza, questi siti dovrebbe avere alcune caratteristiche:

- meglio se italiani
- presenti in alcune regioni
- che vendono materiale che abbia un minimo di caratteristiche tecniche, o che si prendano la responsabilità di quello che vendono.

Qui ad esempio il noto sito che comincia con la A se ci sono problemi in genere sostituisce il prodotto a stretto giro, ovviamente i pressi non sono nella fascia bassissima, però la garanzia e la puntualità di consegna hanno una certa importanza.

Dato che in Italia ahinoi non produciamo niente di quello che usiamo sulle stampanti 3D a parte le viti e forse i cavi (aziende di motori passo passo economici non mi risulta esistano), è giocoforza comprare roba prodotta da altri, almeno cerchiamo di fare guadagnare qualche euro ai venditori italiani.

Dato che le stampanti 3d autocostruite ora si rivolgono ai profili in alluminio è diventato difficile trovare perfino le barre rettificate da 8mm che abbinate alle boccole in bronzo secondo me sarebbero la migliore soluzione possibile.

Ora se vogliamo potremmo usare come base la p3steel toolson edition 2.0 che appunto usa queste barre e le boccole, in modo da offrire la possibilità di fare un upgrade comprando solo il telaio in ferro.

Le plastiche si possono riutilizzare, ma vanno fatti i supporti motore inferiori e i supporti per le barre Z superiori, l'asse Y si potrebbe facilmente costruire usando i supporti per le barre da imbullonare alla base.



a meno di non usare una configurazione simile alla foto sia per Y e per Z costruendo gli opportuni distanziali, e lasciando allo studente il compito di fare il telaio con assi di legno o altro a sua disposizione.

si potrebbe creare un file dxf per il taglio cnc dei pannelli ma allora a questo punto si potrebbe validamente riutilizzare uno schema simile alla p3steel con i rinforzi triangolari del portale centrale, come già visto in altre realizzazioni.

Però da quello che vedo in giro nelle fiere di elettronica dove ci sono le "olimpiadi robotiche" per le scuole, si fa largo uso di roba generica trovata nei soliti posti e di assi di legno, compensato e altro, andando di lusso usano i profili in alluminio, ma a questo punto il costo salirebbe molto.

Al conto di massima fatto sopra aggiungi che gli assi in questione costano attorno ai 20 euro la coppia (anche il doppio) nel noto sito per cui e attorno ai 10 euro solo le barre per cui un 50 di euro per la meccanica.

Manca il bed e l'alimentatore ed eventualmente il supporto per il bed che ora si trova in commercio come modifica attorno ai 40 euro (piastra più cuscinetti).


Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 19, 2020 04:38AM
Aggiornamento per firmware:

- Ho ricominciato la modifica dei sorgenti, per ora modifico solo le configurazioni e controllo se compila.
- Sto cominciando a togliere i riferimenti a CNC, Laser e Nextion, per lo meno per le librerie e if file in include.

Non è usabile al momento, forse non compila nemmeno, ma volevo una base più pulita.


Ho creato con il configuratore online 3 configurazioni, una per una i3 Prusa con gli A4988, una con i DRV8825 e una con i DRV8825 e gli endstop elettronici.

In questo modo ho confrontato le directory è ho visto che le modifiche a livello del file Configuration_Overall.h (d'ora in poi lo chiamero COH) sono minime.

Se ci limitiamo a supportare le ramps e la MKS Gen 1.4 potremmo fornire le istruzioni per la modifica del file COH ed eventualmente Configuration_Pin.h, o in alternativa dei file COH predefiniti.

Ora il firmware compila, lo sto debrandizzando, ora va visto lo splash screen in modo da non avere riferimenti a MK4duo.

Ho tolto molti riferimenti al laser e alla cnc nel codice, eliminato molte cose e tolto alcune parti di codice che non sono essenziali alla compilazione.

La versione di COH è quella relaitva alla BOARD_RAMPS_13_HFB se qualcuno vuole compilare e provare ad installarlo su una ramps e vedere se va sarebbe un passo avanti.

Passi futuri:

- Togliere dal codice i rimanenti riferimenti a LASER e CNC
- Togliere dal codice i display esotici come il Nextion e i vari display dei cloni cinesi che occupano molta parte delle routine dell'LCD rendendo difficile la modifica delle cose.
- Togliere i driver TMC al momenoto sembra un lavoro molto pesante, molto codice riporta riferimenti a cose relative ai TMC però dalla migliore conoscenza del codice la cosa risulta lunga, ma possibile

Da una prima analisi dopo la compilazione del codice si occupa il 51% della memoria, mi pare un progresso rispetto a quello che ricordavo con la versione piana.

Vediamo come evolve.

Saluti

Carlo D.

Edited 1 time(s). Last edit at 08/19/2020 06:21AM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 19, 2020 12:59PM
Per proseguire servono alcune decisioni, nell'otttica di ridurre all'osso le opzioni e il codice, in modo che sia più semplice da gestire e da capire per uno studente interessato a imparare come funziona la stampa 3D.

Ci serve il supporto per:

/**********************************************************************************
 *************************** Extruder Encoder Control *****************************
 **********************************************************************************
 *                                                                                *
 * Support for Encoder on extruder for control filament movement                  *
 * EXPERIMENTAL Function                                                          *
 *                                                                                *
 * You can compare filament moves with extruder moves to detect if the extruder   *
 * is jamming, the spool is knotted or if you are running out of filament.        *
 * You need a movement tracker, that changes a digital signal every x extrusion   *
 * steps.                                                                         *
 *                                                                                *
 * Please define/ Encoder pin for any extruder in configuration pins.              *
 *                                                                                *
 **********************************************************************************/
//#define EXTRUDER_ENCODER_CONTROL

// Enc error step is step for error detect
#define ENC_ERROR_STEPS     500
// Enc min step It must be the minimum number of steps that the extruder does
// to get a signal from the encoder
#define ENC_MIN_STEPS        10
// For invert read signal
//#define INVERTED_ENCODER_PINS
/**********************************************************************************/


/**********************************************************************************
 *************************** Filament diameter sensor *****************************
 **********************************************************************************
 *                                                                                *
 * Support for a filament diameter sensor                                         *
 * Also allows adjustment of diameter at print time (vs  at slicing)              *
 * Single extruder only at this point (extruder 0)                                *
 *                                                                                *
 * You also need to set FILWIDTH_PIN in Configuration_pins.h                      *
 *                                                                                *
 **********************************************************************************/
//#define FILAMENT_SENSOR

#define FILAMENT_SENSOR_EXTRUDER_NUM  0   // Index of the extruder that has the filament sensor. :[0,1,2,3,4,5]
#define MEASUREMENT_DELAY_CM         14   // (cm) The distance from the filament sensor to the melting chamber

#define FILWIDTH_ERROR_MARGIN        1.0  // (mm) If a measurement differs too much from nominal width ignore it
#define MAX_MEASUREMENT_DELAY        20   // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.

#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially

//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.
//#define FILAMENT_LCD_DISPLAY
/**********************************************************************************/

Queste cose mi paiono poco usate scarsamente inplementabili a livello di stampante basica.

/**********************************************************************************
 **************************** Filament Runout sensor ******************************
 **********************************************************************************
 *                                                                                *
 * Filament runout sensor such as a mechanical or opto endstop to check the       *
 * existence of filament                                                          *
 * By default the firmware assumes                                                *
 * logic high = filament available                                                *
 * low = filament run out                                                         *
 * Set valor for extruder 0 to extruder 5                                         *
 *                                                                                *
 * If you mount DAV system encoder filament runout (By D'angella Vincenzo)        *
 * define FILAMENT RUNOUT DAV SYSTEM                                              *
 * Put DAV_PIN for encoder input in Configuration_Pins.h                          *
 *                                                                                *
 * You also need to set FIL RUNOUT PIN in Configuration_pins.h                    *
 *                                                                                *
 **********************************************************************************/


dire che il DAV mi pare troppo avanzato invece il semplice "runout switch" potrebbe essere una buona "funzione avanzata"

/**************************************************************************
 *********************** Power consumption sensor *************************
 **************************************************************************
 *                                                                        *
 * Support for a current sensor (Hall effect sensor like ACS712) for      *
 * measure the power consumption.


/**************************************************************************
 ****************************** Flow sensor *******************************
 **************************************************************************
 *                                                                        *
 * Flow sensors for water circulators, usefull in case of coolers using   *
 * water or other liquid as heat vector                                   *


/*****************************************************************************************
 ************************************** PCF8574 ******************************************
 *****************************************************************************************
 *                                                                                       *
 * Add PCF8574 expansion IO for add 8 new pins                                           *
 * The new pins are 120 - 121 - 122 - 123 - 124 - 125 - 126 - 127                        *

*************************** Canon RC-1 Remote ****************************
 **************************************************************************
 *                                                                        *
 * M240 Triggers a camera by emulating a Canon RC-1 Remote                *
 * Data from: [www.doc-diy.net]                   *

/**************************************************************************
 ***************************** Camera trigger *****************************
 **************************************************************************
 *                                                                        *
 * M240 Triggering CHDK to take a picture see how to use it here:         *
 * [captain-slow.dk]              *

/**************************************************************************
 ********************************* BLINKM *********************************
 **************************************************************************
 *                                                                        *
 * Support for BlinkM/CyzRgb                                              *

/**************************************************************************
 ******************************** RGB LED *********************************
 **************************************************************************
 *                                                                        *
 * Enable support for an RGB LED connected to 5V digital pins, or         *
 * an RGB Strip connected to MOSFETs controlled by digital pins.          *

/**************************************************************************
 *************************** PCA 9632 PWM LED *****************************
 **************************************************************************
 *                                                                        *
 * Support PCA 9632 PWM LED driver                                        *


/**************************************************************************
 ********************* Adafruit Neopixel LED driver ***********************
 **************************************************************************
 *                                                                        *
 * Support for Adafruit Neopixel LED driver                               *

/********************************************************************************
 ***************************** Printer Event LEDs *******************************
 ********************************************************************************
 *                                                                              *
 * During printing, the LEDs will reflect the printer status:                   *
 *                                                                              *
 *  - Gradually change from blue to violet as the heated bed gets to target temp*                                                                 *
 *  - Gradually change from violet to red as the hotend gets to temperature     *
 *  - Change to white to illuminate work surface                                *
 *  - Change to green once print has finished                                   *
 *  - Turn off after the print has finished and the user has pushed a button    *

/**************************************************************************
 ******************************* Case Light *******************************
 **************************************************************************
 *                                                                        *
 * M355 Case Light on-off / brightness                                    *
 *                                                                        *


La cosa semplicherebbe anche la gestione dei relativi GCode e MCode associati.

Altre cose come:

- Doppio Asse X
- Dondolo
- MKR4 e simili



Apsetto lumi e discussioni sull'argomento, intanto mi occupo ti togliere qualche riferimento in giro per il BARICUDA.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 19, 2020 02:26PM
Ma scusa la domanda cretina,ma senza impazzire troppo, non ti conviene togliere le impostazioni dal COH e basta? Le cancelli e via, i file lasciali, tanto se non servono non li carica.

Se ti serve lo splash screen, dammi l'immagine che te la giro in HEX per ogni display
Re: Stampante economica per scopi educativi
August 19, 2020 04:40PM
A mio parere per la movimentazione resterei su sistemi a ricircolo di sfere, i sistemi a strisciamento se non in materiale plastico con il tempo tendono a sviluppare gioco. Non a caso in campo industriale per movimenti ripetitivi si usa praticamente solo il ricircolo. So che costano di più , ma non capisco perchè non vengono mai prese in considerazione le guide supportate (SBR 12) le ho usate per fare una 3D al figlio di un amico (che dandomi una mano nella costruzione ci ha preso anche gusto). Sono molto rigide quindi il woble o come si chiama non esiste, poi le boccole sono aperte sotto e hanno dei grani con cui è possibile regolare il precarico di ogni singolo pattino riducendo quindi l'eventuale gioco del materiale cinese. Spesso il problema è proprio la qualità del materiale una boccola già solo Hiwin o TBI non da mai nessun problema. Almeno per l'asse Y che supporta il piano visto che non hanno flessione le considerei, mentre per l'asse Z potrebbero risolvere il problema del woble visto che come ho detto più volte è la struttura che con la sua rigidezza deve tenere ferma la vite di manovra che sarà sempre un pò fuori asse. Per l'asse X van bene anche le non supportate classiche tanto devono tenere solo l'estrusore.
Sempre a mio avviso toglierei i due motori e collegherei le due viti con una cinghia a un motore solo, viti che devono essere supportate da cuscinetti su entrambi i lati. Si risolverebbe il problema di sincronizzazione fra i due motori o perdita di passi e si eviterebbe di usare i giunti in quel modo cosa per cui non sono stati creati.

Se può essere utile provo a cercare una foto della stampante che ho fatto, purtroppo non costa poco, ma non serve usare tutte le soluzioni. L'ho realizzata in profilati 20x20 barre SBR12 (dovrebbero esistere anche le 10) e motori nema 23 per Y Z nema 17 per X.
Il grosso problema per come la vedo io è che da una parte occorre tenere il costo basso, ma bisogna anche avere una 3D facile da usare la cui struttura non dia problemi (flessioni,perdita passi ecc). Meglio spendere di più per avere una buona struttura che lavori subito bene, quella di cui parlavo prima dopo un settaggio (con comparatore non con l'occhio, la sensazione ecc) ha lavorato subito bene e sto parlando di uno che la stampa 3d non l'aveva mai vista prima e che l'ha portata per la maturità (ha fatto un turbina in PLA che mi ha lasciato stupito).
Per hot end ho preso quello con il teflon della E3D originale, anche li speso di più ,ma nessunissimo problema.
Riguardo dove reperire il materiale...ok se posso prendo in italia, ma solo se non se ne approfittano , senza fare polemiche lo stesso accessorio di origine cinese per la fresatrice al tempo l'ho pagato in germania con iva del 19% i 3/5 che qui in italia con iva al tempo del 20%......Ora non credo che in germania le cose le regalano.....e il mio stipendio da operaio è fermo da 10 anni...... Per altre cose invece ci sono ottimi negozi online anche in italia.
Premetto che i miei sono solo consigli, e che probabilmente sono influenzati dalla mia passione principale cioè meccanica/cnc.
Re: Stampante economica per scopi educativi
August 20, 2020 03:11AM
Beh ma il problema è il fatto che la stampante deve essere economica.

io opterei per le barre e boccole come sulla p3steel toolson edition mk2, si potrebbero utilizzare il 90% dei componenti in plastica.


per l'HE ho trovato che i cloni venduti da un paio di venditori online specializzati con il core all-metal vanno bene.

Il taget di costo secondo me sarebbe fi 250 euro al massimo, essendo rivolta a studenti delle superiori con budget limitato.

Saluti

Carlo D.

Edited 1 time(s). Last edit at 08/20/2020 03:14AM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 20, 2020 04:18AM
proprio perchè è difficile mettere mano al firmware penso possa essere meglio nascondere invece che eliminare, inoltre in questo modo le opzioni avanzate sarebbero comunque disponibili, ma ammetto che sul firmware ne so veramente poco.

per la meccanica io sono dell'idea che deve essere economica ma non troppo, deve soprattutto funzionare bene ed essere semplice. Una volta che uno ha costruito la stampante, può sempre mettere display, bed e hotend di qualità maggiore, ma difficilmente si metterà a cambiare la meccanica (almneo nella maggior parte dei casi), per cui è meglio che sia da subito di buona qualità.

Un'altra cosa che credo sia il caso di considerare è la facilità di reperimento dei componenti. Primo perchè più facilmente si trovano e meno costano (di solito), inoltre perchè componenti rari è più facile che spariscano dal mercato facendo diventare la stampante obsoleta. Per questo io cercherei di creare un telaio che sia semplice da costruire in proprio, perchè potrebbe essere difficile dopo un paio d'anni trovare quel telaio tagliato al laser, e farlo fare potrebbe costare parecchio.

La p3 steel è una rework modificata, non tanto dissimile per la mia, ma se dobbiamo costruirla uguale allora tanto varrebbe consigliare quella, secondo me converrebbe cercare di costruire una stampante innovativa, che sia economica si, ma anche semplice da costruire e che funzioni bene. Per essere semplice da costruire dovrebbe avere pezzi facili da reperire o da autocostruirsi. Inoltre dovrebbe durare nel tempo, ad esempio quando costruì la rework dovetti cambiare hotend, perchè quello consigliato non si trovava o costava caro. Pensate se la stessa cosa succedesse con il telaio, se non si trova quanta gente se lo farebbe tagliare al laser (ed eventualmente lo vernicerebbe)? Secondo me passerebbero ad un altro progetto.

Se dobbiamo semplicemente fare una stampante simil prusa che costi poco, allora esistono già quindi non ha molto senso. Dato che siamo un forum reprap penso sia il caso di recuperare un po della vecchia filosofia e, almeno per il telaio, progettarlo in modo che possa essere creato con elementi comuni (profilati, barre, angolari...)


Alessandro

Prusa I3 Rework molto modificata - Taurino Classic - Ramps 1.4 - Driver DVR8825 - Titan Extruder e Hotend E3D V6 - Bltouch originale - Firmware MarlinKimbra - Cura - Repetier Host
Re: Stampante economica per scopi educativi
August 20, 2020 05:39AM
Il problema è il costo dei componenti, un telaio p3steel con le meccaniche barre e cuscinetti costa dai 250 ai 300 euro, però se usiamo le stesse lunghezzze delle barre della p3steel, presumo che il kit meccanico, si possa tranquillamente riutilizzare, infatti il suggerimento per l'alternativa del telaio p3steel è dato dal fatto che esistono almeno un paio di costruttori spagnoli che hanno in catalogo il telaio p3steel e vendono i kit meccanici, per cui la reperibilità dei componenti non dovrebbe essere un problema.

Ho notato che togliendo roba al firmware, diventa più snello e occupa meno memoria RAM e meno ROM anche.

In più togliendo roba diventa estremamente pià facile metterci mano in caso di modifiche:

ad esempio:

#include "../../../StuFW.h"

#if HAS_LCD_MENU

void menu_stop_print() {
  lcdui.encoder_direction_menus();
  START_MENU();
  MENU_BACK(MSG_MAIN);
  STATIC_ITEM(MSG_ARE_YOU_SURE);
  MENU_ITEM(function, MSG_YES, lcdui.stop_print);
  MENU_ITEM(function, MSG_NO, lcdui.return_to_status);
  END_MENU();
}

#if HAS_EEPROM
  void menu_eeprom() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) return lcdui.return_to_status();
    START_SCREEN();
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_1);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_2);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_3);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_4);
    END_SCREEN();
  }
#endif

#if HAS_NEXTION_LCD

  void menu_nextion() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) return lcdui.return_to_status();
    START_SCREEN();
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_1);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_2);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_3);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_4);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_5);
    END_SCREEN();
  }

  void menu_m0() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) {
      printer.setWaitForUser(false);
      return;
    }
    START_SCREEN();
    STATIC_ITEM(MSG_NEXTION_M0_M1_1);
    STATIC_ITEM(MSG_NEXTION_M0_M1_2);
    END_SCREEN();
  }

  #if HAS_SD_SUPPORT

    void menu_firmware() {
      lcdui.encoderPosition = 2 * ENCODER_STEPS_PER_MENU_ITEM;
      START_MENU();
      MENU_BACK(MSG_MAIN);
      STATIC_ITEM(MSG_ARE_YOU_SURE);
      MENU_ITEM(function, MSG_YES, UploadNewFirmware);
      MENU_ITEM(submenu, MSG_NO, menu_main);
      END_MENU();
    }

  #endif

#endif // HAS_NEXTION_LCD

void menu_tune();
void menu_motion();
void menu_temperature();
void menu_configuration();
void menu_user();
void menu_temp_e0_filament_change();
void menu_change_filament();
void menu_info();
void menu_led();

#if ENABLED(COLOR_MIXING_EXTRUDER) && DISABLED(NEXTION)
  void menu_mixer();
#endif

#if ENABLED(SERVICE_TIME_1)
  void menu_service1();
#endif
#if ENABLED(SERVICE_TIME_2)
  void menu_service2();
#endif
#if ENABLED(SERVICE_TIME_3)
  void menu_service3();
#endif

void menu_main() {
  START_MENU();
  MENU_BACK(MSG_WATCH);

  const bool busy = printer.isPrinting();

  if (busy) {
    MENU_ITEM(function, MSG_PAUSE_PRINT, lcdui.pause_print);
    MENU_ITEM(submenu, MSG_STOP_PRINT, menu_stop_print);
    MENU_ITEM(submenu, MSG_TUNE, menu_tune);
  }
  else {
    #if !HAS_ENCODER_WHEEL && HAS_SD_SUPPORT
      //
      // Autostart
      //
      #if ENABLED(MENU_ADDAUTOSTART)
        if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
      #endif

      if (card.isDetected()) {
        if (!card.isFileOpen()) {
          MENU_ITEM(submenu, MSG_CARD_MENU, menu_sdcard);
          #if !PIN_EXISTS(SD_DETECT)
            MENU_ITEM(gcode, MSG_CHANGE_SDCARD, PSTR("M21"));  // SD-card changed by user
          #endif
        }
      }
      else {
        #if !PIN_EXISTS(SD_DETECT)
          MENU_ITEM(gcode, MSG_INIT_SDCARD, PSTR("M21")); // Manually initialize the SD-card via user interface
        #endif
        MENU_ITEM(function, MSG_NO_CARD, NULL);
      }
    #endif // !HAS_ENCODER_WHEEL && HAS_SD_SUPPORT

    if (printer.isPaused())
      MENU_ITEM(function, MSG_RESUME_PRINT, lcdui.resume_print);

    MENU_ITEM(submenu, MSG_MOTION, menu_motion);
    if (printer.mode == PRINTER_MODE_FFF)
      MENU_ITEM(submenu, MSG_TEMPERATURE, menu_temperature);
  }

  MENU_ITEM(submenu, MSG_CONFIGURATION, menu_configuration);

  #if ENABLED(CUSTOM_USER_MENUS)
    MENU_ITEM(submenu, MSG_USER_MENU, menu_user);
  #endif

  if (printer.mode == PRINTER_MODE_FFF) {
    #if ENABLED(COLOR_MIXING_EXTRUDER) && DISABLED(NEXTION)
      MENU_ITEM(submenu, MSG_MIXER, menu_mixer);
    #endif
    #if ENABLED(ADVANCED_PAUSE_FEATURE)
      #if DRIVER_EXTRUDERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
        if (thermalManager.targetHotEnoughToExtrude(tools.active_extruder))
          MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
        else
          MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_temp_e0_filament_change);
      #else
        MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_change_filament);
      #endif
    #endif
  }

  #if ENABLED(LCD_INFO_MENU)
    MENU_ITEM(submenu, MSG_INFO_MENU, menu_info);
  #endif

  #if ENABLED(LED_CONTROL_MENU)
    MENU_ITEM(submenu, MSG_LED_CONTROL, menu_led);
  #endif

  //
  // Switch power on/off
  //
  #if HAS_POWER_SWITCH
    if (powerManager.is_on())
      MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
    else
      MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
  #endif

  #if HAS_ENCODER_WHEEL && HAS_SD_SUPPORT
    //
    // Autostart
    //
    #if ENABLED(MENU_ADDAUTOSTART)
      if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
    #endif

    if (card.isDetected()) {
      if (!card.isFileOpen()) {
        MENU_ITEM(submenu, MSG_CARD_MENU, menu_sdcard);
        #if !PIN_EXISTS(SD_DETECT)
          MENU_ITEM(gcode, MSG_CHANGE_SDCARD, PSTR("M21"));  // SD-card changed by user
        #endif
      }
    }
    else {
      #if !PIN_EXISTS(SD_DETECT)
        MENU_ITEM(gcode, MSG_INIT_SDCARD, PSTR("M21")); // Manually initialize the SD-card via user interface
      #endif
      MENU_ITEM(function, MSG_NO_CARD, NULL);
    }
  #endif // HAS_ENCODER_WHEEL && HAS_SD_SUPPORT

  #if ENABLED(SERVICE_TIME_1)
    MENU_ITEM(submenu, SERVICE_NAME_1, menu_service1);
  #endif
  #if ENABLED(SERVICE_TIME_2)
    MENU_ITEM(submenu, SERVICE_NAME_2, menu_service2);
  #endif
  #if ENABLED(SERVICE_TIME_3)
    MENU_ITEM(submenu, SERVICE_NAME_3, menu_service3);
  #endif

  END_MENU();
}

#endif // HAS_LCD_MENU

circa 210 righe di codice di cui 40 righe solo per il nextion, fai i conti tu.

Se vuoi avere un firmware snello, togliendo molte opzioni, velocizzi anche la compilazione perché ad ogni IF ..... perde tempo a crercare roba.

Il problema è quello di poter avere una piattaforma di test, io al momento non ho nulla in giro e non ho molte disponibilità finanziarie (essendo disoccupato) per comprare altra roba.

Posso provare e lo faccio ad ogni eliminazione a compilare il firmware e vedere se da errori, al momento i sorgenti sono passati da 5.6Mb a 4.4Mb con un risparmio del 20% circa, spero di togliere almeno un altro 10% e quindi renderlo più maneggevole, la cosa ovviamente ridurrà molto la complessità dei file di configurazione che sono la cosa più ostica da affrontare quando si affronta l'autocostruzione, perché se supporti 20 tipi di display e altrettante schede madri ovviamente la complessità diventa enorme.

Limitandoci a:

- 2 schede madri (che comunque sono varianti della Ramps anche la MKS GEN è una leggera variante della Ramps)
- 2 tipi di display i due reprap discount grafico e non grafico
- due tipi di driver A4988 e DRV8825
- un sensore che poi usa un input di un endstop (capacitivo e induttivo) al massimo il BLTOUCH.

la cosa diventa molto più comprensibile anche da un novizio.

Saluti.

Carlo D.

Edited 4 time(s). Last edit at 08/20/2020 05:51AM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 20, 2020 05:44AM
Sono d'accordo, vedendo su cosa spendono e quanto i figli dei miei colleghi sicuramente se uno ha la passione per la stampante qualche centone li trova anche perchè autocostruendosela non serve spendere tutto subito. Sono dell'idea che per alcuni hobby bisogna mettere in conto tempo, fatica e un tot soldi altrimenti meglio passare ad altro.
D'accordo anche per i componenti standart, a tal proposito le SBR sono standart e ralizzate dai cinesi fino alle marche top. Peccato solo che i fori delle sbr12 non fanno lo stesso interasse dei profilati 20X40 altrimenti sarebbe perfetto.
Un telaio rigido realizzato con profilati 20X20 su cui si abbandonano le barre sospese è sufficentemente rigido per attaccarci un dremel e usare la meccanica anche per fresarsi i circuiti stampati o un pò alla volta i frontali dei contenitori in alluminio. Questo unito alla stampa 3d credo sarebbe perfetto per uno studente.
Ho trovato delle foto della stampante fatta per il mio amico, non si capisce bene la struttura ,ma di meglio non ho, eventualmente posso spiegare a parole. Siccome la cnc non era ancora funzionante tutto è stato fatto con un seghetto alternativo e pochi pezzi su una fresetta manuale sgangherata, ma si potrebbero fare con un'altra 3d. Le lastre sono tutte in alluminio il cui spessore è stato limitato a 5mm proprio per renderle facili da tagliare a mano. Quindi alla fine serve un seghetto alternativo, un trapano meglio se su supporto a colonna . dei maschi con cui filettare e un amico per fare alcuni componenti tipo il carrello della X oppure ci si arrnagia facendolo diverso e più semplice . Comunque se uno vuole un sistema lo trova, la prima cessosissima cnc l'ho fatta 18 anni fa con un seghetto a mano e un trapano sempre a mano smiling smiley
Tutte le guide sono SBR, ma si possono sotituire con barre sospese o pattini da12mm che se cinesi costano poco. Per esempio per l'asse Z fissandoli sul davanti i pattini da 12 o 15 potrebbero essere una buona soluzione. Se escudiamo HE della E3D e i profilati presi qui in italia, da un rivenditore industriale, tutto il resto è preso in economina.
Per l'elettronica :arduino più ramp con driver esterni cinesi da 5/7E l'uno (i driverini sulla scheda riscaldavano come stufe questi restano appena tiepidi) , fosse adesso che l'ho vista prenderei la GEN 1.4 consigliata sopra.
Purtroppo a causa della scadenza stringente (la maturità del tipo) e del fatto che dovevamo costruirla praticamente a mano non ho fatto disegni a cad e non ho fisicamente il tempo per farli.
Dimenticavo per Z viti trapezoidali 10x2 tedesche tornite in casa e supportate da due cuscinetti ciascuna (ci si arrangia anche senza tornio volendo) , chiocciole in POM , le barre filettate le lasciamo ai carpentieri.




Re: Stampante economica per scopi educativi
August 20, 2020 06:06AM
Idealmente avrei in mente una cosa tipo questa:

[reprap.org]

con le dimensioni delle barre della P3steel per le ragioni esposte prima.

Senza fare pubblicità, ma tanto per capirci:

[orballoprinting.com]

[orballoprinting.com]

Sembrerebbe l'unico venditore rimasto in giro, l'altro spagnolo non ha più nulla in catalogo.

Mancherebbero appunto i supporti motore Z e i supporti barre Z che però

usando questi supporti per i motori di Z:



oppure una cosa simile ai supporti di questa:

[www.thingiverse.com]

Il telaio potrebbe essere fatto a mano, con un minimo di attenzione, si potrebbero migliorare alcune parti.

Comunque niente che non sia giù stato fatto prima.

Il resto del telaio si fa con le barre filettare e i componenti della mendel, oppure con assi di legno e i suporti già citati in uno dei primi post.

Ovviamente se usiamo le barre della p3steel in futuro basterà comprare il telaio (70-80 Euro + SS) e si ha una ottima struttura rigida.

Saluti

Carlo D.

Edited 1 time(s). Last edit at 08/20/2020 06:19AM by onekk.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 20, 2020 06:59AM
Faccio solo notare che il sistema di movimentazione della Z dell'ultimo link è proprio ciò che non si deve fare, tutto il peso è scaricato sul giunto che è elastico e sui cuscinetti dei motori tenuti in precarico anch'essi da una molla a tazza.
Riguardo il comprare in italia senza fare polemiche ,ma mi aspetterei di vedere indicato nell'offerta le caratteristiche delle barre tipo tolleranza,durezza (se non sono temprate/cementate sono inutili con sistemi a ricircolo) e marca.
Per dire ci sono store cinesi che danno queste informazioni, se lo fanno loro come minimo lo deve fare anche uno store italiano , visto che si è messo un link commerciale di solito per componenti meccanici se li prendo in italia mi servo qui
[www.cnc-store.eu]
Sito molto conosciuto in campo cnc, almeno qui indicano che sono temprate e la marca "NBS" la quale è conosciuta.
Re: Stampante economica per scopi educativi
August 20, 2020 07:55AM
Scusate se butto un sassolino, senza voler scatenare un pandemonio. Visto che ci sono passato di recente di "kit base" per costruire una cartesiana ce ne sono parecchi da venditori Italiani e senza sforzarsi tanto a cercare. Per esempio Guide lisce inox Prusa i3 che sono presenti anche su Ebay, e sono anche molto cordiali. Io ho cominciato con quello + i cuscinetti lineari, poi ho deciso di fare una CoreXY e quel kit devo averlo ancora in qualche cassetto che poi l'acciaio inox e pessimo come guida per le LM8UU (c'è lo stesso kit con barre temprate e retificate per qualche euro in più).
Intendo che se uno vuole iniziare dalle basi basta che si prenda i pezzi di una I3 o di una Mendel Max e cominci dagli inizi di questo movimento, che all'epoca era tutto autocostruito e non da "fenomeni" in meccanica.
E se proprio anche a livello firmware può iniziare dal Marlin 1.0, che è semplice e molto ben documentato, senza dover per forza mettere mano al lavoro degli altri, cosa che tra parentesi trovo sgradevole.
Troverei molto più indicato invece dal punti di vista didattico mettere insieme le esperienze comuni per presentare un progetto in italiano (se i giovani sono come i miei nipoti l'inglese è uno ostacolo piuttosto grosso) privo dei comuni difetti che si trovano nelle macchine "economiche" e ben documentato, tipo il commento di pumapiensa lo sottoscrivo in pieno.
Io la vedo così.

Buone stampe.


Luca

CoreXY custom (LF Mark1) 395x360x350 - Mega (clone per ora..) + RAMPS1.4 + 4xA4988 + 4 Nema17 17HS4401 - HotEnd V6 clone con ugello da 0.4mm - RepRapDiscount - Display LCD 2004 Smart Controller - Firmware MK4duo 4.2.9 - Repetier-Host 2.1.6
Re: Stampante economica per scopi educativi
August 21, 2020 03:38AM
Ben vengano gli indirizzi italiani e i consigli, il post è fatto proprio per questo, non sono il tipo che lancia un progetto e presume di avere l'"unica e corretta visione".

@pumapiensa, hai ragione, infatti, l'idea è proprio quella di fare delle piccole modifiche il supporto superiore potrebbe integrare dei cuscinetti come sul telaio della p3steel che permette di montare dei cuscinetti flangiati per sostenere il peso dell'asse Z.

@truck64 infatti il concetto è quello, però visto che oramai del progetto originale rimane poco e che siamo sommersi dai "cloni cinesi a basso costo" che sono diventati un "fenomeno commerciale" l'idea era quella di proporre un'alternativa e dato che personalmente ho dato una mano ad un paio di studenti a portare a termine il progetto, sembra che ci sia un minimo di esigenza di questo tipo di stampanti.

La scelta di forkare MK4duo è derivata da alcune considerazioni:

- MK4duo è diventato un mostro di complessità, se non usi il configuratore online fai veramente fatica a configurarlo.
- lo sviluppo è orientato alle 32bit (e solo alle schede che piacciono al Mago) le 8bit sono considerate mature, anche se il Mago afferma il contrario.
- rispetto a Marlin non usa le "tabelle per i termistori" ma usa una versione semplificata della Steinhart-Hart che permette di specificare 3 valori e da lì ricavarne tutta la curva del temristore, rendendo facilissimo ricalibrare un sensore starato (modificando solo il valore del Beta) e implementare sensori "custom".

Più conosco il codice più apprezzo il lavoro del Mago, ha fatto un lavoro notevole, però ad esempio la parte che implementa i dirver TMC ha stravolto la linearità del codice e difficilmente un programmatore alle prime armi riesce a seguire le continue involuzioni dovute alle miriadi di define dovuti al fatto che è necessario supportare diverse meccaniche:

- Delta e Scara hanno un codice di posizionamento completamente diverso dalle cartessiane e dalle correYXZ (nel codice hai tutte le varianti).
- c'è anche una MUVE3D che propio non conosco

il supporto per una miriade di sistemi di estrusione, alcuni derivati da Marlin, alcuni introdotti dal Mago per seguire le evoluzioni delle innovazioni italiane che poi purtroppo hanno avuto poco seguito, rende la complessità notevole, i define per settare un estrusore o un driver TMC sono una miriade, e comlicano non poco la leggibilità dei vari file Configuration_xxx

Il lavoro è lungo, ma l'obiettivo sarebbe di arrivare a:

Avere un codice snello e leggibile senza tutte le sovrastrutture dovute alle meccaniche e ai driver TMC

Ridurre molto i file di configurazione, in somma teoria si dovrebbe potere usare tre soli file:

Configuration_Main.h (una specie di Configuration_Overall.h, ma con i commenti di Configuration_General.h, Configuration_(Cartesian e Core).h, Configuration_Temperature.h, Configuration_Motor_Driver.h)
Configuration_Feature.h
Configuration_Pin.h

Probabilmente sarà la prima grossa modifica al codice che farò in modo da poter cominciare a scrivere "la guida alla configurazione del firmware"

Forkare MK4duo non la ritengo assolutamente un atto di lesa maestà anche perché il target è ben diverso dalla filosofia di MK4duo che puoi trovare a [github.com]

Lui stesso ha forkato Marlin e ha notevolmente modificato il codice, e ha dovuto rilasciarlo sotto licenza GPL, dato che Marlin lo era, per cui semplicemente rimaniamo nel solco della "vera filosofia" open source, se un progetto ci piace ma lo sviluppo va da una parte diversa da quella dei nostri scopi, interessi, gusti, semplicemente si forka e si lavora con quello che c'è.

Senza dover per forza fare critiche a "quelli che lavorano", semplicemente gli scopi sono diversi, io non conosco gli scopi del Mago, sto semplicemente cercando di fare una cosa diversa, un firmware semplice e snello, ma moderno per schede a 8bit con pochi fronzoli e che sia capibile da uno studente.

Altrimenti, rimaniamo in ballia delle scoperte altrui, in altri paesi fanno scuola e ricerca anche perché hanno delle basi più solide, se uno studente di elettronica al giorno d'oggi riesce solo a:

- programmare usando intrfacce tipo scratch o ide ad altissimo livello che scrivono il codice per lui.
- usa librerie preconfezionate che sono anche poco leggibili
- non ha una palestra dove cominciare ad esercitarsi in progetti più complessi

ovviamente il futuro della nostra industrie ed economia in generale non è molto roseo.

Già vedere che progetti come Arduino hanno perso molto del loro slancio non solo per la concorrenza dei cloni cinesi ma anche per questioni interne di simpatie ed antipatie, e che molti progetti si scontrano con il "fine ultimo di fare soldi" che è legittimo ma non se lo rivesti di "filosofia open source" vedi molti progetti su kikstarter che poi sono miseramente falliti perché lo sviluppo si è fermato dopo la realizzazione dei primi prototipi, il fine era quello di raccogliere fondi per fare cose, ma se poi non accetti la collaborazione di altri, non capisci dove il tuo utente finale "vuole andare" e ti ostini a seguire la tua "siucuramente corretta" visione, il destino mi pare abbastanza chiaro, un bel progetto ma niente futuro.

L'obiettivo non mi pare troppo ambizioso, riassumiamolo:

-- Stampante economica attorno ai 250 Euro
-- Firmware facile da personalizzare senza bisogno di strumenti online
-- Progetto realizzabile con pochi attrezzi


La parte meccanica non presenta molti ostacoli, si tratta di mettere insieme un paio di buoni progetti (anche basandosi sulla disponibilità dei pezzi in giro, meglio se da negozi italiani) la parte più ostica è quella di avere un firmware per schede a 8 bit facilemte personalizzabile, è una versione molto snellita e ripensata di Mk4duo secondo il mio parere è un ottimo candidato.

Al solito si accettano tutti i discorsi finalizzati al progetto, le critiche fini a se stesse le lascio ad altri.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 23, 2020 03:38AM
Ciao a tutti.
Mi sembra che in realtà stiamo sforando dalle idee iniziali.

1) Tipo di stampante.
eravamo partiti con una cartesiana semplice da costruire con poco: da usare tubi o profilati, basta gli attrezzi di casa
All'inizio anch'io volevo fare una Prusa, ma non ho trovato chi mi faceva la lastra al laser e ho cambiato modello
Tubi e profilati li trovi ovunque

2) Kit
Se compri un Kit ragioni molto poco, ti limiti a fare il montatore.

3) MKduo
Quando ho proposto un fork di MKduo non intendevo qualcosa da dover necessariamente modificare. Intendevo un sorgente di Arduino con tutto già definito, senza SD/LCD, senza BLTouch, senza HotBed.
Un MKduo base per far partire la stampante e eseguire le prime stampe, dove l'hardware fosse uguale per tutti.
Una volta preso dimestichezza il neofita può comincia a cambiare quello che vuole.

Capisco che si vuole incentivare il commercio italiano ma uno studente squattrinato deve poter comprare dove desidera. Come HotEnd io ho un clone che costa 10 euro e funziona benissimo mentre l'originale ne costa 70.

In quanto al manuale agli inizi mi è mancato un glossario del GCode con descrizione ed esempi in italiano

A rileggersi
Franco
Re: Stampante economica per scopi educativi
August 23, 2020 06:30AM
@whitedavil, scusa mi era sfuggito il tuo post, grazie, si dovrebbe prima creare un opportuno logo, o per lo meno una immagine diversa da quella del mago.

#Franq, il concetto era propio quello, però tieni presente che io ho costruito una p3steel acquistando su ebay da un Lituano che mi ha fatto avere un telaio tagliato al laser più le meccaniche, senza elettronica e motori, ad un prezzo ragionevole, se non ricordo male attorno ai 140 Euro, ovviamente non lo consiglio ad un neofita.

Il concetto perà era quello che se costruisco una stampante, con legno e compensato e poi voglio passare ad un telaio più rigido, se giù uso barre delle dimensioni di una p3steel non averi problemi a passare a quel telaio.

In somma semplificazione il telaio della i3 è un rettangolo, che posso costruire con quello che voglio, legno, alluminio, acciao, acrilico, possiamo discutere poi della base, cioè dei distanziali orizzontali dell'asse Y, e del rinforzo dell'asse Y "per il lungo", ricordandosi sempre che la Prusa i3 in pratica è una riedizione della Mendel con i motori sotto invece che sopra e un telaio leggermente diverso.

L'uso di barre filettate o altro come telaio è sempre stato visto come una complicazione per i motivi che poi vanno "pareggiati", però niente di trascendentale, ovviamente, se guardiamo la storia delle stampanti 3D, ti accorci che dal punto di vista della meccanica poco cambia, sono delle implementazioni leggermente diverse dello stesso concetto, l'innovazione può essere la Delta, che però pone una serie di problemi a livello di software e di hardware, infatti non è stata molto sviluppata, a quanto sembra.

Le coreXY, o varianti sono delle buone evoluzioni ancorché comlicate più da capire che da implementare, il problema sono il numero dei rinvii che devi costruire, per il meccanismo.

L'incarnazione più semplice è appunto la cartesiana pura.

I problemi della cartesiana nelle sue attuali implementazione non sono molti, in genere la movimentazione dell'asse Z è quello su cui in genere ci si concentra, barre trapezie ecc. che secondo me sono un "falso problema", le barre trapezie hanno una "risoluzione per step" inferiore ma una velocità in Z superiore, e qui ne possiamo discutere.

Allora rimanendo nella originaria incarnazione della "stampante 3D" e nella filosofia di RepRap cioè di "poter costruire la maggioranza delle cose" con una stampante 3d, secondo me la prusa i3 è un'ottimo progetto, per cui il portale poi lo costruisci con quello che vuoi, hai 6 barre di scorrimento "due per asse", mi sembra semplice e capibile.

Lato firmware, beh tutte le obiezioni su togliere roba e semplificare la configurazione si scontrano con una piccola particolarità del firmware MK4duo.

Se ne potrebbe discutere, ma se si da un occhio ai sorgenti, si capisce la difficoltà di mantenere tutte le derivazioni dovute al fatto di suportare molte opzioni, ad esempio l'ultima incarnazione di StuFW, compilata usa il 51% della memoria di arduino Mega e circa il 57 per cento della RAM.

C'è spazion ancora per un certo miglioramento, in quanto il firmware alloca una serie di risorse che poi non impiega in quanto se ti limiti aa un tipo di meccanica e non cambi al volo molti parametri questi li puoi tranquillamente lasciare statici e non vanno nemmeno in RAM.

Usare firmware più vecchi come Marlin 1.0 non è una buona soluzione.

La scelta di sfrondare MK4duo delle incrostazioni del 32bit e della molteplicità di opzioni esotiche e di meccaniche, secondo me a lungo andare è migliore, perché permette di portare alla luce il funzionamento del firmware e in ottica didattica è decisamente meglio.

Perché non altri firmware, perché la possibilità di cambiare il beta del sensore al volo, è impagabile, specie se sperimenti con diversi hotend, non è mica detto che un hotend e l'altro abbiamo sensori compatibili, tra 5 euro 10 pezzi di sensori NTC 3950 cinesi e 20 Euro 1 pezzo di sensore NTC di qualità (qualità, ma dove un NTC è una resistenza, l'unica cosa è che per ottenere un sensore di qualità ne compri 100 e ne butti 90 perché ne trovi 10 con caratteristiche "abbastanza simili" per avere una curva di temperatura molto vicina una all'altra).

La differenza di prezzo mi pare una ragione più che sufficiente.

Con Marlin ci si affida a tabelle di temperatura che devi caricare nel firmware ad ogni cambio di sensore e avolte te le devi ricavare a mano usando un programmino oppure un foglio di calcolo.


Attendo proposte e critiche costruttive.

Saluti

Carlo D.

que


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 23, 2020 09:57AM
Buongiorno a tutti, ho appena postato una modifica del firmware che comincia a semplificare la parte del display, che è molto complicata.

La parte del display nextion e dei driver TMC hanno un notevole impatto sui file di traduzione, io proporrei di lasciare solo inglese e italiano in modo da poter avere una gestione migliore dei file.

Per poter portare avanti in modo proficuo il progetto servirebbe:

-- Qualche volontario con una RAMPS e un display Reprap-full-graphics e possa testare la funzionalità del firmware.
-- Qualcuno che proponga il logo del FW, da mettere sulla pagina di Github e nel bootscreen del firmware
-- Qualcuno che voglia/possa dare una mano alla modifica del firmware.


Prossimamente metterò un documento che cerca di riassumere le mie scoperte sul firmware, questo in teoria servirebbe in futuro per fare in modo che uno studente possa mettere mano al firmware per fare modifiche di funzionalità o altro.

Altra iniziativa che vorrei prendere è pubblicizzare questo nuovo firmware sul sito inglese in modo da sperare di ottenere una collaborazione internazionale.

Sono graditissime al solito critiche costruttive, pareri, suggerimenti e quant'altro vogliate "civilmente" sottopormi.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 24, 2020 12:02PM
Altro lavoro, esiste una versione dev-display dove ho semplificato molto il codice, togliendo tutti i display tranne i due reprapdiscount.

Il codice si è molto ridotto ed è diventato più leggibile, o almeno spero, nel frattendo ho tolto il dondolo (non mi pare che molti lo usino, e credo non di sicuro su una stampante economica).

Ho lasciato per il momento il MKR4 e compagnia bella, anche perché lo ritengo una "interessante aggiunta" semplice nella realizzazione usa un paio di relais per ottenere 4 estrusori da due sole uscite, e due pin di comando, pienamente fattibile (ovviamente se si hanno gli estrusori).

Dovrei essere riuscito a togliere la parte del Nextion, però va visto.

Ho testato la compilazione su tutte le varianti supportate delle MB e sembra andare.

Ho scoperto alcune cose per le varianti senza "Hot Bed".

L'occupazione di memoria si è ridotta al 49% della memoria di programmazione e al 57% della RAM, sembra un buon risultato, in teoria dovrebbe esserci spazio per le ottimizzazioni del codice, togliendo le variabili non usate, e altre piccole cose.

Se qualcuno riuscisse a testarlo su una vera scheda (io al momento sto rifacendo parte della filatura della mia stampante) sarebbe il top.

Presumibilmente dovrebbe andare tutto, per chi fosse interessato sulla variante dev-display apro una issue e ne possiamo discutere li su github, così diventa più semplice parlare di codice, avendolo lì a disposizione.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
August 24, 2020 12:08PM
Ciao,
ho appunto una cartesiana che non uso con Mega, Ramps14, display REpRap
ma ndami o linkami il tuo MK che lo provo
Franco
Re: Stampante economica per scopi educativi
August 30, 2020 09:33AM
Ciao,

Allora prima di tutto una proposta per la meccanica,

[scheuten.me]

A parte la lingua, le foto sembrano spiegare bene la filosofia, andrebbe rifatto il porta hot end, perché le ventole di raffreddamento del pezzo sono costose in quella configurazione.

Il resto beh ci sono già anche i supporti per i cuscinetti superiori e il sistema anti-wobble, buona parte delle meccaniche sono compatibili con la i3 rework, di cui i pezzi si trovano in giro, se capisco bene il tedesco.


Il firmware, si trova a:

[github.com]

ci sono tre versioni:

master che è quella meno maneggiata,

dev che compila ed è più sfrondata

dev-display che è quella su cui sto lavorando e compila, al momento, ma essendo wip potrebbe avere problemi.

mi sto focalizzando sul display reprap discount full graphics in modo da togliere un sacco di defines per i vari tipi di "tastiierino" più o meno complicati presenti nella parte display.


Ho tolto buona parte dei riferimenti al dondolo ed a vari estrusori strani, buona parte dei riferimenti a baricuda, tmc, delta e scara, e nextion, ora la parte interessante, cioè /src/core/printer sembra già più leggibile e quindi mantenibile e illustrabile ad un novizio, in termini di "come funziona".

però va testata e vanno trovati gli inevitabili bug dovuti alla complessità del firmware.

L'ideale sarebbe avere i sorgenti più puliti possibile e compilabili.

Passo successivo, definire le funzioni di base:

- il sistema di Bed level ce ne sono più di uno, dove ci concentriamo, MBL (Manual Bed Level) è d'obbligo, un sistema automatico andrebbe bene, io UBL non sono mai riuscito a farlo funzionare, però con i sorgenti puliti magari troviamo l'inghippo.

- Display io opterei per il reprapworld full graphics, che è quello più disponibile a poco costoso (quello a caratteri costa poco si meno) e con un livello di complicazione tale da permettere di testare le cose "complesse", quello a caratteri per lo meno dal codice ha molte meno "complicazioni"

- al momento lascerei il codice per il multiestrusore ma mi focalizzarei sul far funzionare ben un estrusore solo con un Hot End.

per cui Arduino Mega + Ramps + Reprapdiscount full graphics display, dovrebbe essere la base per i test.

L'ideale sarebbe di avere almeno:

- Una compilazione senza errori (Questa la posso testare e lo faccio ad ogni modifica)
- Un funzionamento meccanico (movimenti, endstop corretti, motori che girano per il verso giusto)
- Un diplay gestibile (sfarfallio ecc.) e con i menu che funzionano.

Da qui potremo ri-partire a modificare il codice altrimenti si rischia di dover tornare indietro dopo aver corretto una marea di righe.

Se qualcuno mi da un input magari attraverso le issue del sito di github del firmware possiamo andare avanti.

Passi successivi:

- Nuovo logo (non indispensabile, ma per non avere il logo del mago che potrebbe generare confusione, non vorrei che siano mandati rapporti di errore alla persona sbagliata)
- Riorganizzazione dei menu
- Prima stesura di un "Manuale di compilazione" del firmware

Lato meccanica, aspetto idee.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
September 03, 2020 02:47PM
Ciao
Ho compilato e installato StufFW Dev sulla mia cartesiana
Mi sembra che tutto funzioni
Ho resettato la EEprom, nessun problema
Il display funziona bene, una volta preso la mano.
Ho movimentato gli assi avanti e indietro
Acceso e spento l'HotEnd
Mi è stato impossibile fare Home perchè la velocità di homing è troppo alta per la mia stampante e si incasina
In questo momento non ho disponibile l'estrusore e non posso fare stampe.

Se hai altri test da fare scrivi.

Franco
Re: Stampante economica per scopi educativi
September 06, 2020 07:06AM
Ciao, felice che il firmware vada.

Hai provato la "development" o la dev-display? (che essendo la più "rimaneggiata", è quella su cui sto lavorando al momento)

Uno dei requisiti per la personalizzazione dei menu è mettere "ordine" proprio nella parte menu che contiene molti "define" ed "if define" in base ai vari tipi di display e di funzioni e meccaniche supportate.

Si perde facilmente il filo e la posizione del codice, (ovvero si fa fatica a capire in che menu o submenu siamo)

Al momento "sono fermo" nello sviluppo in attesa di avere dei feedback, anche in ordine a quanti sono interessati al progetto.

Se devo modificare il firmware "a mio uso e consumo" è una cosa (mi posso concentrare solo sulle "mie" esigenze presenti e future), ma dato che l'idea è quella di fare un:

- Firmware semplice per studenti e per macchine "poco complicate"

ovviamente la risposta degli utenti e di altri volenterose persone va tenuta presente, al momento, rischio di lavorare per nulla o togliere codice che poi dovrei reinserire con oggettive difficoltà.

Anche se il progetto non avrà successo di "pubblico" comunque ho acquisito una certa conoscenza del codice, che non guasta mai.

Molte grazie ancora per il test e saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
September 07, 2020 02:38AM
Ciao,
stamani ho provato la dev-display. Niente da segnalare


CoreXY HyperCube , MKDuo, HotEnd 0,4 Repetier Host Cura engine
Mostly CNC con MKDuo
Re: Stampante economica per scopi educativi
September 08, 2020 12:07PM
In che senso che va tutto bene, i menu funzionano e si possono girare?

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
September 09, 2020 06:11AM
Onekk, mi sembra che nella tua idea di firmware ci sia l'interesse a semplificarlo per renderlo facilmente capibile e modificabile da nuovi "programmatori", e in questo caso può essere una buona cosa.
Per renderlo più semplice per chi si costruisce una stampante penso ancora fosse meglio nascondere piuttosto che eliminare, perchè difficilmente a chi decide di montare una stampante 3D interessa capire come funziona il firmware, si accontenta di cambiare quei pochi parametri di cui ha bisogno (e quindi quelli extra potrebbero essere nascosti, a parte cnc e movimentazioni particolari che possono essere stralciati).

In ogni caso, eventualmente, in futuro, sarà comunque semplice creare una copia di mk impostata per funzionare come quella da te creata a cui passare una volta che si vorrà modificare la stampante "base" e dai cui partire con le modifiche.

Ok partire da una i3, ma non capisco cosa cambieresti nella toolson edition. Se si tratta solo del supporto hotend e del firmware allora non ha molto senso progettare una stampante, tanto vale, come già detto, consigliare quella e indicare al massimo un nuovo supporto e pubblicare il firmware che stai creando.

Non è certo facile, ma mi aspetterei una stampante con qualche elemento nuovo, semplice e con componenti facili da reperire. Il telaio taglio laser non è proprio qualcosa che fa parte di questa filosofia, anche pubblicandone i disegni, una volta che non si trova più in vendita la stampante morirebbe (ok, uno può farselo tagliare, ma sarebbe difficile e costoso, e farlo in compensato non è proprio così semplice come sembra e perderebbe rigidità).

Non ho una soluzione, ma vorrei capire come la vedi tu e il resto del forum. E non è una critica alla toolson, è ben rifinita (anche la parte elettronica) e ha delle soluzioni valide e simili a quelle che ho sviluppato nella mia stampante, anche se io uso cuscinetti classici e delle trapezie (che stranamente loro non usano).

Sul budget non sarei così drastico, capisco che uno studente possa avere pochi soldi (ma non ne sono così certo) ma, come già scritto, se si fa a gara con le cinesi sul prezzo non se ne esce, secondo me questa stampante dovrebbe essere una alternativa di qualità migliore e più semplice da utilizzare rispetto a quelle in vendita. Io penso che 300-350€ sia un budget sensato, se si vuole spendere meno ci sono le cinesi, che seppur con qualche compromesso, funzionano abbastanza bene, spesso hanno anche un firmware precompilato.

Un budget leggermente maggiore potrebbe portare a soluzioni migliori e quindi ad una stampante buona come base, se se ne vuole progettare una, altrimenti si consiglia direttamente la toolson ed. con le modifiche che si ritengono opportune.

Se serve un logo posso occuparmene io.


Alessandro

Prusa I3 Rework molto modificata - Taurino Classic - Ramps 1.4 - Driver DVR8825 - Titan Extruder e Hotend E3D V6 - Bltouch originale - Firmware MarlinKimbra - Cura - Repetier Host
Re: Stampante economica per scopi educativi
September 10, 2020 02:59AM
@ bilanciamist ok per il logo.

Il firmware, beh quello è probabilmente è un mio "vezzo", il codice di MK4duo è quasi "illeggibile" se non per gli "addetti ai lavori" (in pratica il Mago e pochissimi altri).

Cambiare anche solo l'ordine di una voce di menù è per lo meno complicato. (il codice è pieno di define, di if e compagnia bella per le molte opzioni e le molte varianti dovute alle differenti implementazioni di tasti di input.)

Ahimè l'avvento dei TMC e delle funzioni particolari ha fatto lievitare il consumo di RAM e di EEPROM rendendo arduino Mega molto stretto anche per un firmware con poche opzioni, infatti alcune scelte sono fatte non più su dei define, ma allocando delle variabili in RAM e bon finita lì, se poi ci sta nella memoria del Mega è una considerazione "secondaria", lo si vede anche dell'evoluzione di Marlin 2.0.

Se si lasciasse tutto come sta a questo punto basterebbe pubblicare delle versioni di Configuration_Overall.h e di Configuration_Pins.h e morta lì.

Un esempio pratico forse chiarisce la cosa:

Stampante nuova, devo tarare l'offset di Z,
1) regolo l'endstop in mod che scatti al contatto con il piano e imposto ad esempio un offset di Z a 0,10 mm, in modo da poter mettere nello slicer l'offset del piano in modo che calcoli in modo corretto il primo layer
2) lancio la home di Z usando il menu Prepara - Autohome oppure Prepara - Home Z
3) trovo che ad esempio l'offset è tropo poco lo "spessore di verifica non passa"
4) trovo la posizione di Z usando il menu Prepara - Muovi Asse - Asse Z - 0.01mm e trovo la corretta posizione.
5) devo calcolare l'offset di Z e leggo ad esempio con le impostazioni precedenti avevo 0.08 reale, per cui devo ritoccare il valore di offset in modo da ottenere 0.10
6) uso ovviamente la voce di menu per stabilire lo Z Offset, la trovo nel menù "Configurazione" (vado a memoria)


Ovviamente sarebbe più comodo avere le voci in un unico menu ad esempio:

- Home Z
- Muovi al centro del piano
- Regola asse Z (che va in un sottomenu dove muovi con la manopola)
- Offset Z.

eventualmente si potrebbe aggiungere una routine che calcola a partiredai dati in memoria il nuovo offset.

Questo ora è molto difficoltoso, un esempio della parte che si occupa del menù main

//
// Main Menu
//

#include "../../../StuFW.h"

#if HAS_LCD_MENU

void menu_stop_print() {
  lcdui.encoder_direction_menus();
  START_MENU();
  MENU_BACK(MSG_MAIN);
  STATIC_ITEM(MSG_ARE_YOU_SURE);
  MENU_ITEM(function, MSG_YES, lcdui.stop_print);
  MENU_ITEM(function, MSG_NO, lcdui.return_to_status);
  END_MENU();
}

#if HAS_EEPROM
  void menu_eeprom() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) return lcdui.return_to_status();
    START_SCREEN();
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_1);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_2);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_3);
    STATIC_ITEM(MSG_EEPROM_CHANGED_ALLERT_4);
    END_SCREEN();
  }
#endif

#if HAS_NEXTION_LCD

  void menu_nextion() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) return lcdui.return_to_status();
    START_SCREEN();
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_1);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_2);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_3);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_4);
    STATIC_ITEM(MSG_NEXTION_CHANGED_ALLERT_5);
    END_SCREEN();
  }

  void menu_m0() {
    lcdui.defer_status_screen(true);
    if (lcdui.use_click()) {
      printer.setWaitForUser(false);
      return;
    }
    START_SCREEN();
    STATIC_ITEM(MSG_NEXTION_M0_M1_1);
    STATIC_ITEM(MSG_NEXTION_M0_M1_2);
    END_SCREEN();
  }

  #if HAS_SD_SUPPORT

    void menu_firmware() {
      lcdui.encoderPosition = 2 * ENCODER_STEPS_PER_MENU_ITEM;
      START_MENU();
      MENU_BACK(MSG_MAIN);
      STATIC_ITEM(MSG_ARE_YOU_SURE);
      MENU_ITEM(function, MSG_YES, UploadNewFirmware);
      MENU_ITEM(submenu, MSG_NO, menu_main);
      END_MENU();
    }

  #endif

#endif // HAS_NEXTION_LCD

void menu_tune();
void menu_motion();
void menu_temperature();
void menu_configuration();
void menu_user();
void menu_temp_e0_filament_change();
void menu_change_filament();
void menu_info();
void menu_led();

#if ENABLED(COLOR_MIXING_EXTRUDER) && DISABLED(NEXTION)
  void menu_mixer();
#endif

#if ENABLED(SERVICE_TIME_1)
  void menu_service1();
#endif
#if ENABLED(SERVICE_TIME_2)
  void menu_service2();
#endif
#if ENABLED(SERVICE_TIME_3)
  void menu_service3();
#endif

void menu_main() {
  START_MENU();
  MENU_BACK(MSG_WATCH);

  const bool busy = printer.isPrinting();

  if (busy) {
    MENU_ITEM(function, MSG_PAUSE_PRINT, lcdui.pause_print);
    MENU_ITEM(submenu, MSG_STOP_PRINT, menu_stop_print);
    MENU_ITEM(submenu, MSG_TUNE, menu_tune);
  }
  else {
    #if !HAS_ENCODER_WHEEL && HAS_SD_SUPPORT
      //
      // Autostart
      //
      #if ENABLED(MENU_ADDAUTOSTART)
        if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
      #endif

      if (card.isDetected()) {
        if (!card.isFileOpen()) {
          MENU_ITEM(submenu, MSG_CARD_MENU, menu_sdcard);
          #if !PIN_EXISTS(SD_DETECT)
            MENU_ITEM(gcode, MSG_CHANGE_SDCARD, PSTR("M21"));  // SD-card changed by user
          #endif
        }
      }
      else {
        #if !PIN_EXISTS(SD_DETECT)
          MENU_ITEM(gcode, MSG_INIT_SDCARD, PSTR("M21")); // Manually initialize the SD-card via user interface
        #endif
        MENU_ITEM(function, MSG_NO_CARD, NULL);
      }
    #endif // !HAS_ENCODER_WHEEL && HAS_SD_SUPPORT

    if (printer.isPaused())
      MENU_ITEM(function, MSG_RESUME_PRINT, lcdui.resume_print);

    MENU_ITEM(submenu, MSG_MOTION, menu_motion);
    if (printer.mode == PRINTER_MODE_FFF)
      MENU_ITEM(submenu, MSG_TEMPERATURE, menu_temperature);
  }

  MENU_ITEM(submenu, MSG_CONFIGURATION, menu_configuration);

  #if ENABLED(CUSTOM_USER_MENUS)
    MENU_ITEM(submenu, MSG_USER_MENU, menu_user);
  #endif

  if (printer.mode == PRINTER_MODE_FFF) {
    #if ENABLED(COLOR_MIXING_EXTRUDER) && DISABLED(NEXTION)
      MENU_ITEM(submenu, MSG_MIXER, menu_mixer);
    #endif
    #if ENABLED(ADVANCED_PAUSE_FEATURE)
      #if DRIVER_EXTRUDERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
        if (thermalManager.targetHotEnoughToExtrude(tools.active_extruder))
          MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
        else
          MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_temp_e0_filament_change);
      #else
        MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_change_filament);
      #endif
    #endif
  }

  #if ENABLED(LCD_INFO_MENU)
    MENU_ITEM(submenu, MSG_INFO_MENU, menu_info);
  #endif

  #if ENABLED(LED_CONTROL_MENU)
    MENU_ITEM(submenu, MSG_LED_CONTROL, menu_led);
  #endif

  //
  // Switch power on/off
  //
  #if HAS_POWER_SWITCH
    if (powerManager.is_on())
      MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
    else
      MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
  #endif

  #if HAS_ENCODER_WHEEL && HAS_SD_SUPPORT
    //
    // Autostart
    //
    #if ENABLED(MENU_ADDAUTOSTART)
      if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
    #endif

    if (card.isDetected()) {
      if (!card.isFileOpen()) {
        MENU_ITEM(submenu, MSG_CARD_MENU, menu_sdcard);
        #if !PIN_EXISTS(SD_DETECT)
          MENU_ITEM(gcode, MSG_CHANGE_SDCARD, PSTR("M21"));  // SD-card changed by user
        #endif
      }
    }
    else {
      #if !PIN_EXISTS(SD_DETECT)
        MENU_ITEM(gcode, MSG_INIT_SDCARD, PSTR("M21")); // Manually initialize the SD-card via user interface
      #endif
      MENU_ITEM(function, MSG_NO_CARD, NULL);
    }
  #endif // HAS_ENCODER_WHEEL && HAS_SD_SUPPORT

  #if ENABLED(SERVICE_TIME_1)
    MENU_ITEM(submenu, SERVICE_NAME_1, menu_service1);
  #endif
  #if ENABLED(SERVICE_TIME_2)
    MENU_ITEM(submenu, SERVICE_NAME_2, menu_service2);
  #endif
  #if ENABLED(SERVICE_TIME_3)
    MENU_ITEM(submenu, SERVICE_NAME_3, menu_service3);
  #endif

  END_MENU();
}

#endif // HAS_LCD_MENU


Ovviamente diventa complicato senza toccare il codice del firmware.

Per la meccanica della stampante, sono aperto a molti consigli, le barre trapezie, per esperienza sono solo delle cose cosmetiche, hanno una avanazamento per giro elevato, però alla fine non è quello il problema.

L'ideale sarebbe di usare delle soluzioni semplici e riutilizzare molto materiale già disponibile, trovando magari soluzioni "creative " per la costruzione del telaio della stampante. in modo da semplificare la costruzione al massimo.

Oddio in fin dei conti non si deve proprio inventare nulla, si dovrebbe mettere assieme un bel manuale con le istruzioni dettagliate per la costruzione, alcuni tucchi suggeriti dall'esperienza, qualche consiglio per il cablaggio e una buona sezione di tarartura e regolazione iniziale e di "ricerca guasti" e "soluzione problemi durante la stampa".

Tutto questo in modo organico, però ovviamente se non abbiamo un firmware che sia facile da girare, come ho fatto nell'esempio prima già la taratura ti diventa un incubo.

Pensa solo al fatto che non esiste una voce di menu che disattiva la protezione per l'estruzione a freddo per tarare gli step dell'estrusore, io risolvo con due file di gcode nella sd uno che la esclude e l'altro che la riattiva, però una voce di menu sarebbe carina.

Spero di aver chiarito il mio pensiero, nel caso, siamo sempre qui per parlarne.

Saluti

Carlo D.


P3Steel - MKS GEN v1.2 e REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + Gen 7 MOSFET (HotBed) + alimentatore step-down 12V -> 5V
Firmware MK4duo 4.3.6 con ABL induttivo con LJ18A3 - Slic3R (Originale) ed ESP3D per controllare la stampante da remoto.
HotEnd Cinese V6 clone con ugello da 0.4mm.

[My Building Log]
Re: Stampante economica per scopi educativi
September 10, 2020 02:40PM
Diciamo che una trapezoidale è stata creata per muovere qualcosa la barra filettata solo per fissarla. La trapezoidale ha un profilo ottimizzato per trasferire il carico, e tolleranze certe nel passo del filetto cosa che la barra non ha. Inoltre la superficie presenta una rugosità superficiale più bassa il che è utile a consumare meno le chiocciole soprattutto se si usano in polimero. Una vite trapezoidale da 8 o 10 si trova facilmente passo 2 non molto lontano da una barra M8 M10 che ha passo rispettivamente di 1.25 e 1.5mm. Poi che uno possa accontentarsi di una barra filettata è un altro discorso, faccio solo notare che l'asse Z dovrebbe essere il più preciso visto che nei layer si parla di centesimi e la barra filettata non da garanzia di nessuna tolleranza. Quando si è insicuri di qualcosa basta vedere cosa si usa in campo meccanico nelle macchine per lavoro, difficilmente si vedono barre filettate per muovere carichi. Per ultimo, le barre trapezoidali compratele dai negozi che indicano materiale e tolleranza , spesso il problema non è la tipologia del materile ,ma di cosa e come è fatto (vedi cinesi in generale).
Sorry, only registered users may post in this forum.

Click here to login