Go Down

Topic: Controllo e gestione carico casalingo con sistema di priorità ! (Read 8725 times) previous topic - next topic

5a2v0



Me ne hanno proposto un tipo che si monterebbe sulla guida DIN con un costo di 40 €

Ora, attualmente il quadro è questo:


e sinceramente per fare un lavoro più pulito possibile mi piaceva sfruttare quegli spazi vuoti che mi ritrovo sulla dx...

P.s. le sezioni che andrei a collegare ai relèe che quindi vengono staccate da arduino sarebbero quelle al centro: "Prese bagni e corridoio" e poi "Prese stanze, disimpegno e condiz." proprio in quest'ordine...


Non Ti basta lo spazio per montare 2-3 teleruttori ("contattori").

Se modifichi l' impianto devi fartelo ricertificare.

Ciao Uwe



Il negozio che me li ha proposti mi ha detto che occupano 1 solo slot ciascuno !  :smiley-eek: ?

5a2v0

Aggiornamento:
ho rinunciato all'idea iniziale di prendere tutto il materiale da installare su guida DIN e integrare il tutto in un quadro aggiuntivo per problemi di spazio e posizionamento della stessa e per il prezzo spropositato di qualsiasi cosa da montare su DIN...

ho realizzato uno schema (in modo molto elementare) di come dovrebbe venire adesso il tutto:




p.s. partendo dal presupposto di dover collegare troppe cose alle uscite digitali, un amico mi ha suggerito per risparmiare uscite appunto, di collegare i 2 bottoni ad 1 unica uscita analogica ! Le due resistenze in figura sarebbero abbastanza diverse in modo da ottenere dei valori diversi in lettura da Arduino per capire così se è stato premuto un bottone o l'altro ! --> Valore entro un range x = bottone 1, valore nel range y = bottone 2, valore nel range dato dalla somma x+y = entrambi bottoni premuti contemporaneamente quindi nessuna azione...

Per il calcolo del consumo, almeno in questa prima versione del sistema, prevedo di utilizzare come parametro fisso il voltaggio della linea di casa come se fosse 230v !! In realtà essendo in genere più basso, posso avere come "effetto collaterale" una misurazione data da Arduino in Watt non precisa e tendente ad esagerare, arrivando prima alla soglia che imposto manualmente io dei 3.X00 Watt (parametro che voglio impostare dopo aver misurato a quanti Watt di consumo interviene il contatore enel).  Intervenendo ancora prima ho un margine maggiore... e posso comunque sistemare il tutto aumentando la soglia a cui deve intervenire arduino o abbassando il 230.

uwefed

Monti una parte di impianto senza salvavita?

Ti mancano le basi di elettrotecnica.
230V * I non é la potenza attiva (Watt) ma quella apparente (VA) che a secondo del angolo di sfasamento puó essere molto maggiore della potenza attiva. L'angolo di sfasamento per utenze che riscaldano é 1 ma non per motori o alimentatori switching.
Ciao Uwe

5a2v0


Monti una parte di impianto senza salvavita?

Ti mancano le basi di elettrotecnica.
230V * I non é la potenza attiva (Watt) ma quella apparente (VA) che a secondo del angolo di sfasamento puó essere molto maggiore della potenza attiva. L'angolo di sfasamento per utenze che riscaldano é 1 ma non per motori o alimentatori switching.
Ciao Uwe


Sono qui proprio per questo :) avere consigli utili e "vitali"  :smiley-eek:

Comunque considera che per mettere le mani al quadro elettrico già esistente ci pensa l'elettricista che sicuramente mi dirà di mettere il salvavita dove io ho "disegnato" solo il magnetotermico..
P.s. visto che il carico collegato a questa sezione sarà dato solo dall'alimentatore, arduino e vari led ecc, il salvavita conviene metterlo "piccolo" ? Cioè nelle altre sezioni l'interruttore con salvavita è da 16A, qui posso metterlo da meno ??

PaoloP

Il parametro principale di un salvavita, che poi è un interruttore differenziale, è il delta, ovvero la differenze tra la corrente in entrata e in uscita dall'impianto.
Per uso civile si usano salvavita con delta di 30mA.
In ambito commerciale e industriale puoi trovare anche altri parametri; quelli per uso ospedaliero e apparecchiature elettromedicali hanno tempi di intervento e quindi soglie estremamente basse.

5a2v0

Al negozio hanno disponibile bticino e ABB..

in particolare l'abb che costa un po meno sarebbe questo: http://www.abb.it/product/seitp329/f990dbd605ca897ac12571d50048af60.aspx?tabKey=2&gid=ABB.SACEEB+039+5&cid=9AAC100504

mi ha detto che ha gli stessi parametri del bticino infatti delta sul prodotto dice 0,03A

Lo prendo da 6A tanto gli collego solo l'alimentatore switching 12v che riporta questi dati sull'etichetta:

5a2v0

Schema aggiornato in modo da avere il magnetotermico differenziale sulla sezione aggiuntiva, mostro in più i vari magnetotermici già esistenti anche quelli che non vengono influenzati dall'operato di Arduino e ho spostato il lettore di sensore sull'uscita del magnetotermico generale anzichè sull'entrata (com'era messo prima) in modo da avere una protezione sul sensore stesso.



A breve arrivano i vari componenti così poi si può iniziare con un po di codice :)

uwefed

#22
Sep 23, 2013, 10:49 pm Last Edit: Sep 23, 2013, 10:56 pm by uwefed Reason: 1

... quelli per uso ospedaliero e apparecchiature elettromedicali hanno tempi di intervento e quindi soglie estremamente basse.

No, Si usano i soliti salvavita da 30mA curva C o D. Per garantire la protezione del paziente contro correnti per lui pericolose si usano altri accorgimenti. Per garantire la continuitá di funzionamento di apparecchiature vitali si usano trasformatori di isolamento con dispositivo di controllo isolamento per poter utilizzare le apparecchiature anche nel caso di corto du un conduttore 230V a terra.
Ciao Uwe

uwefed

#23
Sep 23, 2013, 10:52 pm Last Edit: Sep 23, 2013, 10:59 pm by uwefed Reason: 1


Monti una parte di impianto senza salvavita?

Ti mancano le basi di elettrotecnica.
230V * I non é la potenza attiva (Watt) ma quella apparente (VA) che a secondo del angolo di sfasamento puó essere molto maggiore della potenza attiva. L'angolo di sfasamento per utenze che riscaldano é 1 ma non per motori o alimentatori switching.
Ciao Uwe


Sono qui proprio per questo :) avere consigli utili e "vitali"  :smiley-eek:

Comunque considera che per mettere le mani al quadro elettrico già esistente ci pensa l'elettricista che sicuramente mi dirà di mettere il salvavita dove io ho "disegnato" solo il magnetotermico..
P.s. visto che il carico collegato a questa sezione sarà dato solo dall'alimentatore, arduino e vari led ecc, il salvavita conviene metterlo "piccolo" ? Cioè nelle altre sezioni l'interruttore con salvavita è da 16A, qui posso metterlo da meno ??


È proporio questo che fa pericoloso aiutarTi. Ti consiglio qualcosa Tu lo segui o pensi di seguirlo e poi sono io responsabile dei Tuoi errori. Non parlare di tutte le cose che non ci scrivi perché pensi che non siano importanti...

Ciao Uwe

tapirinho

Se il tuo elettricista ti ha certificato l'impianto, deve aver messo un "salvavita" entro 3mt dal contatore enel, quindi il tuo impianto è protetto contro le dispersioni. Ulteriori differenziali non possono che aumentare la sicurezza, soprattutto se tarati a soglie più basse. L'importante è che i tempi d'intervento e le soglie di corrente rientrino nei valori previsti.
Suggerirei di mettere i sensori di corrente sulle linee da sezionare, in modo da poter discriminare cosa spegnere in base alle priorità ed ai consumi

5a2v0

in effetti l'idea di avere un sensore per ogni sezione mi stuzzica l'idea così da staccare dove effettivamente c'è il consumo.. ma come già detto, almeno in questa prima versione lascerò la decisione fissa di staccare prima la sezione bagni perché per ora è sempre successo per lo scaldaacqua elettrico e/o il phon...

Prima vediamo se riesco a far funzionare il tutto cosi... se va bene e vorrò migliorarlo potrò sempre farlo :)

Intanto aggiungo che mi è arrivato gran parte del materiale ma il sensore ad effetto di hall non è il caso di utilizzarlo visto che è microscopico (non lo immaginavo così piccolo) e in pratica nella sua morsettiera non posso nemmeno collegarci i cavi in entrata dal generale visto che non ci entrano O.o

Ho preso un sensore "non invasivo" e varie resistenze per leggermi la corrente in maniera piu' "sicura"... attualmente lo schema è questo:

5a2v0

riposto lo schema in quanto il precedente link non funzionava ...



e il codice attualmente caricato su arduino:

Quote

#include <LiquidCrystal.h>

// Dichiaro i pin del display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Dichiaro il pin dei bottoni
int buttonPin = A0;
// Variabile per il valore letto sul pin dei bottoni
int buttonValue = 0;
//Variabile per il consumo in watt (ottenuto successivamente moltiplicando il valore in Ampere ottenuto dal sensore di corrente per 230v)
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 stato 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() {
  //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);
  //Inizializzo il display
  lcd.begin(16, 2);
  //Accendo i led verdi e spengo i 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);
  // iterate over the notes of the melody:
  for (int thisNote = 0; thisNote < 2; thisNote++) {
    // to calculate the note duration, take one second
    // divided by the note type.
    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
    int noteDuration = 1000/noteDurations[thisNote];
    tone(buzzer, melody[thisNote],noteDuration);
    // to distinguish the notes, set a minimum time between them.
    // the note's duration + 30% seems to work well:
    int pauseBetweenNotes = noteDuration * 1.30;
    delay(pauseBetweenNotes);
    // stop the tone playing:
    noTone(buzzer);
  }
}

void loop() {
  //Lettura bottoni
  buttonValue = analogRead(buttonPin);
  if (millis() -  previousMills1 > interval1 ) {
    previousMills1 = millis();
    if ((buttonValue > 175) && (buttonValue < 190)) {
      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 > 835) && (buttonValue < 842)) {
      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) {
    if (millis() -  previousMillslcd > intervallcd ) {
      previousMillslcd = millis();
      lcd.clear();
    }
    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");
    }
    lcd.setCursor(0,1);
    lcd.print("Watt: ");
    lcd.setCursor(7,1);
    lcd.print(consumo);
    buttonState = 0;
  }
}


accettasi consigli

pablos

#27
Oct 07, 2013, 12:13 pm Last Edit: Oct 07, 2013, 12:19 pm by pablos Reason: 1
Sicuramente ci capisci tu in quello schema, sarebbe utile per te e il tuo installatore utilizzare una schematica tipo http://tuririolo.altervista.org/Progettazione.html

I teleruttori o contattori vanno installati a valle delle protezioni termiche differenziali, mai a monte dei singoli rami, altrimenti si trovano scoperti da protezione e l'alimentazione delle loro bobine (visto che sono a 220) non puoi prenderle da un 10A o 16A, ma devi creare un ramo protetto da un 4A dedicato ai comandi oppure fusibili modulari.

Se utilizzi un termico generale è obbligatorio installare un MTD per ogni singolo ramo aumentando i costi. Puoi scegliere di montare un MTD generale da 32A 0.03A id e montare solo MT sui rami riducendo i costi, in caso di dispersione interverrà il generale, dovrai poi sezionarti a mano tutte le linee per vedere quale da problemi. L'importante che tutte le linee siano protette da almeno un differenziale da 30mA (parliamo di civile)
Puoi anche realizzare gruppi utilizzando i differenziali puri purchè a monte ci sia un MT che li raccoglie con le giuste portate con un costo medio alto.

Nello schema vedo un 16A a protezione della linea luci e un 16A gruppo doccia.... non va bene sei fuori norma.

I cavi da 1.5mmq vanno protetti con 10A max
I cavi da 2.5mmq vanno protetti con 10A/16A max
Puoi stare più basso della portata massima dei cavi, ma non più alto

ciao
no comment

5a2v0

Oltre al MTD "doccia" e l'altro MTD "illuminazione" c'è anche l' MTD del "gruppo prese" già esistente ! (capisco che lo schema è confusionario e me ne scuso....)

A questo MTS sono collegati poi tre sezionatori che sono: "bagni" "stanze" e "cucina" !
Queste sono quindi tutte sotto protezione (anche le bobine dei relè che vengono alimentate dal MTD "gruppo prese") !!!

Io ho solo aggiunto un altro MTD da 6A per collegare l'alimentatore a 12v al quale attaccherò arduino.

Mi sbaglio ?

tapirinho

#29
Oct 08, 2013, 11:53 am Last Edit: Oct 08, 2013, 12:22 pm by tapirinho Reason: 1
Quote

Nello schema vedo un 16A a protezione della linea luci e un 16A gruppo doccia.... non va bene sei fuori norma.

I cavi da 1.5mmq vanno protetti con 10A max
I cavi da 2.5mmq vanno protetti con 10A/16A max
Puoi stare più basso della portata massima dei cavi, ma non più alto


Rischio di andare OT, ma non è proprio corretto:
- come fai a sapere la sezione della linea collegata a valle del 16A? magari è da 4mmq....
- la portata dei cavi è inversamente proporzionale alla loro lunghezza. Se controlli i cavi della tua lavatrice probabilmente sono da 1mmq, eppure sopportano benissimo 2-3 kw. Sarà l'elettricista che dovrà calcolare la caduta di tensione massima all'utenza più lontana e dimensionare i cavi di conseguenza, ma a priori non si può fare una considerazione "sezione cavo=fuori norma", ci sono anche altri fattori da considerare...
Poi concordo con il fatto che sia da tarare il MT in base al massimo assorbimento dell'utilizzatore, altrimenti è una protezione poco efficace. Probabilmente per la doccia basterebbe un 2A

Code: [Select]
Io ho solo aggiunto un altro MTD da 6A per collegare l'alimentatore a 12v al quale attaccherò arduino.
Consiglio di mettere dei fusibili adeguatamente tarati sul primario e sul secondario dell'alimentatore.



Go Up