Welcome! Log In Create A New Profile

Advanced

Accensione/spegnimento via software e pulsante

Posted by Roberto Crotti 
Accensione/spegnimento via software e pulsante
October 28, 2018 07:20AM
Buongiorno a tutti,
sto costruendo una Hypercube Evolution e ho pensato che sarebbe bello poter accendere/spegnere la stampante via software. So che basta usare il cavo dell'enable dell'ATX e connetterlo alla scheda per accendere/spegnere con i comandi M80 e M81. A questo punto però si pongono due problemi: il primo riguarda lo spegnimento, infatti vorrei spegnere tutto (anche la ventolina dell'hotend) soltanto quando sono sicuro che la temperatura della testina sia inferiore ad una soglia di sicurezza (ad esempio 30/40°C). Il secondo problema riguarda l'accensione/lo spegnimento tramite pulsante fisico. Infatti se spegnessi fisicamente l'alimentatore (con il pulsante sul retro) si disattiverebbe anche la linea a 5v, che permette di sfruttare l'enable per l'accensione a distanza. Per il primo problema dovrei, credo, modificare il Marlin in modo tale da creare una procedura di shutdown personalizzata. Non mi intendo molto di codice, ma ho cercato la definizione della funzione gcode_M81 (quella che dovrebbe spegnere) e credo che vada modificata circa in questo modo:

/**
* M81: Turn off Power, including Power Supply, if there is one.
*
* This code should ALWAYS be available for EMERGENCY SHUTDOWN!
*/
inline void gcode_M81() {
thermalManager.disable_all_heaters();
planner.finish_and_disable();

/*
//Procedura di shutdown

gcode_M106(); //Accende la ventola usata per raffreddare la plastica estrusa, per favorire il raffreddamento

while(temperatura hotend > 35°C) {
//Non fare nulla
;
}

gcode_M106(); //Spegne la ventola precedentemente accesa

*/

#if FAN_COUNT > 0
for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds = 0;
#if ENABLED(PROBING_FANS_OFF)
fans_paused = false;
ZERO(paused_fanSpeeds);
#endif
#endif

safe_delay(1000); // Wait 1 second before switching off

#if HAS_SUICIDE
suicide();
#elif HAS_POWER_SWITCH
PSU_OFF();
#endif

#if ENABLED(ULTIPANEL)
LCD_MESSAGEPGM(MACHINE_NAME " " MSG_OFF ".");
#endif
}

Quale parte di codice dovrei scrivere al posto dello pseudocodice?

Il secondo problema si potrebbe risolvere aggiungendo un pulsante momentaneo che, quando viene premuto, richiama la procedura M80 per accendere e spegne richiamando M81, ma sinceramente non saprei né come collegarlo alla scheda né come implementare il tutto via software.


Prusa I3 Rework - Megatronics 3.0 - Driver DRV8825 - Hotend E3D V6 1,75mm 0.4 - Firmware Marlin - Slicer - Printrun
Re: Accensione/spegnimento via software e pulsante
October 28, 2018 04:23PM
Più facile di quanto pensi...
ALimentatore ATX. Quello ha un'uscita a 5v continui pure se è spento (intendo per spento con il pson, non l'interruttore posteriore). Con quello alimenti sempre arduino.. In questo modo il processore è sempre alimentato e può accendere l'alimentatore quando vuoi.
Secondo a fine GCODE metti il comando M190 R30. La R al posto della S dice al firmware di aspettare che la temperatura sia al di sotto o uguale a quella impostata quindi aspetta il raffreddamento dell'hotend. una volta che è arrivato a 30 allora prosegue e li metti il comando M80 per spegnere l'alimentatore cosi la ventola continuerà a lavorare finche non è arrivato a 30°.
Naturalmente puoi mettere la temp che vuoi...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Accensione/spegnimento via software e pulsante
October 28, 2018 05:04PM
Perfetto, quindi grazie a quel codice risolverei il problema dello spegnimento con controllo della temperatura. So che se non spengo l'ATX dal retro, ma tramite gcode, ho la linea a 5v sempre alimentata. Il problema che intendo risolvere si verifica in una situazione come questa: accendo la stampante via software, magari a distanza con octoprint, poi, finita la stampa, voglio spegnerla fisicamente. Se la spegnessi fisicamente con il pulsante sul retro non potrei più accenderla via software. L'ideale sarebbe avere un pulsante che invia un segnale alla scheda e "lanci" il codice per la procedura di spegnimento/accensione.
Re: Accensione/spegnimento via software e pulsante
October 28, 2018 05:11PM
Mica ho capito nulla!!
Se spegni da dietro meccanicamente come pretendi che si accenda via software!!! Un po come il pc, lo spegni e puoi accenderlo via lan da remoto, ma se spegni da dietro è impossibile accenderlo...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Accensione/spegnimento via software e pulsante
October 28, 2018 05:16PM
Esatto, se spengo da dietro non ho la possibilità di riaccendere. Quello che intendo dire è che sarebbe bello avere un pulsante momentaneo che consenta accensione e spegnimento via software, lasciando il pulsante sul retro sempre on.
Re: Accensione/spegnimento via software e pulsante
October 28, 2018 07:07PM
E te l'ho detto con pson, l'alimentatore ATX ha questa possibilità, e lo fai via software collegando quel pin dell'atx ha il pin PSON della scheda e con M80 e m81 accendi e spegni..

