PDA

Visualizza la versione completa : Report - Acquisto Reef Angel


dhave
05-12-2011, 12:00
Riporto i tempi e i costi di acquisto.

COSTI
Reef Angel Controller - $219,00 USD
PWM-to-Analog Lead Wire - $18,00 USD
Dimmable Moonlight - $20,00 USD

Importo parziale $257,00 USD
Spedizione $49,95 USD

Totale: $306,95 USD
Tasso di cambio: 1 Euro = 1,30951 Dollari USA
Importo €234,40 EUR

Tasse doganali: 23.50€
Valore indicato in fattura: 1 Controller, 99$ + 36$ spedizione.

Totale acquisto Reef Angel compreso di Led lunare e cavi controllo dimmer = 257.90€

SPEDIZIONE
22 Novembre - Pagato
23 Novembre - Pacco pronto per la spedizione
24 Novembre - Spedizione (USPS)
28 Novembre - Inizio pratiche Dogana italiana
5 Dicembre - Consegnato (SDA)


Elaborazione ordine: 1 g
Spedizione: 6gg
Sdoganamento e consegna: 6gg

Giorni totali: 13gg
Giorni lavorativi: 9gg

PACCO
Consegnato integro.
Composto da scatola esterna, imbottitura, scatola interna, componenti imballati singolarmente.

KIT BASE REEF ANGEL
Le istruzioni sono scaricabili online qui: http://www.reefangel.com/Download.ashx

Il sistema si compone di tre componenti principali
- L'interfaccia principale (che chiamerò "controller")
- Le prese di potenza (che chiamerò "ciabatta")
- Il gruppo sonde e cavi(sonda PH, temperatura, cavi alimentazione etc...)

Ecco una foto, con i cavi inseriti, si noti il cavo usb per il collegamento al pc e le sonde incluse nel kit.
http://img856.imageshack.us/img856/9812/img0478pj.jpg (http://imageshack.us/photo/my-images/856/img0478pj.jpg/)

Controller:
E' il cervello del sistema, completo di schermo LCD e joystick di comando per navigare fra i vari menù. Due led indicano lo stato e l'aliemntazione. Presenta i collegamenti fondamentali del sistema:
- 1 Presa sonda PH
- 3 Prese sonda Temperatura
- 1 Presa Livello (ATO) alta
- 1 Presa Livello (ATO) bassa
- 1 Presa connettore PC
- 1 Presa connettore ciabatta

Ciabatta:
E' l'interfaccia per comandare i dispositivi dell'acquario, si compone di:
- 8 Prese corrente 220V
- 1 Cavo alimentazione principale (alimenta anche il controller)
- 1 Presacomunicazione LED
- 2 Prese illuminazione LED (attinica e bianca)

Sonde e Cavi:
Il pacchetto base include svariate sonde, che permetto al controlle di mettersi subito in comunicazione con la vasca-
- 1 sonda ph
- 2 sonde livello
- 1 sonda di temperatura
- 1 Cavo di colegamento Controller - PC
- 1 Cavo di collegamento Controller - Ciabatta

CONVERSIONE PRESE USA-EU
Il cavo di alimentazione è un comune cavo PC, purtroppo con attacco finale per presa americana. Fortunatamente questo si trova anche al supermercato se non ne avanza uno in casa.
Ci sono tre modi per convertire le prese americane in europee, in modo da comandare i nostri accessori.
A) Sostituire le prese europee direttamente sugli accessori comprando 8 prese americane maschio
B) Usare degli adattatori universali
C) Creare delle ciabatte con prese europee collegandole tramite prese americane alla ciabatta.
Ho deciso di adottare la soluzione "C", avvitando su un pannellino le varie ciabatte, aumentando anche il numero di prese. Non avendo problemi di spazio, mi è sembrata la soluzione più pulita.

COSTRUZIONE DEL PANNELLO REEFANGEL-PRESE EU
L'idea di base è questa:
http://img256.imageshack.us/img256/5121/presereef.png (http://imageshack.us/photo/my-images/256/presereef.png/)

Innanzitutto ho comperato in un negozio di elettronica degli adattatori usa-eu semplici. In un centro commerciale vicino ho invece comprato alcune cassette in plastica, spine e piste porta prese.

Ho preparato gli adattatori e smontato le spine per rimuovere la terra. La linea di terra sarà realizzata dopo e collegata all'alimentazione.
http://img607.imageshack.us/img607/7646/img0482od.jpg (http://imageshack.us/photo/my-images/607/img0482od.jpg/)
http://img546.imageshack.us/img546/5581/img0483p.jpg (http://imageshack.us/photo/my-images/546/img0483p.jpg/)

Ho forato con una fresa a tazza le piste porta prese.
http://img534.imageshack.us/img534/2338/img0484ap.jpg (http://imageshack.us/photo/my-images/534/img0484ap.jpg/)

Ho segnato la cassetta principale e forato anch'essa con la fresa a tazza. Ho realizzato anche dei fori di fissaggio per imbullonare le piste porta spine.
(http://imageshack.us/photo/my-images/685/img0485y.jpg/)

Imbllunate le piste, ho creato delle finestre con il seghetto alternativo.
http://imageshack.us/photo/my-images/685/img0485y.jpg/

Questo è un esempio di disposizione delle spine e della linea di terra. Si notino le 8 prese, l'interruttore principale e una serie di prese sempre alimentate per colleggare accessori extra in caso di emergenza (le prese non bastano mai!).
http://img28.imageshack.us/img28/5035/img0487d.jpg (http://imageshack.us/photo/my-images/28/img0487d.jpg/)

Un volta collegato il tutto, il quadretto con integrato il reefangel è pronto. Alla fine ho variato leggermente il progetto iniziale, per cui ci sono 8 prese comandate dal RA e due prese di servizio comandate da un interruttore manuale. In alto a destra il pulsante on/off principale, coperto da un coperchio per evitare di premerlo per errore.
Sotto, un'ampia apertura per collegare le prese com e usb del RA. (La foto è capovolta per errore)
http://img848.imageshack.us/img848/381/img0503k.jpg (http://imageshack.us/photo/my-images/848/img0503k.jpg/)

INSTALLAZIONE ED AVVIO RAPIDO
Seguendo le istruzioni inglesi:
1- Collegare il cavo comunicazione Controller-ciabatta nel controller.
2- Inserire l'altro capo del cavo nella ciabatta.
3- Collegare il cavo di alimentazione nella ciabatta
4- Inserire il cavo di alimentazione nella presa a muro.
5- Si accende il led verde di alimentazione sul controller, si avvia sul display il programma "demo".
6- Installato e pronto all'uso con il programma base (detto appunto "demo")!

IL PROGRAMMA DEMO
Il programma demo è semplicemente il programma base per iniziare subito ad usare il reefangel. Questo dispositivo è "open source", che in poche parole significa che è proposto dall'azienda ma di libera modifica e sviluppo. Pertanto, chiunque può crearsi un nuovo programma a piacimento, oppure scaricare online il programma sviluppato da un'altro utente. Il discorso di aggiornamento del programma per ora lo lascerò in sospeso, il sistema "demo" permette già di giocare e prendere confidenza con il controller, "dimostrando" appunto le capacità del sistema. Non complichiamoci subito la vita e vediamo di far girare le funzioni base.

Le funzioni del "demo" sono:
- Modalità Cibo Pesci ("fish food" o "feeding mode" su altri controller, per capirci).
- Modalità cambio d'acqua
- Vedi registro
- Data e Ora
- Effetti Alba e Tramonto
- Surriscaldamento luci
- Dimmer led
- Tempo funzionamento massimo pompa rabbocco (ATO)
- Wavemaker (su prese 220V)
- Temperatura
- Scarica memoria operazioni su PC
- Scarica parametri su PC
- Calibratura sonda PH

La programmazione demo ha le prese della ciabatta già assegnate.
1- Presa pompa rabbocco
2- Luce notturna
3- Luci attiniche
4- Luci bianche
5- Wavemaker 1
6- Wacemaker 2
7- Skimmer
8- Pompa Risalita

Non male come programmino base, già con questo possiamo gestire varie funzioni sulla vasca, ammortizzando il costo del controller in maniera soddisfacente. Solo per controllare il rabbocco, la temperatura e le luci con controller singoli spenderemmo 200€, se di marca anche 300€.
Non mi interessano molto le prese preimpostate, ma possiamo destinarle ad altre funzioni.

NAVIGAZIONE
Il joistick permette di scorrere fra i vari menù:
-Su
-Giù
-Destra
-Sinista
-"Click" (premendolo)

MODALITA' CIBO PESCI
Ferma le prese 5-6, cioè Wavemaker 1 e 2 (teoricamente collegate alle pompe di movimento) per 15 minuti. Sul display si visualizza un conto alla rovescia.
NOTA- Ho già un wavemaker hydor per la vasca principale, ma questa funzione potrei usarla per le pompe nel refugium.

MODALITA' CAMBIO ACQUA
Come la precendete, ferma tutte le pompe (prese 1-5-6-7-8).
Questa funzione mi perplime un poco, mi interessa fermare la pompa di rabbocco, ma non le altre. Probabilmente è pensata per acquari senza sump, dove in effetti potrebbe essere comodo fermare tutte le pompe in vasca per lavorare meglio.

VEDI REGISTRO
Serve per controllare gli ultimi 10 "eventi" generati dal controller, dai comandi di on/off agli allarmi. Un pò come controllare il registro dell'antifurto di casa.

DATA E ORA
Imposta data e ora, nulla di più semplice.

ALBA E TRAMONTO
Si impostano gli orari di alba e tramonto, questa funzione comanda luci bianche, attiniche e lunari.
Le luci lunari si accendono un'ora pirma del tramonto e si spengono un'ora dopo l'alba.

I sistemi di funzionamento sono due, luci normali o luci led PWM dimmerate.

- REGOLARE: Accende le luci bianche 30 miunti dopo l'alba, e 30 minuti prima del tramonto. Le luci attiniche sono invece accese in coincidenza con alba e tramonto. Viene selezionata impostando a 0 la potenza delle uscite pwm nel menù "DIMMER LED".

- LED: La funzione led usa le uscite PWM per dimmerare i led aumentando e diminuindo la % di potenza. Si imposta nel menù "DIMMER LED" selezionando la potenza massima di funzionamento. Un'ora prima dell'alba e un'ora dopo il tramonto il controller aumenta la potenza delle uscite pmw da 0% al valore settato e successivamente da valore settato a 0%.

Non avendo luci led, utilizzerò la funzione REGOLARE sulla mia ATI8x80, esattamente come faccio ora con dei timer: accensione luce 1.Attinica+1.Purple e accensione luce standard 4.Bianchi+2.Blu . Questa funzione mi sembra strutturata in maniera semplice e sensata.

SURRISCALDAMENTO LUCI
Funzione per le luci led, nel caso si raggiunga il limite di temperatura fissato spegne l'illuminazione (attinica e bianca) preservando i led. Non avendo i led non conto di usare questa funzione, ma potrebbe essere valutata anche per chi ha luci HQI: in caso di guasto del sistema di raffreddamento, potrebbe salvare la vasca nelle stagione calda.

DIMMER LED
Altra funzione che non utilizzerò, permette di gestire la dimmerizzazione delle illuminazioni led.

TEMPO MASSIMO FUNZIONAMENTO POMPA DI RABBOCCO
Si imposta il tempo (in secondi) massimo per cui può funzionare in continuo (senza interruzioni) la pompa di rabbocco. Superato questo limite la pompa viene fermata e si genera un'allarme. serve a prevenire il funzionamento a secco della pompa se la vasca di rabbocco si svuota, oppure evita un eccessivo rabbo di acqua di osmosi se si rompe il galleggiante.
Entrembe le funzioni sono molto utili, sopratutto se la vasca di rabbocco ha capacità elevate.

WAVEMAKER
Permette di impostare l'intervallo di funzionamento delle due prese wavemaker, le pompe di moviemnto funzioneranno una alla volta, alternandosi.
Come accennato sopra ho già un wavemaker, utilizzerò eventualmente questa funzione sul refugium, anche se la trovo superflua. Quando riprogrammerò il controller assegnerò a queste prese un'altra funzione probabilmente.

TEMPERATURA
Permette di leggere la temperature delle tre sonde installabili. La funzione base non sembra permettere l'accensione/spegnimento di riscaldatori e refrigeratori, svolgendo di fatto solo la funzione di termometro.
All'aggiornamento del programma assegnerò probabilmentele prese wavemaker a riscaldatori e refrigeratore.

SCARICA MEMORIA OPERAZIONI SU PC
Con il cavo in dotazione si collega il controller al pc e si possono scaricare i dati in memoria.

SCARICA PARAMETRI SU PC
Con il cavo in dotazione si collega il controller al pc e si scaricano i parametri registrati nelle ultime 24 ore.

CALIBRATURA SONDA PH
Viene calibrato il valore della sonda tramite le due soluzioni a PH definitio esattamente come si fa con qualunque lettore di PH.
Il controller registrerà e comunichera il valore di PH rilevato.

NOZIONI BASE DI PROGRAMMAZIONE
Per questa parte, sto chiedendo l'aiuto di altri utenti del forum, in particolare l'utente "LukeLuke", già autore di una recensione sul RA.

Colleghiamo ora il RA (ReefAngel) al PC, che è quello che stiamo aspettando. Personalmente ho nozioni scarse di programmazione, per cui procederò in maniera molto semplice. Le possibilità di programmazione sono molte, troppe forse, per cui perdersi è molto facile.

Iniziamo a collegare il controller e la ciabatta (insieme) al pc.
1- Non colleghiamo nessun cavo
2- Scarichiamo dal sito della RA il ReefAngelInstaller (sezione software: http://www.reefangel.com/Download.ashx)
3- Installiamo e seguiamo tutte le istruzioni di collegamento passo passo.
NOTA: il cavo usb va installato sul RA con attenzione, collegare la spina in modo che il cavo nero si inserisca sul pin più esterno.
4- Avviamo il programma dal desktop.

PRIMO PROGRAMMA DI TEST
Dal sito, sezione support/tutorial, ci viene proposto un programma di testing, scaricabile qui: http://www.reefangel.com/Support.Loading-your-first-code.ashx
1- Copiamo e incolliam il codice sul nostro programma
2- Clik sul bottone "upload"
3- Si carichera il programma, ad operazione completata il controller avrà scermo nero e il led status lmapeggierà. Questo significa che abbiamo riprogrammato il RA con un nuovo programma.

Riscriviamo ora il programma principale. Scarichiamolo dal sito seguendo questa istruzioni: http://www.reefangel.com/Support.Return-back-to-the-preloaded-code.ashx
Questa volta il programma non è un codice da copiare manualmente, ma un programma scritto in un file apposito.
Scarichiamo dalla sezione dowload il programma base (sezione examplescode: http://www.reefangel.com/Download.ashx )
1- Estraiamo il file "ReefAngelSimple.pde" e spostiamolo nella cartella Documenti/Arduino/ReefAngelSimple
2-Avviamo il programma, file/open e selezioniamo il file che abbiamo appena spostato. Si aprirà il codice.
3-Click su upload
4-Si carichera il programma, ad operazione completata il controller funzionerà normalmente

CAPIRE IL PROGRAMMA
Prima e semplice proca per capire come gestire il codide. Scorrendolo troveremo un elenco con i nomi del menù mostrati sul displat. Proviamo a sostituite "Fish Food" con la scritta "Ferma Pompe" ed avviamo l'upload. Sul RA ora la scritta "Fish Food" è sostituita dalla scritta "Ferma Pompe".
Questo test credo sia il primo passo per capire cosa è un codice e cosa vuol dire poterlo modificare a piacere.

ACCONTENTARSI DEL PROGRAMMA BASE
Il programma base è impostato e per molti acquariofili le funzioni sono più che sufficenti, riassumiamole:
- Gestione rabbocco
- Completa gestione dell'illuminazione
- Effetti alba e tramonto
- Lettura ph
- Lettura temperatura (3 temperature!)
- Controller pompe di movimento, wavemaker e fish food.

Per una vasca da 250 litri credo sia più che sufficente. Ma molti vorranno semplicemnte di più!

PERSONALIZZARE IL PROGRAMMA
Passiamo ora alla programmazione più avanzata.

Scarichiamo da questo link https://github.com/curtbinder/RAGen/downloads il programma RAG (Reef Angel Generator ) per la generazione dei codici di programmazione. Scarichiamo il file RAGen-v110-v08519 Installer.exe ed installiamo il programma. Avviamolo.

Apriamo controller/find controller e selezioniamo la porta con il controller. A volte non lo legge, provate a scollegare e ricollegare il cavo usb ed accendere spegnere il RA.

Apriamo Arduino (il programma che abbiamo usato per caricare i programmi di test) e apriamosketch/show sketch folder. Copiamo l'indirizzo della cartella.

Torniamo sul programma RAG, apriamo edit/setting ed incolliamo l'indirizzo della cartella di prima nella prima riga.

Apriamo controller/internal memory. Questa schermata va affrontata una sola volta, per avviare l'intero processo. Selezioniamo GENERATE, si creerà un file nuovo del tipo .pde

Torniamo su Arduino, apriamo file/open e selezioniamo il nuovo file pde. che si è creato (il nome sarà Memory_Vari numerini". Apriamolo.
Carichiamo il programma selezionando upload. Il display del controller mostrerà una schermata bianca con vari numeri.

A QUESTO PUNTO ABBIAMO CARICATO LE IMPOSTAZIONI DI FUNZIONAMENTO. Non ci resta che smanettare un pò con i menù e assegnare le porte.
Clicchiamo su generate, verrà creato un'ulteriore .pde e ci proporra di aprirlo automaticamente con Arduino. Accettiamo e apriamo il programma.

Selezioniamo upload e carichiamo l'assegnazione porte, il display mostrerà lo stato di ogni presa e i grafici, nonchè la temperature. Il numero "rosso" significa porta spenta, "verde" accesa.

IL PROGRAMMA CHE HO REALIZZATO

Ho assegnato le porte come segue:
1- Neon Bianchi
2- Neon Blu
3- Ventole plafoniera
4- Pompa rabbocco
5- Luce rosse "osmosi esaurita"
6- Riscaldatore
7- Ventole
8- Skimmer (nel mio programma l'avvio ritardato in caso di spegnimento è disattivato)

Il controller ha le seguenti sonde:
1- Sonda temperatura vasca
2- Sonda temperatura sump
3- Sonda temperatura casa
4- Sonda livello acqua sump
5- Sonda livello acqua rabbocco
6- Sonda PH
7- Led notturno sempre acceso

Il programma fa le seguenti operazione:
1- Accende le luci blu e le ventole plafoniera alle 13.00 e le spegne alle 22
2- Accende le luci bianche alle 13.30 e le spegne alle 21.30
3- Rabocca l'acqua in sump, se la pompa resta accesa più di 60 secondi la ferma e da un segnale di allarme, sicurezza contro pompa che gira a vuoto o gallegiante incantato.
4- Quando l'acqua d'osmosi è quasi esaura accende una luce rossa installa sul mobile acquario per segnalare che l'osmosi è esaurita. Può essere sostituita da una elettrovalvola che avvii l'impianto d'osmosi.
5- Accende il riscaldatore a 24.5° e lo spegne a 25.5°
6- Accende le ventole di raffreddamento a 27.0° e le spegne a 26.0°
7- Legge il ph in vasca, la temperatura in sump, in vasca e nella stanza.

Funzioni disponibili ma disabilitate:
1- Due pompe dosometriche (chiamate DP1 e DP2), settabbile ogni quanto e per quanti secondi avviarle.
2- Sistema di mergenza che spenga le luci in caso di surriscaldamento plafoniera.
3- Come precedentemente detto la funzione avvio ritardato skimmer, inutile avendo io un bi-pompa.

Il programma:
Eccolo qui, con le parti interessanti in grassetto.
// Autogenerated file by RAGen (v1.1.0.126), (01/15/2012 16:39)
// Memory_011512_1639.pde
//
// This file sets the default values to the Internal Memory
//


#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <Time.h>
#include <OneWire.h>
#include <Phillips6610LCDInv.h>
#include <avr/pgmspace.h>
#include <ReefAngel_EEPROM.h>


Phillips6610LCDInv e;

void setup()
{
e.lcd_init();
e.lcd_clear(COLOR_WHITE,0,0,132,132);
e.lcd_BacklightOn();

InternalMemory.MHOnHour_write(13);
InternalMemory.MHOnMinute_write(30);
InternalMemory.MHOffHour_write(21);
InternalMemory.MHOffMinute_write(30);
InternalMemory.MHDelay_write(00);
InternalMemory.StdLightsOnHour_write(13);
InternalMemory.StdLightsOnMinute_write(0);
InternalMemory.StdLightsOffHour_write(22);
InternalMemory.StdLightsOffMinute_write(0);
InternalMemory.DP1OnHour_write(20);
InternalMemory.DP1OnMinute_write(0);
InternalMemory.DP2OnHour_write(22);
InternalMemory.DP2OnMinute_write(30);
InternalMemory.DP1Timer_write(10);
InternalMemory.DP2Timer_write(10);
InternalMemory.DP1RepeatInterval_write(60);
InternalMemory.DP2RepeatInterval_write(60);
InternalMemory.ATOTimeout_write(60);
InternalMemory.ATOHighTimeout_write(60);
InternalMemory.ATOHourInterval_write(0);
InternalMemory.ATOHighHourInterval_write(0);
InternalMemory.FeedingTimer_write(900);
InternalMemory.LCDTimer_write(600);
InternalMemory.LEDPWMActinic_write(100);
InternalMemory.LEDPWMDaylight_write(100);
InternalMemory.WM1Timer_write(200);
InternalMemory.WM2Timer_write(354);
InternalMemory.HeaterTempOn_write(245);
InternalMemory.HeaterTempOff_write(255);
InternalMemory.ChillerTempOn_write(265);
InternalMemory.ChillerTempOff_write(275);
InternalMemory.OverheatTemp_write(1750);
InternalMemory.PHMax_write(840);
InternalMemory.PHMin_write(550);}

void loop()
{
// display the values
char buf[128];
sprintf(buf, "MH %2d:%02d-%2d:%02d,%d", InternalMemory.MHOnHour_read(), InternalMemory.MHOnMinute_read(),
InternalMemory.MHOffHour_read(), InternalMemory.MHOffMinute_read(),
InternalMemory.MHDelay_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW, buf);
sprintf(buf, "Std %2d:%02d-%2d:%02d", InternalMemory.StdLightsOnHour_read(), InternalMemory.StdLightsOnMinute_read(),
InternalMemory.StdLightsOffHour_read(), InternalMemory.StdLightsOffMinute_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, buf);
sprintf(buf, "LED A: %d%% D: %d%%", InternalMemory.LEDPWMActinic_read(), InternalMemory.LEDPWMDaylight_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*3, buf);
sprintf(buf, "WM1: %ds", InternalMemory.WM1Timer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, buf);
sprintf(buf, "WM2: %ds", InternalMemory.WM2Timer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, buf);
sprintf(buf, "F: %ds", InternalMemory.FeedingTimer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*6, buf);
sprintf(buf, "S: %ds", InternalMemory.LCDTimer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*7, buf);
sprintf(buf, "H On: %d -> %d", InternalMemory.HeaterTempOn_read(), InternalMemory.HeaterTempOff_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*9, buf);
sprintf(buf, "C On: %d -> %d", InternalMemory.ChillerTempOn_read(), InternalMemory.ChillerTempOff_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*10, buf);
sprintf(buf, "PH %d - %d", InternalMemory.PHMax_read(), InternalMemory.PHMin_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*11, buf);

delay(10000);
e.lcd_clear(COLOR_WHITE,0,0,132,132);

sprintf(buf, "OH: %dF", InternalMemory.OverheatTemp_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW, buf);
sprintf(buf, "ATO L: %ds (%dh)", InternalMemory.ATOTimeout_read(), InternalMemory.ATOHourInterval_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, buf);
sprintf(buf, "ATO H: %ds (%dh)", InternalMemory.ATOHighTimeout_read(), InternalMemory.ATOHighHourInterval_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*3, buf);

sprintf(buf, "DP1: %2d:%02d", InternalMemory.DP1OnHour_read(), InternalMemory.DP1OnMinute_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, buf);
sprintf(buf, " %ds", InternalMemory.DP1Timer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*6, buf);
sprintf(buf, "DP2: %2d:%02d", InternalMemory.DP2OnHour_read(), InternalMemory.DP2OnMinute_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*7, buf);
sprintf(buf, " %ds", InternalMemory.DP2Timer_read());
e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*8, buf);

delay(10000);
e.lcd_clear(COLOR_WHITE,0,0,132,132);
}

COMMENTI FINALI...

Il sistema ad oggi sta girando da qualche settimana. Posso dirmi quindi soddisfatto, ma il giudizio finale non è positivo. Credo nel fare un recensione ci si debba rivolgere non tanto a chi già "mastica" il prodotto, ma a chi si sta avvicinando al settore per la prima volta. Sotto questo aspetto RA è molto carente.

DI NEGATIVO:

Il costo è estremamente contenuto, ma più di un utente potrebbe stufarsi rapidamente di programmi ed installazioni e lanciare tutto fuori dalla finestra. Il sistema è open sorce ed è "pasticciabile" in ogni suo aspetto con il risultato finale di mostrarsi aperto ad un numero impressionante di bug o problemi di installazione.
La programmazio via PC è tutt'altro che facile, spesso il controller non viene letto correttamente dalle porte usb, configurate come COM, si deve spegne e riaccendere.

Per programmarlo va rimosso e collegato al pc, per cui ho provato ad usare un portatile, ma su quest'ultimo computer non sono riuscito a completare l'upload dei programmi. Ho dovuto quindi rimuovere tutto da sotto l'acquario e portarmelo al pc.

I bug generati sono molteplici e neppure i progettisti americani sul forum sanno spesso rispondere, per cui la soluzione viene lasciata molto al caso, alla pazienza e agli smanettamenti.

In definitiva, una volta programmato e avviato, è suggeribile non maneggiarlo ulteriormente.

DI POSITIVO:
Non ho trovato altro in commercio così completo e allo stesso tempo così economico. Solitamente vengono consigliati controller di marche costose e di rinomatà qualità, ma la realtà è che non tutti possono permettersi 1000€ di controller.
Ricordiamoci che al costo di un controller made in italy, si comprano sei (6) RA. E' quindi giusto aspettarsi con RA un prodotto meno rifinito

UTILIZZO CON PROGRAMMA PREIMPOSTATO:
Come ha fatto gentilmente notare l'utente LukeLuke, va detto che la programmazione preimpostata (DEMO) è però stabile e pienamente funzionante. I problemi rilevati occorrono nella programmazione avanzata.

Nella versione demo ricordiamo che il controller esegue:
- Wavemaker su due pompe di movimento
- Legge la temperatura e ph
- Controllo livello e rabbocco
- Temporizzazione le luci (e molto importante, funzione dimmer per plafoniere a led)
- Avvio ritardato degli skimmer monopompa
- Funzione "food" e "cambio acqua"

Queste funzioni rappresentano ancora una soluzione valida ed economica rispetto a ciabatte, timer, wavemaker 220V e osmoregolatore.


COMPRARLO, SI o NO?
Reputo il controller il culmine tecnologico dell'acquario, come tale è quindi il meno indispensabile e il più complesso ed appagante.

SI:
- Se avete una plafoniera autocostruita, uno skimmer cinese, e tante cose cotruite con il fai da te, il RA è vostro controller. Sicuramente vorrete personalizzarlo e sapete già che per risparmiare un pò bisogna faticare e lavore.
- Se le funzioni base sono più che sufficenti (stimo bastino per acquari sui 200#300 litri)
- Se avete solo 300€....

NO:
-Se comprate un prodotto in base alla marca e se ripete: "chi più spende, meno spende" e, oltre a dirlo, lo fate, il RA non fa per voi. Meglio aquatronica o parifascia. Qui cè "da sporcarsi le mani" e "dare pacche allo schermo" :-)
- Se avete 1500€ da spendere...

Sandro S.
05-12-2011, 12:33
un bell'articolo su come si programma ci starebbe proprio bene. ;)

dhave
05-12-2011, 12:48
Ho provato a tradurre il manuale in italiano, ma resta pur sempre un manuale. Volevo mettermi li nel ponte e scrivere una guida sveltina all'installazione, con le impostazioni base da scatola.

Il kit base "dovrebbe" permettermi di fare rapidamente:
- Gestione led notturno
- Gestione tempi di accensione plafoniera
- Gestione riscaldamento/raffreddamento
- Gestione vasca di rabbocco
- Allarme vasca rabbocco vuota (non installo elettrovalvola sull'osmosi)
- Lettura PH in vasca

Se riesco a gestire questo, calcolando che osmoregolatore+ciabatta programmabile+controller temperatura siamo già sui 200€, sono già soddisfatto. Per il controllo reattore mi sa che sarà più lunga perchè credo di dover aggiornare il programma. Ma!

Prima mi sa che devo fare una guida per sostituire le prese americane. Ho già una mezza ida semplice semplice però... vediamo cosa riesco a tirare fuori.

stefano62
05-12-2011, 12:59
Riporto i tempi e i costi di acquisto.

COSTI
Reef Angel Controller - $219,00 USD
PWM-to-Analog Lead Wire - $18,00 USD
Dimmable Moonlight - $20,00 USD

Importo parziale $257,00 USD
Spedizione $49,95 USD

Totale: $306,95 USD
Tasso di cambio: 1 Euro = 1,30951 Dollari USA
Importo €234,40 EUR

Tasse doganali: 23.50€

Totale acquisto Reef Angel compreso di Led lunare e cavi controllo dimmer = 257.90€

SPEDIZIONE
22 Novembre - Pagato
23 Novembre - Pacco pronto per la spedizione
24 Novembre - Spedizione (USPS)
28 Novembre - Inizio pratiche Dogana italiana
5 Dicembre - Consegnato (SDA)


Elaborazione ordine: 1 g
Spedizione: 6gg
Sdoganamento e consegna: 6gg

Giorni totali: 13gg
Giorni lavorativi: 9gg

PACCO
Consegnato integro.
Composto da scatola esterna, imbottitura, scatola interna, componenti imballati singolarmente.

Aggiornerò con l'installazione e il funzionamento appena posso.

Grande!! Quindi vuol dire che il tutto ha impiegato dal pagamento alla consegna solo 13 giorni!!!
Grande e anche le tasse doganali sono molto buone.
Mi puoi dire se sul pacco era indicato il valore del contenuto?
Ciao

dhave
05-12-2011, 14:03
La fattura della priorty mail indica:
1 Reef Controller, 4lb di peso, valore 99$ .
Costi di spedizione 36.77$.

La fattura dell'ispezione
Dazio 2.65€
Totale oneri doganali 18.24€

Hanno indicato un valore inferiore sul pacco. Questo fa risparmiare sui costi di dogana indubbiamente, però sarebbe stato più corretto informarmi di questa operazione... avrei fatto due pagamenti separati, in caso di controllo avrei potuto mostrare un pagamento congruo al dichiarato. In questo modo invece avrei dovuto pagare le differenze.
Meglio chiedere chiarimenti in fase d'acquisto.

EDIT: Se va bene ai mod, aggiornerei il post iniziale man mano che proseguo con l'installazione, almeno posso scrivere sia dal lavoro che da casa.

ALGRANATI
05-12-2011, 23:02
ci fai qualche foto ??

dhave
07-12-2011, 00:42
Postata una foto del kit base.
Domani preparo la scatola elettrica che conterrà il tutto e mostrerà sul davanti le prese europee.

Sto cercando di coinvolgere qualcuno per aiutarmi a scrivere un articolo sulla programmazione ^^!

LukeLuke
07-12-2011, 11:44
SEGUENDO LA GUIDA SOTTO, SI PASSA DALLE LIBRERIE STANDARD A QUELLE AVANZATE SVILUPPATE DA CURT BINDER

Creazione del nostro programma a mano (senza RAGen) :

1 - hai scaricato i driver per il cavo USB ? http://www.ftdichip.com/Drivers/VCP.htm
2 - scarica questo zip che contiene il programmatore di arduino e le ultime librerie di Curt File name: Programmatore_RA_windows_071211.zip File size: 86.14 MB (http://www.fileserve.com/file/mrxmzsv/Programmatore_RA_windows_071211.zip)
3 - Editi il file ReefAngel_Features e scegli quali menu vuoi attivi... (di default ho messo il SimpleMenu e il wifi abilitato

#### LO FARAI SOLO LA PRIMA VOLTA
4 - Ora per evitare di dover inserire, la prima volta, tutti i valori a mano... Curt ha creato un file chiamato SetIntervalMemory, lo scarichi https://github.com/curtbinder/SketchBook e lo appoggi sotto documenti....

5- Lanci il software di Arduino (che trovi all'interno dello zip al punto 2), setti nelle impostazioni, come Board --> Arduino 2009 . Setti la porta USB corretta... e fai open e scegli il file SetIntervalMemory.pde... ora modificalo in base alle tue impostazioni di orario e varie.... poi lo salvi e lo installi

########

6 - Scarichi il file RAMenus.pde da qui https://github.com/curtbinder/SketchBook e lo metti sempre sotto Documenti

7- Fai open e scegli il file RAMenus.pde, è qui che definisci le funzioni del relè e i °C, non credo tu debba fare modifiche particolari.... poi lo salvi e lo compili .... ed il gioco è fatto....

Cmq vi invito a leggere questo thread dove ci sono molte customizzazioni delle funzioni e risposte a problemi http://www.acquariofilia.biz/showthread.php?t=296451

Inoltre per qualsiasi dubbio potete usufruire del Forum ufficiale http://forum.reefangel.com/

Inoltre ultimamente sono stati creati dei tool carini e molto utili:

Client di Dave Molton per Windows permette tramite cavo USB o wifi (nel caso in cui abbiate acquistato il modulo WIFI) di avere grafici dei parametri customizzare soglie di allarmi via email e varie http://forum.reefangel.com/viewtopic.php?f=8&t=175

Client di Curt per Customizzare i parametri scritti in memoria (data ora, temperatura riscaldatore, ventola, ed altri) https://github.com/curtbinder/Status/archives/master

LukeLuke
07-12-2011, 12:05
Ecco cosa contiene il file RAMenus.pde che scaricate dal repository di Curt:

// RAMenus.pde
//
// This version designed for v0.8.5 Beta 10 and later

//Insieme di include che servono per far funzionare il controller
#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <ReefAngel_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <ReefAngel_EEPROM.h>
#include <ReefAngel_NokiaLCD.h>
#include <ReefAngel_ATO.h>
#include <ReefAngel_Joystick.h>
#include <ReefAngel_LED.h>
#include <ReefAngel_TempSensor.h>
#include <ReefAngel_Relay.h>
#include <ReefAngel_PWM.h>
#include <ReefAngel_Timer.h>
#include <ReefAngel_Memory.h>
#include <ReefAngel.h>

//inizio del setup ... dove si definiscono le funzioni
void setup()
{
ReefAngel.Init(); //Initialize controller
ReefAngel.SetTemperatureUnit(1); // serve per dirgli che la temperatura la deve leggere in Celsius

// Set the ports that get toggled on & off during the following modes
// To enable a port to be toggled, place a 1 in the appropriate position
// Uncomment and update as needed
// Port 87654321
//ReefAngel.FeedingModePorts = B10011100;
//ReefAngel.WaterChangePorts = B10011100;
//ReefAngel.OverheatShutoffPorts = B00001100;
//ReefAngel.LightsOnPorts = B00000110;

// Porte che vogliamo siano sempre accese
ReefAngel.Relay.On(Port8);
}

void loop()
{
ReefAngel.ShowInterface();

// Specific functions
ReefAngel.StandardATO(Port1); //state dicendo al controller di far partire la funzione di rabbocco e che la porta della pompa di rabbocco è la 1
ReefAngel.StandardLights(Port2); //state dicendo al controller di far partire la funzione di accensione luci normali e che la porta è la 2 (per esempio i neon... non usarla per l'HQI)
ReefAngel.MHLights(Port3); //state dicendo al controller di far partire la funzione per le HQI e che la porta è la 3 (questa funzione è uguale alle luci standard... solo che in caso di blackout riaccende la luce dopo un tot di minuti che specificate nel file SetinternalMemory
ReefAngel.Wavemaker1(Port4); //state dicendo al controller di far partire la funzione del moto ondoso sulla porta 4
ReefAngel.Wavemaker2(Port5); //state dicendo al controller di far partire la funzione del moto ondoso sulla porta 5
ReefAngel.StandardFan(Port6); //state dicendo al controller di far partire la funzione del controllo ventole o refrigeratore sulla porta 6
ReefAngel.StandardHeater(Port7); //state dicendo al controller di far partire la funzione del controllo del riscaldatore sulla porta 7
}
------------------------------------------------------------------------
mettiamo il caso che abbiamo lo skimmer sulla porta 8 e vogliamo che in caso di blackout lo skimmer si riaccenda con un ritardo, aggiungiamo prima dell'ultima parentesi graffa chiusa (che chiude la programmazione) la segente riga:

ReefAngel.DelayedOn(Port8,10); //ritarda l'accensione di 10 minuti

Però dobbiamo anche togliere la stessa porta tra quelle che nel setup abbiamo definito essere sempre accese... altrimenti le due cose cozzano... :-d

dhave
08-12-2011, 13:39
Aggiornate le foto del quadro elettrico, ho perso tempo a costruire l'alza plafoniera elettrico :4:

dhave
13-12-2011, 01:38
Iniziata la programmazione avanzata.

Il controller deve eseguire:
- Lettura in °C della temperatura (solo la vasca, pù avanti attaccherò le sonde per plafoniera e ambientale)
- Lettura PH
- Lettura livello sump

Le seguenti prese che temporizzeranno:
1- Luci bianche
2- Luci blu
3- Luci nottorne
4-Luci refugium

Mentre in base ai dati letti, su queste prese verrà gestito l'on/off di:
5- Pompa rabbocco
6- Riscaldatore
7- Ventole di raffreddamento
8- VUOTA (Presa libera per il momento)

La co02 con elettrovalvola resta gestita dal buon milwakee, funziona bene ed è indipendente. Inoltre in questo modo posso avere una sonda libera in vasca che controlla il ph generale.

Non è nulla di sconvolgente così impostato, molto semplice.
Il discorso si farà più interessante con l'arrivo delle altre sonde di temperatura, del collegamento wifi e altre cose in progetto (tipo la lettura di salinità, inutile quanto sfiziosa).

LukeLuke
13-12-2011, 16:24
aggiorno il file da usare per programmare il controller completamente a manina (in quanto le librerie avanzate ancora non supportano Arduino 1.0)

http://www.fileserve.com/file/7kX6Pv9/arduino-0022.zip

come al solito il file è completo di tutte le librerie necessarie per la programmazione del ReefAngel.

ciot.bg
25-12-2011, 10:59
ma le masse??? io ti proporrei all'inteno della scatola di portare fuori tutte le masse. per intenderci dal frutto all'interruttore. per tutte le 8 prese.

ottimo lavoro... comunque

dhave
26-12-2011, 15:07
Già fatto, le masse sono tutte collegate alle prese europe e sono collegate alla massa dell'alimentazione principale.

Lo scatolotto serve proprio a quello, altrimenti avrei potuto usare gli adattatori ma non avrei avuto la terra.

Prossimamente pubblico anche il programma in uso, sto finendo di programmare la gestione della vasca di rabocco, ma ormai gira già da una settimana.

ciot.bg
26-12-2011, 18:50
gran bel lavoro

dhave
15-01-2012, 23:26
Fnito, copiato il programma e testato il maledetto per un mese.

ORa posso venderlo :-D

LukeLuke
16-01-2012, 00:25
perchè ?

dhave
16-01-2012, 09:54
perchè ?

cosa?

LukeLuke
16-01-2012, 12:24
ORa posso venderlo :-D

perchè ?

dhave
16-01-2012, 12:47
Era ironico, molti "big" del forum acquistano oggetti solo per recensirli, volevo schierarmi anche io.

Però ammetto che a questo punto mi sa non acquistero il modulo wifi, mi è passata già la voglia di ricollagare tutto al pc e cercare di programmarlo.

Ad oggi sono riuscito a fargli fare quello di cui avevo bisogno, che in realtà è poca cosa, controllo di temperatura e gestione rabbocco. Fatti due conti, un secondo osmoregolatore e due controller temperatura (uno per caldo, uno per freddo) mi costavano più del ra.

LukeLuke
16-01-2012, 12:52
non sono d'accordo...

l' RA se lo usi in versione base (col precompilato) funziona e ti fà tutte le funzioni più richieste...se poi uno vuole passare alle librerie avanzate (development) non può lamentarsi di doverci smenare un pò.

dhave
16-01-2012, 14:08
non sono d'accordo...

l' RA se lo usi in versione base (col precompilato) funziona e ti fà tutte le funzioni più richieste...se poi uno vuole passare alle librerie avanzate (development) non può lamentarsi di doverci smenare un pò.

Per me è stato un problema programmare, sopratutto per i RAGen che su alcuni pc non funziona e non siamo riusciti a capire perchè.
Su tutti i miei pc (4) il valore AM-PM non viene visualizzato.

Quando carichi da errori di compilazione e simili. Bisogna ricordare che non tutti hanno conoscenze informatiche che vanno oltre il plug&play, e che ancor meno riescono a usare le guide in inglese o scrivere nei forum inglesi.

E' come autocostruirsi una plafo o forare un vetro: per chi lo riesce a fare è una stupida, per chi non è "buono" è un incubo. Ho alcuni amici che non avrebbero saputo dove sbattare la testa per usare il RA.

Poi ripeto, costa 1/6 di aquatronica e può fare quasi le stesse cose. Lo "sbattimento" a programmarlo ci sta. Ma bisogna avvisare che non è immediato.

La programmazione base va bene, ma già cambiare i °f a °c richiede ragen e tutto, e appunto, non è detto che si riesca a farlo parlare con il pc. Almeno, con conoscenze base di pc.

Mi sembrava giusto nella recensione indicare che qualche difficoltà cè e di preparasi.

LukeLuke
16-01-2012, 14:11
continuo a non essere d'accordo !

il RA è autosufficiente e programmato già dal costruttore ed ha le funzioni di base precompilate:

http://www.reefangel.com/Support.About-the-preloaded-code.ashx

se tu vuoi funzionalità diverse e passi alla programmazione avanzata devi mettere in conto sbattimenti ;-)

scusami che insisto...ma bisogna essere chiari ;-)

dhave
16-01-2012, 14:18
Concordo anche io che le funzioni base sono funzionanti e adatte a gestire un 200#300 litri egregiamente.
Fa il wavemaker sulle due pompe di movimento, legge la temperatura e il ph, fa da osmoregolatore, regola le luci (e importante dimmera i led) e fa l'avvio ritardato degli skimmer automaticamente.

Però concorderai che la programmazione/personalizzazione non è immediata :-)).

Nelle conclusioni riporto ora anche che la versione base è ottimale, pensavo si capisse, ma in effetti la conclusione che ho scritto può essere forviante. Edito.

Sandro S.
16-01-2012, 14:34
Condivido entrambe le posizioni.
Quando mi chiedeno se consiglio o meno un sistema come Reef Angel, dico sempre che se si ha la voglia e le capacità di programmarselo DA SOLI allora è un buon strumento altrimenti consiglio di andare su marche già note.

Avere l'amico che lo programma per me è un di più, alla base ogniuno deve saper metterci le mani.

ciot.bg
16-01-2012, 14:46
bhe, che sia un amico a programmarlo (come nel mio caso), o essere in grado cambia poco. io grazie a colui che me l'ha programmato riesco a fare un'infinita di cose... e una volta fatto è fatto. non è che si continua a smanettarlo. poi ci sono cose semplici, che anche un'incompetente come me è in grado di realizzare.

cosi penso.....