Pages: [1] 2   Go Down
Author Topic: ardu uno ce la fà? quanto è potente??  (Read 1543 times)
0 Members and 1 Guest are viewing this topic.
tra pisa e firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao a tutti , dopo alcune settimane a studiare arduino ho finito di "fritzingare"  il mio progetto, ma prima di procedere con l'acquisto del materiale ho il dubbio se riesce un solo arduino uno a fare tutte queste cose o se devo dividere il carico fra due ardu...

brevemente: si tratta del classico lettore di consumi di un'impianto fotovoltaico, dei consumi di casa, invio dei dati a 2 display e sul web.

le cose che deve fare sono:
- lettura analogica tramite sensore di corrente, della produzione del fotovoltaico, fare la media fra 1000 letture analogiche  e printare il risultato ogni uno o due secondi
- identico come sopra ma dal contatore enel per calcolare acquisto o vendita di energia, media di 1000 letture  e print.
- sensore per calcolare la tensione che mi serve per avere più precisione nel calcolo dei due punti precedenti.
- creazione di una serie di dati , tipo energia prodotta , consumata etc etc con i riferimenti orari ( rtc preso online ) ed invio di questi su un server web tramite lan rj45.
- gestire due display con gli stessi dati uno pilotato in digitale ed uno in seriale

riesce il processore come potenza a fare tutto questo secondo voi ??

grazie e buon anno a tutti
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 25
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, senza dubbio ma, a che ti servono 1000 o 500 letture analogiche al secondo su due canali ? voglio dire per controllare la produzione di corrente ti basta campionare a 20-30Hz che comunque sono 20-30 letture al secondo, io non salirei oltre questa velocità anche perchè dubito che sensori tipo quelli della serie ACS o similari a costi non esorbitanti possano avere un refresh rate superiore appunto a 20-30Hz...
Per gli schermi bisogna valutare, io ne metterei due seriali o due via I2C, la comunicazione tramite rj45 la fai attraverso una Eth shield o cosa ? se si tra memoria usata e i pin usati arduino uno forse ti diventa stretto...
questa cosa non la capisco però, che vuoi dire ?
Code:
- sensore per calcolare la tensione che mi serve per avere più precisione nel calcolo dei due punti precedenti.

ciaoo smiley
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 2797
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1000 letture al secondo significa leggere (1000/50Hz) 20 volte lo stesso contenuto e come dice ratto a che ti serve?

Se vuoi avere la media devi estendere il tempo fino ad esempio 10 secondi, cioè campioni ogni 10 secondi per 6 volte sommi i valori ottenuti e dividi per 6 e hai la media di consumo in quel minuto.

Comunque non c'è la fa, almeno la uno e la MEGA no, la DUE ha potenza da vendere.

Ciao.
« Last Edit: January 03, 2013, 06:14:29 pm by MauroTec » Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 25
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Mauro smiley
Perchè dici che non ce la fà ? secondo me ottimizzando un poco il codice e risicando con funzioni furbe forse ce la fa', oppure mettendo due micro in parallelo, uno fa le letture e gestisce gli LCD mentre l'altro gestisce le comunicazioni e la parte relativa alla matematica che gli serve....
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

tra pisa e firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

rispondo alle vostre domande ma scusatemi se non sono precisissimo perchè per me è tutto un mondo nuovo questo.:

1) i due sensori che utilizzerei per misurare la corrente sono il asc714  http://www.robot-italy.com/it/1187-acs714-current-sensor-carrier-30-to-30a.html
2)  ho detto un cosa sbagliata quando parlavo di 1000 letture AL SECONDO, in realta era la media di mille letture senza riferimenti temporali. Questo lo vedo fare in altri progetti simili dove però usano le pinze amperometriche e dicono che avendo la lettura su un segnale alternato non si sà dove avviene la lettura di preciso e quindi facendo la media di una numero alto di letture esempio 1000 - 3000 si ottiene un valore abbastanza veritiero.
3) mi chiedete perchè la lettura della tensione , serve per calcolare i watt precisi . qui un'esempio di come realizzare questa lettura http://openenergymonitor.org/emon/buildingblocks/measuring-voltage-with-an-acac-power-adapter
4) vorrei fare tutto con un arduino ethernet puro senza shiel
5) userò 2 lcd rgb i2c cosi risparmio pin e non dovrei aver problemi di pin


quindi ricapitolando:
- lettura volt
- lettura ampere fotovoltaico
- calcolo watt prodotti
- lettura ampere enel
- calcolo watt consumati
- calcolo watt venduti
- printo sui 2 display lsd rgb un pò dei numeri appena calcolati con un refresh ogni 3 sec e qualche cambio colore lcd in base a determinati valori
- leggo rtc sul web
- preparo dati dei vari watt prodotti/venduti/consumati in un file tipo csv da spedite su un server
- invio questi dati ogni 5 minuti ? al server su internet
 ( in alternativa agli ultimi due passaggi posso far salvare i dati su sd e poi far fare una rischiesta dal server web ogni 5 minuti di inviare questi  dati)

ci riuscirà la arduino ethernet come potenza ?
« Last Edit: January 04, 2013, 06:47:29 am by mflash » Logged

tra pisa e firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Mauro smiley
Perchè dici che non ce la fà ? secondo me ottimizzando un poco il codice e risicando con funzioni furbe forse ce la fa', oppure mettendo due micro in parallelo, uno fa le letture e gestisce gli LCD mentre l'altro gestisce le comunicazioni e la parte relativa alla matematica che gli serve....

scusa cosa intendi con " due micro in parallelo" ?? dividere il tutto su due arduini ?
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 25
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Mauro smiley
Perchè dici che non ce la fà ? secondo me ottimizzando un poco il codice e risicando con funzioni furbe forse ce la fa', oppure mettendo due micro in parallelo, uno fa le letture e gestisce gli LCD mentre l'altro gestisce le comunicazioni e la parte relativa alla matematica che gli serve....

scusa cosa intendi con " due micro in parallelo" ?? dividere il tutto su due arduini ?
Esattamente, solo che si usa un Arduino e un micro identico a quello dell'arduino programmato con lo stesso linguaggio ma montato in una scheda custom fatta da te..
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quello che dici è possibile, l'unico problema è che non c'è memoria per 1000 letture su una UNO, e forse nemmeno sulla MEGA. Ma puoi ovviare salvando i dati su SD, o facendo una "media" che non tenga conto di tutti i valori.

Per esempio se fai

lettura = (lettura + nuovaLettura)/2

stai facendo una media pesata, dando a tutte le letture precedenti un peso uguale pari al peso dell'ultima lettura, quindi una lettura abbastanza sensibile alle variazioni (notare che la prima lettura non va divisa per due, oppure si inizializza lettura = valoreMedioAtteso)
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Full Member
***
Karma: 0
Posts: 150
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oppure potresti fare una cosa così smiley

lettura=lettura+nuovaLettura;
Nlettura=Nlettuda+1;
media=lettura/Nlettura;

Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

giusto, ma attento agli overflow!
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Full Member
***
Karma: 0
Posts: 150
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per ovviare a questo problema si potrebbe fare una cosa così

void setup()
{
int N2lettura=0;
}

void loop()
{
if(Nlettura<10000)   // ho messo un numero a caso nn ho idea di quando vada in overflow
{
lettura=lettura+nuovaLettura;
Nlettura=Nlettuda+1;
media=lettura/Nlettura;
}
if(Nlettura>=10000)   // ho messo un numero a caso nn ho idea di quando vada in overflow
{
lettura=lettura+nuovaLettura;
N2lettura=N2lettura+1;
media=lettura/(Nlettura+N2lettura);
}
}

può essere una soluzione?
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao mflash,
sto cercando di fare una cosa simile alla tua (controllo produzione/consumi fotovoltaico) e sono alla scelta dei sensori di corrente.
Ho letto che tu, dopo qualche ricerca, sei indirizzato verso gli ACS714. Quello che mi chiedo è: quale è la lunghezza massima tra il Sensore e Arduino?

Inoltre mi permetto di portare alla tua attenzione Questo Topic. In pratica ho risolto il problema della Energia Generata leggendola direttamente dall'Inverter via LAN. Può esserti utile?

Alessio.
Logged

0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5608
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

visto che l'unico possibile problema e' il discorso delle letture necessarie a fare la media, io andrei verso un discorso hw invece che sw, o trovi un sensore che ti da gia' di per se in uscita un segnale continuo che e' rappresentante di cio' che appare in ingresso, oppure lo rendi continuo tu a livello hw.
In questo modo il micro non avra' veramente nulla da fare e potra' eseguire in tranquillita' tutti gli altri compiti
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

0
Offline Offline
Newbie
*
Karma: 0
Posts: 19
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

secondo me siete fuori strada.
l'unità di misura dell'energia elettrica è il wattora. per misurarlo devi fare la sommatoria di ( VxI ) / la frequenza di campionamento (50-100Hz) a questo punto hai i watt al secondo (e la potenza istantanea).
ogni 3600 watt secondo hai 1 watt ora.
ora questo valore lo sommi e lo salvi ogni tot minuti a seconda di quanti valori vuoi avere sul grafico.
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2755
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
quello che dici è possibile, l'unico problema è che non c'è memoria per 1000 letture su una UNO, e forse nemmeno sulla MEGA. Ma puoi ovviare salvando i dati su SD, o facendo una "media" che non tenga conto di tutti i valori.
Non credo sia la scelta migliore usare una sd per fare il campionamento
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Pages: [1] 2   Go Up
Jump to: