Vincent
| Inviato il: 31/10/2017 18:13:08
|
Prima lettura
1000 watt
8sec dopo
Seconda lettura
500 watt
In 16 sec. hai
1000/450=2.2222
+
500/450=1.1111
Totali prodotti 3.3333 watt certo avendo un buco di 8 sec Non e poco pero questo e il sistema
--------------- SuperSolar http://forum.saturnoprezzi.com/
| |
| | | | | Vincent
| Inviato il: 01/11/2017 19:11:17
|
Ogni 0.6 sec ovvero 600ms effettuo qpigs e qpiri piu altri 2 o 3 comandi e effettuo il timeout in caso di risposta non conforme in base ai cicli
Per esempio in 10 secondi faccio 14 letture qpiri e qpigs e 2 diverse se x 2 o 3 cicli il formato Non e corretto ho fatto un algoritmo di predizione che 90% mi ricostruisce la stringa solo se spezzettata ma corretta a volte le letture troppo veloci vengono divise in 3 stringhe da pip
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | gruppo
| Inviato il: 01/11/2017 21:09:19
|
ezanchet se vuoi dei contatori molto precisi, la base dei tempi la devi fare dinamica e non statica, cioè misuri il tempo che intercorre tra una risposta e la prossima del solito tipo non puoi basarti su una base dei tempi fissi perchè i tempi di risposta variano a seconda di cosa stà facento l'inverter.
--------------- Batterie? no grazie ho SSP
| | | | Vincent
| Inviato il: 01/11/2017 22:47:36
|
Gruppo su 8 secondi che precisione puoi avere... e giusto una statostica credo con l hardware o con il codice non riesce a scendere sotto...
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | gruppo
| Inviato il: 02/11/2017 00:10:01
|
se hai 8 secondi peserai 8 secondi ma non puoi calcolarli a priori staticamente perchè l'inverter risponde come gli pare possono passare anche più secondi, dalle prove che ho fatto specialmente stringendo i tempi fra più richieste non sono costanti.
e gli errori di calcolo si sommano a fine giornata.
calcolando il tempo inoltre risolvi il problema se dovese mancare una risposta in quanto la richiesta precedente verrà pesata con un tempo circa doppio.
unica attenzione nell'usare questo sistema è gestire il passaggio dell'overflow del istruzione timer() (questo in vba ma penso che il problema sia in tutti i linguaggi)
purtroppo la classe contatore che ho già scritto non è in python (presumo che col raspberry usi python) ma in vba.
vincent per capirci guarda il metodo contabilizza() se scrivi codice in vb dovrebbe capirsi il concetto che volevo esprimere.
Option Explicit
Private mvarValoreDaContabilizzare As Double
Private mvarVitaContatore As Double
Private mvarContatore As Double
Private mvarSecondOld As Double
Private mvarNomecomando As String
Private mvarReset As Boolean
Private mvarRiga As Long
Private mvarCol As Integer
'Private pesold
'Definizione in input della proprietà "".
'Public Property Let Row(ByVal vDatin As Integer)
' mvarRiga = vDatin
'End Property
'Definizione in output della proprietà "".
Public Property Get Row() As Integer
Row = mvarRiga
End Property
'Definizione in input della proprietà "".
Public Property Let col(ByVal vDatin As Integer)
mvarCol = vDatin
End Property
'Definizione in output della proprietà "".
Public Property Get col() As Integer
col = mvarCol
End Property
'Static valore
'Definizione in input della proprietà "".
Public Property Let nomeCmd(ByVal vDatin As String)
mvarNomecomando = vDatin
End Property
'Definizione in output della proprietà "".
Public Property Get nomeCmd() As String
nomeCmd = mvarNomecomando
End Property
'Definizione in input della proprietà "".
Public Property Let valoredaContabilizzare(ByVal vDati As Double)
mvarValoreDaContabilizzare = vDati
End Property
'Definizione in output della proprietà "".
Public Property Get valoredaContabilizzare() As Double
valoredaContabilizzare = mvarValoreDaContabilizzare
End Property
'Definizione in input della proprietà "".
'Public Property Let VitaContatore(ByVal vDati2 As Double)
' mvarVitaContatore = vDati2
'End Property
'Definizione in output della proprietà "".
Public Property Get VitaContatore() As Double
VitaContatore = mvarVitaContatore
End Property
'Definizione in input della proprietà "".
Public Property Let Contatore(ByVal vDati3 As Double)
mvarContatore = vDati3
End Property
'Definizione in output della proprietà "".
Public Property Get Contatore() As Double
Contatore = mvarContatore
End Property
Public Sub Contabilizza()
Static contatoreOld As Double
'Static secondold As Integer
'Static valore
'Dim Contatore As Double
If mvarReset Then
contatoreOld = 0
mvarReset = False
End If
mvarVitaContatore = Timer() - mvarSecondOld
If mvarVitaContatore < 0 Then
contatoreOld = 0
mvarVitaContatore = Timer()
mvarSecondOld = 0
Else
contatoreOld = mvarContatore
End If
mvarContatore = (mvarValoreDaContabilizzare * mvarVitaContatore) / 3600 + contatoreOld
mvarSecondOld = mvarSecondOld + mvarVitaContatore
contatoreOld = mvarContatore
End Sub
Public Sub Registra()
' inserire qui il codice per registrare i dati
' nome contatore e data
mvarRiga = Sheets("contatori").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("contatori").Cells(mvarRiga, 1) <> Date Then
mvarRiga = mvarRiga + 1
Sheets("contatori").Cells(mvarRiga, 1) = Date
End If
Sheets("contatori").Cells(mvarRiga, mvarCol) = mvarContatore
End Sub
Public Sub Reset()
Static secondold As Integer
mvarValoreDaContabilizzare = 0
mvarVitaContatore = 0
mvarSecondOld = Timer()
mvarReset = True
End Sub
Public Sub leggiRegistro()
mvarRiga = Sheets("contatori").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("contatori").Cells(mvarRiga, 1) = Date Then
mvarContatore = Sheets("contatori").Cells(mvarRiga, mvarCol)
mvarSecondOld = Timer()
End If
End Sub
Modificato da gruppo - 02/11/2017, 00:17:41
--------------- Batterie? no grazie ho SSP
| | | | Vincent
| Inviato il: 02/11/2017 07:28:40
|
Si avevo gia capito la tua idea la trovo valida io faccio letture ogni 0.6 e conteggio ogni sec uso un buffer e mi trovo bene le letture sono sempre buone
Certo poi dipende dal hardware e dall linguaggio farlo su arduino richiede qualche accorgimento
Se la lettura tarda io ho ancora il buffer dati vecchio e conto quello ma con 600ms lo prendo sempre poi ogniuno usa la propria strada...
La mia .. La tua ..quella di wp.. Se funzionano sono valide
L unica cosa che mi sento di dire e che su campionamento di 8 sec non possiamo parlare di precisione ... Bisogna arrivare a 1.. 2 secondi per avere qualcosa di accettabile ...se possibile
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | ezanchet
Watt Gruppo:Utente Messaggi:93
Stato:
| Inviato il: 02/11/2017 09:25:05
|
Ciao, sto sviluppando in Java su Raspberry, per il momento sto solo provando la comunicazione e implementando il parsing delle varie risposte.
Attualmente faccio una lettura ogni 4 secondi e leggendo in modo alternato i comandi QPIGS e QMOD.
La risposta mi arriva come evento e salvo il timestamp di lettura del comando precedente (dello stesso tipo) e il timestamp della lettura attuale. Ho quindi i millisecondi trascorsi fra le due letture dello stesso comando.
Appena comincio l'implementazione vera e propria pensavo di accorciare e leggere ogni 500ms il comando QPIGS e ogni 10 o 20 letture fare una lettura di QMOD.
Sono ancora indeciso se tenere Raspberry con Raspbian o instllarci Android Things e fare un app android per l'interfacciamento con il PIP | | | | Vincent
| Inviato il: 02/11/2017 09:44:42
|
Tempo medio di riaposta 300ms ...
360 se ricordo bene...
400 per alcuni...
A 500 sei un po al limite xo se ci riesci ...meglio
io non sono pratico di java ma e il linguaggio usato per w power quindi credo sia il migliore
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | gruppo
| Inviato il: 02/11/2017 18:27:30
|
ezanchet metti in preventivo che durante la giornata può succedere che hai un ritardo nella risposta anche di 4000ms.
se mandi un altro comando nel frattempo l'inverter fa casino sulla seriale tipo mescolare le risposte.
questo lo ho riscontrato sul firmware 52.30 e 72.40
ma non penso dipenda dalla versione del firmware in quanto suppongo che arrivino degli interrupt da gestire con priorità per governare l'hardware dell'inverter.
--------------- Batterie? no grazie ho SSP
| | | | Vincent
| Inviato il: 02/11/2017 22:15:20
|
Altro problema e il cavo adattatore di bassa qualita a me ogni tanto si scollegava da solo e mi sparivano le porte usb...ma il portatile e cosi vecchio che prendera la pensione prima di me quindi XD
Non mi aspettavo molto
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | ezanchet
Watt Gruppo:Utente Messaggi:93
Stato:
| Inviato il: 03/11/2017 09:01:14
|
L'idea è quella di non mandare altri comandi finchè non ho ricevuto la risposta.
Per il convertitore seriale usb ad oggi non ha mai dato problemi, è collegato da circa una settimana ininterrottamente.
Vediamo se ho un po di tempo nel fine settimana per cominciare a scrivere l'app definitiva... alla fine vado verso una webapp da far giare su tomcat o jetty. Sarebbe stato bello sperimentare un po con Android Things ma purtroppo il tempo è sempre troppo poco | | | | maxsemp
| Inviato il: 03/11/2017 12:55:08
|
CITAZIONE (gruppo, 02/11/2017 00:10:01 )
se hai 8 secondi peserai 8 secondi ma non puoi calcolarli a priori staticamente perchè l'inverter risponde come gli pare possono passare anche più secondi, dalle prove che ho fatto specialmente stringendo i tempi fra più richieste non sono costanti.
e gli errori di calcolo si sommano a fine giornata.
calcolando il tempo inoltre risolvi il problema se dovese mancare una risposta in quanto la richiesta precedente verrà pesata con un tempo circa doppio....
[/code]
Ragazzi, se può servire, vi faccio partecipi della mia esperienza.
Ho installato un contatore a valle dell'inverter (uscita carico) e dai conteggi che ho fatto, con le ovvie approssimazioni dato che il contatore non ha le cifre decimali, mi risulta un consumo medio pari ad 1 kWh/giorno circa in più rilevato da super solar.
--------------- Impianto fotovoltaico Off-Grid 3 kWp 10 moduli 300 W SUNERG inverter Genius 50 - fw 32.40 8 batterie 200 Ah 12 V
| | | | Vincent
| Inviato il: 03/11/2017 17:34:38
|
1kw in piu su quanto?
Puoi postare una foto ?
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | maxsemp
| Inviato il: 03/11/2017 18:00:27
|
CITAZIONE (Vincent, 03/11/2017 17:34:38 )
1kw in piu su quanto?
Puoi postare una foto ?
Ho fatto una verifica dal 24/10/17 al 02/11/17 (circa otto giorni) ed i risultati sono questi.
Naturalmente la cosa ha bisogno di essere ulteriormente verificata.
Immagine Allegata: supersolar-11.png
--------------- Impianto fotovoltaico Off-Grid 3 kWp 10 moduli 300 W SUNERG inverter Genius 50 - fw 32.40 8 batterie 200 Ah 12 V
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|