Pagine

mercoledì 14 luglio 2010

Timer per Bromografo con Arduino

Avvicinandoti al mondo dell'elettronica ti sarai facilmente ritrovato a montare i primi circuiti su schede preforate, poi volendo fare il salto di qualità avrai imparato a realizzare circuiti con tecniche più complesse, di cui forse la più comune: la tecnica della fotoincisione.
Dopo un po' di esperimenti scoprirai l'importanza di avere in laboratorio un buon bromografo, capace di poter ripetere con certezza i parametri di esposizioni.
Da qui la comunissima necessità di un timer per bromografo.
In rete ce ne sono tanti, probabilmente molti già realizzati con Arduino.
Quello presentato di seguito è il frutto di una rielaborazione di alcuni tentativi di un amico (Sergio), che avvicinandosi al mondo di Arduino ha sperimentato molto, ma che alla fine non ha resistito di chiedermi una manina per far funzionare il tutto.
Ebbene si, mi son lasciato coinvolgere dal progetto e nel giro di qualche mezz'ora ecco il primo rilascio del mio timer per bromografo.

Su un display lcd 16x2 caratteri è visualizzato lo stato del timer.
Sono previsti 3 pulsanti (settati in internal pullup): Start/Stop, Up, Down
Con i tasti Up e Down è possibile settare il numero di secondi (min 5, max 255 sec) il quale sarà persistito in eeprom.
Premendo il tasto Start/Stop si avvierà il timer e contemporaneamente verrà portato a livello alto l'uscita per il comando del relè.
Allo scadere del tempo, sarà il relè sarà portato a livello basso e contemporaneamente sarà attivato il buzzer per la segnalazione.

Un progettino semplicissimo, veloce e facile... per un utilissimo scopo.

Buon lavoro Sergio... e buon lavoro a tutti!

http://www.intrinseco.it/elettronica/BromografoTimer.zip



venerdì 9 luglio 2010

Timer programmabile x PIC16F84A

Ciao a tutti!
Estrapolo da un vecchio progettino un minuscolo ma funzionale timer, utilizzato per diverso tempo sul mio bromografo fatto in casa.
Quasi tutti i progetti di timer che si trovano in rete sono dotati di display LCD o 7segmenti... cosa che (allora... :-D) volevo evitare.

Mi sono perciò messo a scrivere un'applicazione per PIC (16F84A).

Il timer in questione dispone di tre pulsanti (pulsante UP (RA1) , DOWN (RA0), START/STOP (RA2)), due led (Minuti (RB2), Secondi(RB3)), un cicalino (RB0) e l'uscita a cui collegare la lampada del bromografo (RB1).

Il quarzo da utilizzare e il classico 4Mhz.

SCHEMA ELETTRICO



Accendendo il timer la prima volta, udiamo subito due bip del buzzer: l'autoconfigurazione e completata (timer impostato a 5min e 30 sec)
Seguono subito dopo 5 lampeggi del 'Led Minuti' e 3 lampeggi del 'Led Secondi'.
Già abbiamo capito come grazie a soli due led il timer colloquierà con l'utente: tanti lampeggi tanti minuti e secondi!

Premendo il tasto Start/Stop verrà portato a 1 l'uscita predisposta per la Lampada UV, il 'Led Minuti' e 'Led Secondi' lampeggieranno altenativamente segnalando l'attivazione.
Al termine del tempo prefissato, verrà spenta la Lampada UV ed il Buzzer suonerà intermittente per circa 5 secondi segnalando la fine del processo.
Se durante il countdown ci accorgiamo di aver sbagliato qualcosa e vogliamo interrompere il processo sarà sufficiente premere il tasto Start/Stop.
Se si verificasse un blackout, al ritorno della corrente il timer emetterà 3 bip, riaccenderà la lampada UV e terminerà l'esposizione per il tempo rimanente.

Per programmare un nuovo tempo di esposizione premete il tasto Start/Stop per 4 secondi.
Udendo 2 bip capiamo di essere entrati nella modalità di programmazione.
Il 'Led Minuti' lampeggerà tante volte quanti sono i minuti attualmente impostati (5 lampeggi), quindi con il tasto UP o DOWN impostiamo i minuti voluti (se vogliamo impostare 8 min dovremo premere 3 volte il tasto UP)
Premiamo a questo punto il tasto Start/Stop: Il 'Led Secondi' lampeggerà tante volte quanti sono le decine di secondi attualmente impostate (3 lampeggi significano 30 secondi), quindi con il tasto UP o DOWN impostiamo i secondi voluti (se vogliamo impostare 20 secondi dovremo premere 1 volta il tasto DOWN)
Premiamo il tasto Start/Stop: un doppio bip ci avverte dell'avvenuta impostazione e salvataggio del nuovo tempo d'esposizione nella eeprom (tale salvataggio sarà persistente anche togliendo alimentazione al circuito)
Appena finita la programmazione avremo la conferma del tempo di esposizione impostato tramite i lampeggi dei Led (noteremo ora 8 lampeggi di 'Led Minuti' e 2 lampeggi di 'Led Secondi')

Il meccanismo di lettura ed impostazione del timer sembra macchinoso ma vi assicuro che è istantaneo e semplice!

Allego il file hex del progetto così da poter programmare il PIC!

Clicca qui per scaricarlo!

Buon lavoro e buone incisioni!!! :-D

mercoledì 7 luglio 2010

Termostato PIC12F675 - LM35dz

Il circuito qui di seguito presentato, è stato progettato per far fronte ad un'esigenza hobbystica.
Ho l'esigenza di mantenere un frigorifero alla temperatura costante di 16°C.

Sostituendo il termostato originale del frigorifero con questo da me progettato, ho raggiunto l'obbiettivo prefissato!



Descrizione
L'intero circuito (molto semplice come potete notare) gravita attorno ad un LM35dz e un PIC12F675.
Il sensore LM35dz misura il range di temperatura da 0° a 100°C, restituendo sul pin2 10mV/°C.
Il PIC rileva tale tensione tramite la porta GP0 e convertendola (tramite l'ADC interno) ottiene il valore in digitale.
Da qui effettua un banale controllo:
se la temperatura sale al di sopra dei 17°C, eccita il relè;
se la temperatura scende sotto i 15°C diseccita il relè.
Ho così dotato il mio circuito di isteresi, evitando il noto comportamento a singhiozzo, che arrecherebbe non pochi problemi al relè, ma soprattutto alla pompa del frigorifero.

Per monitorare la temperatura letta, ogni 10 secondi, parte una sequenza di lampeggi del Led1 secondo questa regola:
lampeggio Led1 tante volte quante sono le decine del valore misurato;
pausa di 1 secondo;
lampeggio Led1 tante volte quante sono le unità del valore misurato;
Se per esempio l'LM35 sta leggendo una temperatura di 25°C, otterremmo 2 lampeggi, pausa di 1 secondo, 5 lampeggi.
In questo modo la lettura è semplice ed immediata, senza dover far ricorso a display LCD, Display a segmenti led o altro.

Il Led2 segnala semplicemente lo stato del relè.



Progettazione Hardware

Il progetto è stato sviluppato con Eagle Free.
Avendo a disposizione un alimentatorino da 8V DC ho sviluppato un piccolo riduttore di tensione tramite un diodo zener, una resistenza e un transistor NPN.
Ho inoltre deciso di portare all'esterno (tramite pinstrip femmina) le porte GP1 e GP2 per eventuali sviluppi futuri.








Progettazione Software

Il software per il Pic è stato sviluppato in C con il semplicissimo NotePad e compilato con il compilatore Hi-tech PICC.
Il listato prodotto occupa il 41% dello spazio dedicato al programma, quindi sarà possibile in futuro implementare nuove funzionalità.
Nel caso si vogliano modificare i valori di temperatura massima e minima, basta modificare il sorgente, ricompilare e riprogrammare il Pic.

Clicca qui per scaricare il sorgente e il file Hex da inserire nel PIC

Benvenuti su Intrinseco.it!

Ciao a tutti!
E' un gran piacere aprire questo portale, dedicato ai progetti che sto sviluppando.
L'obbiettivo di questo sito è poter condividere esperienze, emozioni, successi...
Di tanto in tanto tornate a visitarmi: ne vedrete di interessanti!