Πίνακας περιεχομένων:
- Βήμα 1: Τροποποιήσεις πομπού
- Βήμα 2: Τροποποιήσεις δέκτη: Προσθήκη PIC16F887 και HD44780 LCD
- Βήμα 3: Λίγες αναφορές…
- Βήμα 4: Συμπεράσματα και μελλοντική εργασία
Βίντεο: Ασύρματη επικοινωνία χρησιμοποιώντας φθηνές μονάδες RF 433MHz και μικροελεγκτές Pic. Μέρος 2: 4 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Στο πρώτο μέρος αυτού του οδηγού, έδειξα πώς να προγραμματίσετε ένα PIC12F1822 χρησιμοποιώντας μεταγλωττιστή MPLAB IDE και XC8, για να στείλετε μια απλή συμβολοσειρά ασύρματα χρησιμοποιώντας φθηνές μονάδες TX/RX 433MHz.
Η μονάδα δέκτη συνδέθηκε μέσω προσαρμογέα καλωδίου USB σε UART TTL σε υπολογιστή και τα δεδομένα που ελήφθησαν εμφανίστηκαν στο RealTerm. Η επικοινωνία πραγματοποιήθηκε στα 1200 baud και η μέγιστη εμβέλεια που επιτεύχθηκε ήταν περίπου 20 μέτρα μέσω τοίχων. Οι δοκιμές μου έδειξαν ότι για εφαρμογές όπου δεν υπάρχει ανάγκη για υψηλό ρυθμό δεδομένων και μεγάλη εμβέλεια και για συνεχή μετάδοση, αυτές οι μονάδες είχαν εξαιρετική απόδοση.
Το δεύτερο μέρος αυτού του έργου δείχνει πώς μπορείτε να προσθέσετε έναν μικροελεγκτή PIC16F887 και μια μονάδα LCD 16 × 2 χαρακτήρων στον δέκτη. Επιπλέον, στον πομπό, ακολουθείται ένα απλό πρωτόκολλο με την προσθήκη μερικών προκαταρκτικών byte. Αυτά τα byte είναι απαραίτητα για την ενότητα RX για να προσαρμόσει το κέρδος της πριν λάβει το πραγματικό ωφέλιμο φορτίο. Από την πλευρά του παραλήπτη, ο PIC είναι υπεύθυνος για τη λήψη και την επικύρωση των δεδομένων που εμφανίζονται στην οθόνη LCD.
Βήμα 1: Τροποποιήσεις πομπού
Στο πρώτο μέρος, ο πομπός έστελνε μια απλή συμβολοσειρά κάθε λίγα ms χρησιμοποιώντας οκτώ δυαδικά ψηφία δεδομένων, έναρξη και ένα bit διακοπής στα 1200 bit ανά δευτερόλεπτο. Καθώς η μετάδοση ήταν σχεδόν συνεχής, ο δέκτης δεν είχε πρόβλημα να προσαρμόσει το κέρδος του στα ληφθέντα δεδομένα. Στο δεύτερο μέρος, το υλικολογισμικό τροποποιείται έτσι ώστε η μετάδοση να εκτελείται κάθε 2,3 δευτερόλεπτα. Αυτό επιτυγχάνεται χρησιμοποιώντας τη διακοπή του χρονοδιακόπτη του φύλακα (ρυθμισμένο σε 2,3 δευτερόλεπτα) για να αφυπνιστεί ο μικροελεγκτής, ο οποίος τίθεται σε κατάσταση αδράνειας μεταξύ κάθε μετάδοσης.
Προκειμένου ο δέκτης να έχει χρόνο για να ρυθμίσει με ακρίβεια το κέρδος του, αποστέλλονται μερικά πριμολογικά byte με σύντομους χρόνους LO "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" πριν από τα πραγματικά δεδομένα. Το ωφέλιμο φορτίο υποδεικνύεται από ένα byte έναρξης & και ένα stop**.
Ως εκ τούτου, το απλό πρωτόκολλο περιγράφεται ως εξής:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Hello InstWorld!*
Επιπλέον, ένας πυκνωτής τανταλίου αποσύνδεσης 10uF προστίθεται μεταξύ του V+ και του GND της μονάδας RF για να απαλλαγούμε από τον κυματισμό που προκαλείται από τη μονάδα αύξησης του dc-dc.
Ο ρυθμός Baud παρέμεινε ο ίδιος, αλλά οι δοκιμές μου έδειξαν ότι και στα 2400 baud, η μετάδοση ήταν αποτελεσματική.
Βήμα 2: Τροποποιήσεις δέκτη: Προσθήκη PIC16F887 και HD44780 LCD
Ο σχεδιασμός του δέκτη βασίστηκε στο PIC16F887, αλλά μπορείτε να χρησιμοποιήσετε έναν διαφορετικό PIC με μικρές τροποποιήσεις. Στο έργο μου χρησιμοποίησα αυτό το 40 ακίδων μC, καθώς θα χρειαστώ επιπλέον καρφίτσες για μελλοντικά έργα με βάση αυτό το σχέδιο. Η έξοδος της μονάδας RF συνδέεται με τον ακροδέκτη UART rx, ενώ ένα LCD 16x2 χαρακτήρων (HD44780) συνδέεται μέσω των ακίδων PORTB b2-b7 για την εμφάνιση των ληφθέντων δεδομένων.
Όπως και στο Μέρος 1, τα δεδομένα που λαμβάνονται εμφανίζονται επίσης στο RealTerm. Αυτό επιτυγχάνεται χρησιμοποιώντας τον ακροδέκτη UART tx, ο οποίος συνδέεται μέσω προσαρμογέα καλωδίου USB σε UART TTL σε υπολογιστή.
Εξετάζοντας το υλικολογισμικό, όταν πραγματοποιείται διακοπή UART, το πρόγραμμα ελέγχει εάν το byte που λαμβάνεται είναι byte έναρξης ('&'). Εάν ναι, ξεκινά την εγγραφή των επόμενων byte, έως ότου πιάσει ένα stop byte ('*'). Μόλις ληφθεί ολόκληρη η πρόταση και αν συμμορφώνεται με το απλό πρωτόκολλο που περιγράφηκε προηγουμένως, τότε αποστέλλεται στην οθόνη LCD, καθώς και στη θύρα UART tx.
Πριν από τη λήψη του byte εκκίνησης, ο δέκτης έχει ήδη προσαρμόσει το κέρδος του χρησιμοποιώντας τα προηγούμενα bytes προοιμίου. Αυτά είναι κρίσιμα για την ομαλή λειτουργία του δέκτη. Πραγματοποιείται ένας απλός έλεγχος σφάλματος υπέρβασης και πλαισίωσης, ωστόσο αυτό είναι μόνο μια βασική εφαρμογή χειρισμού σφαλμάτων UART.
Όσον αφορά το υλικό, χρειάζονται μερικά μέρη για τον δέκτη:
1 x PIC16F887
1 x HD44780
1 x μονάδα RF Rx 433Mhz
Πυκνωτής τανταλίου 1 x 10 μF (αποσύνδεση)
Περικοπή 1 x 10 K (φωτεινότητα γραμματοσειράς LCD)
1 x 220 Ω 1/4 W αντίσταση (LCD οπίσθιος φωτισμός)
1 x 1 KΩ 1/4 W
1 x Κεραία 433Mhz, 3dbi
Στην πράξη, τα λαμβανόμενα λειτούργησαν εξαιρετικά καλά σε εμβέλεια έως 20 μέτρα μέσω τοίχων.
Βήμα 3: Λίγες αναφορές…
Υπάρχουν πολλά ιστολόγια στον ιστό που παρέχουν συμβουλές για προγραμματισμό και αντιμετώπιση προβλημάτων PIC εκτός από τον επίσημο ιστότοπο της Microschip. Βρήκα τα ακόλουθα πολύ χρήσιμα:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
Βήμα 4: Συμπεράσματα και μελλοντική εργασία
Ελπίζω ότι αυτό το εκπαιδευτικό σάς βοήθησε να καταλάβετε πώς να χρησιμοποιείτε μονάδες RF και μικροελεγκτές Pic. Μπορείτε να προσαρμόσετε το υλικολογισμικό σας στις δικές σας ανάγκες και να συμπεριλάβετε CRC και κρυπτογράφηση. Εάν θέλετε να κάνετε το σχέδιό σας ακόμη πιο εξελιγμένο, μπορείτε να χρησιμοποιήσετε την τεχνολογία Keeloq της Microschip. Σε περίπτωση που η εφαρμογή σας χρειάζεται δεδομένα διπλής κατεύθυνσης, θα πρέπει να έχετε ένα ζευγάρι TX/RX και στους δύο μικροελεγκτές ή μπορείτε να χρησιμοποιήσετε πιο εξελιγμένο πομποδέκτη ενότητες. Ωστόσο, χρησιμοποιώντας αυτού του είδους τις φθηνές μονάδες 433MHz, μόνο η μισή διπλή επικοινωνία μπορεί να επιτευχθεί. Επιπλέον, για να κάνετε την επικοινωνία πιο αξιόπιστη, θα πρέπει να έχετε κάποια μορφή χειραψίας μεταξύ TX και RX.
Στο επόμενο εκπαιδευτικό, θα σας δείξω μια πρακτική εφαρμογή όπου στον πομπό προστίθεται περιβαλλοντικός αισθητήρας με θερμοκρασία, βαρομετρική πίεση και υγρασία. Εδώ, τα δεδομένα που μεταδίδονται θα περιλαμβάνουν crc και θα έχουν μια βασική κρυπτογράφηση.
Ο αισθητήρας θα χρησιμοποιεί τη θύρα i2c του PIC12F1822, ενώ η εφαρμογή τόσο του πομπού όσο και του δέκτη θα εκτεθεί μέσω σχηματικών και αρχείων pcb. Ευχαριστώ που με διαβάζετε!
Συνιστάται:
Μεγάλη εμβέλεια, 1,8χλμ., Ασύρματη επικοινωνία Arduino έως Arduino με το HC-12 .: 6 βήματα (με εικόνες)
Long Range, 1,8km, Arduino to Arduino Wireless Communication With the HC-12 .: Σε αυτό το εκπαιδευτικό πρόγραμμα θα μάθετε πώς να επικοινωνείτε μεταξύ του Arduinos σε μεγάλη απόσταση έως 1,8km σε εξωτερικούς χώρους. Το HC-12 είναι μια ασύρματη σειριακή θύρα ενότητα επικοινωνίας που είναι πολύ χρήσιμη, εξαιρετικά ισχυρή και εύκολη στη χρήση. Αρχικά θα αφήσετε
Ασύρματη επικοινωνία χρησιμοποιώντας μονάδα πομποδέκτη NRF24L01 για έργα που βασίζονται σε Arduino: 5 βήματα (με εικόνες)
Ασύρματη επικοινωνία με χρήση μονάδας πομποδέκτη NRF24L01 για έργα που βασίζονται σε Arduino: Αυτό είναι το δεύτερο διδακτικό μου σεμινάριο σχετικά με τα ρομπότ και τους μικροελεγκτές. Είναι πραγματικά εκπληκτικό να βλέπεις το ρομπότ σου ζωντανό και να λειτουργεί όπως αναμενόταν και πίστεψέ με θα είναι πιο διασκεδαστικό αν ελέγχετε το ρομπότ σας ή άλλα πράγματα ασύρματα με γρήγορο και
Ασύρματη σειριακή επικοινωνία χρησιμοποιώντας το Bluefruit: 4 βήματα
Ασύρματη σειριακή επικοινωνία χρησιμοποιώντας το Bluefruit: Ακολουθεί ένας απλός οδηγός βήμα προς βήμα για να αντικαταστήσετε τα καλώδιά σας με σύνδεση χαμηλής κατανάλωσης bluetooth: Μου πήρε λίγο χρόνο για να το καταλάβω, επειδή δεν υπάρχει σχεδόν καμία τεκμηρίωση για να το κάνουμε αυτό με τη σύγχρονη τεχνολογία bluetooth χαμηλής ενέργειας, όπως ως Bluefrui
ΜΟΝΑΔΕΣ ΟΔΗΓΗΣΗΣ NIXIE TUBE - Μέρος Ι: 8 Βήματα (με εικόνες)
ΕΝΟΤΗΤΕΣ ΟΔΗΓΗΣΗΣ NIXIE TUBE - Μέρος Ι: Αυτό που έψαχνα ήταν ένας τρόπος για να αντιμετωπίσω εύκολα πολλαπλά ψηφία nixie tube σε διάφορα έργα στα οποία δούλευα. Reallyθελα πραγματικά έναν εύκολο τρόπο για να συνδέσω πολλά ψηφία μαζί με ελάχιστη απόσταση ψηφίων και να ελέγξω τα ψηφία
Πολλαπλές μονάδες σκληρού δίσκου ή μονάδες οπτικών σε έναν υπολογιστή που πραγματικά δεν μπορούν: 8 βήματα
Πολλαπλές μονάδες σκληρού δίσκου ή μονάδες οπτικών σε έναν υπολογιστή που πραγματικά δεν μπορούν: ΠΡΩΤΟ ΦΟΡΟΛΟΓΙΟ Έτσι, έκανα αυτό το διδακτικό μετά από χρόνια τρολάρισμα και ανάγνωσης, είχα τελικά τα κότσια να φτιάξω το δικό μου. Με λίγα λόγια, σας δείχνω πώς να εγκαταστήσετε υλικό (σε αυτήν την περίπτωση δύο σκληρούς δίσκους IDE και δύο οπτικούς δίσκους IDE) σε ένα IDE m