Cerco di risponderti io, cercando di non fare come l'oste a cui chiedono com'è il vino?
MK4duo nasce molti anni fa circa 6, non ricordo più bene, inizialmente per gioco poi per necessità ho continuato lo sviluppo. Allora non esisteva Marlin per schede a 32 bit, MK4duo fu il primo firmware, basato inizialmente su Marlin, a implementare schede a 32 bit. Oggi da un anno a questa parte anche Marlin ha schede a 32 bit, anche di più di MK4duo.
Questi firmware hanno tutti una parte ad alto livello comuni a tutti i processori perché sono indipendenti dal processore stesso, e una buona parte a basso livello per programmare direttamente il processore.
La seconda parte necessita di una buona, anzi ottima conoscenza del processore stesso, questo necessita tempo per prove e studio dell'architettura del processore. Timing, DAC, PWM, porte hardware etc etc.
Quindi visto che con MK4duo sono solo per la parte di programmazione, ho aiuto da parte di altre persone ma su altre cose, non posso io avere ne il tempo ne le conoscenze per scrivere codice su altri processori.
Marlin avendo una folta comunità mondiale, ha persone che testano su vari processori e varie schede, implementando cosi il codice per quei processori. Ormai ne stanno uscendo in continuazione, sempre più potenti, quindi ora Marlin ha una marcia in più da questo punto di vista.
Io però proprio perché potevo gestirmi in maniera autonoma ho spinto molto sul processore conosciuto, cercando di sfruttarlo appieno tralasciando , in parte, quelli più vecchi come AVR MEGA2560 con le sue limitazioni.
Quindi sfrutto il processore nelle sue capacità, facendo in modo che il software rimanga comunque compatibile con il vecchio. In Marlin invece visto che chi fa la parte del processore non è chi gestisce il progetto, si limitano ad aggiungere solo la parte per farlo andare, ma rimanendo a tutti gli effetti Marlin a 8 bit.
Faccio un esempio banale per farti capire. Il processore MEGA 2560 ha poca memoria ram, questo non consente di avere molte variabili che andranno a utilizzare la ram, quindi tutto il codice di Marlin si basa su define fissi, quando vuoi modificare qualcosa o aggiungere devi ricompilare. MK4duo invece ha molte cose modificabili dinamicamente da firmware, tipo se vuoi aggiungere un estrusore con hotend, basta dare il comando per farlo e aggiungi l'oggetto nuovo, cosi come puoi cambiare i pin di un driver per spostarlo su un altro socket. Tutto questo Marlin non lo fa.
Il mega può convertire un segnale analogico per ciclo, quindi il ciclo di lettura delle temperature di marlin si basa ancora su questo concetto, legge un pin di un sensore, poi prepara alla lettura il pin successivo e al prossimo ciclo leggerà quel pin e poi di nuovo avanti in questo modo.
I processori a 32 bit non hanno questo limite, posso leggere contemporaneamente tutti i pin con ADC in un solo ciclo, cosi infatti è in MK4duo, mantenendo il sistema di lettura su MEGA AVR.
Ma di queste cose ce ne sono a iosa, la gestione hardware PWM per riscaldatori e fan e non software come Marlin.
Detta tutta sta filippica, giusto per farti capire, in cui sottolineo che però oggi Marlin ha molti più processori compatibili che non MK4duo, ti vado a rispondere anche se le risposte sono all'interno della filippica...
0 Perché MK4duo? Non c'è un perché!!! Se ti piace bene, altrimenti va benissimo Marlin 2.0.
1 No, non c'è ma con il configuratore on line è molto facile fare una prima configurazione, a patto di sapere i dati della stampante..
2 Ecco su questa ti ho risposto, con MK4duo potrai cambiare molte cose con i comandi gcode senza dover ricompilare il firmware, solo se andrai a inserire funzioni nuove dovrai ricompilare, ma se per esempio cambi un sensore al tuo hotend che ha caratteristiche diverse dal precedente, basta modificare i parametri con i comandi e salvare in eeprom e hai fatto. Hai la necessità di aggiungere una fan alla tua stampante, dai il comando gocde che dice al firmware che hai una fan in più, setti il suo pin, setti i suo parametri e hai fatto... In Marlin se tu cambi le dimensioni del piano di stampa devi ricompilare, in MK4duo no basta che setti le nuove dimensioni. In molti questa cosa serve a poco perché una volta fatta la stampante quella è, poi si accorgono un giorno che sostituiscono l'hotend con un altro tipo che ha parametri diversi e devono ricompilare tutto..
3 Anche questa è parzialmente già risposta prima, i processori compatibili con MK4duo sono Arduino Mega 2560, Arduino DUE e da poco anche STM32F4 con le sole Rumba32 e l'Italiana STEVAL. La bigtreech 32 ha un processore non compatibile con Arduino IDE, per programmarlo bisogna andare su altri compilatori come Portfolio, in più io sono molto contrario a queste schede a basso costo provenienti dalla Cina, che sta creando il caos economico e di salute che abbiamo vissuto e stiamo vivendo in questo momento... Schede fatte in Europa e ancor meglio in Italia per via dei costi di lavoro, controlli e certificazioni, qualità del lavoro stesso, sicurezza e altri tanti parametri hanno un costo che si aggira sui 100€ e forse più. La bigtreech 32 SKR arriva a un costo di 20 30 € questo è inaccettabile e impossibile, questo vuol dire che per forza di cose vengono usati componenti di scarsa qualità, come il processore stesso e il resto della componentistica e sottopagati e sfruttati i lavoratori in CIna. Per questo motivo da persona che ci tiene al proprio paese a differenza di quelli che pensano solo a loro stessi non accetterò mai lo sviluppo su schede di questo tipo. Quindi non troverai mai la compatibilità su quelle schede... Se ne vuoi una di pari potenza prendi una Rumba32 Aus3d, ma che costa 150€ e non 25...
Detto ciò e ti saluto e aspetta altre informazioni per farti una tua idea...
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