Κατηγορίες: Κύκλωμα μικροελεγκτή
Αριθμός προβολών: 3195
Σχόλια σχετικά με το άρθρο: 0

RTC ρολόγια ρολογιών πραγματικού χρόνου - Σκοπός, τύποι και παραδείγματα χρήσης

 

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

Ωστόσο, παρόλο που ακολουθούν σε μια δεδομένη συχνότητα και συχνότερα εξαρτώνται από τον συντονιστή χαλαζία, όταν εκτελούν πράξεις σε πραγματικό χρόνο και ειδικά αν συνδέονται με την ώρα της ημέρας, μετατοπίζονται στο χρόνο. Για να επιλύσετε αυτό το πρόβλημα, χρησιμοποιήστε ρολόγια ρολογιού ή RTC σε πραγματικό χρόνο.


Τι είναι αυτό;

Το RTC (ρολόι πραγματικού χρόνου, Ρώσικο ρολόι πραγματικού χρόνου) είναι ένας τύπος μικροκυκλώματος που προορίζεται για τον υπολογισμό του χρόνου σε "πραγματικές" μονάδες (δευτερόλεπτα, λεπτά, ώρες κλπ.).

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

Η ακρίβεια ανάγνωσης εξαρτάται από την ακρίβεια ποιότητας και συντονισμού του εσωτερικού ταλαντωτή ή του εξωτερικού ταλαντωτή κρυστάλλου. Ταυτόχρονα, η ακρίβεια του χαλαζία και του RTC, αντίστοιχα, δεικνύεται σε χερτς και όχι σε εκατοστιαία αναλογία, αλλά σε "ppm", για παράδειγμα ± 12 ppm, ± 50 ppm. Αυτό αντιπροσωπεύει τα μέρη ανά εκατομμύριο, δηλαδή τον αριθμό των μερών ανά εκατομμύριο κάποιας μέσης τιμής.

Ρολόι ρολογιού πραγματικού χρόνου RTC

Τα ρολόγια σε πραγματικό χρόνο μπορούν να υλοποιηθούν με βάση τους μικροελεγκτές, ωστόσο η χρήση ειδικών μαρκών μπορεί να μειώσει την κατανάλωση ενέργειας, καθώς οι περισσότεροι μικροελεγκτές, ακόμη και σε κατάσταση αναστολής λειτουργίας (ή λειτουργία χαμηλής κατανάλωσης) καταναλώνουν περισσότερη ισχύ από τα ειδικά ολοκληρωμένα κυκλώματα. Τα RTCs μπορούν επίσης να ενσωματωθούν στον ίδιο τον μικροελεγκτή (όπως στο STM32).

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

RTC chip με ενσωματωμένη μπαταρία

Ταξινόμηση

Η ταξινόμηση των τσιπ RTC ενδέχεται να διαφέρει από τον κατασκευαστή στον κατασκευαστή. Τα πιο συνηθισμένα ρολόγια σε πραγματικό χρόνο κατασκευαστών όπως: Maxim Integrated και STMicroelectronics. Υπάρχουν μικροτσίπ στην αγορά από άλλες εταιρείες:

  • Intersil Corporation (DC Ρενεζδ Electronics);

  • Cymbet (γραμμή EnerChip ™ RTC, διακριτικό χαρακτηριστικό - ενσωματωμένη μπαταρία στερεάς κατάστασης).

  • NXP (RTC με ημερολόγιο, υποστηρίζοντας πρωτόκολλα I2C ή SPI)

  • Zilog;

  • Epson

  • ON ημιαγωγών.

Μονάδα ρολογιού πραγματικού χρόνου με τσιπ DS1307

Το Maxim Integrated χρησιμοποιεί το είδος της διασύνδεσης ελέγχου ως κύριο κριτήριο για την ταξινόμηση των τσιπ RTC, και συγκεκριμένα:

1. Τσιπ RTC με διεπαφή σειριακού ελέγχου: I2C, 3-wire, SPI.

2. Με παράλληλη διασύνδεση ελέγχου:

  • με πολυσύνθετο δίαυλο δεδομένων / δεδομένων.

  • με κοινόχρηστο διαύλου δεδομένων και λεωφορείων δεδομένων.

  • με μονοκόλλητη διεπαφή 1 συρμάτων.

Μονάδα ρολογιού πραγματικού χρόνου

Μπορείτε επίσης να ταξινομήσετε με μορφή παρουσίασης δεδομένων:

  • Ημερολόγιο Με τη μορφή ενός προτύπου YY-MM-DD για την ημερομηνία και HH-MM-SS για το χρόνο, το χρόνο και τις άλλες μορφές τους.

  • Δυαδικό Με τη μορφή ενός συνεχούς δυαδικού μετρητή μονάδων χρόνου (δευτερόλεπτα ή τα κλάσματά τους).

Ανάλογα με το σκοπό του μικροκυκλώματος στο κύκλωμα της συσκευής και τον τύπο του, εάν το IC με μια απεικόνιση ημερολογίου, θα λειτουργεί ως κανονικό ρολόι και, στην περίπτωση δυαδικής, για εφαρμογές όπως αναφορές χρονικών περιόδων, για παράδειγμα, περίοδος ισχύος άδειας, (για παράδειγμα, ηλεκτρικοί μετρητές), για παράδειγμα, στον κατάλογο Maxim Integrated ονομάζονται "Elapsed Time Counter" - ο μετρητής χρόνου που έχει περάσει, ένα παράδειγμα ενός τέτοιου IC είναι το DS1683.

Σε άλλες περιπτώσεις, τα μικροκυκλώματα ρολογιού σε πραγματικό χρόνο μπορούν να ταξινομηθούν ανάλογα με λειτουργικότητα ή άλλα χαρακτηριστικά:

  • Η παρουσία μιας ενσωματωμένης γεννήτριας ή είναι απαραίτητη η χρήση εξωτερικής γεννήτριας (χαλαζία).

  • Με την παρουσία μιας ενσωματωμένης πηγή ενέργειας ή τη δυνατότητα χρήσης μιας εξωτερικής μπαταρίας.

  • Από τον τύπο και το μέγεθος της εσωτερικής μνήμης και των πρωτοκόλλων επικοινωνίας με τον "εξωτερικό" κόσμο (περιγράφεται παραπάνω).

  • Με την παρουσία μιας φανταστικής διασύνδεσης (phantom) για την πρόσβαση στους εσωτερικούς καταχωρητές του μικροκυκλώματος (για ρύθμιση, τρόπους ρύθμισης ή τιμές ανάγνωσης).

  • Άλλες λειτουργίες: watchdog, συναγερμός, δεύτερη έξοδος, έλεγχος ισχύος, η δυνατότητα φόρτισης μιας εξωτερικής μπαταρίας κ.λπ.

Και τέλος, πολλοί κατασκευαστές ταξινομούν τις συσκευές τους σύμφωνα με το επίπεδο κατανάλωσης ενέργειας, κατά μέσο όρο, η κατανάλωση ρεύματος κυμαίνεται από 200 έως 1500 nA, αλλά μπορεί επίσης να βγαίνει από αυτό το εύρος ανάλογα με το συγκεκριμένο IC και τον κατασκευαστή.


Ερασιτεχνική ραδιοφωνική πρακτική

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

Η χρήση των τσιπ RTC σε ραδιοερασιτεχνική πρακτική

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

Είναι βολικό να χρησιμοποιηθούν τόσο για έτοιμες συσκευές όσο και για μακέτες - μπορείτε να χρησιμοποιήσετε φούστες με βύσματα και βύσματα όπως το Dupont, εάν εγκαταστήσετε μια χτένα στη μονάδα για να τα συνδέσετε ή να κολλήσετε τα καλώδια απευθείας στα νικέλια του πίνακα (βλ. Συμβουλές για τη γρήγορη συναρμολόγηση πλακετών κυκλωμάτων σε παντόφλες).

Μονάδες με RTC

Μεταξύ των arduino και σύγχρονων κατασκευαστών σπιτιού, οι πιο ευρέως χρησιμοποιούμενες είναι οι μικρο-κύκλοι ρολογιών πραγματικού χρόνου Maxim Integrated και οι ενότητες που βασίζονται σε αυτές, και συγκεκριμένα:

  • DS1302;

  • DS1307;

  • DS3231.

Οι διαφορές τους φαίνονται στον παρακάτω πίνακα.

Χαρακτηριστικά των μαρκών DS1302, DS1307 και DS3231

Όπως βλέπετε, όλοι επικοινωνούν με τον μικροελεγκτή μέσω του διαύλου I2C και το DS1302 μέσω SPI, αν και το δελτίο δεδομένων λέει "μια απλή 3-wire σειριακή διασύνδεση κατάλληλη για τους περισσότερους μικροελεγκτές". Και μπορεί να συνδεθεί όχι μόνο σε 10-13 ακίδες του Arduinoστην οποία αντιστοιχίζονται οι ακίδες, είναι SPI, αλλά για τα άλλα εγκατεστημένα στο σκίτσο, τα κυκλώματα θα είναι χαμηλότερα. Τα δεδομένα για τα IC αυτά με όλα τα τεχνικά δεδομένα επισυνάπτονται στο άρθρο.

Τεχνικά φύλλα για τσιπ σε πραγματικό χρόνο:

Το Arduino UNO υποστηρίζει και τα δύο αυτά πρωτόκολλα, τα οποία μπορείτε να δείτε στο παρακάτω διάγραμμα (σημειώνονται με μωβ και γκρι για SPI και I2C, αντίστοιχα).

Arduino uno

Όπως και το Raspberry pi.

Σμέουρα pi

Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε οποιαδήποτε από αυτές τις ενότητες από κάθε πλατφόρμα. Μπορείτε να δείτε τις εξωτερικές διαφορές των μονάδων στην παρακάτω εικόνα, αλλά η διάταξη του πίνακα μπορεί να διαφέρει, δείτε τη σήμανση IC.

Για να μπορέσει ο Arduino να συνεργαστεί με την RTC, χρειάζεστε μια βιβλιοθήκη, αλλά επειδή δεν είναι στο πρότυπο πακέτο Arduino IDE, θα πρέπει να το κατεβάσετε. Υπάρχουν βιβλιοθήκες στο δίκτυο για κάθε ένα από τα εξεταζόμενα IC και υπάρχουν καθολικές βιβλιοθήκες που πρέπει να επιλέξετε και ποιο θα είναι πιο βολικό.

Συνημμένη βιβλιοθήκη - siduino_rtc.zip. Σημειώστε ότι ο τύπος IC είναι χειροκίνητα ρυθμισμένος σε αυτό, και για το DS1302 τα συμπεράσματα στα οποία είναι συνδεδεμένο:

include // Συνδέστε τη βιβλιοθήκη
χρόνος για την επόμενη χρονική περίοδο (RTC_DS3231); // Δημιουργήστε ένα αντικείμενο χρόνου για το DS3231 IC
χρόνος του χρόνου RDA (RTC_DS1307); // ΓΙΑ DS1307
χρόνος αναδρομής (RTC_DS1302, RST, CLK, DAT). // για DS1302.
// Αντί των RST, CLK και DAT, οι αριθμοί των pin arduino,
// στην οποία συνδέονται οι αντίστοιχοι ακροδέκτες της μονάδας ρολογιού

Διάγραμμα για το DS1302, για άλλη μια φορά υπενθυμίζει ότι τα συμπεράσματα μπορεί να είναι διαφορετικά:

Σχέδιο σύνδεσης DS1302 σε Arduino

Αλλά η γραμμή δεδομένων DS1307 και DS3231 συνδέεται μόνο με τις ακίδες A5 και A4 του Arduino UNO (για άλλες αναθεωρήσεις και εκδόσεις του πίνακα, δείτε το pinout).

Διάγραμμα σύνδεσης RTC έως Arduino
Διάγραμμα σύνδεσης RTC έως Arduino

Συμπέρασμα

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

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

Δείτε επίσης στο i.electricianexp.com:

  • Τι είναι το Display Nextion και πώς να συνεργαστείτε μαζί του;
  • Μικροελεγκτές PIC για αρχάριους
  • Τύποι και διάταξη των μικροελεγκτών AVR
  • Προγραμματιζόμενοι μικροελεγκτές στο JavaScript: ποιο από αυτά επιλέγει, χαρακτηριστικά ...
  • Μετρήστε τη θερμοκρασία και την υγρασία στο Arduino - μια επιλογή μεθόδων

  •