Circuito di autospegnimento

Salve a tutti, ho già scritto un post nel mio pessimo inglese nella sezione internazionale del forum ma sembra che non richiami molta attenzione. :~

Quello che vorrei ottenere è un circuito che per,etta ad Arduino di decidere se accendersi o spegnersi a seconda di certi fattori. La mia idea era di mettere in serie tra la batteria e Arduino un transistor NPN sulla massa. La base di questo transistor collegata sia a un pulsante che a un pin digitale. Per accendere il tutto l'utilizzatore tiene premuto il pulsante, così facendo il transistor chiude il collegamento e Arduino si accende. Questa all'avvio aspetta che il pulsante rimanga premuto per tipo tre secondi e poi a sua volta attiva il pin digitale per sostituirsi al pulsante. A questo punto sarà possibile rilasciare il pulsante e il sistema rimarrà acceso. Inoltre se ad esempio la batteria scende sotto un certo voltaggio, allora il pin digitale verrà azzerato e il sistema si auto spegnerà. Una sequenza identica a quella di un cellulare praticamente :roll_eyes:

Il mio ragionamento ha senso? Mancherà sicuramente della componentistica, resistenze sulla base, ecc. Ad esempio servirebbe un diodo a protezione del pin nelle primissime fasi? Qualsiasi idea anche alternativa mi va benissimo!

Grazie mille, Luca

olimex: Salve a tutti, ...

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento: Regolamento - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

ni69 ora esageri, dai :-) olimex ha 61 post all'attivo, ormai è tardi per ricordargli di presentarsi :stuck_out_tongue_closed_eyes:

se invece volevi dargli i link, potevi tagliare le parti che non volevi pubblicare :stuck_out_tongue_closed_eyes:

Non è mai troppo tardi. :grin:

leo72: ni69 ora esageri, dai :-) olimex ha 61 post all'attivo, ormai è tardi per ricordargli di presentarsi :stuck_out_tongue_closed_eyes:

se invece volevi dargli i link, potevi tagliare le parti che non volevi pubblicare :stuck_out_tongue_closed_eyes:

Ha bazzicato sempre la sezione inglese, non potevo suggerirglielo prima :D

Questo comitato di benvenuto mi ha fatto molto piacere, anzi i link li ho apprezzati molto perchè penso sia utile avere dei promemoria basici a portata di mano. In realtà poi sono anche molto inesperto, quindi è tutto una scoperta XD Bazzico con Arduino ormai da tre anni, e adesso ho appena finito il primo anno di Ing Elettronica, ma ci sono molte cose che ancora non comprendo e non so che fanno parte di quello che si definirebbe "il minimo e indispensabile".

Ma chiudendo l'OT, qualcuno avrebbe mica un'idea su come fare? :*

Per l’autospegnimento via SW, potresti utilizzare un ingresso analogico che testi ogni tot, e se scende sotto un valore che imposti fai passare a 0 il pin di output.

if (analogRead(pinInput)<=674)
     digitalWrite(pinOutput, LOW);

A che voltaggio dovrebbe spegnersi l’utilizzatore?
Quel 674 vale 3,3V, in quanto la scala 0-1023 degli ingressi analogici, mette i 5V a 1023, quindi ogni step vale 4,9mV.

Sicuramente tra il pin output di arduino e la base del transistor ci vorrà una resistenza da 2k2, tanto per iniziare.

io preferirei scollegare il positivo

auto_spegn.png

Bazzicando online ho trovato questo circuito, grazie a delle parole chiave suggerite dai miei amici inglesi: “soft latch switch”

A switch detect ci va un pin in INPUT e su MCU signal un piedino in OUTPUT, c’è pure un diodo! ( :roll_eyes:)

Secondo voi che mosfet dovrei usare?

La mia idea era di mettere in serie tra la batteria e Arduino

la tensione della batteria qual'e' ?

La batteria sarà una 9v, ora devo decidere se una normale alkalina oppure una LiPo a due celle Per controllare la tensione userò un partitore ovviamente 8)

Allora il circuito che hai postato non ti potra' funzionare. Se piloti il Mosfet con un pin di Arduino, la tensione di uscita dal Mosfet sara' minore di 5V

=(

Però scusami non ti ho detto che userò un 7805, perchè trattandosi di una Mini il regolatore on-board può fare ben poco!

Quindi se tutto questo lo metto a "valle" del regolatore dovrei essere a posto, giusto? :D Avresti mica un P-mosfet da consigliarmi?

Forse sono arrivato a una conclusione, ho rifatto tutta lo schema con una correzione: ho messo un N-channel MOSFET tra il carico e la massa, così come deve essere. Un P-channel richiedeva logica negata e molti più cambiamenti.

Ultima cosa, mi potreste controllare se le resistenze hanno valori sensati?

Grazie mille ancora XD

Stai facendo un po’ di confusione.
Lo schema modficato e’ errato. Prima di tutto hai messo il Mosfet con i collegamenti invertiti e sopratutto non puoi collegarlo sul GND di Arduino, dandogli come riferimento il GND. Il 5V ad Arduino chi glielo da’ ?

Nel primo schema il Mosfet e’ gia’ un N Channel,
Come Mosfet il IRF510 non e’ adatto, ti serve un logic level, perche’ va’ appunto pilotato da una porta di Arduino.,
La serie IRF ha bisogno di almeno 7/8 Volt sul gate per poter funzionare bene. Devi usarne uno della serie IRL, come l’ IRL540 che con 3V sul gate fa’ il suo dovere

Non credere che mettere un 7805 al posto del regolatore onBoard porti notevoli miglioramenti e comunque se vuoi aggiungere un regolatore esterno ce ne sono anche con un ingresso ENABLE ( ed eviteresti di aggiungere il Mosfet ).
E poi il 7805 consumerebbe corrente anche se Arduino e’ spento

Questo in allegato e’ il modo corretto per fare quello che vuoi tu

auto_accens.png

Innanzitutto grazie mille per l'interessamento!

Pensavo di dare ad arduino l'output 5v del regolatore di tensione, e l'interruttore agiva tra Arduino e la massa. Perchè avevo letto che i N-channel si usano tra massa e carico, per lo schema non ho scusanti :grin:

Dannazione non la sapevo quella del voltaggio minimo, in casa ho trovato questi: IRFZ44N N-MOSFET Vanno bene? Che parametro devo controllare per fare da solo?

Il punto è che l'onboard della Mini ha un massimo di 150mA, quindi sottraendo Arduino stessa poi non mi rimane molto margine "safe" per attaccarci un lcd 16x2, un paio di integrati, bluetooth e compagnia cantante. Pensavo di risolvere il problema alimentando tutto con un 7805 che mi può sputare fuori 1A, con un po' di dissipatore. Ora che mi dici che esistono regolatori di tensione con Enable, onestamente, mi fai sentire un po' pirla :zipper_mouth_face:

Se rimango con il 7805, userò certamente il circuito che mi hai postato tu. Altrimenti vedo se trovo un regolatore con Enable che vada bene, a quei punti sarò da capo perchè avrei di nuovo dei dubbi sul circuito :.

Il punto è che l’onboard della Mini ha un massimo di 150mA

Vero… Non lo sapevo che avessero messo un regolatore da 150mA. Infati hanno usato LP2985… Triste

IRFZ44N N-MOSFET non e’ un logic level. Nel datasheet tra le tabelle cerca quella allegata

un regolatore con enable puo’ essere ad esempio ( per rimanere nella serie lineare ) il LP38693 o LP38692 che regge fino a 1A.
Per il collegamento bastano due diodi

un qualcosa del genere dovrebbe funzionare

leo72: ni69 ora esageri, dai :-) olimex ha 61 post all'attivo, ormai è tardi per ricordargli di presentarsi :stuck_out_tongue_closed_eyes:

Mi fa morire Nid :stuck_out_tongue_closed_eyes:, sembra la scena con Troisi

www.youtube.com/watch?v=VG6qCizKpEg

Mi sto procurando un paio di LM38692, sono perfetti per la mia applicazione! Hanno anche un dropout molto basso, appena 0,5V 8)

Relativamente al grafico, quindi se io applicassi 5V comunque sia circa 11A dovrebbero uscirne? Capisco perfettamente che sia un componente adatto per un altro genere di applicazioni, è così per curiosità :roll_eyes: