Se sei già registrato           oppure    

Orario: 29/04/2024 08:28:37  

 

Energia Alternativa ed Energia Fai Da Te > Arduino

VISUALIZZA L'ALBUM

Pagine: (11)   1   2   3   [4]   5   6   7   8   9   10   11    (Ultimo Msg)


Progetto controllo
FinePagina

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 08/05/2016 23:45:17

Io ti avevo avvertito che quello che dovevi fare era una cosa lunga e complessa... non so perchè ma avevo immaginato che avresti incontrato questi ostacoli... tuttavia ti avverto che superati queste prime difficoltà diventerai come un trattore... non ti fermerai davanti a nulla !!! Tieni duro e non te ne pentirai !

Per postare del codice usa il tag "CODE" (Pulsante code).

Nel primo messaggio dove hai postato il codice, questo:


CITAZIONE

#include "Wire.h"
#include "Adafruit_LiquidCrystal.h"

// initialize the library with the numbers of the interface pins
Adafruit_LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);

perchè hai messo l'istruzione: "Adafruit_LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" li ??? Non deve andare nel setup ?



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 07:40:27

Ok allora mi sa che devo ripassare di nuovo la composizione dei codici
Comunque non riesco in alcun modo a far funzionare quel benedetto i2c per lcd ho controllato diverse volte i collegamenti ma nulla boh
E se associassi tutto ad un arduino mega?
Grazie per l'incoraggiamento

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 09/05/2016 07:44:52

Non cambierebbe nulla, sbagli in qualche collegamento o nel caricare il software.

Non ti prometto nulla, ma se nel pomeriggio avrò del tempo, potrei fare delle foto ad un collegamento funzionante.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

Luca450Mhz

Avatar
GigaWatt


Gruppo:Utente
Messaggi:3204

Stato:



Inviato il: 09/05/2016 09:11:23

Ogni dispositivo I2C ha un indirizzo per poter colloquiare con il processore. Di solito ci sono 3 pin che permettono di definire il suo indirizzo (collegando ogni pin a massa o a +5V). Se i pin non ci sono il convertitore deve avere un suo indirizzo standard. Devi capire quale sia l'indirizzo corretto e impostarlo nel codice.



---------------
Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048.
Batterie: 24 elementi trazione pesante 315Ah C5 48V.

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 09/05/2016 09:21:05

vero, è una possibilità. In genere le interfacce hanno degli indirizzi standard adottati da molti produttori, quindi gli RTC hanno tutti lo stesso indirizzo e così le interfacce per LCD... e non è necessario cambiare le impostazioni del software d'esempio, però non è escluso che qualche produttore abbia potuto adottare altre scelte. Prova a postare un'immagine della tua interfaccia.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 09/05/2016 09:48:45

nell'istruzione LiquidCrystal_I2C lcd(0x27,16,2) sostituisci 0X27 con 0X3F, avevo una tabella di altri possibili valori, ma ora sono fuori casa...



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 13:40:47

Questa è l'interfaccia che ho io



Immagine Allegata: image.jpeg
 
ForumEA/L/image_15.jpeg

 

Luca450Mhz

Avatar
GigaWatt


Gruppo:Utente
Messaggi:3204

Stato:



Inviato il: 09/05/2016 14:15:13

Le piazzole A0 A1 e A2 sono i 3 pin di cui ti parlavo per impostare l'indirizzo I2C. Mettendo a massa il valore di ogni PIN diventa 0, a +5 diventa 1.
qui trovi alcune info (c'è uno schema per gli indirizzi) e magari ti da info su come usare il display



---------------
Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048.
Batterie: 24 elementi trazione pesante 315Ah C5 48V.

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 17:23:09

Ragazzi buonasera risolto l'arcano era come mi consigliava il buon calcola cioe sostituire il 0x27 con 0x3F
Grazie mille

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 17:28:35

[quote=Kroko, 06/05/2016 18:55:03 ?Discussione.php?213706&2#MSG24]quote]Torniamo subito al progetto principale come mi consigliate di proseguire?
PS ora che i pin A4 e A5 li ho usati per il display come collego il wattmetro?

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 17:36:44



#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 PotenzaApparente_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(" "); 

}

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 17:37:42

non so come adattare il codice del wattmetro di ElettroshockNow al mio progetto mi aiutate?

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 18:38:07

mi sapete dire come mai se collego un altro lcd sullo stesso convertitore non appare nessuna scritta?
I due lcd sono diversi uno ha luce verde e pin maschi l'altro ha luce blu e pin femmina

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 09/05/2016 19:38:19

prova così:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
const int BACKLIGH_PIN = 10; 
LiquidCrystal_I2C lcd(0x3F,16,2); //0X27

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 PotenzaApparente_1; 
float PotenzaApparente_2; 
float FattorediPotenza_1; 
float FattorediPotenza_2; 

void setup() { 
 pinMode(BACKLIGH_PIN, OUTPUT); 
 digitalWrite(BACKLIGH_PIN, HIGH); 
 lcd.init();                      // apro LCD
 lcd.backlight();
 lcd.clear();
 Wire.begin();
 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(" "); 

}



P.S.: mi sono limitato a convertire il listato per l'uso dell'LCD con l'interfaccia I2C, ma ora vedo che vi è un errore, il pin A4 è usato dalla I2C quindi sostituisci A4 con A0



Modificato da calcola - 09/05/2016, 19:50:31


---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

Kroko
KiloWatt


Gruppo:Utente
Messaggi:101

Stato:



Inviato il: 09/05/2016 20:22:40

Stavo pensando per quanto riguarda ol wattmetro la corrente la leggo con sct013030 mentre la tensione sotto al CE come la leggo?
Poi per quanto riguarda la lettura dei led mi occorre un fotodiodo e poi?
Cortesemente mi allegate i link ebay perché già di fotodiodi ce ne sono a migliaia e non so quale scegliere
Lo so sono fastidioso ma questo progetto è molto importante
Grazie mille per tutto

 
 InizioPagina
 

Pagine: (11)   1   2   3   [4]   5   6   7   8   9   10   11    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum