Smartsolar – Μια συσκευή για την καλύτερη διαχείριση του ηλιακού θερμοσίφωνα
1° ΓΕΛ Ραφήνας
Μαθητές:
Ορφέας Αποστολόπουλος – Χριστόφορος Κουτλής – Α’ λυκείου
Αν έχετε πρόβλημα με την προβολή του βίντεο, μπορείτε να χρησημοποιήσετε την διεύθυνση: www.youtube.com/watch?v=jT64rxQWlbs&t=0s
Εισαγωγή – Το Πρόβλημα
Ο ηλιακός θερμοσίφωνας υπάρχει στα περισσότερα σπίτια στην Ελλάδα από πολύ παλιά. Είναι μία συσκευή που εκμεταλλεύεται την ηλιακή ενέργεια για να παράγει ζεστό νερό για οικιακή χρίση. Με αυτό τον τρόπο μειώνεται η χρήση ηλεκτρικής ενέργειας, συνεπώς μειώνοντας τις οικιακές δαπάνες. Τα προηγούμενα χρόνια, ο κύριος στόχος της εγκατάστασης ηλιακού, ήταν η μείωση του κόστους. Τώρα όμως που η κλιματική αλλαγή έχει γίνει υπαρκτός κίνδυνος, συνειδητοποιούμε ότι εκτός από τα οικονομικά συμφέροντα, ο ηλιακός συνεισφέρει στην αντιμετώπιση της κλιματικής αλλαγής, καθώς για την θέρμανση του νερού χρησιμοποιείται μία ανανεώσιμη πηγή ενέργειας.
Παρόλα αυτά, αφού οι περισσότεροι ηλιακοί θερμοσίφωνες εγκαταστάθηκαν αρκετά χρόνια πριν, δεν εκμεταλλεύονται τις τελευταίες τεχνολογικές ανακαλύψεις όπως το ίντερνετ, το smartphone, το wifi κ.α., οι οποίες θα μπορούσαν να συνεισφέρουν σημαντικά αφενός μεν στην πιο αποδοτική και εύκολη χρήση του ηλιακού αλλά και στην ανάδειξη της συνεισφοράς του στην καταπολέμηση της κλιματικής αλλαγής.
Υπάρχουσα Κατάσταση
Ορισμένες προσπάθειες προς αυτή την κατεύθυνση έχουν γίνει αλλά σε περιορισμένο βαθμό. Για παράδειγμα υπάρχουν μερικές συσκευές, οι οποίες μπορούν απλά να μετρήσουν την τρέχουσα θερμοκρασία του ηλιακού θερμοσίφωνα και να την προβάλουν σε μια ψηφιακή οθόνη (https://www.iliosak.gr/psifiako_thermometro). Επίσης, βρήκαμε μόνο μια εταιρεία κατασκευής ηλιακών θερμοσιφώνων που προσφέρει ένα μοντέλο με ενσωματωμένη δυνατότητα σύνδεσης με wifi. Παρόλα αυτά, η ιστοσελίδα της εταιρείας δεν διευκρίνιζε λεπτομέρειες σύνδεσης. (https://www.mastersol.gr/iliakoi-thermosifones/epilektikoi/mastersol-plus-wifi).
Προτεινόμενη λύση: Smartsolar
Περιγραφή
Για την βελτίωση αυτής της κατάστασης (βλ Εισαγωγή – Το πρόβλημα), σκεφτήκαμε να σχεδιάσουμε ένα σύστημα, που να βασίζεται σε νέες τεχνολογίες και να πετυχαίνει τα εξής:
- Ευκολότερη και αποδοτικότερη χρήση του ηλιακού θερμοσίφωνα
- ανάπτυξη συνείδησης του χρήστη για την οικολογική συνεισφορά του ηλιακού θερμοσίφωνα
Αυτό το σύστημα, με όνομα smartsolar, θα χρησιμοποιεί ένα ψηφιακό αισθητήρα θερμοκρασίας που θα μετράει τη θερμοκρασία του νερού μέσα στον ηλιακό θερμοσίφωνα και θα την μεταδίδει συνεχώς μέσω δικτύου (wifi/ιντερνετ). Η μέτρηση θα μπορεί να απεικονιστεί στην οθόνη φορητών ηλεκτρονικών συσκευών (smartphone/tablet) μέσω μίας εφαρμογής. Παράλληλα θα απεικονίζει την τάση αύξησης ή πτώσης, διαγράμματα προηγούμενων ωρών, καθώς και εκτίμηση της παραγόμενης ηλιακής ενέργειας. Με αυτό τον τρόπο, ο χρήστης θα μπορεί οποιαδήποτε στιγμή να γνωρίζει αν ο ηλιακός έχει αρκετό ζεστό νερό ώστε να αποφεύγεται η άσκοπη χρήση του ηλεκτρικού θερμοσίφωνα. Επίσης οι ενεργειακές ενδείξεις είναι ένα είδος επιβράβευσης, καθώς υπενθυμίζουν στον χρήστη την συνεισφορά του στην αντιμετώπιση της κλιματικής αλλαγής.
Τα ιδιαίτερα χαρακτηριστικά του smartsolar είναι:
-
-
- Ανοιχτό hardware/software – μπορεί να το κατασκευάσει κανείς μόνος του κατεβάζοντας το project από το αποθετήριο github
- Εύκολη τοποθέτηση με μικρή επέμβαση στον ηλιακό θερμοσίφωνα
- Χαμηλό κόστος
- φιλικό προς τον χρήστη interface
- μειώνει την άσκοπη χρήση του ηλεκτρικού θερμοσίφωνα
-
Σχεδιασμός
Το σύστημα smartsolar, το οποίο βασίζεται σε ένα raspberry pi, φαίνεται στο παρακάτω σχεδιάγραμμα
- Αρχικά, μέσα στο boiler του ηλιακού θερμοσίφωνα, είναι τοποθετημένο ένα ψηφιακό θερμόμετρο το οποίο συνδέεται μέσω ενός καλωδίου με το pi
- Αυτή η σύνδεση(αισθητήρα-pi), γίνεται με το GPIO(general purpose inpout output) του pi
- Ύστερα, το pi τρέχει το c-προγραμμα smartsolar.c, το οποίο παίρνει την τρέχουσα μέτρηση του αισθητήρα, μαζί με κάποια άλλα δεδομένα βασισμένα σε αυτήν.
- Παράλληλα, στο pi τρέχει το πρόγραμμα mosquitto mqtt broker(βασική βιβλιοθήκη του pi), το οποίο εφαρμόζει το πρωτόκολο mqtt για μεταφορά δεδομένων μεταξύ συσκευών.
- Το smartsolar.c ανεβάζει τα δεδομένα στο mqtt broker του pi και στο test.mosquitto.org, που είναι ένας δημόσιος broker και επιτρέπεται να χρισημοποιείται για δοκιμές. (πιο αναλυτική παρουσίαση του προγράμματος υπάρχει σε παρακάτω κεφάλαιο)
- Στην συνέχεια, υπάρχουν 2 διαφορετικές διαδρομές, (1) και (2), που ακολουθούν τα δεδομένα για να πάνε από το pi στην ηλεκτρονική συσκευή του χρήστη:
- (1): Αυτή η διαδρομή στέλνει τα δεδομένα μέσω του wifi του σπιτιού(χωρίς να συνδέεται με το ίντερνετ). Για να γίνει αυτή η σύνδεση, έχουμε γράψει ένα(από τους 2) τύπους html, ο οποίος συνδέεται με το pi, με την ip διεύθυνση του. Το μειονέκτημα αυτής της σύνδεσης είναι ότι για να λειτουργήσει το pi, η συσκευή στην οποία τρέχει το html αρχείο πρέπει να είναι συνδεδεμένη στο ίδιο router με το pi.
- (2): Αυτή η διαδρομή στέλνει τα δεδομένα στην ηλεκτρονική διεύθυνση `test.mosquitto.org`. Από εκεί, ο δεύτερος τύπος html, συνδέεται στο `test.mosquitto.org`. Το μειονέκτημα αυτής της σύνδεσης είναι ότι είναι σημαντικά αργότερη, και λιγότερο έμπιστη.
- Τέλος, το κινητό συνδέεται με τις html σελίδες και προβάλει τις μετρήσεις, μέσω του του appinventor. Το appinventor τρέχει τις διαφορετικές σελίδες html και κάνοντας τις απαραίτητες μετατροπές, προβάλει τα δεδομένα στην οθόνη του κινητού ή tablet
Πρωτοτυπία
Το smartsolar είναι η πρώτη open source εφαρμογή, που εκτός από τις βασικές πληροφορίες( θερμοκρασία νερού) προσφέρει στον χρήστη τα εξής
- Προβολή τάσης αύξησης/πτώσης της θερμοκρασίας τις τελευταίες 3 ώρες
- Διάγραμμα με μετρήσεις των τελευταίων 3 ωρών(12 μετρήσεις οι οποίες πάρθηκαν με διάστημα 15 λεπτών) καθώς και της γραμμικής προσαρμογής των τιμών αυτών στο ίδιο σύστημα αξόνων
- Προβολή της ενέργειας(σε kWh) που παράχθηκε απτό τον ήλιο τις τελευταίες 3 ώρες για την θέρμανση του νερού.
- Η ποσότητα CO2(σε kg) που θα απελευθερωνόταν στην ατμόσφαιρα αν για την παραγωγή της παραπάνω ενέργειας χρησιμοποιούταν λιγνίτης, που είναι ο κυριότερος τρόπος παραγωγής ενέργειας στην Ελλάδα.
Οι τελευταίες 2 ενδείξεις είναι πολύ σημαντικές, καθώς βοηθούν τον χρήστη να συνειδητοποιήσει το μέγεθος της συνεισφοράς του/της στην αντιμετώπιση της κλιματικής αλλαγής, καθώς η ένδειξη CO2 μπορεί(σε καλοκαιρινές μεσημεριανές ώρες) να φτάσει ~1kg CO2 , μία τιμή που οποιοσδήποτε μπορεί να συνειδητοποιήσει την βαρύτητά της, σε αντίθεση με την ένδειξη ενέργειας.
Λίστα υλικών / Ανάλυση Κόστους
- Κυάθιο 1/2″ Ορειχάλκινο Με Βίδα Στερέωσης 100mm (5 €)
- Raspberry Pi Zero Wireless (16 €)
- microSDHC 8GB Class 10 with Adapter (3,5 €)
- Αισθητήρας θερμοκρασίας DS18B20 (2 €)
- Καλώδια, αντιστάσεις κλπ (~ 5 €)
- Power Supply 5V 2.5A – Raspberry Pi (10 €)
Συνολικό κόστος: ~41,5 €
Λίστα εργαλείων που χρησιμοποιήθηκαν
- Βασικά εργαλεία (κατσαβίδι,πένσα,κόφτη…)
- Θερμικό κολλητήρι
- 3D Printer, Creality Ender 3 Pro, Open Source Hardware
- FreeCAD, Λογισμικό CAD Ανοιχτού Κώδικα
- AppInventor, Περιβάλλον προγραμματισμού εφαρμογών Android, Ανοιχτού Κώδικα
- Fritzing, Λογισμικό ανοιχτού κώδικα σχεδίασης ηλεκτρονικών κυκλωμάτων
- Libre-Office Draw, για την σύνταξη κειμένου και κατασκευής σχεδιαγραμάτων και τύπων
Σχέδια (Μηχανικά & Ηλεκτρονικά)
Υλοποίηση
Κατασκευή, Προγραμματισμός
C-program: smartsolar.c
Αναλυτική παρουσίαση του προγράμματος:
Το πρόγραμμα τρέχει μια συνεχή επανάληψη στην οποία πραγματοποιεί τα εξής:
- Το πρόγραμμα παίρνει την μέτρηση του αισθητήρα
- Ελέγχει αν η τρέχουσα ώρα του ρολογιού του pi τελειώνει σε :00, :15, 0:30, 0:45. Αν κάτι από τα παραπάνω ισχύει τότε:
- βάζει στην πρώτη θέση ενός 12θέσιου πίνακα την τρέχουσα θερμοκρασία και μεταφέρει τον αριθμό που βρισκόταν στην πρώτη θέση στην δεύτερη, αυτόν της δεύτερης στην τρίτη και ου το καθεξής. Έτσι τελικά έχουμε ένα πίνακα θερμοκρασιών για τις τελευταίες 3 ώρες.
- υπολογίζει το a και b της γραμμικής προσαρμογής y=a*t+b των τιμών του παραπάνω πίνακα με τους εξής τύπους:
- a = (n*Σxy – Σx*Σy) / (n*Σx² – Σx*Σx)
- b = (Σy*Σx² – Σx*Σxy) / (n*Σx² – Σx*Σx)
- Κάθε μέρα το πρόγραμμα δημιουργεί ένα καινούργιο αρχείο κειμένου με όνομα: `day-month-year-temp.dat` στο οποίο τοποθετεί κάθε λεπτό(αλλάζοντας γραμμή κάθε φορά) τα εξής: `hour:minute:second, current temprature`
- Δημοσιεύει την μέτρηση, τον πίνακα και το a,b στο mqtt broker που τρέχει στο pi και στο test.mosquitto.org
HTML / Javascript: smartsolar_pi1.html
Τα δεδομένα θερμοκρασίας θέλουμε να εμφανίζονται τελικά σε φορητή συσκευή, σε εφαρμογή που φτιάξαμε με το AppInventor. Για να περάσουν τα δεδομένα στο AppInventor χρησιμοποιήθηκε το στοιχείο WebViewer που μπορεί να τρέξει ιστοσελίδες σε html που περιέχουν και κώδικα Javascript.
Το WebViewer φορτώνει το αρχείο smartsolar.html που χρησιμοποιεί javascript για να πραγματοποιήσει τα εξής:
- κατεβάζει από το ίντερνετ την βιβλιοθήκη “mosquitto.js” ώστε να μπορεί να συνδεθεί με τους mqtt brokers
- κάνει subscribe στο mqtt broker του pi χρησιμοποιώντας την IP διεύθυνσή του και το topic στο οποίο το πρόγραμμα C δημοσιεύει τα δεδομένα.
- Κάθε φορά που εμφανίζονται νέα δεδομένα τα στέλνει στο AppInventor μέσω της μεταβλητής WebViewer.WebViewString
App inventor
To appinventor έχει 4 screens.
1.Επιλογή δικτύου:
Σε αυτό το screen ο χρήστης επιλέγει αν θέλει να συνδεθεί με το δίκτυο του σπιτιού ή το internet
2. Προβολή θερμοκρασίας:
Σε αυτό το screen γίνεται η προβολή της θερμοκρασίας και της τάσης αύξησης/πτώσης θερμοκρασίας. Το webviewstring περιέχει την θερμοκρασία και την τάση αύξησης πτώσης(a), χωρισμένες με ένα κενό. Το appinventor χωρίζει το string σε δύο καινούρια.
Προβάλει την θερμοκρασία και το a, αφού του κάνει μερικές μετατροπές μονάδων
3. Πίνακας 3 τελευταίων ωρών:
Σε αυτό το screen δημιουργείται το διάγραμμα. Το webviewstring περιέχει τον 12θεσιο πίνακα(καθε τιμή χωρισμένη με ένα κενό), το a και το b. Το smartsolar σπάει το string στα κενά και δημιουργεί 14 καινούργια. Χωρίζει την οθόνη σε 11 κομμάτια οριζόντια(x) και σε 100 κάθετα(y). Ύστερα τοποθετεί πάνω στο σύστημα συντεταγμένων τις μετρήσεις(από πιο παλιά σε πιο πρόσφατη) και μετά σχεδιάζει την γραμμική προσαρμογή σύμφωνα με τα a,b (κάνοντας τις απαραίτητες μετατροπές).
4. Ενέργεια και εκβολές CO2 τις τελευταίες 3 ώρες:
Σε αυτό το screen γίνεται η προβολή της παραγόμενης ενέργειας και του CO2. Το webviewstring περιέχει την θερμοκρασία και την τάση αύξησης/πτώσης(a), χωρισμένες με ένα κενό. Το appinventor χωρίζει το string σε δύο καινούρια. Αν το a είναι θετικό τότε με βάση αυτό υπολογίζει την παραγόμενη ενέργεια και την ποσότητα CO2 και τα προβάλει στην οθόνη (κάνοντας τις απαρέτητες μετατροπές).
Science behind Smartsolar
Ο ρυθμός μεταβολής της θερμοκρασίας a, που παράγεται από την γραμμική προσαρμογή, πρέπει να μετατραπεί σε μονάδες deg/h. Η μετατροπή που πρέπει να γίνει είναι η εξής
Για να υπολογιστεί η ενέργεια που παράγεται από τον ήλιο πρέπει να γίνουν οι εξής πράξεις, ξεκινώντας με τον τύπο της θερμοχωριτικότητας :
Όπου το Cp είναι η θερμοχωριτικότητα(=4180), το ΔQ η μεταβολή της ενέργειας, m η μάζα του νερού μέσα στον θερμοσίφωνα και ΔΤ η μεταβολή της θερμοκρασίας του νερού.
Σύμφωνα με την ιστοσελήδα https://www.volker-quaschning.de/datserv/CO2-spez/index_e.php η αναλογία CO2-kwh όταν για την παραγωγή ενέργειας χρησημοποιείται λιγνήτης, η κύρια πηγή παραγωγής ενέργειας στην ελλάδα, είναι 0,36 kg CO2 ανά kwh
Σύνδεσμοι / Αναφορές
Τα προγράμματα και άλλες πληροφορίες μπορούν να βρεθούν στην σελιδα του GitHub: https://github.com/protogelrafinas/smartsolar/blob/master/README.md
Μπορείτε να κατεβάσετε την εφαρμογή (apk) από το αποθετήριο στην android ηλεκτρονική συσκευή σας και να την δοκιμάσετε!! https://github.com/protogelrafinas/smartsolar/blob/master/code/smartsolar.apk
Θα πρέπει να επιλέξετε “Connect to Internet”. Οι ενδείξεις που θα εμφανίζονται, είναι μετρήσεις πραγματικού χρόνου από τον ηλιακό μας θερμοσίφωνα στην Ραφήνα.