Ardu-Aquarium Controller v. 3.3.1

Ciao a tutti,
questa settimana sono stato assente dal forum ma ho comunque eseguito delle modifiche al’’HW del controller.

lesto:
ciò che non c’è non si può rompere…

occhio che gli indirizzi i2c siano tutti diversi. dato che l’i2c usa indirizzi a 7 bit (l’8 bit indica se stai leggendo o scrivendo), hai 2^7 indirizzi = 128, meno gli indirizzi riservati, fanno 112 indirizzi usabili: Addressing - I2C Bus

Si Lesto grazie, come puoi vedere, ho impostato un indirizzo diverso per il pcf che comanderà la scheda relé.

Ed ecco le modifiche

Ho montato la UNO rev. 3, spostato i cavi del bus I2C sui rispettivi pin, seguito il consiglio di PaoloP in merito all’utilizzo dei PWM e spostato quindi le linee luci sui pin 5 e 6, per finire avendo adottato un PCF anche per comandare la scheda relé, è sparito lo shift register e di conseguenza si sono liberati i pin 7,8, e 9, ecco la foto:

Sistemati i condensatori per il debouncing HW, ho rivestito i reofori con guaina arancione perché avevo paura di falsi contatti, sono quelli azzurri a sinistra del pcf utilizzato per la lettura dei tasti, Come ho già scritto, ho tolto lo shift register, in favore del pcf, è quello tutto a destra, ecco la foto:

Vista del particolare dei collegamenti per i fotoaccoppiatori, chissa se esiste un unico integrato tipo un array di fotoaccoppiatori… io l’ho cercato, ma non sono stato capace di trovarlo, ma sono una vera schiappa in questo senso… :blush:

Ed in ultimo una vista complessiva della bread e di tutti i componenti:

Il software, non ha subito ancora grossi cambiamenti, ho solo inizializzato le uscite del pcf in setup e sostituito i comandi per lo stesso all’interno della funzione per il mantenimento dell’acqua, lo metto in allegato, ma va ben ripulito, a breve aggiorno anche i post di presentazione.

Come sempre, spero nei vostri pareri/consigli/critiche… :slight_smile:

Grazie in anticipo Riccardo.

acquarium_controller.ino (61.4 KB)

Cavolo, davvero complimenti per il lavoro, con le bredboard non è semplice (almeno per me :) ) essere così puliti. Avevo iniziato tempo fa a sviluppare un controllo alba/tramonto, fasi lunari e temperatura, ho un marino tropicale ed ero all'inizio del percorso e fatto tutto o quasi con il comando IF e poco più, ma poi ho lasciato perdere per diversi motivi. Mi piacerebbe seguire ora il vostro progetto e sto cercando di capire cosa mi manca della parte HW (quasi tutto) e soprattutto non vedo citazioni allo sketch per poter studiare empiricamente le diverse funzionalità o avere comunque una base dalla quale partire. Non sarò sicuramente d'aiuto visto che sono quello che ne capisce di meno e spero appunto di poter imparare da voi.

Ciao, lo sketch è in allegato al mio ultimo reply ed al topic che descrive il funzionamento del SW, in quanto ad essere utile, lo si può essere in tanti modi, anche solo testando quello che viene fatto per esempio, se ti allinei lato HW, poi è tutto più facile.

Ciao Riccardo

riciweb: Ciao, lo sketch è in allegato al mio ultimo reply ed al topic che descrive il funzionamento del SW, in quanto ad essere utile, lo si può essere in tanti modi, anche solo testando quello che viene fatto per esempio, se ti allinei lato HW, poi è tutto più facile.

Ciao Riccardo

Come in privato rinnovo i complimenti per il lavoro svolto, in particolare per la chiarezza di come svolgi il lavoro eseguito, ma soprattutto per la gentilezza e non meno per pazienza di sopportarmi :) Grande Riccardo

--> http://dspace.dial.pipex.com/isocom/csm170.htm Anche se non credo si trovino in giro.

