Show Posts
Pages: 1 ... 6 7 [8] 9
106  International / Software / Re: Domanda su Pachube/Cosm on: August 27, 2012, 10:04:45 am
Eccolo il Codice, non fare caso al subbuglio.

Saluti
Remo
107  International / Software / Re: Domanda su Pachube/Cosm on: August 27, 2012, 09:25:29 am
Ho provato il consiglio di cyber ma il risultato rimane invariato, ogni tanto ho dei valori "0" nonostante il segnale sia continuo.

Esistono altenrative a COSM ? Che offrono servizi del genere ?


Saluti

Remo
108  International / Software / Re: Domanda su Pachube/Cosm on: August 26, 2012, 11:53:04 pm
Grazie Cyberhs,
provero ad attuare i tuoi consigli.

Saluti

Remo
109  International / Software / Re: Domanda su Pachube/Cosm on: August 26, 2012, 11:22:19 am
Ciao Cyberths,
lo sketch ha come base quello fornito da Cosm, nel loop ho inserito il mio Sketch (o meglio diversi sketch presi dalla rete, una brodaglia insomma).
Se non creo troppo stress posto qui sotto il codice....
Secondo me Cosm dovrebbe farmi vedere una segnale lineare e non con sbalzi da 0 a x, lo sketch si collega ogni 10 secondi a Cosm, mentre lo sketch stesso misura 5000 volte prima di passare il tutto a Cosm (almeno credo).
Ho tagliato la prima parte dello sketch altrimenti nn potevo postarlo tutto

Saluti Remo
------------------------------Snip--------------------------------------------




void setup() {
  // start serial port:
  Serial.begin(115200);
   analogReference (EXTERNAL);
 // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // DHCP failed, so use a fixed IP address:
    Ethernet.begin(mac, ip);
  }
}

void loop() {
  
 analogReference (EXTERNAL);
  

  // massimo delle sinus positive
analogReference (EXTERNAL);

  ValA0 = analogRead(A0) ;
  ValA1 = analogRead(A1) ;
  ValA2 = analogRead(A2) ;
  
  


  
  Vpartitore = analogRead(A3);
  
  // record the maximum sensor value
  if (ValA0 > sensorMax1) {
    sensorMax1 = ValA0;
  }

  // record the minimum sensor value
  if (ValA0 < sensorMin1) {
    sensorMin1 = ValA0;
  }
  
  // record the maximum sensor value
  if (ValA1 > sensorMax2) {
    sensorMax2 = ValA1;
  }

  // record the minimum sensor value
  if (ValA1 < sensorMin2) {
    sensorMin2 = ValA1;
  }
  
  // record the maximum sensor value
  if (ValA2 > sensorMax3) {
    sensorMax3 = ValA2;
  }

  // record the minimum sensor value
  if (ValA2 < sensorMin3) {
    sensorMin3 = ValA2;
  }


 // Serial.println(ValA0);
 

 
  

//  if (ValA0 < 510.72 ){ValA0 = 512 + (510.72 - ValA0); }
//  if (ValA1 < 510.72 ){ValA1 = 512 + (510.72 - ValA1); }
//  if (ValA2 < 510.72 ){ValA2 = 512 + (510.72 - ValA2); }

 


  L1 = L1 + sensorMax1 ;
  L2 = L2 + sensorMax2 ;
  L3 = L3 + sensorMax3 ;
  
  


   Cicli++ ;


  // VIENE FATTA LA MEDIA SU 5000 Letture  



  if (Cicli == 5000){

 

    L1 = (L1 / 5000.000)-510.000 ;
    L2 = (L2 / 5000.000)-510.000 ;
    L3 = (L3 / 5000.000)-510.000 ;
  
    Serial.println(L1,4);
        Serial.println(L2,4);
    Serial.println(L3,4);

    
    Vpartitore = analogRead(A3)*0.0032265625;
    
    

    Voltaggio1  = (((L1 * 0.0032265625)-0));
    Voltaggio2  = (((L2 * 0.0032265625)-0));
    Voltaggio3  = (((L3 * 0.0032265625)-0));
    
    Corrente1 =  sqrt(((Voltaggio1*30)/3.3)*0.9);
    Corrente2 =  sqrt(((Voltaggio2*30)/3.3)*0.9);
    Corrente3 =  sqrt(((Voltaggio3*30)/3.3)*0.9);
    
    Potenza1 = Corrente1*240*0.9;
    Potenza2 = Corrente2*240*0.9;
    Potenza3 = Corrente3*240*0.9;
    Ptot = (Potenza1+Potenza2+Potenza3);
    
    Vpartitore = analogRead(A3)*0.0032265625;
    
    Serial.println();
    Serial.print( " Voltaggio 1 --> ");
    Serial.print(Voltaggio1,4);
    Serial.print( "               Ampere --> ");
    Serial.print(Corrente1,4);
    Serial.print( "               Potenza --> ");
    Serial.println(Potenza1,4);
    
    Serial.print( " Voltaggio 2 --> ");
    Serial.print(Voltaggio2,4);
    Serial.print( "               Ampere --> ");
    Serial.print(Corrente2,4);
    Serial.print( "               Potenza --> ");
    Serial.print(Potenza2,4);
    Serial.print( "               Potenta Totale --> ");
    Serial.println(Ptot,4);
    
    
    Serial.print( " Voltaggio 3 --> ");
    Serial.print(Voltaggio3,4);
    Serial.print( "               Ampere --> ");
    Serial.print(Corrente3,4);
    Serial.print( "               Potenza --> ");
    Serial.println(Potenza3,4);
    Serial.println();
    Serial.print( "                           Tensione sul Partitore --> ");
    Serial.println(Vpartitore,4);


    L1 = 0 ;
    L2 = 0 ;
    L3 = 0 ;
    sensorMax1 = 0;
    sensorMax2 = 0;
    sensorMax3 = 0;
    sensorMin1 = 0;
    sensorMin2 = 0;
    sensorMin3 = 0;
    
    


    Cicli = 0 ;}
 
  
 
  // if there's incoming data from the net connection.
  // send it out the serial port.  This is for debugging
  // purposes only:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if there's no net connection, but there was one last time
  // through the loop, then stop the client:
  if (!client.connected() && lastConnected) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
  }

  // if you're not connected, and ten seconds have passed since
  // your last connection, then connect again and send data:
  if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
    sendData(Ptot,Potenza1,Potenza2,Potenza3);
  }
  // store the state of the connection for next time through
  // the loop:
  lastConnected = client.connected();
}

// this method makes a HTTP connection to the server:
void sendData(float thisData,float thisData1,float thisData2,float thisData3) {
  // if there's a successful connection:
  if (client.connect(server, 80)) {
    Serial.println("connecting...");
    // send the HTTP PUT request:
    client.print("PUT /v2/feeds/");
    client.print(FEEDID);
    client.println(".csv HTTP/1.1");
    client.println("Host: api.cosm.com");
    client.print("X-ApiKey: ");
    client.println(APIKEY);
    client.print("User-Agent: ");
    client.println(USERAGENT);
    client.print("Content-Length: ");

    // calculate the length of the sensor reading in bytes:
    // 8 bytes for "sensor1," + number of digits of the data:
    int thisLength = 8 + getLength(thisData);
    client.println(thisLength);

    // last pieces of the HTTP PUT request:
    client.println("Content-Type: text/csv");
    client.println("Connection: close");
    client.println();

    // here's the actual content of the PUT request:
    client.print("A_MaxPower,");
    client.println(thisData);
    client.print("B_Power_L1,");
    client.println(thisData1);
    client.print("C_Power_L2,");
    client.println(thisData2);
    client.print("D_Power_L3,");
    client.println(thisData3);
    
  
  
  }
  else {
    // if you couldn't make a connection:
    Serial.println("connection failed");
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
  }
   // note the time that the connection was made or attempted:
  lastConnectionTime = millis();
}


// This method calculates the number of digits in the
// sensor reading.  Since each digit of the ASCII decimal
// representation is a byte, the number of digits equals
// the number of bytes:

int getLength(int someValue) {
  // there's at least one byte:
  int digits = 1;
  // continually divide the value by ten,
  // adding one to the digit count for each
  // time you divide, until you're at 0:
  int dividend = someValue /10;
  while (dividend > 0) {
    dividend = dividend /10;
    digits++;
  }
  // return the number of digits:
  return digits;
}
--------------snip-----------------------------
110  International / Software / Domanda su Pachube/Cosm on: August 26, 2012, 01:42:26 am
Ciao a tutti,

volevo chiedervi se sapreste a cosa è dovuta la visualizzazione del valore 0 nel grafico che trovate nel Link sottostante.

In pratica sarebbe il Valore della Potenza misurata in casa mia.

Ho utilizzato lo sketch messo a disposizione da COSM e nel Loop ho inserito il mio Sketch.

Se qualcuno saprebbe darmi una dritta ecco il link del grafico --> https://api.cosm.com/v2/feeds/70979/datastreams/A_MaxPower.png?width=730&height=250&colour=%23f15a24&duration=5minutes&show_axis_labels=true&detailed_grid=true&scale=manual&min=0&max=300&timezone=Bern

Saluti
Remo
111  International / Software / Re: mountain lion non trova più la connessione seriale con arduino... on: August 25, 2012, 09:14:08 am
Ciao,
strano che tu abbia incontrato tutti questi problemi.

Anche io lavoro con il Moutain Lion e non ho riscontrato nessun problema.
Ho un Arduino Mega e dopo aver installato l'enviroment dell'Arduino, Il Mac me lo ha riconosciuto subito senza problemi.

Sei sicuro che la porta "tty.usbmodemfd13341" non sia occupata da un'altra applicazione ?

Saluti
Remo


112  International / Software / Re: Quale sistema utilizzare per loggare dati ? on: August 24, 2012, 02:19:52 pm
Esiste una guida per i primi passi ?

Al momento invio su Pachube, ma come detto non riesco ad analizzare un bel niente !! A parte le ultime 12 Ore.

Alla fin fine vorrei una specie di Smartmetering con calcoli dei consumi ecc....
Non ricordo dove l'ho visto, un Widget/Dashboard carino con tutti i consumi, statistiche ecc....

Con tutte queste risposte (e ve ne ringrazio) non saprei da dove cominciare.

Saluti
Remo
113  International / Software / Re: Quale sistema utilizzare per loggare dati ? on: August 22, 2012, 11:36:29 pm
Grazie delle risposte.

Allora l'opzione SD sarebbe da escludere (se dopo 6 mesi si frigge).

La via Pachube al momento mi sembra la più semplice e comoda.

Esiste un Tutorial su come fare un query dei dati ricevuti da PAchube ? Oppure un qualche tool che ti permette di estrapolare i dati  tuo piacimento ?

Saluti
Remo
114  International / Software / Quale sistema utilizzare per loggare dati ? on: August 22, 2012, 03:03:37 pm
Ciao ragazzi,

secondo voi, quale è il miglior metodo per archiviare i dati e poi poterli evaluaarli con calma ? Forse esportando i dati in Excel e tracciare un andamento dei segnali.

Al momento invio i miei dati (3 sensori analogici + 1 temperatura) su Pachube, si è tutto carino, ma non mi permette di fare uno zoom su una finestra temporale a mia scelta.

Se ad esempio voglio zoommare l'andamento di un segnale in un periodo risalente a una settimana fa, non mi è possibile :-(

Voi cosa consigliate ?

Dati --> SD --> Excel
Dati -->Webserver--> ??


un caro saluto a tutti

Remo
115  International / Software / Re: Sistema 3 fasi, confusione totale on: August 18, 2012, 03:36:05 pm
Grazie delle risposte,
daro uno sguardo sui Link che mi avete proposto.

Visto che maneggio con l'arduino da poco tempo, avro sicuramente anche fatto casino con il codice.

Un'ulteriore domanda : Il partitore che ho creato tramite 2 resistenze ha un valore di 1.651, questo valore lo faccio entrare anche sull'arduino e lo uso come confronto con i segnali letti.

In pratica se i segnali letti sono minori del valore partitore, la loro differenza viene sommata ai 512 (giusto ?)

è consigliabile utilizare lo stesso partitore per tutte e 3 le sonde ? Al momento è così e non noto cadute di tensione, visto che l'alimentatore stesso ha una corrente di 2A.

@ Uwe , ja ich spreche und rede deutsch :-)

Saluti a tutti
Remo
116  International / Software / Sistema 3 fasi, confusione totale on: August 18, 2012, 07:54:15 am
Ciao a tutti,
come da oggetto ho fatto confusione con l’applicazione delle formule per il calcolo della Corrente e Potenza Attiva sulla trifase.

Il nostro impianto è una trifase simmetrica, i carichi dovrebbero(se possibile) essere disposti equamente sulle 3 fasi.

La mia situazione è la seguente : (avendo monitorato solo i picchi die segnali letti da Arduino)

Forno a piastra → L1 L3
Forno → L2 L3
Lavastoviglie → L1 L2
Boiler → L1 L2 L3

La mia confusione consiste su quale tipi di formule utilizzare☹

Trifase ? Monofase ?

Nello sketch da me utilizzato, preso da internet, faccio leggere i valori del sensore (SCT-013-30   0-30A / 0-1Vac) per ben 5000 volte.
Nel caso uno di questi valori sia minore di 512 (metà di 3.3V generati da un partitore e con un Aref di 3,3V) aggiungo la differenza a 512.

Fin qui mi sembra tutto logico (o no?).

Ora alle formule :
Voltaggio : Utilizzo → (Step * 0.00322)/Sqrt(2)   
Corrente : Voltaggio * 30A * Sqrt(3) * 0.9
Potenza : Corrente * 240 * Sqrt(3) * 0.9

Ho fatto la calibrazione usando una lampadina di 60w, per quanto ho capito io, l’unica variabile su cui tarare era lo 0.9 della formula della corrente, portandolo a 0.8911 ho raggiunto il valore die 60w.

