| | | | eolo1234
| Inviato il: 20/05/2015 22:04:43
|
grazie Elettro ma per quelli come me non potresti aggiornare il 3.5
Un altra cosa con cosa alimentero arduino (vedi sull immagine pagina precedente alimentazione )
Modificato da eolo1234 - 20/05/2015, 22:33:40
| | | | ElettroshockNow
| Inviato il: 20/05/2015 23:49:50
|
CITAZIONE (eolo1234, 20/05/2015 22:04:43 )
grazie Elettro ma per quelli come me non potresti aggiornare il 3.5
Un altra cosa con cosa alimentero arduino (vedi sull immagine pagina precedente alimentazione )
Ma che problema ha la 3.5 ? | | | | eolo1234
| Inviato il: 21/05/2015 06:04:07
|
Ciao io non ho nessun problema con la versione 3.5 ma visto che hai modificato parte del programma e io non sono in grado di inserirlo nella 3.5 avrei piacere se lo modificassi tu per me evolvendo il programma
A meno che non ho capito io e funziona anche così come è
Scusami se mi ripeto ma di programmazione non capisco nulla. | | | | eolo1234
| Inviato il: 21/05/2015 20:57:41
|
questo e quello che ho fatto rispetto il tuo schema Elettro devo solo testarlo e inserire i parametri
poi spero che qualcuno mi puo aiutare con il porogramma
Immagine Allegata: 20150521_202103_resized.jpg | | | | iannez
milliWatt Utente Msg:18
Stato:
| Inviato il: 21/05/2015 21:43:44
|
ottimo lavoro eolo!
certo che troverai aiuto! anche io mi sono appassionato
e provo a fare del mio meglio | | | | eolo1234
| Inviato il: 26/05/2015 08:01:53
|
Ciao Elettro
Potresti inserire nel Powermeter_Enhanced_Simple1 il programma per azionare 2 relè (o renderlo simile al 3.5 ) io sono giorni che ci provo con scarsi risultati come già accennato di programmazione non capisco nulla
Grazie
Modificato da eolo1234 - 26/05/2015, 08:10:21
| | | | supermomo717
| Inviato il: 27/05/2015 13:45:36
|
Fantastico! Appena realizzo l'HW provvedo a integrare tutte le parti SW relative alla trasmissione dei dati, ai salvataggi in memoria e alla gestione delle uscite. Con il precedente PowerMeter ho pure integrato l'ESP8266 per controllare da internet alcune funzioni.
Bel lavoro Elettro, complimenti! | | | | iannez
milliWatt Utente Msg:18
Stato:
| Inviato il: 02/06/2015 19:47:56
|
Eolo appena ho un secondo provo a compilare lo sketch di Elettro
nuovo aggiungendo la parte relativa ai rele.
pero questa è una cosa soggettiva, cioe capire il tempo di apertura,
quando aprire, quando chiudere eccetera, sono cose che vanno
viste nel proprio impianto domestico perche il modo di utilizzo
e le combinazioni cambiano di volta in volta.
a presto. | | | | eolo1234
| Inviato il: 02/06/2015 20:48:31
|
Grazie iannez | | | | iannez
milliWatt Utente Msg:18
Stato:
| Inviato il: 02/06/2015 21:13:30
|
aveva gia scritto le linee interessate Elettro all'inizio di questa pagina:
CITAZIONE
Il codice è il cuore del PowerMeter Enhanced ,poi ognuno è libero di aggiungere linee di codice per personalizzarlo.
Tipo :
if(PotenzaApparente_1>3000)digitalWrite(Rele1, LOW);
else if (PotenzaApparente_1<1000)digitalWrite digitalWrite(Rele1, HIGH);
che consente di scollegare un carico se l'assorbimento oltrepassa i 3000W (non VA ) e di ricollegarlo se l'assorbimento scende sotto i 1000W
per cui Eolo basta che inserisci il pin corretto e le potenze che vuoi gestire e poi sei apposto.
chiaramente devi avere l'hardware corretto per essere pilotato adeguatamente.
spero ti sia chiaro perche è un codice intuibile e facilmente integrabile
e modificabile. | | | | eolo1234
| Inviato il: 02/06/2015 21:23:09
|
Si lo aveva detto Elettro ma io ho provato ma non ci sono riuscito l ho detto di programmazione sono una se...... potresti inserirli tu
Grazie | | | | iannez
milliWatt Utente Msg:18
Stato:
| Inviato il: 03/06/2015 11:18:34
|
Ciao Eolo,
il mio hardware è differente, non ho i rele, i due sensori,
i tasti per il menu ed il mio lcd è un 20x4.
per cui anche volendo non riuscirei a riscrivere il codice al volo
perche non in grado di testarlo a fondo.
attendiamo che Elettro quando libero da impegni possa aiutarci.
ribadisco che il cuore del controllo dei rele è questa parte:
-TOP CODE-
-BOTTOM CODE-
-TOP CODE-
-BOTTOM CODE-
tratta dal powermeter-3.5 | | | | eolo1234
| Inviato il: 03/06/2015 17:39:19
|
grazie iannez
continuero a provare a inserire i codici dei rele ( un po di copia e incolla )di piu non so fare.
ma credo che è come dici tu (attendiamo che Elettro quando libero da impegni possa aiutarci). | | | | cdj
milliWatt Utente Msg:2
Stato:
| Inviato il: 08/06/2015 09:14:44
|
CITAZIONE (ElettroshockNow, 03/06/2015 17:39:19 )
Ecco la versione grafica di quello che ho descritto nel post precedente.
Accoppiato al codice allegato (Da testare) vi consentirà di avere un Powermeter con i fiocchi (ancora migliorabile) senza paragoni con il progetto originale della discussione.
//**************************************************
#include < LiquidCrystal.h >
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);//ASSEGNAZIONE PIN LCD
const int BACKLIGH_PIN = 10;
int OffsetPin = A4;
int TensionePin = A1;
int CorrentePin_1 = A2;
int CorrentePin_2 = A3;
float Fattore_Conversione_Tensione = 1.03; //da calcolare
float Fattore_Conversione_Corrente_1 = .2212; //da calcolare
float Fattore_Conversione_Corrente_2 = .2212 ; //da calcolare
float TensioneRMS ;
float CorrenteRMS_1 ;
float CorrenteRMS_2 ;
float PotenzaAttiva_1;
float PotenzaAttiva_2;
float PotenzaApparen te_1;
float PotenzaApparente_2;
float FattorediPotenza_1;
float FattorediPotenza_2;
void setup() {
pinMode(BACKLIGH_PIN, OUTPUT);
digitalWrite(BACKLIGH_PIN, HIGH);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("PowerMeter");
lcd.setCursor(0,1);
lcd.print("Enhanced");
delay(2000);
lcd.clear();
ADCSRA&=0X90+ 0b101; //Setta ADC prescaler a 32
}
void loop() {
float SommaV=0;
float SommaI_1=0;
float SommaI_2=0;
float SommaP_1=0;
float SommaP_2=0;
int NumCampionamenti = 0;
int Offset = analogRead(OffsetPin);
unsigned long start = micros() ;
while (micros() < (start + 20000)){
float Tensioneinst = (analogRead(TensionePin)-Offset)*Fattore_Conversione_Tensione;
float Correnteinst_1 = (analogRead(CorrentePin_1)-Offset)*Fattore_Conversione_Corrente_1;
float Correnteinst_2 = (analogRead(CorrentePin_2)-Offset)*Fattore_Conversione_Corrente_ 2;
SommaV += pow(Tensioneinst,2);
SommaI_1 += pow(Correnteinst_1,2);
SommaI_2 += pow(Correnteinst_2,2);
SommaP_1 += (Tensioneinst*Correnteinst_1);
SommaP_2 += (Tensioneinst*Correnteinst_2);
NumCampionamenti++;
}
TensioneRMS = sqrt(SommaV / NumCampionamenti);
CorrenteRMS_1 = sqrt(SommaI_1 / NumCampionamenti);
CorrenteRMS_2 = sqrt(SommaI_2 / NumCampionamenti);
if (CorrenteRMS_1 < 0.10) {//soglia minima
CorrenteRMS_1=0;
SommaP_1=0;}
if (CorrenteRMS_2 < 0.10) {//soglia minima
CorrenteRMS_2=0;
SommaP_2=0;}
PotenzaAttiva_1 = SommaP_1/ NumCampionamenti;
PotenzaAttiva_2 = SommaP_2/ NumCampionamenti;
PotenzaApparente_1 = TensioneRMS * CorrenteRMS_1;
PotenzaApparente_1 = TensioneRMS * CorrenteRMS_1;
FattorediPotenza_1 = PotenzaAttiva_1/PotenzaApparente_1;
FattorediPotenza_2 = PotenzaAttiva_2/PotenzaApparente_2;
lcd.setCursor(0, 0);
lcd.print(TensioneRMS,0);
lcd.print("V ");
lcd.setCursor(5, 0);
lcd.print(CorrenteRMS_1,1);
lcd.print("A ");
lcd.setCursor(11, 0);
lcd.print(CorrenteRMS_2,1);
lcd.print("A ");
lcd.setCursor(0,1);
lcd.print(PotenzaAttiva_1,0);
lcd.print("W ");
lcd.setCursor(6,1);
lcd.print(PotenzaAttiva_2,0);
lcd.print("W ");
lcd.setCursor(12,1);
lcd.print(FattorediPotenza_1,2);
lcd.print(" ");
}
//***************************************************
Ciao
ElettroshockNow
PS:levare gli spazi su < LiquidCrystal.h >
Modificato da ElettroshockNow - 20/05/2015, 19:57:20
Salve a tutti, mi sto imbattendo in questo post in quanto voglio realizzare un power meter con arduino con SCT-013. Nel post di cui sopra ho visto che vengono utilizzati due sensori, io vorrei fare una cosa semplice che mi legge la potenza istantanea utilizzata su un analog in di arduino e basta (o al limite anche su lcd. Nelle 17 pagine precedenti ho trovato diversi schemi... quale mi conviene usare per fare una cosa semplice che funzioni ? grazie in anticipo
Dario | |
| | |
|
Versione Completa!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|