Comunque, mi puoi spiegare il motivo dei fotoaccoppiatori? Le tensioni di funzionamento non sono le stesse? L'isolamento dalla 12V e dalla 230V non l'hai già fatto sulla scheda relè?

Eh si... sono cieco :D non l'avevo proprio visto. Sono giorni che sto girando intorno ad un nuovo acquisto di materiale, prenderò sicuramente spunto da te, è verissimo, se si potesse lavorare sullo stesso progetto in più persone aumentando quindi le prove pratiche da un lato e la ricerca dall'altro sarebbe sicuramente un lavoro molto migliore che prendere sempre spunti diversi ed adattarli ogni volta, naturalmente ognuno ha le sue necessità, ma lo vedo un progetto ben strutturato e per un utente medio tipo me andrebbe più che bene quindi interessatissimo a seguirvi e per un più esperto, partendo da una buona base non ci sarebbe nessun problema ad espandere il tutto. Complimenti ancora e grazie per il lavoro che stai/state facendo, davvero impeccabile sia per la fattura che per la disponibilità che dimostrate.

PaoloP: --> http://dspace.dial.pipex.com/isocom/csm170.htm Anche se non credo si trovino in giro.

Comunque, mi puoi spiegare il motivo dei fotoaccoppiatori? Le tensioni di funzionamento non sono le stesse? L'isolamento dalla 12V e dalla 230V non l'hai già fatto sulla scheda relè?

Ciao PaoloP, grazie per la ricerca, ora vedo di approfondire. I fotoaccoppiatori, sono un mezzo per poter usare il PCF, che da solo non riesce a pilotare i darlington, collegato come ho fato io prendendo spunto dalla figura 4 di questo link http://www.laurtec.it/brief-notes/programmazione-pic/125-bn0013-it-pcf8574-i2c-io-expander-libreria-ed-utilizzo mandando a zero le uscite del pcf che mi interessano mando 5v pieni col giusto amperaggio ai darlington che così funzionano, quindi non sono un traguardo ma un mezzo. Ad ogni modo i vantaggi sono che mi sono liberato dello shift register, che se anche fino ad ora funzionava bene, ad ogni avvio mi faceva sfarfallare tutti i relé, ho guadagnato tre pin liberi ed infine con la sola libreria IOexp leggo sia i tasto che piloto i relé, c'è anche che così ottengo un doppio isolamento galvanico e la cosa non mi dispiace affatto :D

Ad ogni modo grazie PaoloP, sei sempre prezioso.

Dandovino: Eh si... sono cieco :D non l'avevo proprio visto. Sono giorni che sto girando intorno ad un nuovo acquisto di materiale, prenderò sicuramente spunto da te, è verissimo, se si potesse lavorare sullo stesso progetto in più persone aumentando quindi le prove pratiche da un lato e la ricerca dall'altro sarebbe sicuramente un lavoro molto migliore che prendere sempre spunti diversi ed adattarli ogni volta, naturalmente ognuno ha le sue necessità, ma lo vedo un progetto ben strutturato e per un utente medio tipo me andrebbe più che bene quindi interessatissimo a seguirvi e per un più esperto, partendo da una buona base non ci sarebbe nessun problema ad espandere il tutto. Complimenti ancora e grazie per il lavoro che stai/state facendo, davvero impeccabile sia per la fattura che per la disponibilità che dimostrate.

Fa niente, non ti preoccupare, se sarai dei nostri non può farmi altro che piacere :)

Ciao Riccardo.

Si si ;) giusto il tempo di ordinare tutta la 'brodaglia' :D avete a proposito qualche dritta? A parte Arduino stesso per il resto della componentistica dove si può cercare senza fare mille ordini in negozi diversi?

Mi è venuto un dubbio, sto cercando i PCF8574AP e in un sito ho trovato gli stessi, stessa descrizione ma con sigla PCF8574P senza A, ad un prezzo cinque volte inferiore, che cosa cambia tra i due? Costa 1,73 contro i 7-8 e passa euro degli altri negozi Ecco il link http://www.ebay.it/itm/IC-PCF8574P-I-C-8bit-I-O-Exp-DIP16-PCF8574-P-/160928713676?pt=Bauteile&hash=item2578194bcc&_uhb=1#ht_1951wt_1183

