Se sei già registrato           oppure    

Orario: 28/03/2024 22:36:35  

 

Energia Alternativa ed Energia Fai Da Te > Applicazioni E Realizzazioni Pratiche

VISUALIZZA L'ALBUM

Pagine: (18)   1   2   3   4   5   6   [7]   8   9   10   11   12   13   14   15   16   17   18    (Ultimo Msg)


Voltmetro, Amperometro, Wattmetro, Contatori Assorbimento
FinePagina

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,08:52

Pian pianino facciamo dama faccine/smile.gif ...
Controlla se senza carico il sensore ti resistuisce circa 2, 5v ....

Se si credo che devi solo tararlo:
-senza carico modifica il valore di offset (510 ...509...508 ...511...)per avere una lettura prossima allo 0 (10w di toll )
-poi connetti un carico noto e modifica il fattore di conversione (.55 ... 0.56 ....0.50 .... sperimentalmente o facendo la proporzione)

Ciao
Ps: non misurando la tensione avrai una potenza molto simile al valore reale , ma con una tolleranza del 10% .... ma dovrebbe essere più che sufficiente ai tuoi scopi ..

Ariciao faccine/smile.gif

 

5a2v0
Watt


Gruppo:Utente
Messaggi:66

Stato:



Inviato il: 11/10/2013,09:46

aspetttttttttttttta un attimo faccine/smile.gif
DOMANDISSIMA:

nel tuo sketch ho letto che scrivi:

CITAZIONE
const float Fattore_Conversione_Corrente = .055;

mentre a me hai scritto prima:
CITAZIONE
-poi connetti un carico noto e modifica il fattore di conversione (.55 ... 0.56 ....0.50 .... sperimentalmente o facendo la proporzione)

qual'è il parametro giusto ? faccine/biggrin.gif

Per ora sono a lavoro e non posso fare la prova, ma può essere che l'errore è dato da quello 0 mancante ?

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,09:53

Nono c'è il punto faccine/smile.gif quindi scrivere 0.55 o .55 è indifferente .
Per quanto invece il valore in se ,dipende dalle tolleranze della resitenza di shunt ecco perché devj modificarlo per adattarlo al tuo circuito ...
Se non sbagli quell .55 era uscito per un sensore acs712 da 20A ... ma come ti dicevo ognuno deve eseguire la taratura .

Ciao

 

5a2v0
Watt


Gruppo:Utente
Messaggi:66

Stato:



Inviato il: 11/10/2013,10:07

dicevo 0.055 al posto di 0.55 !!! Mi riferivo allo zero dopo il punto ! faccine/biggrin.gif

inoltre, il fatto che non uso un ACS ma un SCT-013-030 non cambia nulla ?

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,11:28

Hai ragione .... mia colpa faccine/smile.gif
Oggi controllo e posto il fattore che uso per gli Sct faccine/biggrin.gif

Acs o Sct (con schema) vengono gestiti nello stesso modo . Sottointeso per misurazioni AC ed ognuno la sua taratura.

Ciao grande faccine/wink.gif

 

5a2v0
Watt


Gruppo:Utente
Messaggi:66

Stato:



Inviato il: 11/10/2013,12:56

Allora intanto tornato a casa ho fatto una prova mettendo:

fattore di conversione= 0.055
e offset mio = 508 (al posto dei 510 del tuo sketch)

e rilevo adesso:

- senza carico un valore che oscilla tra 0 e 01 watt
- con una lampada non a risparmio (da verificare wattaggio) appena accendo ho un valore di circa 30 watt per qualche secondo e poi scende ad un valore che oscilla tra 3 e 6 watt
- con il phon da 1800w max alla max potenza ho un valore sui 300watt

Cercherò di provare una lampada da watt conosciuti prima possibile e ti faccio sapere faccine/smile.gif)))))

Domanda da niubbo: se SPENGO la lampadina (carico) ma lascio collegata la spina, arduino mi dice 0 o 01... se invece scollego proprio la spina (quindi nessun carico nel sensore) arduino mi restituisce 16-18 watt O.o !!! come è possibile ?

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,13:20

Curioso faccine/smile.gif ... cmq ci avviciniamo alla dama ....
Posta il codice così lo carico sul mio powermeter .
Ciao

 

5a2v0
Watt


Gruppo:Utente
Messaggi:66

Stato:



Inviato il: 11/10/2013,13:31

CITAZIONE
//Includo la libreria per il corretto funzionamento del display
#include <LiquidCrystal.h>
// Dichiaro i pin del display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Dichiaro il pin a cui sono collegati i bottoni e la variabile in cui viene memorizzato il valore letto dal pin
int buttonPin = A0;
int buttonValue = 0;
//Dichiaro il pin del sensore di corrente e la variabile in cui sarà memorizzato il valore letto dal sensore
int sensorPin = A5;
float sensorValue = 0.00;
//Dichiaro la variabile in cui sarà memorizzato il valore di Ampere totali assorbiti
float ampere = 0.00;
//Variabile per il consumo in watt (ottenuto moltiplicando il valore in Ampere ottenuto dal sensore di corrente per la tensione stabilita di 230v)
float tensione = 230.00;
int consumo = 0;
//Dichiaro i pin del buzzer, dei led e dei relè
int buzzer = 6;
int verde1 = 7;
int verde2 = 8;
int rosso1 = 1;
int rosso2 = 13;
int bagni = 9;
int stanze = 10;
//Dichiaro variabili per memorizzare lo stato (0 o 1) dei relè e dei bottoni
int rele1 = 0;
int rele2 = 0;
int buttonState = 0;
//Variabili per prevenire ritardi ai pulsanti e regolare il refresh del display
#define intervallcd 3000
long previousMillslcd = 0;
#define interval1 2000
long previousMills1 = 0;
#define interval2 2000
long previousMills2 = 0;
//Note di check funzionamento buzzer
int melody[] = {
4699, 4699};
//Durata delle note: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
8, 8};


void setup() {
ADCSRA&=0X90+ 0b100; //Setta ADC prescaler a 16 quindi la velocita delle conversioni
//Imposto il voltaggio di riferimento per le letture analogiche a 1.10v o lascio 5v se commentato
//analogReference(INTERNAL);
//Definisco l'eventuale porta seriale per leggere dati dal monitor seriale N.B. si accenderà fisso il led sul PIN 1 !!!
//Serial.begin(9600);
//Inizializzo il display
lcd.begin(16, 2);
//Imposto i pin dei led e dei relè come uscite digitali
pinMode(verde1, OUTPUT);
pinMode(verde2, OUTPUT);
pinMode(rosso1, OUTPUT);
pinMode(rosso2, OUTPUT);
pinMode(bagni, OUTPUT);
pinMode(stanze, OUTPUT);
//Accendo i due led verdi e spengo i due rossi (i relè sono normalmente chiusi e la variabile dei relè è gia impostata a 0 di default all'avvio del programma)
digitalWrite(verde1, HIGH);
digitalWrite(verde2, HIGH);
digitalWrite(rosso1, LOW);
digitalWrite(rosso2, LOW);
digitalWrite(bagni, HIGH);
digitalWrite(stanze, HIGH);
//Codice di esecuzione delle note di check funzionamento buzzer
for (int thisNote = 0; thisNote < 2; thisNote++) {
int noteDuration = 1000/noteDurations[thisNote];
tone(buzzer, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(buzzer);
}
}


void loop() {
ampere = 0.00;
int NumCampionamenti = 0;
long start = millis() ;
//Serial.println(analogRead(sensorPin));
do
{
NumCampionamenti++;
//508 è la lettura senza carico quindi l'offset e lo sottraiamo alle letture
ampere+= abs(analogRead(sensorPin) - 508);
}
while((millis()-start)<20); // 20 sono i millisecondi che verranno campionati
ampere=(ampere/NumCampionamenti) * 0.055; //0.055 è il fattore di conversione
consumo = ampere * tensione;
//Per evitare letture negative in assenza di carico
if (consumo < 0) consumo = 0;


//Lettura pin dei bottoni e azioni di distacco manuale o ripristino della corrente nelle sezioni collegate ai contattori
buttonValue = analogRead(buttonPin);
if (millis() - previousMills1 > interval1 ) {
previousMills1 = millis();
if ((buttonValue >= 150) && (buttonValue <= 200)) {
switch (rele1) {
case 0:
if (buttonState == 0) {
digitalWrite(verde1, LOW);
digitalWrite(rosso1, HIGH);
digitalWrite(bagni, LOW);
rele1 = 1;
buttonState = 1;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distacco manuale");
lcd.setCursor(0,1);
lcd.print("Linea 1 OFF");
}
break;
case 1:
if (buttonState == 0) {
digitalWrite(verde1, HIGH);
digitalWrite(rosso1, LOW);
digitalWrite(bagni, HIGH);
rele1 = 0;
buttonState = 1;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Intervento:");
lcd.setCursor(0,1);
lcd.print("Linea 1 ON");
}
break;
}
}
}
if (millis() - previousMills2 > interval2 ) {
previousMills2 = millis();
if ((buttonValue >= 800) && (buttonValue <= 900)) {
switch (rele2) {
case 0:
if (buttonState == 0) {
digitalWrite(verde2, LOW);
digitalWrite(rosso2, HIGH);
digitalWrite(stanze, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distacco manuale");
lcd.setCursor(0,1);
lcd.print("Linea 2 OFF");
rele2 = 1;
buttonState = 1;
}
break;
case 1:
if (buttonState == 0) {
digitalWrite(verde2, HIGH);
digitalWrite(rosso2, LOW);
digitalWrite(stanze, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Intervento:");
lcd.setCursor(0,1);
lcd.print("Linea 2 ON");
rele2 = 0;
buttonState = 1;
}
break;
}
}
}
if ((buttonValue >= 0) && (buttonValue <= 100)) {
if (millis() - previousMillslcd > intervallcd ) {
previousMillslcd = millis();
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Watt: ");
lcd.setCursor(7,1);
lcd.print(consumo);
}
lcd.setCursor(0,0);
if ((rele1 == 0) && (rele2 == 0)) {
lcd.print("Linee ON");
}
if ((rele1 == 0) && (rele2 == 1)) {
lcd.print("L1 ON L2 OFF");
}
if ((rele1 == 1) && (rele2 == 0)) {
lcd.print("L1 OFF L2 ON");
}
if ((rele1 == 1) && (rele2 == 1)) {
lcd.print("Linee OFF");
}
buttonState = 0;
}
}

 

mi156
milliWatt


Gruppo:Utente
Messaggi:10

Stato:



Inviato il: 11/10/2013,16:00

CITAZIONE (ElettroshockNow @ 11/10/2013, 06:47)
CITAZIONE (mi156 @ 11/10/2013, 05:34)
SALVE IL CODICE MI DA DEI PROBLEMI

Ciao mii157,
volevo informarti che hai il tasto Maiuscolo inserito , sembra quasi che urli faccine/huh.gif ..

Cmq anche se il progetto in questione illude di essere di facile realizzazione ,in realtà non lo è ,almeno che non usi gli stessi identici hardware.
Quindi ti consiglio di iniziare con progetti più semplici e fare esperienza sull'uso dei display LCD ,in quanto credo che sia li' il problema da te riscontrato .

Giusto a titolo informativo nel codice trovi una sezione chiamata "setup" nella quale vengono impostati i parametri hardware ....
Esempio :
Il mio display deve essere settato :LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
invece quello di 5a2v0 :LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


Ciao
ElettroshockNow

PS: il progetto powermeter funziona ininterrottamente da 8 mesi ... tranne quel breve periodo del Boom faccine/sad.gif ( A proposito devo un Grazie ad Elia per la pacca sulla spalla , GRAZIE ELIA )

grazie della risposta devi scusarmi non mi ero accorto dell maiuscolo,quindi quando provo a compilare il programma gli errori sono dovuti agli hardware scollegati le librerie sono tutte scritte in nero. elettro scusa per il disturbo ti faccio i miei complimenti per la bellissima realizzazione faccine/clap.gif faccine/clap.gif faccine/clap.gif

Dimenticavo domani posto le foto dei display in mio possesso

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,16:18

Ciao mi156 e grazie.
Cmq oggi ho fatto alcune prove riscontrando :
il fattore di conversione usando un sensore sct si aggira intorno a 0.108 (info utile per 5a2v0)
e che 2 Atmega su 3 non digeriscono molto bene l'aumento della velocità di conversione A/D.

Quindi il progetto powermeter deve tornare nella fase test per convivere felicemente con i sensori SCT faccine/smile.gif

Ciao a tutti

 

eliafino

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:1419

Stato:



Inviato il: 11/10/2013,16:18

CITAZIONE (ElettroshockNow @ 11/10/2013, 06:47)
PS: il progetto powermeter funziona ininterrottamente da 8 mesi ... tranne quel breve periodo del Boom faccine/sad.gif ( A proposito devo un Grazie ad Elia per la pacca sulla spalla , GRAZIE ELIA )

Grazie a te, stavo per acquistare una partita di 10 sensori hall, ma visto l'inconveniente ho optato anche io per quelli amperometrici... io sono ancora in alto mare col mio progetto faccine/sad.gif

Ciaooo



---------------
Impianto Fotovoltaico "eliafino" in Tempo Reale.
http://www.eliafino.it:3000/d/solare/impianto-fotovoltaico-eliafino

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 11/10/2013,16:20

Ciao Elia ,
C'è qualche problema da risolvere con gli SCT ..... appena ho tempo analizzo tutto all'oscilloscopio faccine/smile.gif

Comunque non torno sugli ACS ... troppo pericolosi faccine/sad.gif

Ciao

 

eliafino

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:1419

Stato:



Inviato il: 11/10/2013,16:24

Per arduino ho visto qui qualcosa di utile...



---------------
Impianto Fotovoltaico "eliafino" in Tempo Reale.
http://www.eliafino.it:3000/d/solare/impianto-fotovoltaico-eliafino

 

5a2v0
Watt


Gruppo:Utente
Messaggi:66

Stato:



Inviato il: 12/10/2013,08:22

CITAZIONE (ElettroshockNow @ 11/10/2013, 17:18)
Ciao mi156 e grazie.
Cmq oggi ho fatto alcune prove riscontrando :
il fattore di conversione usando un sensore sct si aggira intorno a 0.108 (info utile per 5a2v0)
e che 2 Atmega su 3 non digeriscono molto bene l'aumento della velocità di conversione A/D.

Quindi il progetto powermeter deve tornare nella fase test per convivere felicemente con i sensori SCT faccine/smile.gif

Ciao a tutti

Oggi ho collegato il sensore a una lampada ad incandescenza di valore notissimo faccine/smile.gif 25Watt e infatti con 0.055 il sensore mi restituisce un consumo di 3watt
Però se metto su equazione:

3watt : 0.055 = 25watt : x

il mio valore di conversione ideale per leggere i 25 watt sarebbe 0,4583333333333333
sbaglio ??

Stessa lampadina da 25 watt con fattore di conversione 0.108 mi legge 6 watt infatti

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 12/10/2013,09:02

Così differente !!!! Pensavo che al massimo avevamo un 10% di differrenza ..
È inutile che ti dica di controllare che il sensore sia ben chiuso ..... a me inizialmente mi era sfuggito aperto faccine/sad.gif .
Ciao

 
 InizioPagina
 

Pagine: (18)   1   2   3   4   5   6   [7]   8   9   10   11   12   13   14   15   16   17   18    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum