Μέτρηση κατανάλωσης ρεύματος με Arduino και μετρητη ράγας

Arduino Energy Meter

Η κατανάλωση ενέργειας στο σπίτι και η «αποκωδικοποίηση» της ώστε να είναι δυνατή η μείωση της απασχολεί όλο και περισσότερους. Οι λύσεις γι’αυτο το πρόβλημα είναι αρκετές, αξιόπιστες και προσφέρουν μερικές και πληθώρα εργαλείων διαχείρισης των δεδομένων που συγκεντρώνουν όπως π.χ. οι δυνατότητα πρόσβασεις ακόμα και μέσω web σε ευκολοανάγνωστο γραφικό περιβάλλον. Σε αυτές εντοπίζω δύο προβλήματα:
α) Τα δεδομένα αποστέλλονται από τον ηλεκτρολογικό πίνακα σε έναν «κεντρικό σταθμό» ασύρματα. Προσωπικά απενεργοποίησα ένα τέτοιο σύστημα για να μειώσω τα ποσά ηλεκτρομαγνητικής ακτινοβολίας που κινούνται μέσα στο σπίτι, όσο αυτό είναι εφικτό.
β) Τα δεδομένα δεν είναι εύκολα διαχειρίσημα ή δεν είναι καθόλου διαχειρίσημα ώστε να τα χρησιμοποιήση κάποιος με τον δικό του τρόπο.
Με την πρόταση που θα περιγράψω παρακάτω δεν απαιτείται ασύρματη μεταφορά δεδομένων και τα δεδομένα θα μπορούν να χρησιμοποιηθούν όπως ακριβώς θέλουμε.
ΠΡΟΣΟΧΗ ΟΛΕΣ ΟΙ ΣΥΝΔΕΣΕΙΣ ΠΡΕΠΕΙ ΝΑ ΓΙΝΟΥΝ ΑΠΟ ΠΙΣΤΟΠΟΙΗΜΕΝΟ ΗΛΕΚΤΡΟΛΟΓΟ! ΚΙΝΔΥΝΟΣ ΗΛΕΚΤΡΟΠΛΗΞΙΑΣ!
Στην αγορά κυκλοφορούν μετρητές κατανάλωσης ράγας που αφού τοποθετηθούν, από κάποιο ηλεκτρολόγο, στον ηλεκτρολογικό πίνακα μπορούν να μετρούν την κατανάλωση ρεύματος στην γραμμή που τοποθετήθηκαν. Αν, δηλαδή, τοποθετηθούν στην είσοδο του δικτύου τότε μετράνε την ολική κατανάλωση της παροχής. Κάτι σαν το κεντρικό ρολόι του σπιτιού αλλά τοποθετημένο στον ηλεκτρολογικό πίνακα και άμεσα προσβάσιμο. Οι μετρητές ράγας μετρούν στιγμιαία κατανάλωση, ολική κατανάλωση, ρεύμα και τάση. Όλα αυτά τα δεδομένα τα απεικονίζουν σε μια όθόνη ψηφιακά, όταν φυσικά πρόκειται για ψηφιακό μετρητή και όχι μηχανικό ο οποίος μετράει μόνο την ολική κατανάλωση ισχύος. Οι μετρητές ράγας όμως δεν μας περιορίζουν στο να ελέγχουμε κάθε φορά τις ενδείξεις στην οθόνη τους. Έχουν και μια έξοδο που παράγει έναν παλμό κάθε φορά που καταναλώνεται ένα συγκεκριμμένο ποσό ενέργειας και αυτό λέγεται συχνότητα παλμικής εξόδου. Το μοντέλο C11 της ABB δίνει έναν παλμό στην έξοδο κάθε φορά που καταναλώνονται 10Wh ισχύος. Αυτό σημαίνει ότι σε κάθε μία KWh θα δώσει 100 παλμούς και σε μας μένει μόνο να βρούμε κάποιον τρόπο να μετρήσουμε τους παλμούς. Πως; Φυσικά με Arduino!

 

Arduino Energy Counter

Arduino Energy Counter

Η έξοδος του μετρητή ουσιαστικά είναι ένας διακόπτης και τίποτα παραπάνω. Ένας διακόπτης που κλείνει κάθε φορά που καταναλώνονται 10Wh. Το κύκλωμα που πρέπει να δημιουργήσουμε είναι ενα πολύ απλό κύκλωμα διακόπτη και το μόνο που απαιτείται από εξαρτήματα είναι μία αντίσταση 10KΩ. Στην θέση του διακόπτη όπως είπαμε πριν, θα συνδέσουμε την παλμική έξοδο του μετρητή ράγας. Στον συν(+) της παλμικής εξόδο του μετρητή ράγας συνδέουμε κατευθείαν τα 5V του Arduino. Το πλην (-) της παλμικής εξόδου το συνδέουμε στο digital pin 2 και σε μια αντίσταση 10ΚΩ η οποία στο άλλο άκρο της συνδέεται στην γείωση του Arduino.

Ο Κώδικας:

volatile unsigned long rpk = 0;        
volatile unsigned long rpk_old = 0;           
volatile boolean CS_KWH = false;              

void Kirq()
{
  rpk++;                   
  if (rpk > 1000000000)   
  {
    if (false == CS_KWH)   
    {
      rpk -= rpk_old;
      rpk_old = 0;
    }
  }
}

t
float readKWH1()
{
  return rpk/100.0;       // one pulse = 10 watt.
}

float readKWH()
{
  CS_KWH = true;           
      long t = rpk;            
      long k = t - rpk_old;    
      rpk_old = t;            
  CS_KWH = false;         
  return k/100.0;         // return delta, one pulse = 10 watt.
}

void setup() 
{
  Serial.begin(9600);
  attachInterrupt(0, Kirq, FALLING);
}

void loop() 
{
    delay(1000);
        float KWH = readKWH();
        float SUM = readKWH1();
        Serial.print("KWH: ");    
        Serial.print(KWH, 4);
        Serial.print("    ");
        Serial.println(SUM, 4);
}

Πως λειτουργει;
Κάθε φορά που καταναλώνονται 10Wh αποστέλεται ένας παλμός και έχουμε ένα HIGH στο digital pin 2. Όταν ένα HIGH ανιχνεύεται στο digital pin 2 τότε «τρεχει» ο κώδικας interrupt που αυξάνει κατα ένα έναν δείκτη ο οποίος αποθηκευει των αριθμό των παλμών. Έχοντας υπόψιν από τον κατασκευαστή των αριθμό των παλμών που αντιστοιχούν σε μια KWh υπολογίζουμε ανάλογα την κατανάλωση.
Όλα τα παραπάνω είναι τα λιγότερα δυνατα που πρέπει να γίνουν για να μετρήσουμε κατανάλωση ενέργειας με έναν Arduino και έναν μετρητή ράγας. Έχοντας τα δεδομένα κατανάλωσης μπορούμε να τα χρησιμοποιήσουμε με όποιο τρόπο θέλουμε και οι πιο προφανείς τρόποι είναι είτε να τα αποθηκεύσουμε σε μια κάρτα SD μέσω ενός datalogger, είτε να τα στείλουμε σε μια βάση δεδομένων, σε έναν server και να τα χρησιμοποήσουμε δημιουργώντας διαγράμματα κατανάλωσης, γραφήματα, ειδοποιήσεις μέσω email κλπ. ή όπως αλλιώς το φανταζόμαστε. Ένα παράδειγμα τετοιας αποθήκευσης σε βάση δεδομένων είναι αυτό με το θερμόμετρο που παρουσιάσαμε παλιότερα.

Related Articles

1 ΣχόλιοΣχολιάστε

  • Φίλε, σε ευχαριστώ πολύ για το άρθρο σου. Είναι ακριβώς αυτό που έψαχνα για καινούριο πίνακα, συγκεκριμένα δεν ήξερα τη δυνατότητα των μετρητών για παλμό

Leave a Reply

Η διεύθυνση σας δεν θα αναρτηθεί. Τα απαιτούμενα πεδία σημειώνονται με *