Dandovino: Mi è venuto un dubbio, sto cercando i PCF8574AP e in un sito ho trovato gli stessi, stessa descrizione ma con sigla PCF8574P senza A, ad un prezzo cinque volte inferiore, che cosa cambia tra i due? Costa 1,73 contro i 7-8 e passa euro degli altri negozi Ecco il link http://www.ebay.it/itm/IC-PCF8574P-I-C-8bit-I-O-Exp-DIP16-PCF8574-P-/160928713676?pt=Bauteile&hash=item2578194bcc&_uhb=1#ht_1951wt_1183

PCF8574 e PCF8574A, sono praticamente lo stesso integrato. L'unica cosa che cambia e' l'indirizzo di riconoscimento sul Bus I2c PCF8574 = 0x20 PCF8574A = 0x38

Perche' questa differenza? Perche' i chip dispongono di soli 3 pin dedicati all'indirizzamento A0,A1,A2. Quindi non ne puoi mettere piu' di 8. Per poter sopperire a questa limitazione e' stato fatto anche il modello A, con indirizzo base diverso, e in questo modo se ne possono collegare altri 8

Buongiorno a tutti, sto lavorando "per modo di dire" al progetto con riciweb, mi sono quasi allineato al suo HW manca solo la pcb relè, ieri provando il menù mi sono accorto che nel mio caso ha un anomalia, in pratica nel settare ora/data se metto l'anno 2013 non viene memorizzato mentre se metto 2011,12,10 fino al 2000 memorizza, ci siamo sentiti con rici, ma il suo funziona, quindi non credo si tratti del sketch anche perché è copiato dal suo, poi non so. Usiamo stesso arduino rev 3 stessa ide 1.0.3 Puó essere l'hardware? Confido in voi ragazzi.

danidiscus: Buongiorno a tutti, sto lavorando "per modo di dire" al progetto con riciweb, mi sono quasi allineato al suo HW manca solo la pcb relè, ieri provando il menù mi sono accorto che nel mio caso ha un anomalia, in pratica nel settare ora/data se metto l'anno 2013 non viene memorizzato mentre se metto 2011,12,10 fino al 2000 memorizza, ci siamo sentiti con rici, ma il suo funziona, quindi non credo si tratti del sketch anche perché è copiato dal suo, poi non so. Usiamo stesso arduino rev 3 stessa ide 1.0.3 Puó essere l'hardware? Confido in voi ragazzi.

Ti confermo che ha me funziona, non riesco a capire perché a te no.

Ciao a tutti, mi pare che per il momento, il lato HW possa essere ritenuto accettabile, vorrei disegnare lo schema circuitale, ma sono in difficoltà, perché da questo punto di vista primo mi mancano le basi, poi Designspark che ho usato per il PCB della scheda relé si sta rilevando poco stabile, così da un po’ di giorni mi sbatto da un programma all’altro senza decidere quale usare, per il momento Kicad sembrerebbe essere il più semplice a livello di usabilità, bho, voi cosa consigliate considerando che mi trovo a dover escludere eagle a causa delle limitazione delle versione free quando si passa al pcb??? Insomma vorrei colmare la mancanza importante dello schema circuitale di questo progetto, ma non riesco a decidere come e con cosa iniziare… Oltre allo schema, vorrei condividere alcune decisioni su come strutturare il menù, per il quale con Leouz sembrerebbe già deciso che useremo la Menwiz. A mio avviso a parte la schermata fissa il primo accesso al menù dovrebbe avvenire con un elenco di opzioni che permettano di attivare le funzioni che ogni utente vuole sfruttare del cotroller:

  • Data e ora sono comunque da impostare sia in fase di installazione che per aggiustamenti in fase di funzionamento ad esempio per l’ora legale
  • Luci: quante linee attivare ed in base alla scelta abilitare l’impostazione dei foto periodi (potrei decidere di usare una sola linea ed attivare nel loop la funzione di gestione del fotoperiodo solo per la linea scelta.
  • Temperatura: L’utente dovrebbe poter decidere se leggerla e basta o se controllarla attraverso Arduino, di solito i riscaldatori hanno il loro termostato, ma se per esempio ho anche un cavetto sottosabbia può essere più comodo gestire la temperatura con Arduino, anche qui quindi andrebbe ativata la funzione di impostazione per i parametri della temperatura e poi per la gestione degli stessi.
  • PH: l’utente potrebbe decidere se leggerlo ed eventualmente correggerlo a suo piacere manualmente, oppure regolarlo automaticamente attraverso la CO2, in questo caso va attivata la funzione di acquisizione dei dati di range e poi la funzione di gestione di questi dati.
  • Cambio dell’acqua automatico far decidere all’utente se attivarlo manualmente, oppure dargli la possibilità di impostare una periodicità.
  • Accensione manuale di almeno una linea luci, è qualcosa che fa sempre comodo averla a portata di mano in caso di manutenzioni fuori orario o per monitorare qualcosa quando le luci sono spente.

Insomma, questo è il mio modo attuale di vedere le cose per organizzarle meglio, voi cosa ne pensate???

Scusa una domanda, sto facendo una lista dell'occorrente e mi chiedevonse il condensatore ceramico dello stadio di alimentazione dove c'è scritto 100 uF, è giusto o forse sono 100 nF? Può essere?

Si scusa ha ragione, sono da 100nF. :blush:

Ho fatto l'elenco dei componenti e lo ho messo anche nel post "Attuale configurazione" il terzo. Spero di non aver dimenticato nulla, nel caso segnalate per favore XD.

Elenco completo dei componenti attualmente in uso sul mio controller (25/01/2013)

1 Display LCD 20X4 HD44780 3 PCF8574AP 1 RTC DS1307 1 Cristallo 32.768 KHz, 12.5 pF 1 Portabatterie mis. CR1220 1 Batteria CR1220 2 Trimmer 1,0 K? 10 Cond ceramici 100nF 1 R 50 ? 9 R 220 ? 3 R 1,0 K? 2 R 1,5 K? 1 R 4,7 K? 6 R 10,0 K? 2 IRF540 2 DS18B20 Waterproof 8 Fotoaccoppiatori 4N35 1 LM7805 1 Cond. Elettrol. 100µF 1 Cond. Elettrol. 10µF 1 Diodo 1n4 1 Led verde 1 Led rosso 1 Buzzer 5 Pulsanti momentanei

Scheda relé attualmente in uso (autoprodotta)

8 Relé Finder 40.52 – 12VDC / 8A / 250VAC 8 Zoccoli Finder 95.15.2 1 ULN2803 1 Cond. elettrolitico 1.000 µF 25v 8 Led 8 R 560 ? 8 Connettori a vite 4x1 passo 5,08 1 Connettori a vite 2x1 passo 5,08

Riccardo

Ti ringrazio per la precisione e la disponibilità, ho effettuato in questo istante l'ordine. Non vedo l'ora che arrivi il tutto per mettermi al lavoro.

Ciao Dandovino, ti aspetto, e ti ho scritto PM

Per tutti :D Ho iniziato a disegnare lo schema elettrico del controller, è la prima volta che ne disegno uno e sto usando Kicad, la bozza non è completa, mancano tutti i valori, ma vi chiedo se possibile un giudizio in generale su quello che ho fatto, se sono sulla giusta strada e se ne trovate eventuali errori. :blush: Lo schema è in allegato.

Grazie in anticipo a chiunque vorrà dedicarmi qualche minuto. :)

Riccardo

Ardu_Acquarium_controller.png|3513x2484

Non capisco quel potenziometro sull'alimentazione della backlight. Perche' non ci hai messo il classico PNP collegato al pin7 del PCF8574, cosi' lo accendi o spegni da comando

Poi vedo inutili quei fotoaccoppiatori. Collegati come sono hanno solo la funzione di inverter per il pilotaggio della scheda rele' ( mancano comunque delle resistenze di pulldown). Tanto vale usare due IC inverter o 8 transistor. Ha senso usare dei fotoaccoppiatori se la parte transistors e' disaccoppiata dall'alimentazione della scheda

Poi, a parte qualche distrazione, come ad esempio il 7805 senza massa, o il PCF8574 (collegato ai fotoaccoppiatori) senza alimentazione.. anzi, in corto, etc etc etc..... stai andando bene

Ciao Brunello, grazie infinite per avermi controllato, ne ho veramente e sinceramente bisogno…. Provo a risponderti, ma perdonami se scrivo Riccardate, in elettronica proprio non vado…

brunello: Non capisco quel potenziometro sull'alimentazione della backlight. Perche' non ci hai messo il classico PNP collegato al pin7 del PCF8574, cosi' lo accendi o spegni da comando

Il display, sarà sempre acceso, quindi non mi interessa di comandarlo in questo senso attraverso il PCF, con il potenziometro invece mi regolo a piacimento la luminosità e finisce lì, avevo anche pensato ad un potenziometro digitale, ma primo non so se ne esistono per questi scopi, secondo avrei rubato spazio alla poca memoria disponibile di Arduino per le routine per pilotarlo, quindi ho rinunciato.

brunello: Poi vedo inutili quei fotoaccoppiatori. Collegati come sono hanno solo la funzione di inverter per il pilotaggio della scheda rele' ( mancano comunque delle resistenze di pulldown).

Ha senso usare dei fotoaccoppiatori se la parte transistors e' disaccoppiata dall'alimentazione della scheda

I fotoaccoppiatori, sono un mezzo per poter usare il PCF, che da solo non riesce a pilotare i darlington, dell’ULN2803 sulla scheda relé. Collegati come ho fato io prendendo spunto dalla figura 4 di questo link http://www.laurtec.it/brief-notes/programmazione-pic/125-bn0013-it-pcf8574-i2c-io-expander-libreria-ed-utilizzo mandando a zero le uscite del pcf che mi interessano mando 5v pieni col giusto amperaggio ai darlington che così funzionano, quindi non sono un traguardo ma un mezzo. Ad ogni modo i vantaggi sono che mi sono liberato dello shift register, che se anche fino ad ora funzionava bene, ad ogni avvio mi faceva sfarfallare tutti i relé, ho guadagnato tre pin liberi ed infine con la sola libreria IOexp leggo sia i tasti che piloto i relé, c'è anche che così ottengo un doppio isolamento galvanico e la cosa non mi dispiace affatto :D , in merito alle resistenze di pulldown, se mantenessi questo schema, come dovrei collegarle? Forse all’uscita dei fotoaccoppiatori?

brunello: Tanto vale usare due IC inverter o 8 transistor.

Perdonami, ma gli IC inverter non li conosco, (non lo scrivo mica per caso che sono un’analfaelettronico) oggi mi metto a googlare e vedo di approfondire in merito, se hai tu qualcosa e possibilmente in italiano da farmi studiare, te ne sarei molto grato, poi secondo te se volessi fare delle prove, quali sono quelli più comunemente usati per questi scopi? I transistor li ho provati, in particolare i BC347 mi pare, con lo schemino classico, ma i darlington dell’ULN2803, non mi funzionavano, non so forse/sicuramente ho fatto io qualche errore…

brunello: Poi, a parte qualche distrazione, come ad esempio il 7805 senza massa, o il PCF8574 (collegato ai fotoaccoppiatori) senza alimentazione.. anzi, in corto, etc etc etc..... stai andando bene

Ho sistemato il 7805, e l’alimentazione del pcf, ma non riesco a vedere il corto… :blush: Bho riallego lo schema e mi rimetto nuovamente alla pubblica gogna…

Grazie infinite Riccardo :)

Ardu_Acquarium_controller.png|3513x2484

Start OT...Perdonatemi se inquino il topic, volevo chiederti riciweb se ricevi i miei PM visto che non me li segna in uscita. Grazie e scusate...End OT