Stampante economica per scopi educativi August 16, 2020 07:08AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 17, 2020 06:55AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 17, 2020 04:40PM |
Registered: 11 years ago Posts: 292 |
Re: Stampante economica per scopi educativi August 18, 2020 04:00AM |
Registered: 10 years ago Posts: 3,268 |
Re: Stampante economica per scopi educativi August 18, 2020 01:32PM |
Registered: 7 years ago Posts: 1,059 |
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).
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.
Re: Stampante economica per scopi educativi August 19, 2020 04:38AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 19, 2020 12:59PM |
Registered: 7 years ago Posts: 1,059 |
/********************************************************************************** *************************** 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 /**********************************************************************************/
/********************************************************************************** **************************** 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 * * * **********************************************************************************/
/************************************************************************** *********************** 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 * * *
Re: Stampante economica per scopi educativi August 19, 2020 02:26PM |
Registered: 7 years ago Posts: 211 |
Re: Stampante economica per scopi educativi August 19, 2020 04:40PM |
Registered: 11 years ago Posts: 154 |
Re: Stampante economica per scopi educativi August 20, 2020 03:11AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 20, 2020 04:18AM |
Registered: 10 years ago Posts: 3,268 |
Re: Stampante economica per scopi educativi August 20, 2020 05:39AM |
Registered: 7 years ago Posts: 1,059 |
#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
Re: Stampante economica per scopi educativi August 20, 2020 05:44AM |
Registered: 11 years ago Posts: 154 |
Re: Stampante economica per scopi educativi August 20, 2020 06:06AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 20, 2020 06:59AM |
Registered: 11 years ago Posts: 154 |
Re: Stampante economica per scopi educativi August 20, 2020 07:55AM |
Registered: 8 years ago Posts: 163 |
Re: Stampante economica per scopi educativi August 21, 2020 03:38AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 23, 2020 03:38AM |
Registered: 11 years ago Posts: 292 |
Re: Stampante economica per scopi educativi August 23, 2020 06:30AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 23, 2020 09:57AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 24, 2020 12:02PM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi August 24, 2020 12:08PM |
Registered: 11 years ago Posts: 292 |
Re: Stampante economica per scopi educativi August 30, 2020 09:33AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi September 03, 2020 02:47PM |
Registered: 11 years ago Posts: 292 |
Re: Stampante economica per scopi educativi September 06, 2020 07:06AM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi September 07, 2020 02:38AM |
Registered: 11 years ago Posts: 292 |
Re: Stampante economica per scopi educativi September 08, 2020 12:07PM |
Registered: 7 years ago Posts: 1,059 |
Re: Stampante economica per scopi educativi September 09, 2020 06:11AM |
Registered: 10 years ago Posts: 3,268 |
Re: Stampante economica per scopi educativi September 10, 2020 02:59AM |
Registered: 7 years ago Posts: 1,059 |
// // 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
Re: Stampante economica per scopi educativi September 10, 2020 02:40PM |
Registered: 11 years ago Posts: 154 |