Pages: 1 [2] 3   Go Down
Author Topic: Generare un impulso da tensione costante  (Read 2179 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@brunello: con l'NE555 in quella configurazione, mi basterebbe utilizzare un relay normalmente aperto e collegarlo all'uscita numero 3 per riuscire ad alimentarlo per 1,65 secondi?
Non mi resterà sempre alimentato, poi?

@Mauro: spegnerlo non è un grosso problema perchè utilizza una distro di linux minimale che ben tollera le chiusure improvvise.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 336
Posts: 23142
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Mauro: spegnerlo non è un grosso problema perchè utilizza una distro di linux minimale che ben tollera le chiusure improvvise.
E chi lo dice che chiudere Linux di brutto non danneggia questo sistema?
Casomai, può programmarlo in modo che se intercetta il segnale di pressione del pulsante di accensione (quello posto sul pannello frontale), possa lanciare un comando di arresto via software. Per far ciò basterebbe inserire un relé al posto di quel pulsante e comandarlo sempre da Arduino.
Logged


Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Mauro: spegnerlo non è un grosso problema perchè utilizza una distro di linux minimale che ben tollera le chiusure improvvise.

Qui parlo per esperienza diretta, anche con le distro minimali se non fai il regolare shutdown stai pur certo che la possibilità di trovarsi con grossi problemi, spesso irrecuperabili, al file system è molto alta.
Normalmente nei sistemi embedded Linux viene usato un GPIO per comandare lo spegnimento, lo gestisci tramite un demone e quando il pin cambia stato esegue lo shutdown.
Spegnere brutalmente il pc, indipendentemente dal sistema operativo, non è mai una buona idea se non vi si è costretti da cause di forza maggiore come un blocco totale del sistema.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

PIù che altro, ragiono sul fatto che una normale procedura per lo spegnimento del sistema, prevede la chiamata ad una routine SW e, al termine di questa, tutti i componenti vengono comunque disalimentati all'improvviso (CPU, RAM, motherboard..) e quindi non dovrebbero subire danneggiamenti a seguito di una chiusura brusca.

Sinceramente, non ho mai avuto problemi di danneggiamento del file system su sistemi unix come, invece, mi è successo spesso su sistemi windows.
In effetti, comunque, è sempre un rischio e non è una situazione in cui vorrei incappare.

Dato che l'interruttore generale stacca l'alimentazione all'improvviso, non credo ci siano soluzioni per chiudere il sistema operativo nella maniera corretta e quindi sarò costretto, aihmè, a usare un pulsante, a meno di non trovare un espediente per avere una disalimentazione ritardata.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
@brunello: con l'NE555 in quella configurazione, mi basterebbe utilizzare un relay normalmente aperto e collegarlo all'uscita numero 3 per riuscire ad alimentarlo per 1,65 secondi?
Non mi resterà sempre alimentato, poi?

No, non rimane alimentato.
Il rele' rimane acceso per il solo tempo prefissato.

Ma perche', come ho detto prima, non piloti l'accensione e lo spegnimento della MB da arduino ?
E' la cosa piu' semplice
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

PIù che altro, ragiono sul fatto che una normale procedura per lo spegnimento del sistema, prevede la chiamata ad una routine SW e, al termine di questa, tutti i componenti vengono comunque disalimentati all'improvviso (CPU, RAM, motherboard..) e quindi non dovrebbero subire danneggiamenti a seguito di una chiusura brusca.

Stai facendo confusione tra hardware e software, il primo non soffre se togli l'alimentazione in un qualunque momento, o meglio anche in questo caso ci sono procedure su come l'alimentazione deve essere avviata e interrotta, però sono gestite in modo trasparente dall'alimentatore della board.
Il software ha ben altre esigenze, p.e. tutte le operazioni di scrittura su disco devono essere terminate prima di spegnere il sistema, e questa è solo la punta del iceberg, se non esegui correttamente la procedura di spegnimento stai pur certo che la possibilità di fare danni è una certezza e non evento improbabile.

Quote
Dato che l'interruttore generale stacca l'alimentazione all'improvviso, non credo ci siano soluzioni per chiudere il sistema operativo nella maniera corretta e quindi sarò costretto, aihmè, a usare un pulsante, a meno di non trovare un espediente per avere una disalimentazione ritardata.

Usa Arduino per premere il pulsante di accensione, o un GPIO, per avviare la procedura di spegnimento del pc e solo dopo che questa è terminata togli l'alimentazione principale.
Esempio pratico, il pulsante principale di alimentazione comanda un relè, di idonea potenza, che fornisce tensione a tutta l'elettronica, il relè rimane in tenuta ed è controllato da Arduino, o una piccola MCU dedicata, quando decidi di spegnere premi il pulsante principale che stacca nulla, viene solo impartito l'ordine di spegnimento, Arduino fornisce questo comando al sistema Linux, puoi farlo anche da software tramite un apposito comando su seriale, e solo quando il pc è spento, puoi verificarlo tramite un GPIO o il led di power on, Arduino stacca il relè della alimentazione spegnendo realmente il tutto.
In pratica è la stessa cosa che succede quando premi il pulsante on/off del pc quando è acceso, prima viene stoppato il sistema operativo e solo dopo viene spento l'alimentatore.
Comunque nel discorso generale che fai c'è qualcosa che non quadra, tu parli di un pulsante a fungo per spegnere/accendere il robot, e fin qui tutto ok, poi te ne esci che ti serve un contatto temporizzato per accendere il pc, però questa cosa non ti serve perché lo fai direttamente dal pulsante a fungo, ne prendi uno a due vie, quando lo premi la prima volta chiudi il contatto di accensione del pc e lui si accende, quando lo premi la seconda volta richiudi il contatto e il pc si spegne da solo.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non posso fare come dite perchè l'interruttore di emergenza è l'unico ad essere presente nel sistema.

Quando lo si aziona, fornisce alimentazione a tutto il sistema: arduino e scheda madre. Ovviamente, la MoBo non avvia il sistema operativo perchè ha bisogno del cortocircuito tra pwr e gnd.
Quando si disattiva il fungo, l'alimentazione viene tolta istantaneamente dal sistema e quindi non vi è tempo nè per far avviare procedura ad Arduino nè per cortocircuitare più a lungo i due pin della MoBo (gli stessi usati per avviare il SO) in modo da far spegnere il sistema operativo.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 336
Posts: 23142
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dato che l'interruttore generale stacca l'alimentazione all'improvviso, non credo ci siano soluzioni per chiudere il sistema operativo nella maniera corretta e quindi sarò costretto, aihmè, a usare un pulsante, a meno di non trovare un espediente per avere una disalimentazione ritardata.
Il sistema dovrà gestire dei file?
Se la risposta è no, la possibile soluzione è far montare la o le partizioni di sistema in sola lettura. In questo modo i file non dovrebbero danneggiarsi da dati rimasti nel buffer in memoria. Non garantisco però per altre componenti.
Se invece deve gestire dei file tipo su SD, chiudi sempre i file dopo ogni lettura e... spera che il distacco dell'alimentazione non danneggi il sistema.
Logged


Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non posso fare come dite perchè l'interruttore di emergenza è l'unico ad essere presente nel sistema.

Non hai capito un piffero di quello che ti ho spiegato, di sicuro devi rivedere il tuo hardware perché come è congegnato non va bene.
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se invece deve gestire dei file tipo su SD, chiudi sempre i file dopo ogni lettura e... spera che il distacco dell'alimentazione non danneggi il sistema.

Su SD il disastro non è una possibilità ad elevato rischio, è una certezza  smiley
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non posso fare come dite perchè l'interruttore di emergenza è l'unico ad essere presente nel sistema.

Non hai capito un piffero di quello che ti ho spiegato, di sicuro devi rivedere il tuo hardware perché come è congegnato non va bene.
Ho capito bene quello che vuoi dire, ma non si può applicare perchè se Arduino crasha per un qualche motivo, non ho la possibilità di disattivare il relè e togliere di colpo la tensione come invece è richiesto dalle norme di sicurezza: verrebbe a mancare l'azione del pulsante a fungo.
« Last Edit: February 08, 2013, 07:22:26 am by marcus barnet » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non posso fare come dite perchè l'interruttore di emergenza è l'unico ad essere presente nel sistema.

Non sò di che macchina stai parlando, ma non credo che risponda alla direttiva macchine l'utilizzo del solo interruttore d'emergenza per la sua gestione.
Anche se a volte è consuetudine, l'utilizzo dell'interruttore d'emergenza dovrebbe avvenire solo in caso estremo(cioè l'emergenza).
Come ti ha scritto astrobeed dovresti rivedere l'hardware.

