Πίνακας περιεχομένων:

Φορητή γεννήτρια λειτουργιών σε WiFi και Android: 10 βήματα
Φορητή γεννήτρια λειτουργιών σε WiFi και Android: 10 βήματα

Βίντεο: Φορητή γεννήτρια λειτουργιών σε WiFi και Android: 10 βήματα

Βίντεο: Φορητή γεννήτρια λειτουργιών σε WiFi και Android: 10 βήματα
Βίντεο: Πώς να διορθώσετε γρήγορα τη σύνδεσή σας στο Διαδίκτυο Εξερευνήθηκαν τρεις επιλογές 2024, Ιούλιος
Anonim
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android
Φορητή γεννήτρια λειτουργιών σε WiFi και Android

Κοντά στα τέλη του 20ού αιώνα, εμφανίστηκαν διάφορες τεχνολογικές καινοτομίες, ειδικά στον τομέα των επικοινωνιών. αλλά όχι μόνο. Για εμάς, οι χρήστες, οι καταναλωτές και οι μηχανικοί ήρθαν στο φως η ραγδαία ανάπτυξη ηλεκτρονικών συσκευών, που μπορούν να κάνουν τη ζωή μας πολύ πιο εύκολη: Έξυπνα ρολόγια, έξυπνα σπίτια, smartphone κ.λπ.

Δεδομένου ότι όλα μπορούν να είναι «έξυπνα» στις μέρες μας, αποφάσισα να σχεδιάσω μια εξαιρετικά χρήσιμη συσκευή που θα αποτελεί μέρος του βασικού ηλεκτρονικού εργαστηριακού εξοπλισμού - Portable Function Generator, ελεγχόμενη από smartphone με λειτουργικό σύστημα Android μέσω WiFi απευθείας ή WiFi Local Area Network (WLAN).

Γιατί πρέπει να φτιάξουμε αυτήν τη συσκευή;

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

Και φυσικά, η συσκευή πρέπει να κατασκευαστεί λόγω ενθουσιασμού, υπακούοντας στις αρχές του DIY - Μερικές φορές πρέπει απλώς να κάνουμε πράγματα μόνοι μας για να νιώσουμε σωστά:)

Βασικά χαρακτηριστικά

Παροχή ηλεκτρικού ρεύματος

  • Υποδοχή USB Type-A, τόσο για συστήματα τροφοδοσίας όσο και για προγραμματισμό
  • Πλήρες σύστημα διαχείρισης μπαταριών Li -Ion - Φόρτιση και σταθερές λειτουργίες
  • Εφαρμογή Smart Switch - δεν χρειάζεται διακόπτης εναλλαγής ισχύος
  • Διπλή τροφοδοσία: +3.3V και -3.3V για συμμετρική παραγωγή κυματομορφής τάσης

Waveform Generation

  • Εφαρμογή επιπέδου DC στον καταρράκτη εξόδου - μεροληπτική κυματομορφή μεταξύ των ορίων τάσης
  • Δημιουργία κυματομορφής 4 τύπων DDS - Ημιτονοειδές, τρίγωνο, τετράγωνο και DC
  • Υποστήριξη συχνότητας έως 10MHz
  • Ρεύμα εξόδου έως 80mA με μέγιστη διαθεσιμότητα ισχύος 500mW
  • Ξεχωριστά κανάλια για δημιουργία κυματομορφών - διαχωρισμένα κυκλώματα με βάση το AD9834

Επικοινωνία

  • Εφαρμογή του ESP32 - Εφαρμόσιμες δυνατότητες WiFi
  • Πλήρης υποστήριξη TCP/IP από συσκευή γεννήτριας και smartphone Android
  • Δυνατότητα αποθήκευσης παραμέτρων χρήστη για κάθε κύκλο συσκευών
  • Παρακολούθηση κατάστασης - και τα δύο συστήματα γνωρίζουν το ένα το άλλο κατάσταση: FuncGen (ας το πούμε έτσι από εδώ και πέρα) και smartphone.

Διεπαφή χρήστη

  • LCD χαρακτήρων 20 x 4 με απλή διεπαφή δεδομένων 4 bit
  • Εφαρμογή Android - πλήρης έλεγχος χρήστη στη συσκευή FuncGen
  • Κύκλωμα βομβητή - ηχητική ανατροφοδότηση στον χρήστη

Βήμα 1: Διάγραμμα αποκλεισμού - Υλικό

Block Diagram - Hardware
Block Diagram - Hardware
Block Diagram - Hardware
Block Diagram - Hardware

Μονάδα μικροελεγκτών - ATMEGA32L

Ο μικροελεγκτής είναι ένα προγραμματιζόμενο τσιπ που αποτελείται από όλες τις λειτουργίες του υπολογιστή που βρίσκονται σε ένα μόνο ηλεκτρονικό τσιπ. Στην περίπτωσή μας, είναι ο «εγκέφαλος» και ένα κεντρικό συστατικό του συστήματος. Ο σκοπός του MCU είναι να διαχειρίζεται όλα τα περιφερειακά συστήματα, να χειρίζεται την επικοινωνία μεταξύ αυτών των συστημάτων, να ελέγχει τη λειτουργία υλικού και να παρέχει πλήρη υποστήριξη για τη διεπαφή χρήστη και την αλληλεπίδρασή του με έναν πραγματικό χρήστη. Αυτό το έργο βασίζεται σε ATMEGA32L MCU, που μπορεί να λειτουργεί σε 3.3V και συχνότητα 8MHz.

Επικοινωνία SoC - ESP32

Αυτό το SoC (System on Chip) παρέχει πλήρη επικοινωνιακή υποστήριξη για το FuncGen - Πρόσβαση σε δυνατότητες WiFi, συμπεριλαμβανομένης της άμεσης, τοπικής ή διαδικτυακής επικοινωνίας. Οι σκοποί της συσκευής είναι:

  • Χειρισμός μετάδοσης δεδομένων μεταξύ εφαρμογής Android και συσκευής FuncGen
  • Διαχείριση μηνυμάτων ελέγχου/δεδομένων
  • Υποστήριξη συνεχούς διαμόρφωσης TCP/IP Client-Server

Στο έργο μας, το SoC είναι espressif ESP32, το οποίο είναι πολύ δημοφιλές για να επεκταθεί ακόμη περισσότερο:)

Σύστημα διαχείρισης μπαταριών Li-Ion

Για να μετατρέψουμε τη συσκευή μας σε φορητή, η συσκευή περιέχει σχεδιασμένο κύκλωμα φόρτισης μπαταριών ιόντων λιθίου. Το κύκλωμα βασίζεται στο MC73831 IC, με ελεγχόμενο ρεύμα φόρτισης μέσω προσαρμογής της τιμής μιας αντίστασης προγραμματισμού (Θα καλύψουμε αυτό το θέμα στο βήμα Σχηματικά). Η είσοδος τροφοδοσίας συσκευής είναι υποδοχή USB Type-A.

Smart Switch Circuit

Το κύκλωμα ελέγχου ισχύος της συσκευής έξυπνου διακόπτη παρέχει πλήρη έλεγχο λογισμικού στην ακολουθία τερματισμού λειτουργίας της συσκευής και έλλειψη ανάγκης για εξωτερικό διακόπτη εναλλαγής για διακοπή τάσης μπαταρίας της συσκευής. Όλες οι λειτουργίες τροφοδοσίας γίνονται με το πάτημα του κουμπιού και του λογισμικού της MCU. Σε ορισμένες περιπτώσεις, θα χρειαστεί να κλείσετε το σύστημα: Χαμηλή τάση μπαταρίας, υψηλή τάση εισόδου, σφάλμα επικοινωνίας και ούτω καθεξής. Ο έξυπνος διακόπτης βασίζεται στον έξυπνο διακόπτη STM6601 IC, που είναι φθηνός και πολύ φιλικός για παιχνίδι.

Κύρια μονάδα τροφοδοσίας

Αυτή η μονάδα αποτελείται από δύο κυκλώματα τροφοδοσίας που λειτουργούν με μπαταρία - +3.3V για όλα τα ψηφιακά / αναλογικά κυκλώματα τροφοδοσίας και -3.3V για συμμετρική έξοδο FunGen σε σχέση με το δυναμικό 0V (δηλαδή η δημιουργημένη κυματομορφή μπορεί να ρυθμιστεί σε [-3.3V: 3.3V] περιοχή.

  • Το κύριο κύκλωμα τροφοδοσίας βασίζεται στον γραμμικό ρυθμιστή τάσης LP3875-3,3 LDO (χαμηλής εγκατάλειψης) 1A.
  • Το δευτερεύον κύκλωμα τροφοδοσίας βασίζεται στο LM2262MX IC, το οποίο πραγματοποιεί μετατροπή αρνητικής τάσης DC-DC μέσω πυκνωτή-αντλίας φόρτισης-σύστημα στο οποίο βασίζεται το IC.

Σύστημα γεννητριών κυματομορφής

Το σύστημα σχεδιάστηκε με έμφαση στα ξεχωριστά ολοκληρωμένα κυκλώματα DDS (άμεση ψηφιακή σύνθεση), που επιτρέπουν τον πλήρη έλεγχο δημιουργίας κυματομορφών από το SPI της MCU (σειριακή περιφερειακή διεπαφή). Τα κυκλώματα που χρησιμοποιήθηκαν στο σχεδιασμό είναι Analog Devices AD9834 που μπορεί να παρέχουν διαφορετικούς τύπους κυματομορφών. Οι προκλήσεις που πρέπει να αντιμετωπίσουμε κατά τη συνεργασία με το AD9834 είναι:

  • Σταθερό πλάτος κυματομορφής: Το πλάτος κυματομορφής ελέγχεται από εξωτερική μονάδα DAC
  • Δεν λαμβάνεται υπόψη το επίπεδο μετατόπισης DC: Εφαρμογή κυκλωμάτων αθροίσεων με τις επιθυμητές τιμές μετατόπισης DC
  • Ξεχωριστές έξοδοι για τετραγωνικό κύμα και τρίγωνο/ημιτονοειδές κύμα: Εφαρμογή κυκλώματος μεταγωγής υψηλής συχνότητας έτσι κάθε μονή έξοδος καναλιού μπορεί να παρέχει όλες τις επιθυμητές κυματομορφές: ημιτονοειδές, τρίγωνο, τετράγωνο και DC.

Οθόνη υγρών κρυστάλλων

Η οθόνη LCD είναι μέρος της διεπαφής χρήστη (user interface) και σκοπός της είναι να επιτρέψει στον χρήστη να καταλάβει τι κάνει η συσκευή σε πραγματικό χρόνο. Αλληλεπιδρά με τον χρήστη σε κάθε κατάσταση συσκευής.

Βομβητής

Απλό κύκλωμα γεννήτριας τόνου για επιπλέον ανατροφοδότηση από συσκευή σε χρήστη.

Ολοκληρωμένος προγραμματιστής ISP

Υπάρχει ένα επίμονο πρόβλημα για κάθε μηχανικό όσον αφορά τη διαδικασία προγραμματισμού: Υπάρχει πάντα η χειρότερη ανάγκη να αποσυναρμολογήσετε το προϊόν για να το επαναπρογραμματίσετε με ένα νέο υλικολογισμικό. Για να ξεπεραστεί αυτή η ταλαιπωρία, ο προγραμματιστής AVR ISP ήταν προσαρτημένος στη συσκευή από το εσωτερικό, ενώ τα δεδομένα USB και οι γραμμές τροφοδοσίας συνδέονται με τη σύνδεση USB τύπου A της συσκευής. Σε αυτήν τη διαμόρφωση, απλώς πρέπει να συνδέσουμε το FuncGen μέσω καλωδίου USB είτε για προγραμματισμό είτε για φόρτιση!

Βήμα 2: Διάγραμμα αποκλεισμού - Δικτύωση

Block Diagram - Δικτύωση
Block Diagram - Δικτύωση

Γεννήτρια λειτουργιών διπλού καναλιού

Κύρια συσκευή. Αυτό που εξετάσαμε στο προηγούμενο βήμα

ESP-WROOM-32

Ενσωματωμένο System-on-Chip με δυνατότητες WiFi και BLE. Το SoC είναι προσαρτημένο στον κεντρικό πίνακα (Θα το καλύψουμε σε βήμα σχηματικά) μέσω της μονάδας UART και λειτουργεί ως πομπός μηνυμάτων μεταξύ της κύριας συσκευής και του smartphone Android.

Τοπικό δίκτυο WiFi

Smartphone και συσκευή θα επικοινωνούν μέσω WiFi απευθείας ή τοπικού δικτύου, με βάση τη διαμόρφωση διακομιστή/πελάτη TCP. Όταν οι συσκευές αναγνωρίζονται μεταξύ τους στο WiFi, η κύρια συσκευή δημιουργεί διακομιστή TCP με τις κατάλληλες παραμέτρους και είναι σε θέση να στέλνει/λαμβάνει μηνύματα. Η συσκευή λειτουργεί ως δευτερεύουσα στο smartphone. Η συσκευή Android από την άλλη, συνδέεται με τον διακομιστή TCP ως συσκευή δικτύου πελάτη, αλλά θεωρείται ως κύριος πομπός μηνυμάτων - το smartphone είναι αυτό που ξεκινά τον πλήρη κύκλο επικοινωνίας: Αποστολή μηνύματος - λήψη απάντησης.

Smartphone Android

Συσκευή smartphone με λειτουργικό σύστημα Android που λειτουργεί με την εφαρμογή FuncGen

Βήμα 3: Μέρη, Εργαλεία, IDE και Bill of Materials

Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials
Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials
Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials
Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials
Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials
Ανταλλακτικά, Εργαλεία, IDE και Bill of Materials

Bill Of Materials (Δείτε συνημμένο πίνακα XLS)

Συνδέσεις UI και συστήματος

  • 1 x 2004A Char-LCD 20x4 Μπλε
  • 1 x Υποδοχή USB τύπου Β
  • 1 x 10 Σετ Mini Micro JST XH 2.54mm 4 Pin
  • 1 x 6τεμ. Στιγμιαία ΝΔ

Παραγγελία PCB (σύμφωνα με το Seeed Studio)

Υλικό βάσης FR-4

Αριθμός Layers 2 στρώματα

PCB Ποσότητα 10

Αριθμός διαφορετικών σχεδίων 1

PCB Πάχος 1,6mm

PCB Χρώμα Μπλε

Surface Finish HASL

Ελάχιστο φράγμα μάσκας συγκολλήσεως 0,4mm

Βάρος χαλκού 1oz

Ελάχιστο μέγεθος τρυπών τρυπανιών 0,3mm

Trace Width / Spacing 6/6 mil

Επιμεταλλωμένες μισές οπές / Καστελιωμένες τρύπες Αρ

Έλεγχος αντίστασης αριθ

Εργαλεία

  • Πυροβόλο θερμής κόλλας
  • Τσιμπιδακι ΦΡΥΔΙΩΝ
  • Κόπτης
  • Wire Σύρμα 22AWG για σκοπούς χειρισμού δυσλειτουργίας
  • Συγκολλητικό σίδερο/σταθμός
  • Κασσίτερος συγκόλλησης
  • Σταθμός επεξεργασίας SMD (προαιρετικό)
  • Τρισδιάστατος εκτυπωτής (προαιρετικός)
  • Εξώθηση αρχείου
  • Προγραμματιστής AVR ISP
  • Μετατροπέας USB σε σειριακό (προαιρετικό, για σκοπούς εντοπισμού σφαλμάτων)

Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE) και Λογισμικό

  • Autodesk EAGLE ή Cadence Schematic Editor / Allegro PCB Editor
  • OpenSCAD (προαιρετικό)
  • Ultimaker Cura (προαιρετικό)
  • Saleae Logic (Για αντιμετώπιση προβλημάτων)
  • Atmel Studio 6.3 ή παραπάνω
  • Android Studio ή Eclipse IDE
  • Serial Monitor Docklight / Άλλο λογισμικό παρακολούθησης θύρας COM
  • ProgISP για προγραμματισμό φλας AVR ATMEGA32L

Βήμα 4: Σχεδιασμός υλικού - Κύριος πίνακας

Σχεδιασμός υλικού - Κύριος πίνακας
Σχεδιασμός υλικού - Κύριος πίνακας
Σχεδιασμός υλικού - Κύριος πίνακας
Σχεδιασμός υλικού - Κύριος πίνακας
Σχεδιασμός υλικού - Κύριος πίνακας
Σχεδιασμός υλικού - Κύριος πίνακας

Κύκλωμα διαχείρισης μπαταρίας

Το κύκλωμα φόρτισης της μπαταρίας βασίζεται στο IC MCP7383, το οποίο μας επιτρέπει να επιλέξουμε το επιθυμητό ρεύμα φόρτισης για μπαταρία ιόντων λιθίου - 3,7V με χωρητικότητα 850mAh. Το ρεύμα φόρτισης ορίζεται από την τιμή αντίστασης προγραμματισμού (R1) στην περίπτωσή μας

R1 = 3KOhm, I (φόρτιση) = 400mA

Η τάση USB VBUS φιλτράρεται με π-φίλτρο (C1, L3, C3) και λειτουργεί ως πηγή ενέργειας για κύκλωμα φόρτισης.

Το κύκλωμα διαίρεσης τάσης (R2, R3) επιτρέπει στο MCU να υποδείξει εάν η εξωτερική τροφοδοσία USB είναι συνδεδεμένη ή όχι, παρέχοντας την ακόλουθη τάση στο κανάλι A/D της MCU:

V (ένδειξη) ~ (2/3) V (BUS)

Δεδομένου ότι το A/D του ATMEGA32L είναι 12-bit, μπορούμε να υπολογίσουμε το ψηφιακό εύρος:

A / D (εύρος) = 4095V (ένδειξη) / V (REF).

A/D ∈ [14AH: FFFH]

Smart Switch Power Unit

Το κύκλωμα επιτρέπει στο σύστημα να ελέγχει την παροχή ρεύματος σε κάθε σχεδιασμένο μπλοκ τόσο από το κουμπί όσο και από το λογισμικό στο MCU και βασίζεται στην επιλογή STM6601 Smart-Switch with POWER αντί για RESET. Τα τερματικά που θέλουμε να εξετάσουμε είναι τα εξής:

  • PSHOLD - Γραμμή εισόδου, που καθορίζει την κατάσταση της συσκευής: εάν τραβηχτεί ΧΑΜΗΛΑ, η συσκευή απενεργοποιεί όλες τις δευτερεύουσες μονάδες τροφοδοσίας (+3,3V και -3,3V). Εάν διατηρείται Υ HIGHΗΛΗ - η συσκευή διατηρεί την κατάσταση ON.
  • nSR και nPB - Γραμμές εισαγωγής. Πατήστε τους ακροδέκτες του κουμπιού. Όταν ανιχνεύεται πτώση άκρου σε αυτές τις ακίδες, η συσκευή προσπαθεί να εισέλθει στη λειτουργία άνω / κάτω τροφοδοσίας
  • nINT - Γραμμή εξόδου. Τραβήξτε LOW κάθε φορά που πατάτε το κουμπί
  • EL - Γραμμή εξόδου, χρησιμοποιείται ως ενεργοποιητής ισχύος για τις δευτερεύουσες μονάδες τροφοδοσίας. Ενώ διατηρείται ΧΑΜΗΛΟ, και τα δύο δευτερεύοντα τροφοδοτικά είναι απενεργοποιημένα

