Έργο μετεωρολογικού σταθμού Arduino-Μερος Πρωτο

 


Επισκόπηση

Σε αυτό το έργο θα δημιουργήσουμε έναν μετεωρολογικό σταθμό χρησιμοποιώντας μια ποικιλία αισθητήρων. Η πλατφόρμα που χρησιμοποιείται είναι μια πλακέτα Arduino (Freetronics EtherTen) με ενσωματωμένο Ethernet. Αυτό θα παρέχει επικοινωνία με τον αισθητήρα μαζί με μια πηγή ενέργειας που παρέχεται από το POE (Power Over Ethernet).

Καθώς θα δουλεύουμε το έργο θα συνδέουμε τους διάφορους αισθητήρες. Σε αυτή τη διαδικασία θα δημιουργήσουμε το σκίτσο λογισμικού που θα τρέχει τον μετεωρολογικό σταθμό.

Θα μπορούσαμε επίσης να χρησιμοποιήσουμε μια σύνδεση WiFi για να παρέχουμε την επικοινωνία δεδομένων. Αυτό όμως θα απαιτούσε μια εναλλακτική πηγή ενέργειας, όπως ένα ηλιακό πάνελ και μια μπαταρία. Θα προσθέσουμε το WIFI σε μεταγενέστερο στάδιο.

Με την ολοκλήρωση του έργου θα είναι διαθέσιμα τα ακόλουθα δεδομένα:

Εξωτερική θερμοκρασία (DS18B20)

Εσωτερική θερμοκρασία (BME280)

Υγρασία (BME280)

Βαρομετρική πίεση (BME280)

Βροχογράφος (Hydreon RG-ll)

Ταχύτητα ανέμου (ανεμόμετρο Davis)

Κατεύθυνση ανέμου (ανεμόμετρο Davis)

Για να βοηθηθεί η διαδικασία δοκιμής, έχουν συμπεριληφθεί δύο λυχνίες LED. Η μία υποδεικνύει ότι παρέχεται ρεύμα στο κιβώτιο ελέγχου. Αυτή η λυχνία LED συνδέεται στην είσοδο 12V μέσω μιας αντίστασης. Η άλλη λυχνία LED χρησιμοποιείται για να δείχνει πότε μεταδίδονται δεδομένα στον απομακρυσμένο διακομιστή.

Η πλακέτα Arduino και το BME280 θα τοποθετηθούν μέσα σε ένα δοχείο κατασκευασμένο από σωλήνα PVC 100mm. Στην πραγματικότητα το δοχείο και η ασπίδα ανέμου κατασκευάστηκαν από κοινά υλικά υδραυλικών και κηπουρικής που διατίθενται από το τοπικό κατάστημα οικιακού υλικού. Εναλλακτικά, ορισμένα από τα υλικά μπορούν να αποκτηθούν ως περισσεύματα από εργοτάξια.

Ζωντανά δεδομένα από τον μετεωρολογικό σταθμό Arduino

Κάντε κλικ στο παρακάτω κουμπί για να δείτε τα ζωντανά δεδομένα από τον δοκιμαστικό μετεωρολογικό σταθμό. Ο σταθμός βρίσκεται στο Περθ της Δυτικής Αυστραλίας.

Σχεδιασμός

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

Σημείωση 1: Ο μετεωρολογικός σταθμός τροφοδοτείται από 12V DC. Αυτό τροφοδοτείται στη συνέχεια σε έναν μετατροπέα DC-DC buck που λαμβάνει την είσοδο 12V και εξάγει 9V. Τα 9V τροφοδοτούνται στη συνέχεια στην πλακέτα Arduino.

Σημείωση 2: Το DS18B20 απαιτεί μια αντίσταση pullup 4k7 που δεν φαίνεται εδώ.

Σημείωση 3: Το Hydreon RG-11 απαιτεί 12V τα οποία παίρνουμε από το βύσμα 12V DC. Αυτός ο αισθητήρας απαιτεί επίσης 2 αντιστάσεις.

Σημείωση 4: Το ανεμόμετρο Davis χρησιμοποιεί ένα ενδιαφέρον χρωματικό σχήμα καλωδίωσης. Προσέξτε. Τα χρώματα που εμφανίζονται εδώ ταιριάζουν με το καλώδιο που παραδόθηκε με το ανεμόμετρο. Το ανεμόμετρο απαιτεί μια αντίσταση 4k7 που δεν φαίνεται εδώ.


Οι αισθητήρες που επιλέχθηκαν για αυτό το έργο βασίζονται στη μέθοδο διασύνδεσης που χρησιμοποιούν και στις διαθέσιμες εισόδους του Arduino. Υπάρχει ένα μείγμα ψηφιακών εισόδων και μία αναλογική είσοδος. Έχουμε επίσης έναν αισθητήρα που απαιτεί διασύνδεση I2C. Οι είσοδοι έχουν ως εξής: Οι είσοδοι του αισθητήρα είναι οι εξής:

Εξωτερική θερμοκρασία (DS18B20) - (D9) Ψηφιακή είσοδος 9 (Χρησιμοποιεί πρωτόκολλο επικοινωνίας Dallas)
Θερμοκρασία, υγρασία, βαρομετρική πίεση (BME280) - (A4 & A5) Διεπαφή I2C με χρήση των A4 και A5.
Μετρητής βροχής (Hydreon RG-ll) - (D3) Ψηφιακή είσοδος 3 - Ενεργοποίηση διακοπής
Ταχύτητα ανέμου (Ανεμόμετρο Davis) (D2) Ψηφιακή είσοδος 2 - ενεργοποιημένη διακοπή
Κατεύθυνση ανέμου (Ανεμόμετρο Davis) (A3) Αναλογική είσοδος
Απαιτούμενο υλικό
Ο μετεωρολογικός σταθμός χρησιμοποιεί υλικό και αισθητήρες που μπορούν να αγοραστούν από διάφορους προμηθευτές.Το υλικό που χρησιμοποιείται για αυτόν τον μετεωρολογικό σταθμό είναι το ακόλουθο:

Πλακέτα Freetronics EtherTen
Freetronics Shield
Θερμοκρασία (DS18B20) - Adafruit Αδιάβροχο DS18B20 PN:
Θερμοκρασία, υγρασία, βαρομετρική πίεση (BME280) - Adafruit BME280 PN:
(Hydreon RG-ll)
Ανεμόμετρο ανέμου (Davis)

Ασπίδα ακροδέκτη
Παρόλο που ο μετεωρολογικός σταθμός μπορεί να συνδεθεί και χωρίς αυτόν, είναι πολύ πιο εύκολο να χρησιμοποιήσετε έναν. Η ασπίδα ακροδεκτών παρέχει βιδωτούς ακροδέκτες που επιτρέπουν την ασφαλή σύνδεση των καλωδίων σύνδεσης με το Arduino. Υπάρχουν πολλοί τύποι ασπίδων ακροδεκτών που διατίθενται από πολλούς προμηθευτές. Αυτή που χρησιμοποιείται εδώ είναι η ασπίδα τερματικού της Freetronics.


Τα καλώδια σύνδεσης μπορούν να εισαχθούν και να βιδωθούν στον ακροδέκτη. Έχουμε χρησιμοποιήσει ακροδέκτες και τους έχουμε πρεσάρει πάνω από το καλώδιο. Αυτό επιτρέπει μια ασφαλή βιδωτή σύνδεση. Παρέχουν επίσης προστασία για πολύκλωνα καλώδια.

Παροχή ρεύματος
Για την τροφοδοσία του Arduino και της σειράς αισθητήρων χρειαζόμαστε 12V DC. Το hydreon RG-11 απαιτεί 12V, ωστόσο όλο το υπόλοιπο υλικό απαιτεί μόνο 5V. Για να πάρουμε ρεύμα στο μετεωρολογικό σταθμό θα εισάγουμε τα 12V μέσω του καλωδίου ethernet. Επειδή το Ethernet του Arduino λειτουργεί μόνο με ταχύτητα 10MB/s, χρειαζόμαστε μόνο 2 ζεύγη από τα 4 ζεύγη καλωδίων του καλωδίου ethernet. Έτσι, αυτό μας επιτρέπει να χρησιμοποιήσουμε τα άλλα ζεύγη που δεν χρησιμοποιούνται. Για να διοχετεύσουμε ρεύμα μέσω αυτού του καλωδίου θα χρησιμοποιήσουμε μόνο 1 ζεύγος. Για περισσότερες λεπτομέρειες σχετικά με τη λειτουργία ρεύματος μέσω του Ethernet δείτε το ακόλουθο σεμινάριο.

Θα μπορούσαμε να τροφοδοτήσουμε την πλακέτα Arduino χρησιμοποιώντας 12V DC αλλά αυτό θέτει τον ρυθμιστή τάσης στη μέγιστη τάση εισόδου του. Πρέπει να μετατρέψει τα 12V σε 5V. Το μεγαλύτερο μέρος της πτώσης τάσης μετατρέπεται σε θερμότητα, γεγονός που κάνει τον ρυθμιστή να λειτουργεί αρκετά θερμά. Για να το αποφύγουμε αυτό χρησιμοποιήσαμε έναν μετατροπέα τάσης buck που παίρνει τα 12V και τα βγάζει στα 9V. Αυτό είναι ρυθμιζόμενο μέσω του μπλε trimpot στην πλακέτα. (Η εικόνα δεν είναι σε κλίμακα)

Επόμενο βήμα
Στο μέρος 2 αυτού του έργου θα συνδέσουμε τον αισθητήρα θερμοκρασίας DS18B20 και θα ξεκινήσουμε το σκίτσο Arduino Weather Station Sketch με τον κώδικα για αυτόν τον αισθητήρα.







Post a Comment

0 Comments