Mandi

Barbezuan
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non ho la possibilità di disattivare il relè e togliere di colpo la tensione come invece è richiesto dalle norme di sicurezza: verrebbe a mancare l'azione del pulsante a fungo.

La disattivazione di sicurezza si fa tramite un comando dedicato e separato da quello principale.
Stai facendo un sacco di confusione e poi cosa c'entra il fatto che se un Arduino va in blocco non puoi spegnere la MB con l'arresto di sicurezza che deve essere operato in modo distinto, indipendente, da tutto il resto ?
In ambito industriale, dove la sicurezza è una cosa serie, gli arresti di emergenza sono quasi sempre banali sistemi elettromeccanici, se serve pure rindondanti, totalmente separati dal sistema principale, p.e. un relè ad autoritenuta che pilota il teleruttore principale, in caso di emergenza premi il relativo tastone che semplicemente interrompe per un attimo l'alimentazione della bobina sul relè che di conseguenza rilascia il contatto e disattiva il teleruttore togliendo alimentazione a tutto l'impianto.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusate, ma in un sistema alimentato a 24V 200Ah in continua non mi sembra che ci siano normative che obbligano tassativamente l'uso di un pulsante a fungo e di un interruttore generale separato.
Io ho cercato documentazione in merito, ma non ho trovato nulla a riguardo e quindi mi sembra plausibile utilizzare un pulsate a fungo (con chiave) per gestirne l'intera alimentazione.

O mi sto sbagliando?
« Last Edit: February 08, 2013, 07:45:38 am by marcus barnet » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusate, ma in un sistema alimentato a 24V 200Ah in continua non mi sembra che ci siano normative che obbligano tassativamente l'uso di un pulsante a fungo e di un interruttore generale separato.

Le norme di sicurezza non riguardano solo le caratteristiche elettriche, comunque prova a mettere in corto 24V con 200 Ah e vedrai che bel falò ottieni  smiley-grin
Dato che parli di un robot mobile l'arresto di emergenza dovrebbe riguardare almeno la parte motori, ovvero poter bloccare istantaneamente il moto del mezzo e in questo caso non è detto che sia "intelligente" spegnere il tutto, anzi conviene farlo tramite frenatura elettrica o meccanica a seconda di cosa è disponibile, solo come ultima alternativa si ricorre al distacco della alimentazione, e comunque non otterresti l'arresto immediato del robot visto che a seconda di velocità e massa può continuare a muoversi, e fare danni, per tot metri.
Logged

Pages: 1 [2] 3   Go Up
Jump to: