Presentazione progetto- Bromografo e timer

Salve a tutti.

Premessa: spero di aver optato per la sezione giusta, avevo capito che qui dentro andavano presentati anche i nostri progetti, se non fosse cosi sposto subito il topic:

Quello che vi volevo presentare è un bromografo con incorporato un timer.E' da tempo che avevo il desiderio di realizzare tale strumento per poter "fabbricare" circuiti stampati in casa e grazie all'aiuto della comunity in fine ho deciso di imbarcarmi nel progetto.Ringrazio tutta la comunity per gli spunti che mi ha fornito e l'aiuto, in particolare ringrazio Michele Mennitti visto che è a lui che ho rotto le scatole per riuscire a programmare in stand-alone il mio ATMEGA328P :P...

Detto questo passiamo ai dettagli, di seguito riporto una foto del bromografo finito. Per realizzarlo ho utilizzato:

  • 4 Neon UV da 8 WATT
  • 2 reattori da 18 WATT
  • 4 starter
  • 8 portaneon
  • fili e morsetti vari


DSCN1022 di paolo.fiorini3, su Flickr


DSCN1021 di paolo.fiorini3, su Flickr


DSCN1024 di paolo.fiorini3, su Flickr


DSCN1023 di paolo.fiorini3, su Flickr

nella parte sinistra c'è lo spazio per il circuito del timer i 4 pulsanti e LCD, nella parte destra invece sono posti i NEON UV. Nell'angolo in basso a sinistra (si nota nell'ultima foto) ho messo un fotoresistore per controllare la chiusura del coperchio.

Il timer è formato da:

  • ATmega328P-PU
  • Quarzo da 16MHz
  • 2 condensatori da 22 pF
  • schermo LCD 16x2
  • 4 pulsanti
  • 1 potenziometro
  • 3 transistor NPN
  • 2 diodi
  • 2 rele
  • adattatore di tensione da 12 a 5 V
  • condensatori e resistori vari;

il circuito implementa una piccola macchina a stati finiti il cui diagramma è il seguente:


Diagramma_Stati di paolo.fiorini3, su Flickr

0 IDLE: il sistema è in attesa della pressione del pulsante di START/OK e l'unica operazione possibile è l'accensione della retroilluminazione del LCD premendo il pulsante BACK;

1 SET MINUTE: premendo i pulsanti INC e DEC è possibile incrementare e decrementare il numero di minuti;

2 SET SECOND: premendo i pulsanti INC e DEC è possibile incrementare e decrementare il numero di secondi;

3 VERFY TIME: in questo stato viene solo mostrato su LCD il tempo totale impostato per poterlo controllare e il micro attende solo la pressione del pulsante di START/OK;

4 IS CLOSED?: in questo stato il micro verifica che il coperchio del bromografo sia chiuso;

5 RELE ON: attiva i rele e inizia il conto alla rovescia;

6 BUZ:Avvisa con un buzzer che il tempo è scaduto, spegne i neon e aspetta che il coperchio venga aperto;

Allego un po di immagini


DSCN1029 di paolo.fiorini3, su Flickr


DSCN1028 di paolo.fiorini3, su Flickr

Su breadboard non sono presenti i rele (simulati con due led) e l'adattatore di tensione

posto anche un video del funzionamento:

Ringrazio tutti coloro che si sono presi la briga di arrivare in fondo al post...spero di non essere stato noioso :stuck_out_tongue:
Ovviamente chiunque abbia commenti,critiche o semplicemente voglia darmi dei suggerimenti è ben accetto...Siate magnanimi perchè è il mio primo progetto fatto con stand alone e anche la prima volta che uso EAGLE...

Allego anche un file .rar contente tutto:

  • foto
  • sketch
  • file di eagle
  • File Readme con alcune ulteriori spiegazioni

Purtroppo nn sono ancora riuscito a provarlo perchè il mio negozio di fiducia (e unico nella mia città) non ha il percloruro ferrico e quindi al momento sono fermo ( se qualcuno ha suggerimenti di dove comprarlo mi fa un favore)...Quando lo proverò vi farò vedere il risultato

_Bromografo.rar (386 KB)

Ciao Paolo, sei nella sezione GIUSTA, ne hai colto perfettamente lo spirito. Il progetto da te presentato, oltre che molto bello, è di pubblica utilità e può interessare molti. Averlo presentato con tanto di schema elettrico, PCB e sketch lo rende ricreabile da chiunque.
Bellissima la macchina a stati, mi ci sto divertendo proprio in questi giorni per il mio prossimo progetto sulle logiche TTL/CMOS, la sua applicazione ideale.
Se posso darti un suggerimento lascia perdere il cloruro ferrico e usa acido muriatico e acqua ossigenata, è decisamente preferibile, costa meno e non macchia (anche se come ogni prodotto chimico ha sempre la sua base di pericolosità). Fai una ricerca sul Forum, oltre al mio Topic sulla realizzazione dei PCB l'argomento è stato trattato svariate volte, riguardo le percentuali da utilizzare ed i tempi di incisione.
Complimenti sinceri per il tuo bellissimo lavoro!!!

Se posso permettermi vorrei darti un consiglio: metti i neon un pò più vicini, questo aiuta a diffondere i raggi uv in modo più uniforme.
La stagnola (o quello che è) non starebbe male anche ai lati del box, pure questo aiuta.
Bella bestia comunque (in senso buono ovviamente) :wink:
Ciao

Ringrazio tutti e due per i complimenti...
Avevo pensato anche io che i neon potessero essere troppo lontani però prima di apportare modifiche tenterò di provarlo. La stagnola invece posso aggiungerla tranquillamente.

Avevo letto di questa possibilità, però ho anche letto che è un po piu pericoloso da usare e servirebbero attrezzature apposta cercherò di documentarmi meglio comunque. Dove posso trovare l'acido muriatico???

Non vedo l'ora di poter aggiornare il post con le prime schedine realizzate.

Nelle discussioni di cui ti parlavo trovi tutte le info che ti servono, per l'acido muriatico chiedi alle donne di casa :wink:

ok grazie

per alleggerire un po il tutto, suggerisco gli accenditori per lampade a risparmio al posto dei reattori+starter! io prendo paccate di lampadine usate al negozio di elettricità, l'80 percento ha il tubo fluorescente esaurito, l'accenditore elettronico funziona perfettamente. è piccolo, compatto, gratis, semplice e leggerissimo! 4 pesano meno di un solo reattore, e non serve starter!.....ah, accende immediato! niente sfarfallio!

ciau!

Ciao Paolo,grazie del tuo progetto,credo serva a molte persone che come me sono alle prime armi..
ti chiedo una cortesia,provando a programmare col tuo sketch arduino mi da questo errore:

Bromografo.cpp:318:35: error: invalid suffix "s" on integer constant
sapresti dirmi di cosa si tratta?
ti ringrazio in anticipo!
Antonio :wink:

z3us:
per alleggerire un po il tutto, suggerisco gli accenditori per lampade a risparmio al posto dei reattori+starter! io prendo paccate di lampadine usate al negozio di elettricità, l'80 percento ha il tubo fluorescente esaurito, l'accenditore elettronico funziona perfettamente. è piccolo, compatto, gratis, semplice e leggerissimo! 4 pesano meno di un solo reattore, e non serve starter!.....ah, accende immediato! niente sfarfallio!

ciau!

hai un link?

Un link di cosa? Penso che lui non faccia altro che aprire le lampadine usate e tirarne fuori l'elettronica che sta alla base

Un saluto a tutti, sono nuovo del forum, o per meglio dire mi sono da poco registrato, in quanto il forum lo conosco da tempo e in più
occasioni mi è stato utile per risolvere qualche problemino su diversi esperimenti eseguiti con un arduino UNO.
In questi giorni con amici abbiamo deciso di costruire un bromografo e avevamo intenzione di usare il controllore 328 per esguire un timer per l'esposizione della scheda, purtroppo il nostro livello di programmazione è basso e quando mi sono imbattuto in questo topic non potevo credere ai miei occhi :astonished:.
ho scaricato subito il file, ho scaricato l libreria Bounce e l'ho inserita nelle librerie esistenti di arduino, ma quando vado a compilare lo sketch mi appare l'errore "V_5.cpp:318:35: error: invalid suffix "s" on integer constant".
ho visto che "originalantony" ha segnalato il medesimo problema, qualcuno sa aiutarmi in questo intoppo.
Ringrazio anticipatamente e spero di riuscire ad usare il programma che "paolo_fiorini3" ha scritto!

MI viene il dubbio che il problema sia di versione di IDE, se stai usando la 1.0.x prova a scarivare la precedente 0022 o 0023 e vedi se compila.

C'è un errore nel codice che ho caricato...volevo caricare quello corretto ma ora sono fuori per lavoro e non posso...l'errore comunque è dovuto al fatto che c'è un 400s al posto di un 400...se guardi un attimo il codice dovresti trovarlo nella parte in cui viene controllato il fotoresistore...è stata una mia svista...fammi sapere se c'è la fai...in più una altra cosa..devi anche importare il file dove sono definite le note...sai come fare??? Fammi sapere che altrimenti ti spiego...poi appena posso aggiorno il thread...

Grazie ragazzi per aver risposto al mio quesito, anch'io sono fuori per lavoro e quindi potrò applicare il tuo suggerimento soltanto questa sera.
Per quanto concerne la versione dell'IDE sto utilizzando la 0023 installata su di un Mac.
Inoltre volevo cogliere l'occasione per complimentarmi con Michele Manniti e per il suo manuale GPAT_v3, è fatto benissimo e mi è stato molto utile.
Ringrazio nuovamente e farò sicuramente sapere i risultato delle modifiche.

Grazie, ti consiglio però di scaricarti la nuova versione GPAT_v4, ci sono un bel po' di cosette interessanti, non ultima l'aggiornamento per l'IDE 1.0.1. Il Link lo trovi in firma ai miei post. :wink:

Mitico Paolo, ho controllato ed effettivamente era presente una s dopo il numero 450 nel controllo del pin analogico. L'ho eliminata, ho compilato e non mi ha dato alcun errore. XD XD XD
La cosa che non capisco è come mai il software non ha evidenziato in giallo nessuna parte, di solito quando sbaglio a scrivere qualcosa avviene questo.....?! :roll_eyes: Va beh torno a ripetere il fatto che non sono ancora un fulmine nella programmazione e magari mai lo sarò, però ci provo e magari adesso che sono iscritto al forum qualche dubbio in più me lo tolgo di sicuro. Ora che l'IDE ha compilato lo sketch mi metto subito all'opera per simulare il timer spero di non aver problemi , ma se ne dovessi incontrare spero a questo punto non ti scocci qualche domanda di delucidazione. In ogni caso ti porterò a conoscenza (se ti interessa ovviamente) degli sviluppi sul bromografo che stiamo costruendo.

Per quanto riguarda la versione 4 del manuale GPAT non ho esitato un secondo a scaricarla, stasera prima di andare a letto mi faccio una bella lettura, sono contento dell'aggiornamento per l'IDE 1.0.1, pensa che non cambiavo versione perché con la 1 non riuscivo ad eseguire il download del bootloader nel chip vergine, per cui fino ad ora rimanevo fermo alla consolidata 0023.

Grazie a tutti per gli aiuto e a presto.

Ciao a tutti come promesso vi volevo aggiornare sulla costruzione del bromografo, grazie al topic in questione ed agli aiuti che mi avete offerto sono riuscito nell'intento. L'estetica non è il massimo in quanto è stata utilizzata la carcassa di un vecchio scanner alla quale è stata fissata alla parte inferiore una scatola di derivazione per la componentistica elettrica, però questo non ne intacca il funzionamento.....
Volevo anche aggiornare il fatto che mi sono permesso di modificare leggermente lo scketch :blush: :blush:, roba di poco conto, anche perchè le mie capacità non mi permettono altro. Ho messo come tempo di partenza 1 minuto e 30 secondi anzichè 0 0, perchè dalle varie prove eseguite questo è il nostro tempo ottimale e quindi se vogliamo modificare un po' partiamo da questo valore come base. Inoltre ho reso la retro-illuminazione del display sempre attiva, ma quando il timer finisce il conteggio lampeggia in simultanea col suono del buzzer.
Grazie di nuovo.

Complimenti!! Lieto di aver dato una mano!!!

Sono di nuovo presente su questo topic per chiedere delucidazioni per un "problema" su cui sto riflettendo da un po'.
Premesso che il timer funziona benissimo, ho riscontrato una particolarità durante la fase di allestimento del progetto e mi piacerebbe riuscire a capirci qualcosa in più.
Allora, durante la fase di test, ovvero quando ho montato tutti i componenti su breadbord e collegati alla scheda arduino UNO ho notato che il pin 0 di arduino non funzionava, ovvero quello a cui è collegato il pulsante "DEC", così come prima prova ho cambiato il pin sopracitato con uno libero, se non ricordo male il 5. Con questa operazione il pulsante eseguiva regolarmente la funzione per cui era programmato.
Quando poi ho montato il microcontrollore su pcb (lo stesso che era montato su arduino) ho visto che il pin 0, ovvero il pin 2 dell'ATmega, funzionava benissimo :astonished:, così ho pensato che fosse un problema sulla scheda arduino.
Durante la ricerca "guasto" ho notato che questo comportamento si verifica anche sull'altra scheda arduino uno in mio possesso e comunque ogni volta che montavo i chip su pcb il pin funzionava regolarmente. Come ulteriore prova del nove ho caricato un semplice scketch dove fosse interessato il pin 0 ed effettivamente non vengono riscontrate anomalie.
Qualcuno mi aiuta a comprendere come mai con lo scketch del timer il pin 0 non funziona solo se montato su Arduino UNO mentre su pcb sì?

Grazie

Meluino

Hai usato per caso la seriale??