- Απαιτούμενα στοιχεία για το Arduino Solar Tracker:
- Πώς λειτουργεί ένας ηλιακός ανιχνευτής άξονα;
- Πώς να δημιουργήσετε ένα περιστρεφόμενο ηλιακό πλαίσιο χρησιμοποιώντας το Arduino:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Ηλιακός ιχνηλάτης ενός άξονα χρησιμοποιώντας τον κωδικό Arduino:
Σε αυτό το άρθρο, πρόκειται να φτιάξουμε ένα ηλιακό πάνελ Sun Tracking χρησιμοποιώντας το Arduino, στο οποίο θα χρησιμοποιήσουμε δύο LDR (αντίσταση που εξαρτάται από το φως) για να ανιχνεύσουμε το φως και έναν σερβοκινητήρα για να περιστρέψουμε αυτόματα το ηλιακό πλαίσιο προς την κατεύθυνση του ηλιακού φωτός. Το πλεονέκτημα αυτού του έργου είναι ότι οι ηλιακοί συλλέκτες θα ακολουθούν πάντα το φως του ήλιου θα αντιμετωπίζουν πάντα τον ήλιο για να φορτίζονται συνεχώς και μπορούν να παρέχουν στην τροφοδοσία τη μέγιστη ισχύ. Το πρωτότυπο είναι πολύ εύκολο στη δημιουργία. Παρακάτω θα βρείτε την πλήρη περιγραφή του τρόπου λειτουργίας του και του τρόπου κατασκευής του πρωτοτύπου.
Απαιτούμενα στοιχεία για το Arduino Solar Tracker:
Τα ακόλουθα είναι τα στοιχεία που απαιτούνται για τη δημιουργία ενός συστήματος ηλιακής παρακολούθησης χρησιμοποιώντας το Arduino, τα περισσότερα από τα εξαρτήματα πρέπει να είναι διαθέσιμα στο τοπικό σας κατάστημα.
- Σερβο κινητήρας (sg90)
- Ηλιακά πάνελ
- Arduino Uno
- LDR's X 2 (Φωτιστική Αντίσταση)
- 10Κ αντιστάσεις X 2
- Μπαταρία (6 έως 12V)
Πώς λειτουργεί ένας ηλιακός ανιχνευτής άξονα;
Σε αυτό το έργο, οι LDR λειτουργούν ως ανιχνευτές φωτός. Πριν πάμε σε λεπτομέρειες, θα πρέπει να καταλάβουμε πώς λειτουργεί το LDR. Το LDR (Light Dependent Resistor) επίσης γνωστό ως φωτοαντίσταση είναι η ευαίσθητη στο φως συσκευή. Η αντίστασή του μειώνεται όταν το φως πέφτει πάνω του και γι 'αυτό χρησιμοποιείται συχνά σε κύκλωμα ανίχνευσης σκοτεινού ή φωτός. Δείτε τα διάφορα κυκλώματα με βάση το LDR εδώ.
Τα δύο LDR είναι τοποθετημένα στις δύο πλευρές του ηλιακού πλαισίου και το Servo Motor χρησιμοποιείται για την περιστροφή του ηλιακού πλαισίου. Το σερβο μετακινεί το ηλιακό πάνελ προς το LDR του οποίου η αντίσταση θα είναι χαμηλή, σημαίνει προς το LDR στο οποίο πέφτει το φως, έτσι θα συνεχίσει να ακολουθεί το φως. Και αν υπάρχει κάποια ποσότητα φωτός που πέφτει και στα δύο LDR, τότε ο σερβο δεν θα περιστραφεί. Το σερβο θα προσπαθήσει να μετακινήσει το ηλιακό πάνελ στη θέση όπου και τα δύο LDR θα έχουν την ίδια αντίσταση μέσα όπου η ίδια ποσότητα φωτός θα πέσει και στις δύο αντιστάσεις και εάν η αντίσταση ενός από το LDR αλλάξει τότε περιστρέφεται προς χαμηλότερη αντίσταση LDR. Ελέγξτε το βίντεο επίδειξης στο τέλος αυτού του άρθρου.
Πώς να δημιουργήσετε ένα περιστρεφόμενο ηλιακό πλαίσιο χρησιμοποιώντας το Arduino:
Για να δημιουργήσετε το πρωτότυπο, θα πρέπει να ακολουθήσετε τα παρακάτω βήματα:
Βήμα 1:
Πρώτα απ 'όλα, πάρτε ένα μικρό κομμάτι χαρτόνι και κάντε μια τρύπα στο ένα άκρο. Θα βάλουμε τη βίδα σε αυτήν για να την διορθώσουμε με το σερβο αργότερα.
Βήμα 2:
Τώρα στερεώστε δύο μικρά κομμάτια χαρτονιού το ένα με το άλλο σε σχήμα V με τη βοήθεια κόλλας ή θερμού πιστολιού και τοποθετήστε το ηλιακό πάνελ πάνω του.
Βήμα 3:
Στη συνέχεια, συνδέστε την κάτω πλευρά του σχήματος V στο άλλο άκρο ενός μικρού κομματιού χαρτονιού στο οποίο κάνατε μια τρύπα στο πρώτο βήμα.
Βήμα 4:
Τώρα τοποθετήστε τη βίδα στην τρύπα που κάνατε στην πλακέτα κάρτας και τοποθετήστε τη μέσα από την τρύπα στο σερβο. Η βίδα συνοδεύεται από το σερβοκινητήρα όταν το αγοράζετε.
Βήμα 5:
Τώρα τοποθετήστε το σερβο σε άλλο κομμάτι χαρτόνι. Το μέγεθος του χαρτονιού θα πρέπει να είναι αρκετά μεγαλύτερο ώστε να μπορείτε να τοποθετήσετε ένα Arduino Uno, ένα ψωμί και μια μπαταρία σε αυτό.
Βήμα 6:
Συνδέστε τα LDR στις δύο πλευρές του ηλιακού πλαισίου με τη βοήθεια κόλλας. Βεβαιωθείτε ότι έχετε κολλήσει τα καλώδια με τα πόδια των LDR. Θα πρέπει να τα συνδέσετε αργότερα με τις αντιστάσεις.
Βήμα 7:
Τώρα τοποθετήστε το Arduino, την μπαταρία και το breadboard στο χαρτόνι και πραγματοποιήστε τη σύνδεση όπως περιγράφεται στο διάγραμμα κυκλώματος και στην ενότητα Επεξήγηση παρακάτω. Το τελικό πρωτότυπο φαίνεται παρακάτω.
Διάγραμμα κυκλώματος και επεξήγηση:
Το πλήρες διάγραμμα κυκλώματος για το έργο ηλιακής παρακολούθησης arduino φαίνεται παρακάτω. Όπως μπορείτε να δείτε, το κύκλωμα είναι πολύ απλό και μπορεί εύκολα να κατασκευαστεί με τη βοήθεια ενός μικρού ψωμιού.
Σε αυτό το Arduino Solar Panel Tracker, το Arduino τροφοδοτείται από την μπαταρία 9V και όλα τα άλλα μέρη τροφοδοτούνται από το Arduino. Η προτεινόμενη τάση εισόδου Arduino είναι από 7 έως 12 βολτ, αλλά μπορείτε να την τροφοδοτήσετε εντός της περιοχής από 6 έως 20 βολτ που είναι το όριο. Προσπαθήστε να το τροφοδοτήσετε εντός της συνιστώμενης τάσης εισόδου. Συνδέστε λοιπόν το θετικό καλώδιο της μπαταρίας στο Vin του Arduino και το αρνητικό καλώδιο της μπαταρίας στο έδαφος του Arduino.
Στη συνέχεια, συνδέστε το σερβο στο Arduino. Συνδέστε το θετικό καλώδιο του σερβο στο 5V του Arduino και το καλώδιο γείωσης στο έδαφος του Arduino και μετά συνδέστε το καλώδιο σήματος του Servo στον ψηφιακό ακροδέκτη 9 του Arduino. Το σερβο θα βοηθήσει στη μετακίνηση του ηλιακού πλαισίου.
Τώρα συνδέστε τα LDR στο Arduino. Συνδέστε το ένα άκρο του LDR στο ένα άκρο της αντίστασης 10k και επίσης συνδέστε αυτό το άκρο στο A0 του Arduino και συνδέστε το άλλο άκρο αυτής της αντίστασης στο έδαφος και συνδέστε το άλλο άκρο του LDR στο 5V. Παρομοίως, συνδέστε το ένα άκρο του δεύτερου LDR στο ένα άκρο της άλλης αντίστασης 10k και επίσης συνδέστε το άκρο στο A1 του Arduino και συνδέστε το άλλο άκρο αυτής της αντίστασης στο έδαφος και συνδέστε το άλλο άκρο του LDR στα 5V Arduino.
Ηλιακός ιχνηλάτης ενός άξονα χρησιμοποιώντας τον κωδικό Arduino:
Ο κωδικός για αυτό το Solar Panel Tracker με βάση το Arduino είναι εύκολος και εξηγείται καλά από σχόλια. Πρώτα απ 'όλα, θα συμπεριλάβουμε τη βιβλιοθήκη για σερβοκινητήρα. Στη συνέχεια, θα ξεκινήσουμε τη μεταβλητή για την αρχική θέση του σερβοκινητήρα. Μετά από αυτό, θα προετοιμάσουμε τις μεταβλητές για ανάγνωση από τους αισθητήρες LDR και το Servo.
#περιλαμβάνω
Η εντολή sg90.atach (servopin) θα διαβάσει το Servo από τον πείρο 9 του Arduino. Στη συνέχεια, ορίζουμε τους ακροδέκτες LDR ως ακίδες εισόδου, ώστε να μπορούμε να διαβάσουμε τις τιμές από τους αισθητήρες και να μετακινήσουμε το ηλιακό πλαίσιο σύμφωνα με αυτό. Στη συνέχεια, ρυθμίζουμε τον σερβο κινητήρα σε 90 μοίρες που είναι η αρχική θέση για το σερβο.
κενή ρύθμιση () {sg90.attach (servopin); // επισυνάπτει το servo στον pin 9 pinMode (LDR1, INPUT). // Κάνοντας τον πείρο LDR ως είσοδο pinMode (LDR2, INPUT). sg90.write (αρχική_ θέση); // Μετακίνηση σερβο σε καθυστέρηση 90 μοιρών (2000). // δίνοντας καθυστέρηση 2 δευτερολέπτων}
Στη συνέχεια, θα διαβάσουμε τις τιμές από τα LDR και θα αποθηκεύσουμε σε R1 και R2. Τότε θα κάνουμε τη διαφορά μεταξύ των δύο LDR για να μετακινήσουμε το σερβο ανάλογα. Εάν η διαφορά μεταξύ τους θα είναι μηδέν, αυτό σημαίνει ότι η ίδια ποσότητα φωτός πέφτει και στα δύο LDR έτσι ώστε το ηλιακό πάνελ να μην κινείται. Έχουμε χρησιμοποιήσει μια μεταβλητή που ονομάζεται σφάλμα και η τιμή της είναι 5, η χρήση αυτής της μεταβλητής είναι ότι εάν η διαφορά μεταξύ των δύο LDR θα είναι κάτω από 5 τότε το σερβο δεν θα μετακινηθεί. Εάν δεν το κάνουμε αυτό, το σερβο θα συνεχίσει να περιστρέφεται. Και αν η διαφορά είναι μεγαλύτερη από την τιμή σφάλματος (5), τότε ο σερβο θα μετακινήσει το ηλιακό πλαίσιο προς την κατεύθυνση του LDR, στο οποίο πέφτει φως. Δείτε τον Πλήρες κώδικα και το βίντεο επίδειξης παρακάτω.
int R1 = analogRead (LDR1); // τιμή ανάγνωσης από LDR 1 int R2 = analogRead (LDR2); // τιμή ανάγνωσης από LDR 2 int diff1 = abs (R1 - R2); // Υπολογισμός της διαφοράς μεταξύ του LDR's int diff2 = abs (R2 - R1); if ((diff1 <= error) - (diff2 <= error)) {// εάν η διαφορά βρίσκεται κάτω από το σφάλμα, τότε μην κάνετε τίποτα άλλο άλλο {if (R1> R2) {initial_position = --initial_position; // Μετακινήστε το σέρβο προς 0 βαθμός} εάν (R1 <R2) {initial_position = ++ initial_position; // Μετακινήστε το σερβο σε 180 μοίρες}}
Έτσι μπορείτε να δημιουργήσετε ένα απλό Solar Panel Tracker, το οποίο θα κινείται αυτόματα προς το φως σαν ηλίανθος. Εδώ έχουμε χρησιμοποιήσει το ηλιακό πλαίσιο χαμηλής ισχύος για να μειώσουμε το βάρος, εάν σκοπεύετε να χρησιμοποιήσετε υψηλής ισχύος ή βαρέως ηλιακού πάνελ τότε πρέπει να επιλέξετε τον κινητήρα Servo ανάλογα.