Αυτοματισμοί με Arduino
- brexei
- Δημοσιεύσεις: 435
- Εγγραφή: Παρ Νοέμ 23, 2018 10:46 am
- Όνομα: Αδάμ
- Μηχανή:: Lelit PL41em
- 2η Μηχανή:: V60 ceramic
- Μύλος:: Mahlkoenig Vario
- Οι καφέδες μου:: Δοκιμάζω...
- Τοποθεσία: Ηράκλειο
Αυτοματισμοί με Arduino
Μετά από πολλές περιπέτειες και αρκετές διορθώσεις ήρθε η ώρα να παρουσιάσω κάποιες βελτιώσεις - αυτοματισμούς που πρόσθεσα στην καφετιέρα μου (Lelit PL41). Χρησιμοποίησα το Arduino nano και μια σειρά απο αισθητήρες και "πατέντες" ώστε να προσθέσω τα ακόλουθα:
1. Στάθμη νερού στο δοχείο (lt)
2. Μέτρηση θερμοκρασίας γκρουπ
3. Χρόνος εκχύλισης
4. Συνολικός αριθμός εκχυλίσεων
5. Κιλά καφέ που έχουν καταναλωθεί
Για το πρώτο υπάρχουν αρκετές "λύσεις", αλλά δεν ήθελα να έρχεται σε επαφή ο αισθητήρας με το νερό. Έτσι, πειραματιζόμενος, κατέληξα ότι μια καλή μέθοδος είναι να δημιουργήσεις ένα πυκνωτή με 3 παράλληλες μεταλλικές πλάκες. Κόλλησα 3 κομμάτια από αυτοκόλλητη ταινία αλουμινίου και σύνδεσα μεταξύ τους τα δύο ακριανά. Έτσι αυτά, μαζί με το μεσαίο σχηματίζουν ένα επίπεδο πυκνωτή! Επειδή το ηλεκτρικό πεδίο που σχηματίζεται ανάμεσα στις πλάκες του εκτείνεται και ακτινικά (stray field), υπάρχει πεδίο μέσα στο δοχείο με το νερό. Φυσικά είναι πάρα πολύ αδύναμο, επομένως η συνεισφορά του είναι μικρή, πλην όμως μετρήσημη. Και επειδή η διηλεκτρική σταθερά του νερού είναι πολύ μεγάλη σε σχέση με του αέρα, μπορείς να έχεις μετρήσιμα αποτελέσματα με αρκετά καλή ακρίβεια. Φυσικά όσο παχύτερα τα τοιχώματα του πλαστικού δοχείου τόσο πιο αδύναμη είναι αυτή η συνεισφορά. Σε πλαστικό ποτηράκι λειτουργεί τέλεια! Αλλά στο σχετικά παχύ τοίχωμα του δοχείου νερού δεν είναι και τόσο ευαίσθητο.
Χρησιμοποίησα το Arduino nano για τη μέτρηση χωρητικότητας (της τάξης των pico Farad!) μέσω δύο αναλογικών εισόδων - εξόδων. Στη συνέχεια μετέτρεψα τη χωρητικότητα σε λίτρα, γνωρίζοντας τη μέγιστη και ελάχιστη τιμή της.
Για τη μέτρηση της θερμοκρασίας του γκρουπ χρησιμοποίησα ένα θερμίστορ κολημένο με αλουμινοταινία στην κάτω άκρη του γκρουπ, αλλά από τη μέσα μεριά για να μη φαίνεται. Κατασκέυασα ένα διαιρέτη τάσης και τροφοδότησα από την έξοδο των 5 volt του Arduino. Στη συνέχεια με κατάλληλο αλγόριθμο (που υπάρχει έτοιμος στο διαδίκτυο) μετέτρεψα την τάση σε βαθμούς κελσίου. Μετράει αρκετά σωστά, αλλά καλύτερα όποιος το επιχειρήσει να αγοράσει ένα LM35 που σου δίνει καλύτερη ακρίβεια και είναι πιο απλό στην υλοποίησή του.
Για τα τρία τελευταία, αρκεί να γνωρίζει κανείς πότε παίρνει μπροστά η αντλία. Δεν ήθελα να μετρήσω τάση στα 220 volt (τροφοδοσία αντλίας) για ασφάλεια, οπότε κατέφυγα σε "πατέντες". Δοκίμασα αρκετά κόλπα, όπως μέτρηση στάθμης ήχου, μέτρηση δονήσεων κτλ, αλλά το καλύτερο και πιο σταθερό ήταν να βάλω έναν αισθητήρα Hall πάνω στον ηλεκτρομαγνήτη της αντλίας! Η τάση που επιστρέφει ο αισθητήρας είναι σταθερή όσο η αντλία δε λειτουργεί και αυξάνεται λιγάκι μόλις δημιουργηθεί μαγνητικό πεδίο λόγω ενεργοποίησης της αντλίας. Φυσικά το πεδίο είναι μεταβαλλόμενο, αλλά με μια άθροιση κάνεις δουλειά... Έτσι, μπορεί κανείς να αιστανθεί πότε η αντλία παίρνει μπρος και πότε σβήνει (δηλαδή πόσο χρόνο είναι σε λειτουργία). Με βάση αυτό κατασκέυασα ένα χρονόμετρο που μετράει το χρόνο εκχύλισης. Αν αυτός ξεπεράσει τα 15 sec τότε ο μετρητής καφέδων αυξάνεται κατά ένα και ο συνολικός αριθμός εκχυλίσεων αποθηκεύεται στη μνήμη EEPROM που δε χάνει τα περιεχόμενά της όταν χαθεί η τάση τροφοδοσίας.
Πίσω από την καφετιέρα έχω τοποθετήσει μια επιπεδη μπαταρία από χαλασμένο tablet και με ένα DC-DC converter ανεβάζω την τάση στα 7 volt και τροφοδοτώ το Arduino. Η μπαταρία έχει και ένα διακόπτη για να το ανάβεις. Κρατάει πάνω από 2 μήνες και μετά την επαναφορτίζω με φορτιστή κινητού! Θα μπορούσε να μπει και ένας μικρός μετασχηματιστής μέσα στην καφετιέρα και να ξεκινά το Arduino μόλις ανάψεις τη μηχανή, αλλά δεν ήθελα να μπλέξω με τάσεις 220 Volt για αρχή...
Το Arduino μπήκε σε ένα πλαστικό κουτάκι που τύπωσα με το 3D printer μου, μέσα στο χώρο της δεξαμενής νερού.
Τα δεδομένα φαίνονται σε μια οθόνη OLED 1.3 ιντσών που μπήκε δίπλα στον pid controller στην πάνω επιφάνεια της μηχανής. Της έφτιαξα ένα κουτάκι στο 3D printer για να είναι πιο όμορφα τοποθετημένη. Πέρασα 4 καλωδιάκια προς το πλαϊ και μέσα στη μηχανή τα οδήγησα στο πίσω μέρος.
Μπορείτε να δείτε την υλοποίηση στο βίντεο που έφτιαξα:
https://www.youtube.com/watch?v=MH8dMXPnL2g
Όλα τα σχόλια ευπρόσδεκτα!
Disclaimer:
Σε καμία περίπτωση αυτά που έφτιαξα δεν είναι η βέλτιστη λύση, ούτε μπορείς να είσαι σίγουρος ότι λειτουργούν 100%, γιατί είναι η πρώτη μου φορά με Arduino. Επίσης, τα υλικά και η κατασκευή/υλοποίηση δεν είναι επαγγελματικού τύπου, αλλά περισσότερο οικιακού χρήστη που πειραματίζεται και μαθαίνει στην πορεία. Λειτουργούν, όμως εδώ και 1-2 μήνες μια χαρά...
1. Στάθμη νερού στο δοχείο (lt)
2. Μέτρηση θερμοκρασίας γκρουπ
3. Χρόνος εκχύλισης
4. Συνολικός αριθμός εκχυλίσεων
5. Κιλά καφέ που έχουν καταναλωθεί
Για το πρώτο υπάρχουν αρκετές "λύσεις", αλλά δεν ήθελα να έρχεται σε επαφή ο αισθητήρας με το νερό. Έτσι, πειραματιζόμενος, κατέληξα ότι μια καλή μέθοδος είναι να δημιουργήσεις ένα πυκνωτή με 3 παράλληλες μεταλλικές πλάκες. Κόλλησα 3 κομμάτια από αυτοκόλλητη ταινία αλουμινίου και σύνδεσα μεταξύ τους τα δύο ακριανά. Έτσι αυτά, μαζί με το μεσαίο σχηματίζουν ένα επίπεδο πυκνωτή! Επειδή το ηλεκτρικό πεδίο που σχηματίζεται ανάμεσα στις πλάκες του εκτείνεται και ακτινικά (stray field), υπάρχει πεδίο μέσα στο δοχείο με το νερό. Φυσικά είναι πάρα πολύ αδύναμο, επομένως η συνεισφορά του είναι μικρή, πλην όμως μετρήσημη. Και επειδή η διηλεκτρική σταθερά του νερού είναι πολύ μεγάλη σε σχέση με του αέρα, μπορείς να έχεις μετρήσιμα αποτελέσματα με αρκετά καλή ακρίβεια. Φυσικά όσο παχύτερα τα τοιχώματα του πλαστικού δοχείου τόσο πιο αδύναμη είναι αυτή η συνεισφορά. Σε πλαστικό ποτηράκι λειτουργεί τέλεια! Αλλά στο σχετικά παχύ τοίχωμα του δοχείου νερού δεν είναι και τόσο ευαίσθητο.
Χρησιμοποίησα το Arduino nano για τη μέτρηση χωρητικότητας (της τάξης των pico Farad!) μέσω δύο αναλογικών εισόδων - εξόδων. Στη συνέχεια μετέτρεψα τη χωρητικότητα σε λίτρα, γνωρίζοντας τη μέγιστη και ελάχιστη τιμή της.
Για τη μέτρηση της θερμοκρασίας του γκρουπ χρησιμοποίησα ένα θερμίστορ κολημένο με αλουμινοταινία στην κάτω άκρη του γκρουπ, αλλά από τη μέσα μεριά για να μη φαίνεται. Κατασκέυασα ένα διαιρέτη τάσης και τροφοδότησα από την έξοδο των 5 volt του Arduino. Στη συνέχεια με κατάλληλο αλγόριθμο (που υπάρχει έτοιμος στο διαδίκτυο) μετέτρεψα την τάση σε βαθμούς κελσίου. Μετράει αρκετά σωστά, αλλά καλύτερα όποιος το επιχειρήσει να αγοράσει ένα LM35 που σου δίνει καλύτερη ακρίβεια και είναι πιο απλό στην υλοποίησή του.
Για τα τρία τελευταία, αρκεί να γνωρίζει κανείς πότε παίρνει μπροστά η αντλία. Δεν ήθελα να μετρήσω τάση στα 220 volt (τροφοδοσία αντλίας) για ασφάλεια, οπότε κατέφυγα σε "πατέντες". Δοκίμασα αρκετά κόλπα, όπως μέτρηση στάθμης ήχου, μέτρηση δονήσεων κτλ, αλλά το καλύτερο και πιο σταθερό ήταν να βάλω έναν αισθητήρα Hall πάνω στον ηλεκτρομαγνήτη της αντλίας! Η τάση που επιστρέφει ο αισθητήρας είναι σταθερή όσο η αντλία δε λειτουργεί και αυξάνεται λιγάκι μόλις δημιουργηθεί μαγνητικό πεδίο λόγω ενεργοποίησης της αντλίας. Φυσικά το πεδίο είναι μεταβαλλόμενο, αλλά με μια άθροιση κάνεις δουλειά... Έτσι, μπορεί κανείς να αιστανθεί πότε η αντλία παίρνει μπρος και πότε σβήνει (δηλαδή πόσο χρόνο είναι σε λειτουργία). Με βάση αυτό κατασκέυασα ένα χρονόμετρο που μετράει το χρόνο εκχύλισης. Αν αυτός ξεπεράσει τα 15 sec τότε ο μετρητής καφέδων αυξάνεται κατά ένα και ο συνολικός αριθμός εκχυλίσεων αποθηκεύεται στη μνήμη EEPROM που δε χάνει τα περιεχόμενά της όταν χαθεί η τάση τροφοδοσίας.
Πίσω από την καφετιέρα έχω τοποθετήσει μια επιπεδη μπαταρία από χαλασμένο tablet και με ένα DC-DC converter ανεβάζω την τάση στα 7 volt και τροφοδοτώ το Arduino. Η μπαταρία έχει και ένα διακόπτη για να το ανάβεις. Κρατάει πάνω από 2 μήνες και μετά την επαναφορτίζω με φορτιστή κινητού! Θα μπορούσε να μπει και ένας μικρός μετασχηματιστής μέσα στην καφετιέρα και να ξεκινά το Arduino μόλις ανάψεις τη μηχανή, αλλά δεν ήθελα να μπλέξω με τάσεις 220 Volt για αρχή...
Το Arduino μπήκε σε ένα πλαστικό κουτάκι που τύπωσα με το 3D printer μου, μέσα στο χώρο της δεξαμενής νερού.
Τα δεδομένα φαίνονται σε μια οθόνη OLED 1.3 ιντσών που μπήκε δίπλα στον pid controller στην πάνω επιφάνεια της μηχανής. Της έφτιαξα ένα κουτάκι στο 3D printer για να είναι πιο όμορφα τοποθετημένη. Πέρασα 4 καλωδιάκια προς το πλαϊ και μέσα στη μηχανή τα οδήγησα στο πίσω μέρος.
Μπορείτε να δείτε την υλοποίηση στο βίντεο που έφτιαξα:
https://www.youtube.com/watch?v=MH8dMXPnL2g
Όλα τα σχόλια ευπρόσδεκτα!
Disclaimer:
Σε καμία περίπτωση αυτά που έφτιαξα δεν είναι η βέλτιστη λύση, ούτε μπορείς να είσαι σίγουρος ότι λειτουργούν 100%, γιατί είναι η πρώτη μου φορά με Arduino. Επίσης, τα υλικά και η κατασκευή/υλοποίηση δεν είναι επαγγελματικού τύπου, αλλά περισσότερο οικιακού χρήστη που πειραματίζεται και μαθαίνει στην πορεία. Λειτουργούν, όμως εδώ και 1-2 μήνες μια χαρά...
- Algebar
- Δημοσιεύσεις: 80
- Εγγραφή: Κυρ Ιαν 21, 2018 4:04 pm
- Όνομα: Γιάννης
- Μηχανή:: NS Oscar II
- 2η Μηχανή:: Aeropress
- Μύλος:: Ascaso i2 Steel
- Τοποθεσία: Παλλήνη
Re: Αυτοματισμοί με Arduino
Μπράβο για το μεράκι σου !!!!!!!!!
Να πώ μόνο ότι το DS1820 προτιμάται από το LM35 τα τελευταία χρόνια μια και μετράει και μεταδίδει ψηφιακά με 1-wire τις μετρήσεις.
Να πώ μόνο ότι το DS1820 προτιμάται από το LM35 τα τελευταία χρόνια μια και μετράει και μεταδίδει ψηφιακά με 1-wire τις μετρήσεις.
- johnsin
- Δημοσιεύσεις: 764
- Εγγραφή: Τρί Απρ 28, 2020 11:29 am
- Όνομα: Ιωάννης
- Μηχανή:: Lelit pl41em Anna
- Μύλος:: Cunill Tranquilo
- 2ος Μύλος:: Mignon Specialita
- Οι καφέδες μου:: Mokka,Cup 10,Taf,Round Cup,Tareso
- Τοποθεσία: Ηράκλειο Κρητης
Re: Αυτοματισμοί με Arduino
Μπράβο καταπληκτική δουλειά...!!!
- brexei
- Δημοσιεύσεις: 435
- Εγγραφή: Παρ Νοέμ 23, 2018 10:46 am
- Όνομα: Αδάμ
- Μηχανή:: Lelit PL41em
- 2η Μηχανή:: V60 ceramic
- Μύλος:: Mahlkoenig Vario
- Οι καφέδες μου:: Δοκιμάζω...
- Τοποθεσία: Ηράκλειο
Re: Αυτοματισμοί με Arduino
Πολύ ενδιαφέρον. Ειναι σαν το lm35 αλλα με ψηφιακη εξοδο. Και μπορείς να χρησιμοποιήσεις πολλά μαζί στο ίδιο καλώδιο, πολύ βολικό.
Εγω δυστυχως δεν ειχα ουτε το lm35 οταν το εφτιαχνα... Ετσι, χρησιμοποιησα ενα θερμιστορ που ειχα στο συρταρι μου. Εχει αρκετά καλή ακρίβεια πάντως κι αυτό.
Εγω δυστυχως δεν ειχα ουτε το lm35 οταν το εφτιαχνα... Ετσι, χρησιμοποιησα ενα θερμιστορ που ειχα στο συρταρι μου. Εχει αρκετά καλή ακρίβεια πάντως κι αυτό.
- Algebar
- Δημοσιεύσεις: 80
- Εγγραφή: Κυρ Ιαν 21, 2018 4:04 pm
- Όνομα: Γιάννης
- Μηχανή:: NS Oscar II
- 2η Μηχανή:: Aeropress
- Μύλος:: Ascaso i2 Steel
- Τοποθεσία: Παλλήνη
Re: Αυτοματισμοί με Arduino
Για την ευκολία το ανέφερα κι εγώ αλλιώς από ακρίβεια για εφαρμογές σαν τη δική μας που πιο πολύ μας ενδιαφέρουν συγκριτικές και όχι απόλυτες τιμές μια χαρά είναι όλα. Από περιέργεια πόση ώρα μετά το power-on σταθεροποιείται η θερμοκρασία στο γκρουπ ?
-
- Δημοσιεύσεις: 178
- Εγγραφή: Τρί Μάιος 12, 2020 12:23 am
- Όνομα: Αλέξανδρος
- Μηχανή:: Lelit Glenda
- Μύλος:: Niche Zero
- 2ος Μύλος:: ProBarista G-IOTA
Re: Αυτοματισμοί με Arduino
Επιστημονικός και εντυπωσιακός!
Ελπίζω να σε βοηθήσουν να φτιάχνεις καλύτερους καφέδες!
Ελπίζω να σε βοηθήσουν να φτιάχνεις καλύτερους καφέδες!
- brexei
- Δημοσιεύσεις: 435
- Εγγραφή: Παρ Νοέμ 23, 2018 10:46 am
- Όνομα: Αδάμ
- Μηχανή:: Lelit PL41em
- 2η Μηχανή:: V60 ceramic
- Μύλος:: Mahlkoenig Vario
- Οι καφέδες μου:: Δοκιμάζω...
- Τοποθεσία: Ηράκλειο
Re: Αυτοματισμοί με Arduino
Η θερμοκρασια στο γκρουπ ανεβαίνει γρήγορα και σταθεροποιειται λιγο πιο κατω απο τη μεγιστη τιμη της σε περιπου 10 λεπτα. Μετα ανεβαινει αργα λιγο ακομα στα επομενα 5 λεπτα.
Εαν ομως κανεις και 2-3 φορες φλασαρισμα τοτε θα δεις οτι ανεβαίνει πιο γρηγορα.
Ενα αναλυτικο γραφημα υπάρχει και στο αλλο μου ποστ για τη Lelit pl41:
viewtopic.php?f=5&t=6151
Εαν ομως κανεις και 2-3 φορες φλασαρισμα τοτε θα δεις οτι ανεβαίνει πιο γρηγορα.
Ενα αναλυτικο γραφημα υπάρχει και στο αλλο μου ποστ για τη Lelit pl41:
viewtopic.php?f=5&t=6151
- Algebar
- Δημοσιεύσεις: 80
- Εγγραφή: Κυρ Ιαν 21, 2018 4:04 pm
- Όνομα: Γιάννης
- Μηχανή:: NS Oscar II
- 2η Μηχανή:: Aeropress
- Μύλος:: Ascaso i2 Steel
- Τοποθεσία: Παλλήνη
Re: Αυτοματισμοί με Arduino
Άρα στα 15 λεπτά με 1-2 φλασαρίσματα είσαι έτοιμος, αρκετά γρήγορα θα έλεγα, έχω την OSCAR II και το μισάωρο το θέλει αν και δεν μπορώ να πω ότι και στο 20λεπτο έχω σημαντική διαφορά, απλά κάνω πολύ μικρό cooling flush. Σίγουρα πάντως θέλει περισσότερο χρόνο από τη lelit. Ζήλεψα πάντως με την κατασκευή σου και κάποια στιγμή θα κάνω κι εγώ μετρήσεις να μάθω τη μηχανή και επιστημονικά ρε παιδί μου
- Gespresso
- Δημοσιεύσεις: 482
- Εγγραφή: Παρ Μάιος 27, 2016 9:39 pm
- Όνομα: Γιώργος
- Μηχανή:: Rancilio Silvia V5
- 2η Μηχανή:: Hario V60
- Μύλος:: Mignon Specialita
- 2ος Μύλος:: Graef cm800
- Οι καφέδες μου:: Όλοι και από λίγο!
Re: Αυτοματισμοί με Arduino
πολύ ωραίο! Μπράβο!
-
- Δημοσιεύσεις: 467
- Εγγραφή: Δευ Οκτ 07, 2019 12:58 pm
- Όνομα: Νικος
- Μηχανή:: Bezzera Unica
- Μύλος:: Niche Zero
- Τοποθεσία: Γαλατσι
Re: Αυτοματισμοί με Arduino
Συγχαρητηρια! Πολυ καλο!