Pagina 1 di 1

Contaore per gestire un'acquario

MessaggioInviato: 13 ott 2011, 23:53
da Foxato
Salve a tutti,
ho intenzione di realizzare un circuitino in grado di gestire un piccolo acquario di un amico... e cerco opinioni e/o consigli da chi ha esperienza
In particolare questo circuito dovrà:
- avere un'uscita che piloti l'illuminazione dell'acquario lasciandola accesa per circa 12 ore (8 - 20)
- avere un'uscita che attivi un sistema per la distribuzione del cibo due volte al giorno, un'ora dopo l'accensione delle luci e un'ora prima dello spegnimento

Il problema principale che mi si è presentato (causa inesperienza) è la temporizzazione, ovvero non so come fare per garantire una certa affidabilità nel conteggio dell'ora in modo che questo sistema sia autonomo per un lungo periodo, evitando di regolare l'ora spesso.
Ho pensato a due possibili soluzioni:
1) realizzare il tutto in logica cablata utilizzando un quarzo o la frequenza di rete come riferimento temporale, qualche flip flop in cascata per abbassare la frequenza e qualche contatore per contare le ore... infine un po' di logica per attivare le uscite
2) utilizzare un PIC (e quindi un quarzo per la frequenza), gestendo tutto via software.

per la soluzione 1) mi è tornato utilissimo quest'articolo per la 2) non credo di avere grossi problemi.

PS1: Scarterei l'opzione del clock da rete per vari motivi:
a) Non utilizzerò io questo sistema quindi se posso evitare di avere tensione di rete che gira, meglio
b) D'istinto preferisco il quarzo (o non mi fido dell'enel, che dir si voglia), anche se non ho mai avuto l'occasione di testare l'esattezza della frequenza di un quarzo ne della frequenza di rete.
Ciò non significa che escludo questa possibilità se qualcuno me la consiglia

PS2: non mi interessa che il sistema sia piccolo, semplicemente deve funzionare e... costare poco :mrgreen:

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 0:01
da guzz
della frequenza di rete non ti fidare minimamente, se non sbaglio l'ENEL da una tolleranza del 5%, che non è poco per queste applicazioni...

riguardo quello che devi fare, non sarebbe più semplice usare un paio di relè temporizzati, visto che non hai problemi di spazio?

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 0:46
da simo85
Ho pensato a due possibili soluzioni:
1) realizzare il tutto in logica cablata...
2) utilizzare un PIC

A questo punto fai tutto con un microcontrollore ed i componenti esterni che ti servono :-)

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 11:32
da Foxato
guzz ha scritto:della frequenza di rete non ti fidare minimamente, se non sbaglio l'ENEL da una tolleranza del 5%, che non è poco per queste applicazioni...

riguardo quello che devi fare, non sarebbe più semplice usare un paio di relè temporizzati, visto che non hai problemi di spazio?

mmm... interessante soluzione "old school"... immagino siano rele' che si attivano a intervalli regolari per un determinato intervallo di tempo pero' boh, ho fatto qualche ricerca e non mi sembrano molto economici, anche se ho trovato solo componenti da quadro elettrico...

@gohan: si, in effetti pensavo anch'io di seguire la strada del micro... ma appunto, non avendolo mai fatto, non so quanto sia affidabile nel contare il tempo... devo mettere quarzi a frequenza relativamente alta o va bene un quarzo qualsiasi, visto che non ho necessita' di tempi di reazione brevi?

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 11:37
da guzz
bè, con 2-3 temporizzatori tela cavi, mentre con il micro hai bisogno di alimentatori, sceda per la programmazione, ecc... non è detto che in fin dei conti il costo di qualche relè sia superiore...

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 12:29
da neo84
Salve, con un relè temporizzato che di solito si utilizza per accendere e spegnere le luci a un certo orario hai risolto il problema dell'illuminazione, è abbastanza facile d'utilizzo e non sarà preciso al secondo ma da quanto ho capito non ti serve una tale precisione... per la parte della distribuzione del cibo come funziona???? al dispositivo basta un impulso o deve essere attivato ad esempio per qualche minuto??

Re: Contaore per gestire un'acquario

MessaggioInviato: 14 ott 2011, 13:25
da giorgio25760
guzz ha scritto:della frequenza di rete non ti fidare minimamente, se non sbaglio l'ENEL da una tolleranza del 5%, che non è poco per queste applicazioni...


La frequenza di rete è piuttosto precisa !
Non si riuscirebbe ad avere una rete come quella a distribuzione nazionale se non fosse precisa !
Ogni alternatore deve essere messo im fase ed in frequenza prima di essere interconnesso alla rete elettrica.

Per quanto riguarda l'errore che si commette usando la frequenza di rete come base dei tempi di un qualsiasi contatore, non ne è responsabile l ente distributore, bensì noi utilizzatori, che riempiamo di disturbi di ogni tipo la rete elettrica.

Ad esempio usando una saldatrice ad elettrodo, hai idea di che cosa si inietta di "schifezza" sulla rete ?
Tale schifezza va poi ad essere letta dalla nostra base dei tempi, e se si tratta di un orologio, quello andrà avanti.

Ciao
Giorgio

Re: Contaore per gestire un'acquario

MessaggioInviato: 15 ott 2011, 4:11
da simo85
guzz ha scritto:non avendolo mai fatto, non so quanto sia affidabile nel contare il tempo...

Se parli del microcontrollore, normalmente è affidabile. Se invece ti riferisci al fatto che tu potresti avere dei problemi nell'implementare tale affidabilità, in tal caso è vero che bisogna tenere a mente alcune caratteristiche scrivendo il firmware.
In effetti un timer conta fino a che va in overflow, e la temporizzazione dipende dalla dimensione del registro, dal prescaler etc. Ad ogni modo per ottenere delle temporizzazzioni più lunghe di quelle che ti permette il timer, dovresti implementare dei cicli dove incrementi o decrementi una variabile che per convenienza chiamiamo "contatore", ed è qui che bisogna fare attenzione.
Per il minor margine di errore possibile, dovresti anche tenere conto del tempo che impiega il microcontrollore per incrementare/decrementare questa variabile.
Immaginando di voler ottenere una temporizzazione totale di \approx 1s usando un timer che va in overflow ogni 20ms e che il tempo di esecuzione di ogni singola istruzione sia di 1\mu s, senza contare altre probabili istruzioni che potrebbero essere eseguite, ad ogni incremento/decremento del contatore avresti un ritardo aggiuntivo dato dal tempo necessario per eseguire questa istruzione moltiplicato per N volte (in questo caso 50). Se non tieni a mente questo dettaglio potresti avere delle temporizzazioni molto imprecise che durante lo scorrere del tempo possono creare problemi nel caso la tua applicazione richieda una certa precisione. Dovresti quindi essere pignolo settando il valore del timer.
Una possibile soluzione potrebbe essere quella di ottenere delle temporizzazioni leggermente inferiori al necessario ed aiutarti con qualche nop finale nella funzione.

Re: Contaore per gestire un'acquario

MessaggioInviato: 15 ott 2011, 13:57
da Foxato
La parte della distribuzione del cibo verrà fatta in casa verosimilmente utilizzando qualche piccolo motorino elettrico e un cilindro cavo aperto su un lato che ruotando lascia cadere una determinata quantità di cibo... anche per questo motivo mi sto orientando sempre di più verso il PIC... altrimenti la logica comincia a diventare un po' complessa... con le porte logiche ci si può ancora star dietro, ma tra flipflop, contatori e porte logiche è difficile utilizzare meno di 5 integrati, i costi diventato comparabili con quelli di un PIC senza poter personalizzare e regolare a piacere qualsiasi parametro... certo, al prezzo di doversi sbattere un po' di più per programmare adeguatamente il PIC, ma credo ne valga la pena...

Interessante l'osservazione di giorgio... non avevo pensato che le armoniche di disturbo sono sempre a frequenza più elevata... in effetti anche se l'enel garantisse un'incertezza del 5% ma "a media nulla" non avrei grossi problemi ad utilizzarla per il conteggio, mentre i disturbi non sono per niente a media nulla attorno i 50Hz... ok dai, mi sono convinto... utilizzo un PIC e pace!

@gohan: in effetti intendevo che non conosco il grado di incertezza che hanno i quarzi in se... comunque si, ho capito cosa intendi... beh... bisogna fare un po' di attenzione, specialmente quando vanno attivate le uscite o letti gli ingressi, ma credo di cavarmela... semmai chiederò :-)
tra l'altro ho pensato che utilizzando un quarzo a 32768Hz, il prescaled (di cui non ricordavo l'esistenza!) massimo che divida la frequenza per 256 o più... e contando che normalmente i PIC se non erro eseguono un'istruzione ogni 4 cicli ottengo una frequenza di 32Hz... così non devo fare cicli enormi e difficili far "quadrare"! mi immagino già un'obrobrobriosa subroutine con 32 istruzioni nop per ottenere 1Hz :D

Re: Contaore per gestire un'acquario

MessaggioInviato: 16 ott 2011, 2:23
da simo85
Penso che l'AN943, l'AN849, l'AN826 ti possono essere utili. Se diffidi dell'oscillatore esterno puoi sempre usare una delle varie frequenze dell'oscillatore interno del PIC che sceglierai, e se lavori con le interruzioni è meglio.