LA potenza delle 3 Sonde come la calcolo ? Basta un’addizzione ?

Il mio problema è che le potenze basse (dai 100 ai 1000w) non vengono nemmeno sentite dai sensori.

Appena viene accesa la piastra o il forno, il valore si avvicina abbastanza (differenza 40-50w).

Qualcuno di voi sarebbe cosi gentile da togliermi questa grande confusione che mi si è creata in testa ?

Saluti a voi tutti.

Remo
117  International / Hardware / Re: Controllo Impianto luce domestico con Arduino (parte elettrica) on: August 16, 2012, 07:17:31 am
L'Impianto sarebbe tradiozionale (gia esistente).

In pratica mi piacerebbe avere il tutto centralizzato (Per esempio Tablet).
Non è la prima volta che la sera, quando ci si corica e si spengono le luci, ti accorgi che qualche luce ai piani sottostanti è rimasta accesa!!

Comunque, su ogni piano sicuramente un Arduino, che a sua volta è interfacciato con gli altri.

Mi sa che è un po troppo complicato il tutto !!

Saluti
Remo
118  International / Hardware / Re: Controllo Impianto luce domestico con Arduino (parte elettrica) on: August 16, 2012, 06:49:51 am
Ciao Reizel,

in pratica, se ho 7 stanze, in ogni stanza dovrei fare un modifica con annesso Arduino ?
7 Arduini Wireless per spegnere le luci ?

Hai per caso un Link che parlano di questi pulsanti ? O si trovano dappertutto ?

Saluti

Remo
119  International / Hardware / Controllo Impianto luce domestico con Arduino (parte elettrica) on: August 16, 2012, 06:31:15 am
Ciao a tutti.
Ho letto molto sulla tematica della domotica.

Pero dal lato pratico ho dei dubbi.
Se per esempio  avrei intenzione di accendere/spegnere le luci di casa mia (su 4 piani) tramite Arduino.

Dal lato pratico elettrico. Bisogna smontare ogni interruttore e fare l’apposito collegamento ?
Oppure cambiare l’intero pannello interruttore con un’altro adibito a queste cose ?

Grazie del chiarimento.

Remo
120  International / Hardware / Re: Aref da Arduino (3.3) su Arduino Mega on: August 14, 2012, 12:17:02 am
Riciao Uwe.
Per quanto riguarda il Boiler. Non penso sia collegato in modalità monofase.

La foto precedente mostra che il fascio su cui è collegato il boiler, corrsponde a L2.

Io, dopo ció che mi hai spiegato in precedenza, ho collegato un solo sensore su fascio L1.

La scorsa notte(tramite Pachube) ho rilevato dei valori (dalle 1.00 alle 2.30) che si aggiravano sui 5045 watt, penso sia il boiler che ha riscaldato l’acqua.

Questi valori si avvicinano alla Potenza massima del boiler che è di 6Kw.

Di conseguenza, presumo che il Boiler passi da tutte e 3 le fasi (posso sempre sbagliarmi pero).

Volevo informarti inoltre di quanto segue :

Mesi fa, installai un wattchmeter ecco il link  https://www.wattcher.nl/de/

Uso questo come punto di riferimento su quanto misuro con Arduino.

Ora, conoscendo l’Arduino da circa 1 mese, non so se il mio Sketch è impostato bene (non penso proprio).

Comunque, per acquisire il massimo della sinusoide, uso il commando For per 200 volte,dentro questa routine uso il commando Max per rilevare il valore massimo fra il valore attuale e quello letto uno step prima.
Per fare ricominciare la lettura ho messo un Delay(random) che oscilla fra 1 e 5 ms.

Dopodichè uso quelle formule che tu mi hai consigliato.

Per calcolare la corrente : ((A0-511)*0.0032)*30A (penso sia sbagliata)

Mentre per la Potenza : SQR(3)*corrente*440V (anche qui ho provato a mettere 440)
Se al posto di SQR(3) uso la moltiplicazione (*3) mi avvicino molto di piu al valore del Wattcher, al momento sto usando la moltiplicazione.

I risultati sono i seguenti :

In una situazione di riposo (la mattina alle 5) , il watcher mi mostra 130watt contro i 7 watt dell’Arduino.

Ieri mentre in casa si cucinava, il watcher mostrava 3450watt mentre l’Arduino ne mostrava 3100Watt.

Come vedi, i valori non sono per niente proporzionali, all'insu sembrano avvicinarsi al Wattcher.
Nei livelli inferiori invece vi è una differenza di circa 1:15.

Questi per adesso sono gli unici riferimenti che sono riuscito a carpire.

So che sicuramente ho fatto un 48 !!!

Saluti e buona giornata
Pages: 1 ... 6 7 [8] 9