Inoltre il fw lo accende in automatico appena arrivano comandi che servono per riscaldare e/o muovere i driver..

Edited 1 time(s). Last edit at 10/28/2018 07:08PM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Accensione/spegnimento via software e pulsante
October 29, 2018 06:25AM
Quindi non esiste un modo per aggiungere un pulsante momentaneo che, una volta premuto, lanci la procedura di accensione/spegnimento via software?
Re: Accensione/spegnimento via software e pulsante
October 29, 2018 08:44AM
non è chiaro cosa intendi con pulsante, se intendi un pulsante meccanico è necessario che qualcuno lo prema fisicamente, e a quel punto premi l'interruttore, se intendi un pulsante software devi fare come ti ha detto il mago, perche ti serve comunque sempre un'alimentazione.
Oppure potresti risolvere con un pulsante wifi che puoi attivare da remoto, se non lo conosci cerca sonoff su google
Re: Accensione/spegnimento via software e pulsante
October 29, 2018 12:49PM
Infatti non capisco neanche io cosa ti serva un pulsante per fare cosa??? Se devi accendere ti ho detto che lo fa in automatico il firmware come muovi o accendi i riscaldatori, quindi non devi premere nulla... Fai partire una stampa e come parte si accende l'alimentatore per dare i 12v.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Accensione/spegnimento via software e pulsante
October 29, 2018 02:34PM
Quello che intendo dire è questo: voglio poter accendere e spegnere sia tramite software che tramite un pulsante fisico, proprio come un computer. Voglio lasciare il pulsante sul retro dell’alimentatore sempre acceso, in modo da controllare via software, ma voglio anche poter intervenire fisicamente e spegnere/accendere cliccando un pulsante. Vorrei che tutto funzionasse come succede con un computer, che posso accendere e spegnere premento il pulsante di accensione (senza toccare l’alimentatore sul retro) ma al tempo stesso anche via software. Per farmi capire ancora meglio consoderiamo questo esempio: il pulsante dell’ATX è On, accendo la stampante via software (magari a distanza) e faccio stampare. Arrivo a casa, stacco il pezzo stampato e decido di spegnere la stampante (senza dover inviare comandi dal computer, ma premendo un pulsante). Se premessi il pulsante sul retro dell’ATX lo spegnerei del tutto e, la volta dopo, non potrei più accendere e spegnere via software se non riaccendendo l’ATX fisicamente.
Re: Accensione/spegnimento via software e pulsante
October 29, 2018 07:21PM
Ma da lcd ti è troppo difficile? C'è il menu spegni e accendi??


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Accensione/spegnimento via software e pulsante
October 30, 2018 04:34AM
Allora sono a posto, non avendo mai usato lcd non ci avevo pensato. Grazie mille per le risposte e scusate se vi ho fatto diventare matti smiling smiley
Sorry, only registered users may post in this forum.

Click here to login