Υπάρχουν μερικές σημαντικές σημειώσεις πριν προχωρήσουμε στον τελικό σχεδιασμό:

  • Το PSHOLD πρέπει να τραβηχτεί έως και 3.3V, επειδή υπάρχουν περιπτώσεις που οι MCU αναγκάζουν όλα τα I/O να είναι σε κατάσταση HIGH-Z. Σε αυτήν την περίπτωση, η κατάσταση του PSHOLD από το MCU είναι άγνωστη και μπορεί να επηρεάσει δραματικά τη διαδικασία προγραμματισμού συσκευών.
  • Το STM6601 θα πρέπει να παραγγελθεί με μια επιλογή ρύθμισης EN στο παρατεταμένο πάτημα, αντί για την επιλογή RESET (έχω πέσει σε αυτό).

Μονάδα τροφοδοσίας: +3.3V

Κύρια παροχή ρεύματος για όλα τα συστήματα του έργου μας. Όταν η γραμμή +3.3V διατηρείται σε επίπεδο GND (δηλαδή δεν υπάρχει τάση), όλα τα IC εκτός από τον έξυπνο διακόπτη είναι απενεργοποιημένα. Το κύκλωμα βασίζεται στο LDO LP-3875-3.3 IC, με δυνατότητα ελέγχου μέσω τερματικού EN και παροχής ρεύματος έως 1Α.

Η πηγή ισχύος για αυτό το κύκλωμα είναι η τάση της μπαταρίας, με προσαρτημένη ένδειξη A/D για την ανίχνευση του VBAT σε διαμόρφωση, παρόμοια με το κύκλωμα ανίχνευσης VBUS. Σε αυτήν την περίπτωση, οι υπολογισμοί διαφέρουν ελαφρώς.

V (Μπαταρία-σε-Α/Δ) = 0.59V (Μπαταρία). A/D (εύρος) ∈ [000H: C03H]

Μονάδα τροφοδοσίας: -3,3V

Το κύκλωμα αρνητικής παροχής τάσης μας επιτρέπει να παράγουμε συμμετρικές κυματομορφές με συντελεστή DC 0V (δηλαδή η μέση τιμή κυματομορφής μπορεί να είναι 0V). Αυτό το κύκλωμα βασίζεται στον μετατροπέα LM2662MX IC - DC/DC που λειτουργεί με τη μέθοδο "αντλία φόρτισης". Το μέγιστο ρεύμα εξόδου του κυκλώματος είναι 200mA, το οποίο είναι αρκετό για τις απαιτήσεις σχεδιασμού μας - περιοριζόμαστε με ρεύμα εξόδου 80mA από το κανάλι κάθε συσκευής.

Το IC εκτελεί όλες τις απαραίτητες εργασίες, επομένως μόνο τα μέρη που πρέπει να συνδέσουμε είναι δύο ηλεκτρολυτικοί πυκνωτές: C33 για μεταγωγή και C34 για παράκαμψη γραμμής -3,3V (εκτιμήσεις μείωσης θορύβου). Η συχνότητα της μεταγωγής είναι αμελητέα στο σχεδιασμό εάν τοποθετούμε το κύκλωμα αρκετά μακριά από τα μέρη δημιουργίας κυματομορφής (Θα το συζητήσουμε στο βήμα διάταξης PCB).

Μονάδα μικροελεγκτών - MCU

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

Το MCU που επιλέχθηκε είναι το Atmel ATMEGA32L, όπου το L σημαίνει υποστήριξη λειτουργίας τάσης ∈ [2.7V: 5.5V]. Στην περίπτωσή μας, η τάση λειτουργίας είναι +3.3V.

Ας εξετάσουμε τα κύρια μπλοκ λειτουργίας, που είναι απαραίτητα για να κατανοήσουμε, σε συνεργασία με το MCU στο σχεδιασμό μας:

  • Εξωτερικός ταλαντωτής - Είναι ένα προαιρετικό εξάρτημα, καθώς μας ενδιαφέρει η συχνότητα λειτουργίας 8MHz
  • Περιφερειακός έλεγχος, δίκτυο SPI - Όλες οι περιφερειακές συσκευές (εξαιρουμένου του ESP32) επικοινωνούν με το MCU μέσω SPI. Υπάρχουν τρεις κοινές γραμμές για όλες τις συσκευές (SCK, MOSI, MISO) και κάθε περιφερειακό κύκλωμα έχει την ειδική γραμμή CS (Chip Select). Οι συσκευές SPI που αποτελούν μέρος της συσκευής:

    1. D/A για έλεγχο πλάτους - Κανάλι Α
    2. D/A για έλεγχο πλάτους - Κανάλι Β
    3. Συσκευή AD9834 - Κανάλι Α
    4. Συσκευή AD9834 - Κανάλι Β
    5. D/A για έλεγχο τάσης πόλωσης - Κανάλι Α
    6. D/A για έλεγχο τάσης πόλωσης - Κανάλι Β
    7. Digitalηφιακό ποτενσιόμετρο για ρυθμίσεις φωτεινότητας/αντίθεσης LCD
  • Υποστήριξη LCD - Δεδομένου ότι η οθόνη LCD είναι μια γενική οθόνη 20 x 4 χαρακτήρων, χρησιμοποιούμε διεπαφή 4 bit (Γραμμές D7: D4), ακίδες ελέγχου (Γραμμές RS, E) και έλεγχο φωτεινότητας/αντίθεσης (Γραμμές V0 και Άνοδος)
  • Υποστήριξη LED RGB - Αυτή η μονάδα είναι προαιρετική, αλλά υπάρχει κοινή υποδοχή RGB LED καθόδου με κατάλληλες αντιστάσεις, συνδεδεμένες στο MCU.
  • Power Control - Το MCU πραγματοποιεί παρακολούθηση συστήματος ισχύος σε πραγματικό χρόνο και χειρίζεται όλα τα απαραίτητα συμβάντα ισχύος:

    1. VBAT_ADC - Παρακολούθηση τάσης μπαταρίας και προσδιορισμός της κατάστασής της (κανάλι ADC0)
    2. PWR_IND - Ένδειξη σύνδεσης εξωτερικής τροφοδοσίας (κανάλι ADC1)
    3. PS_HOLD - Πρωτεύουσα γραμμή ενεργοποίησης ισχύος για όλα τα καθορισμένα συστήματα. Όταν τραβιέται χαμηλά από το MCU, η συσκευή απενεργοποιείται
    4. Διακοπή τερματικού έξυπνου διακόπτη - Παρακολούθηση κατάστασης κουμπιού
  • Διαχείριση δικτύου WiFi - ESP32: Το MCU επικοινωνεί με το ESP32 μέσω διεπαφής UART. Δεδομένου ότι τα 8MHz μας επιτρέπουν να εφαρμόσουμε τον ρυθμό baud των 115200 με ένα σχετικά μικρό σφάλμα, μπορούμε να χρησιμοποιήσουμε το ESP32 στο κύκλωμα χωρίς προκαθορισμούς αλλαγών του ρυθμού baud.

Προγραμματιστής AVR ISP

Το MCU μας είναι προγραμματισμένο μέσω SPI με γραμμή επαναφοράς (/RST) πρέπει να τραβηχτεί HIGH για σωστή λειτουργία (αν όχι - το MCU θα βρεθεί για πάντα σε κατάσταση επαναφοράς).

Για να μπορέσω να προγραμματίσω και να φορτίσω τη συσκευή μέσω USB, έχω συνδέσει τον προγραμματιστή AVR ISP (προϊόν μικρού μεγέθους, αγορασμένο από το eBay). Προκειμένου να διατηρηθεί η πλήρης υποστήριξη USB της συσκευής, πρέπει να συνδέσετε τερματικά USB Type-A (D+, D-, VBUS και GND) με συσκευή παροχής AVR.

Κύκλωμα δημιουργίας κυματομορφής

Ο πυρήνας της συσκευής είναι αυτά τα κυκλώματα. Το AD9834 είναι μια συσκευή DDS χαμηλής ισχύος που μας παρέχει όλες τις κυματομορφές που θα θέλαμε να ανακτήσουμε από το σύστημα. Τα κυκλώματα περιέχουν δύο ανεξάρτητα IC AD9834 με διαχωρισμένους εξωτερικούς ταλαντωτές 50MHz (όπως φαίνεται στα σχήματα). Ο λόγος για τον διαχωρισμένο ταλαντωτή είναι τα ψηφιακά κυκλώματα για τη μείωση του θορύβου, οπότε η απόφαση ήταν να χειριστούμε σωστές γραμμές 50MHz με ταλαντωτές τοποθετημένους δίπλα στο AD9834.

Ας δούμε τώρα κάποια μαθηματικά:

Δεδομένου ότι η συσκευή DDS λειτουργεί με τεχνολογία Phase Wheel με τιμή εξόδου που διατηρείται σε καταχωρητή 28-bit, μπορούμε να περιγράψουμε μαθηματικά τη δημιουργία κυματομορφής:

dP (φάση) = ωdt; ω = Ρ '= 2πf; f (AD9834) = ΔP * f (clk) / 2^28; ΔP ∈ [0: 2^28 - 1]

Και σύμφωνα με το φύλλο δεδομένων AD9834, λαμβάνοντας υπόψη τη μέγιστη συχνότητα, μπορεί να επιτευχθεί ανάλυση συχνότητας εξόδου:

Δf = k * f (ταλαντωτής) / f (μέγιστο) = 0,28 * 50M / 28M = 0,187 [Hz]

Τα IC AD9834 παρέχουν αναλογική ροή ρεύματος για τρίγωνο/ημιτονοειδές κύμα (τερματικό IOUT) και ψηφιακή έξοδο για τετραγωνικό κύμα (τερματικό SIGN_OUT). Η χρήση του bit πινακίδας είναι λίγο περίπλοκη, αλλά μπορούμε να το χειριστούμε - Κάθε φορά που το DDS υπερβαίνει το όριο της σύγκρισης, το SIGN_OUT συμπεριφέρεται ανάλογα. Στην έξοδο κάθε καναλιού συνδέεται μια αντίσταση 200Ω, οπότε η τάση εξόδου θα έχει σημαντικές τιμές:

I (μονό κανάλι) = V (έξοδος) / R (επιλογή τάσης). V (έξοδος) = R (VS)*I (SS) = 200I (SS) [A]

Κυκλώματα ελέγχου πλάτους (Δ/Α)

Σύμφωνα με το φύλλο δεδομένων του AD9834, το πλάτος του μπορεί να ρυθμιστεί παρέχοντας ρεύμα στο σύστημα πλήρους κλίμακας DDS, οπότε με τη βοήθεια διπλού IC D/A, μπορούμε να ελέγξουμε το πλάτος του σήματος εξόδου προσαρμόζοντας αυτό το ρεύμα. Για άλλη μια φορά, μερικά μαθηματικά:

I (πλήρης κλίμακα) = 18 * (V_REF - V_DAC) / R_SET [A]

Σύμφωνα με τα σχήματα και την εξίσωση ορισμένων αριθμών:

I (πλήρης κλίμακα) = 3,86 - 1,17 * V_DAC [A]

Η μονάδα D/A που χρησιμοποιείται στο σχεδιασμό είναι το 12-bit MCP4922, όταν το ρεύμα είναι στην περιοχή [0mA: 3.86mA] και η συνάρτηση γραμμικού εύρους είναι:

V (εύρος επιλογής) = 1 - [V (Δ / Α) / (2^12 - 1)]

Κύκλωμα πολυπλεξίας κυματομορφής

Τα τετράγωνα κύματα και οι έξοδοι δημιουργίας κυμάτων ημιτόνου/τριγώνου διαχωρίζονται στο AD9834, επομένως πρέπει να χρησιμοποιήσουμε ένα κύκλωμα πολυπλεξίας υψηλής ταχύτητας και για τις δύο εξόδους, ώστε να επιτρέψουμε την ανάκτηση όλων των επιθυμητών κυματομορφών από ένα διαχωρισμένο κανάλι. Το πολυπλέκτη IC είναι ένας αναλογικός διακόπτης ADG836L με πολύ χαμηλή αντίσταση on (~ 0.5Ohm).

Ο πίνακας επιλογής που χρησιμοποιεί η MCU για τις εξόδους ως έχει:

Επιλογή τρόπου λειτουργίας [D2: D1] | Κανάλι εξόδου A | Κανάλι εξόδου Β

00 | Ημιτονοειδές/Τρίγωνο | Ημιτονοειδές/Τρίγωνο 01 | Ημιτονοειδές/Τρίγωνο | Πλατεία 10 | Πλατεία | Ημιτονοειδές/Τρίγωνο 11 | Πλατεία | τετράγωνο

Κυκλώματα Bias Voltage Control (D/A)

Ένα από τα κύρια χαρακτηριστικά της γεννήτριας κυματομορφών είναι ο έλεγχος της τιμής DC της. Σε αυτό το σχέδιο γίνεται με τον καθορισμό της επιθυμητής τάσης D/A ανά κανάλι και αυτές οι τάσεις πόλωσης συνοψίζονται με πολυπλεγμένες εξόδους που έχουμε συζητήσει λίγο νωρίτερα.

Η τάση που λαμβάνεται από το D/A βρίσκεται στην περιοχή [0V: +3.3V], οπότε υπάρχει ένα κύκλωμα με βάση το op-amp που αντιστοιχεί στο εύρος D/A σε [-3.3V: +3.3V], επιτρέποντας στη συσκευή να παρέχει πλήρες εύρος του επιθυμητού εξαρτήματος DC. Θα παραλείψουμε τα ενοχλητικά αναλυτικά μαθηματικά και θα επικεντρωθούμε στα τελικά αποτελέσματα:

V_OUT (κανάλι Β) = V_BIAS_B (+) - V_BIAS_B (-); V_OUT (κανάλι Α) = V_BIAS_A (+) - V_BIAS_A (-)

Τώρα, η περιοχή εξαρτημάτων DC βρίσκεται στην περιοχή [-3,3V: +3,3V].

Κυκλώματα αθροίσεων - Εξαρτήματα DC και εξόδους κυματομορφής

Σε αυτό το σημείο έχουμε όλα όσα χρειαζόμαστε για τη σωστή έξοδο της συσκευής - τάση πόλωσης (εξάρτημα DC) σε όλο το εύρος τάσης και πολλαπλές εξόδους AD9834. Θα το κάνουμε αυτό χρησιμοποιώντας τη διαμόρφωση αθροιστικού ενισχυτή - op -amp

Ας παραλείψουμε τα μαθηματικά για άλλη μια φορά (έχουμε ήδη καλύψει πολλές μαθηματικές προσεγγίσεις) και γράψτε το τελικό αποτέλεσμα της εξόδου του αθροιστικού ενισχυτή:

V (έξοδος συσκευής) = V (θετική προκατάληψη) - V (αρνητική προκατάληψη) - V (πολλαπλή έξοδος) [V]

Ως εκ τούτου:

V_OUT = ΔV_BIAS - V_AD9834 [V]

Οι συνδετήρες εξόδου τύπου BNC συνδέονται με αντιστάσεις επιλογής (R54, R55, R56, R57). Ο λόγος για αυτό είναι ότι στην περίπτωση που αυτός ο σχεδιασμός μπορεί να είναι δυσλειτουργικός, μπορούμε ακόμα να επιλέξουμε εάν θέλουμε να χρησιμοποιήσουμε ενισχυτή αθροίσεων.

Σημαντική σημείωση: Τα δίκτυα αντίστασης των τελικών ενισχυτών αθροίσματος μπορούν να ρυθμιστούν από έναν σχεδιαστή, προκειμένου να αλλάξει το μέγιστο πλάτος που μπορεί να ανακτηθεί από τη συσκευή. Στην περίπτωσή μου, όλοι οι ενισχυτές μοιράζονται το ίδιο κέρδος = 1, οπότε το μέγιστο εύρος ρυθμιστικού είναι 0,7Vpp για τρίγωνο/ημιτονοειδές κύμα και 3,3Vpp για τετραγωνικό κύμα. Η συγκεκριμένη μαθηματική προσέγγιση βρίσκεται στις συνημμένες εικόνες του βήματος.

ESP32 ως εξωτερική μονάδα

Το MCU επικοινωνεί με το ESP32 μέσω διεπαφής UART. Δεδομένου ότι ήθελα το δικό μου PCB για το ESP32, υπάρχουν 4 ακροδέκτες για σύνδεση: VCC, RX, TX, GND. Το J7 είναι ένας σύνδεσμος διασύνδεσης μεταξύ PCB και το ESP32 θα διατεθεί ως εξωτερική μονάδα μέσα στη συσκευή.

Διεπαφή χρήστη - LCD και ηχείο

Η οθόνη LCD που χρησιμοποιήθηκε είναι μια γενική οθόνη 20 x 4 χαρακτήρων με 4 -bit interface, όπως φαίνεται από το σχέδιο υπάρχει ένα ψηφιακό ποτενσιόμετρο SPI προσαρτημένο στους ακροδέκτες LCD "A" και "V0" - ο σκοπός του είναι να προσαρμόσει φωτεινότητα και αντίθεση της μονάδας LCD προγραμματικά.

Το ηχείο παρέχει έξοδο ήχου για τον χρήστη με απλή παραγωγή τετραγωνικών κυμάτων από το MCU. Το BJT T1 ελέγχει το ρεύμα μέσω του ηχείου που μπορεί να είναι μόνο σε δύο καταστάσεις - ON / OFF.

Βήμα 5: Σχεδιασμός υλικού - Ενότητα ESP32

Σχεδιασμός υλικού - Ενότητα ESP32
Σχεδιασμός υλικού - Ενότητα ESP32

Το ESP32 χρησιμοποιείται ως εξωτερική μονάδα για το κύριο PCB. Η επικοινωνία συσκευής βασίζεται σε εντολές AT, οι οποίες είναι διαθέσιμες σε υλικολογισμικό γενικής συσκευής.

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

  • Για τον χειρισμό αποτυχίας της χρήσης της κατάλληλης μονάδας UART του ESP32, έχω συνδέσει τρεις αντιστάσεις επιλογής τόσο για τις γραμμές TX όσο και για τις RX. (0Ohm για το καθένα). Για τυπική διαμόρφωση, η μονάδα UART2 χρησιμοποιείται για εντολές AT (οι R4, R7 πρέπει να συγκολληθούν)
  • Η συσκευή έχει έξοδο 4 γραμμών - VCC, GND, TX, RX.
  • Οι ακίδες IO0 και EN αξιολογούν τη λειτουργία της συσκευής και πρέπει να σχεδιάζονται όπως προβλέπεται στα σχήματα

Όλες οι δυνατότητες του PCB θα καλύψουμε στο επόμενο βήμα.

Βήμα 6: Διάταξη PCB

Διάταξη PCB
Διάταξη PCB
Διάταξη PCB
Διάταξη PCB
Διάταξη PCB
Διάταξη PCB

Οι στόχοι του σχεδιασμού ενός PCB

  1. Δημιουργήστε ενσωματωμένο σύστημα για όλα τα ολοκληρωμένα κυκλώματα στον ίδιο πίνακα
  2. Βελτιώστε την απόδοση της συσκευής μέσω του σχεδιασμού ενός μόνο κύριου PCB
  3. Μείωση κόστους - αν θέλετε να αναζητήσετε τις τιμές, τα σχέδια χαμηλού κόστους είναι ΠΡΑΓΜΑΤΙΚΑ χαμηλού κόστους
  4. Ελαχιστοποιήστε το μέγεθος της ηλεκτρονικής πλακέτας
  5. Εύκολη αντιμετώπιση προβλημάτων - Μπορούμε να χρησιμοποιήσουμε TP (σημεία ελέγχου) για κάθε πιθανή δυσλειτουργική γραμμή.

Τεχνικές παράμετροι

Και τα δύο PCB: η κύρια και η πλακέτα ESP32 έχουν τα ίδια χαρακτηριστικά για τη διαδικασία κατασκευής - χαμηλού κόστους και λειτουργικά για τους σκοπούς μας. Ας τους δούμε:

Α - Κύριο Διοικητικό Συμβούλιο

  • Διαστάσεις: 10cm x 5.8cm
  • Αριθμός στρώσεων: 2
  • Πάχος PCB: 1,6mm
  • Ελάχιστος χώρος/πλάτος ίχνους: 6/6mil
  • Ελάχιστη διάμετρος οπής: 0,3 mm
  • Χαλκός στην άκρη του PCB ελάχιστη απόσταση: 20mil
  • Φινίρισμα επιφάνειας: HASL (πολύ καλός ασημένιος φτηνός τύπος)

Β - Κύριο Διοικητικό Συμβούλιο

  • Διαστάσεις: 3cm x 4cm
  • Αριθμός στρώσεων: 2
  • Πάχος PCB: 1,6mm
  • Ελάχιστος χώρος/πλάτος ίχνους: 6/6mil
  • Ελάχιστη διάμετρος οπής: 0,3 mm
  • Χαλκός στην άκρη του PCB ελάχιστη απόσταση: 20mil
  • Φινίρισμα επιφάνειας: HASL

Βήμα 7: 3D περίβλημα

Τρισδιάστατο περίβλημα
Τρισδιάστατο περίβλημα

Δεν το σχεδίασα μόνος μου, γιατί εκείνη την εποχή έπειθα αυτήν τη συσκευή να λειτουργήσει, οπότε δεν ήξερα καθόλου όλα τα βασικά στοιχεία της τρισδιάστατης εκτύπωσης. Έτσι, χρησιμοποίησα ένα έργο SCAD από το Thingiverse και έβαλα διαφορετικά ανοίγματα στα όρια, σύμφωνα με τις προδιαγραφές της συσκευής μου.

  1. Συσκευή εκτύπωσης: Creality Ender-3
  2. Τύπος κρεβατιού: Γυαλί, πάχος 5mm
  3. Διάμετρος νήματος: 1,75mm
  4. Τύπος νημάτων: PLA+
  5. Διάμετρος ακροφυσίου: 0,4mm
  6. Αρχική ταχύτητα: 20mm/Sec
  7. Μέση ταχύτητα: 65mm/Sec
  8. Υποστήριξη: N/A
  9. Συμπλήρωση: 25%
  10. Θερμοκρασία:

    • Κρεβάτι: 60 (oC)
    • Ακροφύσιο: 215 (oC)
  11. Χρώμα νήματος: Μαύρο
  12. Συνολικός αριθμός ανοιγμάτων: 5
  13. Αριθμός πίνακα περιβλήματος: 4

    • TOP Shell
    • Κάτω κέλυφος
    • Πρόσοψη
    • Πίσω Πάνελ

Βήμα 8: Εφαρμογή λογισμικού - MCU

Εφαρμογή Λογισμικού - MCU
Εφαρμογή Λογισμικού - MCU
Εφαρμογή Λογισμικού - MCU
Εφαρμογή Λογισμικού - MCU
Εφαρμογή Λογισμικού - MCU
Εφαρμογή Λογισμικού - MCU

Σύνδεση GitHub με Android και κώδικα Atmega32

Αλγόριθμος λογισμικού

Όλες οι λειτουργίες που εκτελούνται από το MCU, περιγράφονται στα συνημμένα διαγράμματα ροής. Επιπλέον, υπάρχει συνημμένος κώδικας για το έργο. Ας καλύψουμε τις προδιαγραφές λογισμικού:

Ενεργοποίηση

Σε αυτό το στάδιο, το MCU εκτελεί όλες τις ακολουθίες προετοιμασίας μαζί με τον προσδιορισμό του αποθηκευμένου τύπου επικοινωνίας με συσκευή Android: Άμεση επικοινωνία WiFi ή δίκτυο WLAN - αυτά τα δεδομένα αποθηκεύονται στο EEPROM. Ο χρήστης μπορεί να επαναπροσδιορίσει τον τύπο σύζευξης συσκευής Android σε αυτό το στάδιο.

Άμεση σύζευξη συσκευής Android

Αυτός ο τύπος σύζευξης βασίζεται στη δημιουργία δικτύου WiFi από τη συσκευή FuncGen. Θα δημιουργήσει AP (Σημείο πρόσβασης) και διακομιστή TCP σε IP τοπικής συσκευής με συγκεκριμένο SSID (όνομα δικτύου WiFi) και συγκεκριμένο αριθμό θύρας. Η συσκευή πρέπει να διατηρεί την κατάσταση - ανοιχτή για συνδέσεις.

Όταν η συσκευή Android είναι συνδεδεμένη στο FuncGen, το MCU μπαίνει σε λειτουργία ACTIVE και ανταποκρίνεται σύμφωνα με τις οδηγίες του χρήστη από τη συσκευή Android.

Σύζευξη WLAN

Για να επικοινωνήσετε σε ένα τοπικό δίκτυο WiFi, το MCU θα πρέπει να παρέχει εντολές στο ESP32 για τη δημιουργία AP, την επικοινωνία με τη συσκευή Android και την ανταλλαγή των κρίσιμων δεδομένων του δικτύου:

  • Η συσκευή Android λαμβάνει από τη FuncGen τη διεύθυνση MAC της, την αποθηκεύει στη μνήμη.
  • Η συσκευή FuncGen λαμβάνει από επιλεγμένες παραμέτρους WLAN από τη συσκευή Android: SSID, τύπο ασφάλειας και κωδικό πρόσβασης και την αποθηκεύει στο EEPROM.

Όταν οι συσκευές είναι πράγματι συνδεδεμένες στο ίδιο WLAN, η συσκευή Android θα αναζητήσει το FuncGen σκανάροντας όλες τις διευθύνσεις MAC των συσκευών που είναι συνδεδεμένες στο WLAN. Όταν η συσκευή Android καθορίζει την αντιστοίχιση MAC, προσπαθεί να επικοινωνήσει.

Σύνδεση και χειρισμός κατάστασης - MCU

Όταν οι συσκευές επικοινωνούν μεταξύ τους, το πρωτόκολλο (Δείτε το προ-τελικό βήμα) παραμένει το ίδιο και το διάγραμμα ροής είναι το ίδιο.

Παρακολούθηση κατάστασης συσκευής

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

  • Εξωτερική τροφοδοσία - On/Off
  • Κατάσταση τάσης μπαταρίας
  • Ενημέρωση διεπαφής χρήστη για κάθε προσαρμογή
  • Κουμπί: Πατημένο/Μη πατημένο

Βήμα 9: Εφαρμογή λογισμικού - Android App

Εφαρμογή λογισμικού - Android App
Εφαρμογή λογισμικού - Android App
Εφαρμογή λογισμικού - Android App
Εφαρμογή λογισμικού - Android App
Εφαρμογή Λογισμικού - Εφαρμογή Android
Εφαρμογή Λογισμικού - Εφαρμογή Android
Εφαρμογή Λογισμικού - Εφαρμογή Android
Εφαρμογή Λογισμικού - Εφαρμογή Android

Η εφαρμογή Android είναι γραμμένη σε στυλ Java-Android. Θα προσπαθήσω να το εξηγήσω με τον ίδιο τρόπο όπως και τα προηγούμενα βήματα - διαιρώντας τον αλγόριθμο σε ξεχωριστά μπλοκ κώδικα.

Ακολουθία Power Up

Πρώτη ακολουθία της συσκευής. Εδώ παρουσιάζεται το λογότυπο της εφαρμογής μαζί με την ενεργοποίηση μονάδων GPS και WiFi της συσκευής Android (Μην ανησυχείτε, το GPS απαιτείται μόνο για τη σωστή σάρωση των δικτύων WiFi).

Κυρίως μενού

Μετά την εκκίνηση της εφαρμογής, θα εμφανιστούν τέσσερα κουμπιά στην οθόνη. Ενέργεια κουμπιών:

  1. ΑΜΕΣΗ ΣΥΝΔΕΣΗ: Έναρξη σύνδεσης στο AP της FuncGen από το SSID του IOT_FUNCGEN. Εάν η σύνδεση είναι επιτυχής, η συσκευή εισέρχεται στην κύρια λειτουργία διεπαφής χρήστη.
  2. ΣΥΝΔΕΣΗ WIFI: Η συσκευή ελέγχει εάν υπάρχουν αποθηκευμένες παράμετροι δεδομένων στη μνήμη: wifi.txt, mac.txt. Εάν δεν υπάρχουν αποθηκευμένα δεδομένα, η συσκευή θα απορρίψει το αίτημα χρήστη και θα παράσχει ένα αναδυόμενο μήνυμα ότι η αντιστοίχιση WLAN πρέπει να γίνει πρώτα.
  3. Ζεύγος: Επικοινωνία με το FuncGen με τον ίδιο τρόπο όπως η ΑΜΕΣΗ ΣΥΝΔΕΣΗ, αλλά αντί για συνεχή ανταλλαγή μηνυμάτων, υπάρχει μια μόνο χειραψία. Η συσκευή Android ελέγχει εάν είναι ήδη συνδεδεμένη στο δίκτυο WiFi και ζητά από τον χρήστη να εισαγάγει κωδικό πρόσβασης. Εάν η επανασύνδεση είναι επιτυχής, η συσκευή Android αποθηκεύει SSID και κωδικό πρόσβασης στο αρχείο wifi.txt. Μετά την επιτυχή επικοινωνία με το FuncGen, αποθηκεύει τη διεύθυνση MAC στο αρχείο mac.txt.
  4. Έξοδος: Αρκετά είπα:)

Διαχείριση σάρωσης WiFi

Wantedθελα η εφαρμογή να είναι πλήρως λειτουργική και χωρίς προσαρμογές εκτός εφαρμογής. Έτσι, έχω σχεδιάσει σαρωτή WiFi, ο οποίος εκτελεί όλες τις απαραίτητες λειτουργίες για σύνδεση στο δίκτυο WiFi με ένα γνωστό κλειδί πρόσβασης και SSID.

Διαβίβαση Δεδομένων και Επικοινωνία TCP

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

  1. Αναζήτηση γραμμών: Εδώ ορίζουμε πραγματικό εύρος παραμέτρων εξόδου FuncGen

    1. Εύρος
    2. DC Offset
    3. Φωτεινότητα LCD
    4. Αντίθεση LCD
  2. Επεξεργασία κειμένου: Για να διατηρηθούν οι ακέραιες τιμές καλά καθορισμένες και ακριβείς, η εισαγωγή συχνότητας γίνεται μέσω αριθμών μόνο πλαισίων κειμένου
  3. Κουμπιά: Επιλογή παραμέτρων από τις διαθέσιμες λίστες:

    1. Τύπος κυματομορφής

      1. Ημίτονο
      2. Τρίγωνο
      3. DC
      4. τετράγωνο
      5. ΜΑΚΡΙΑ ΑΠΟ
    2. Πάρτε πληροφορίες

      1. Κατάσταση μπαταρίας (Ποσοστό)
      2. Κατάσταση AC (Εξωτερικό τροφοδοτικό)
    3. Επιλογή εκκίνησης (Για FuncGen MCU)

      1. Εργοστασιακή ρύθμιση
      2. Επανεκκίνηση
      3. ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ
      4. Direct - Επανεκκίνηση με λειτουργία άμεσης σύζευξης
      5. WLAN - Επανεκκινήστε με τη λειτουργία αντιστοίχισης WLAN
    4. Έξοδος στο κύριο μενού: Αρκετά είπε:)

Βήμα 10: Δοκιμή

Συνιστάται: