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

EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430: 4 βήματα
EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430: 4 βήματα

Βίντεο: EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430: 4 βήματα

Βίντεο: EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430: 4 βήματα
Βίντεο: Yongaan Logic Probe 2013 (part2) 2024, Ιούλιος
Anonim
EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430
EZProbe, ένας λογικός αισθητήρας βασισμένος σε EZ430

αυτό είναι ένα απλό έργο ανιχνευτή λογικής βασισμένο στο dongle TI EZ430. Εκμεταλλεύτηκα μια δωρεάν προσφορά σε μερικά ez430s από την TI τον Σεπτέμβριο του 2010. είναι πολύ βολικοί και διασκεδαστικοί όταν δοκιμάζουν μικρά αποσπάσματα κώδικα και παρακολουθούν το led να αναβοσβήνει. Έκτοτε ήταν ξαπλωμένοι στο γραφείο μου και πρέπει να βρω κάτι για αυτούς. και θέλω να σταματήσω τον κόσμο που έρχεται και να ζητήσει να δανειστεί το "memory stick" μου. Λοιπόν, αυτό δεν είναι κάρτα μνήμης, 16bit MCU w/ πολλαπλών καναλιών ADC, επαρκής μνήμη προγραμματισμού 2K και τρέχει έως 16Mhz. όλα γεμάτα με τον πίνακα διεπαφής προγραμματισμού εντοπισμού σφαλμάτων σε ένα ωραίο πακέτο συσκευής usb. ο κύριος σχεδιαστικός μου στόχος είναι να περιορίσω την παρέμβασή μου στο αρχικό ez430. στο ότι δεν θέλω να το αλλάξω πολύ σωματικά και θέλω να διατηρήσω τη λειτουργία προγραμματισμού / εντοπισμού σφαλμάτων για άλλα έργα του πίνακα στόχου. όλα αυτά ενώ εξυπηρετούν επιπλέον χρήσιμους σκοπούς. αυτό είναι ένα έργο linux, ως συνήθως, είχα δώσει προσοχή με τις καλύτερες γνώσεις μου να κάνω διατάξεις ώστε να μπορεί να κατασκευαστεί κάτω από παράθυρα. Ωστόσο, δεν έχω το χρόνο και τους πόρους για να δοκιμάσω τα πάντα κάτω από τα παράθυρα. τα περισσότερα από τα ηλεκτρονικά μου έργα γίνονται σε πολύ μικρούς πίνακες και συνήθως δουλεύω σε στενούς χώρους (τραπέζι κουζίνας, μισό δανεισμένο γραφείο κλπ). Υπάρχουν πολλές περιπτώσεις που πρέπει να ελέγξω τα επίπεδα λογικής του κυκλώματος και έχω χρησιμοποιήσει ένα πολύμετρο (μέγεθος τούβλου) για να ελέγξω τα πράγματα. με ενοχλεί πάντα καθώς τα έργα μου είναι πολύ μικρότερα από το πολύμετρό μου και διαπίστωσα ότι πάντα με εμποδίζει. Χρειάζομαι μια εναλλακτική λύση, θα κάνει μια μικρή ανίχνευση λογικής. το ez430 είναι τέλειο για αυτήν την εργασία. για αρχή, έχει ήδη σχήμα καθετήρα, απλά πρέπει να προσθέσω ένα καρφί και μερικά led. όπως ανέφερα νωρίτερα, θέλω να κάνω αυτό το έργο απλό και μη καταστρεπτικό. και χρησιμοποίησα αυτό που είναι ήδη διαθέσιμο. Αντί να χτίσω το έργο σε έναν υπολογιστή / προ-πίνακα, το χτίζω σε έναν πίνακα στόχου msp430f2012, χρησιμοποιώντας την κεφαλίδα 14 ακίδων μέσω οπών ως περιοχή πρωτοτύπων μου. εδώ πηγαίνουν τα μικροσκοπικά led. Δεν θέλω να ανοίξω τρύπες στο πλαστικό περίβλημα, δεν θέλω να περάσω πολύ καλώδιο ούτε να προσθέσω επιπλέον σημεία επαφής. το μόνο που χρειάζομαι είναι μια επαφή io probe και μια είσοδος κουμπιού για επιλογή λειτουργίας, συν gnd και vcc. η σύνδεση USB φαίνεται τέλεια για αυτήν την εργασία. θα τροφοδοτήσω τον αισθητήρα μέσω του usb (το κύκλωμα προγραμματιστή θα ρυθμίσει μια πιθανότητα περίπου 3v για μένα) και θα χρησιμοποιήσω τις συνδέσεις D+ και D- usb για τον αισθητήρα και τον διακόπτη μου. δεδομένου ότι το ez430 είναι συσκευή slave / client, κατά την προετοιμασία, δεν θα κάνει τίποτα παρά μόνο ένα pull-up στο D+ (για να υποδείξει ότι είναι ένα usb "υψηλής ταχύτητας"). χρησιμοποιώ το πλωτό D- ως τον ανιχνευτή μου io και το D+ ως την εισαγωγή του κουμπιού αφής (δεν χρειάζεται καν να ρυθμίσω μια αντίσταση έλξης για αυτό, είναι ήδη εκεί) επιπλέον πληροφορίες μπορείτε επίσης να βρείτε εδώ.

Βήμα 1: Χαρακτηριστικά και εφαρμογή

Χαρακτηριστικά και εφαρμογή
Χαρακτηριστικά και εφαρμογή

χαρακτηριστικά * τροφοδοσία από κύκλωμα μέσω σύνδεσης usb * 3 τρόποι λειτουργίας που περιστρέφονται μεταξύ λογικής ανάγνωσης, εξόδου παλμού, εξόδου pwm * πατώντας παρατεταμένο κουμπί (περίπου 1,5 δευτερόλεπτο) περιστρέφεται μέσω των 3 τρόπων λειτουργίας ανιχνευτής, σε - έξοδο, αναβοσβήνει - pwmlogic probe * λογικός ανιχνευτής κόκκινος - γεια, πράσινος - χαμηλός, μη κυμαινόμενος * αισθητήρας λογικής κόκκινος / πράσινος αναβοσβήνει σε συνεχείς παλμούς> 100 hz * 4 κίτρινα led δείχνουν ανιχνευμένες συχνότητες σε 8 βήματα, αναβοσβήνουν κίτρινα υποδεικνύει υψηλή εμβέλεια (δηλ. βήμα 5-8) * εμφανίζει εντοπισμένες συχνότητες παλμών για 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * για μη συνεχείς παλμούς, οι κόκκινες / πράσινες λυχνίες παραμένουν αναμμένες και μετά οι αριθμοί παλμών εμφανίζονται σταδιακά στα led, θα μετρήσουν έως και 8 παλμούς συνεχή έξοδο παλμού, ρύθμιση συχνότητας * υποδεικνύεται από το p1.0 αρχικό πράσινο led * 4 κίτρινα led δείχνουν συχνότητες παλμών εξόδου σε 9 βήματα, τα κίτρινα που αναβοσβήνουν υποδεικνύουν υψηλό εύρος (δηλ. βήμα 5-8) * συχνότητες παλμών έξοδο για 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * το σύντομο πάτημα του κουμπιού περιστρέφει τις 9 διαφορετικές ρυθμίσεις συχνότητας. συνεχής έξοδος παλμού, ρύθμιση pwm * υποδεικνύεται από το p1.0 αρχικό πράσινο led που αναβοσβήνει * ίδιο με το προηγούμενο λειτουργία λειτουργίας, εκτός από τις τιμές pwm εμφανίζονται (και ρυθμίζονται) αντί συχνότητας * 4 κίτρινα led δείχνουν ποσοστά εξόδου pwm σε 9 βήματα, τα κίτρινα που αναβοσβήνουν υποδεικνύουν υψηλό εύρος (δηλ. βήμα 5-8) * ποσοστά pwm για 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * το σύντομο πάτημα κουμπιού περιστρέφει τις 9 διαφορετικές ρυθμίσεις pwm. σχηματικά το σχηματικό είναι αποτελείται από δύο μέρη, στα οποία συνδέονται μέσω ενός ζεύγους συνδετήρων usb. η σχηματική αριστερή πλευρά δείχνει τις προσθήκες στο dongle EZ430 με έναν πίνακα στόχου F2012. το σχηματικό σχήμα της δεξιάς πλευράς είναι η κεφαλή του αισθητήρα λογικής και πρέπει να κατασκευαστεί από την αρχή.

Βήμα 2: Λίστα μερών και κατασκευή

Λίστα μερών και κατασκευή
Λίστα μερών και κατασκευή
Λίστα μερών και κατασκευή
Λίστα μερών και κατασκευή

λίστα εξαρτημάτων * ti ez430-f2013 (χρήση τμήματος προγραμματιστή) * πίνακας στόχου ti ez430 f2012 * led 1,2 x 0,8mm, 4 κίτρινα, 1 κόκκινα, 1 πράσινα * ένα καρφί, περίπου 3/4 ίντσας, επίπεδη κεφαλή * ένα απτικό κουμπί * καπάκι από 1 γραμμάριο υπερ-κόλλας (χρειάζεται και η ίδια η κόλλα) * usb πληκτρολογήστε έναν σύνδεσμο (πλευρά υπολογιστή) * κατασκευή καλωδίων μερικά από αυτά. εάν θέλετε να χρησιμοποιήσετε τον αρχικό πίνακα στόχου f2013, θα πρέπει να γράψετε ξανά ένα πολύ μικρό τμήμα κώδικα που χρησιμοποιεί adc για να αφαιρέσει την κυμαινόμενη κατάσταση. Το f2013 έχει πιο προωθημένο adc 16 bit αντί για το 10 bit που χρησιμοποιώ στην κατασκευή μου. θα χρειαστεί να χρησιμοποιήσετε μια λεπτή μύτη συγκόλλησης και ένα συγκολλητικό σίδερο ελέγχου θερμοκρασίας (ή σταθμό), δεν μπορώ να φανταστώ ότι μπορεί κανείς να κολλήσει τα led με κανονικό σίδερο. ο τρόπος που το έκανα είναι να κολλήσω πρώτα τα επιθέματα κεφαλίδας και στη συνέχεια να χρησιμοποιήσω ένα ζευγάρι ωραία tweeters για να τοποθετήσω τα led smd. αφού ευθυγραμμίσω τα κόκκινα και κίτρινα led, τοποθετώ το ένα πόδι μιας αντίστασης 1/8 watt και το κολλάω στο pcb, το ένα άκρο πηγαίνει σε ένα κοινό gnd. το πράσινο led πάει τελευταίο. είναι πολύ σφιχτό και θα θέλατε να εφαρμόσετε μόνο αρκετή κόλλα για να κολλήσετε τα πράγματα μεταξύ τους. επίσης η ροή είναι απαραίτητη. χρησιμοποιήστε ένα πολύμετρο για να δοκιμάσετε τις αρθρώσεις σας. Στη συνέχεια, θα χρειαστεί να γεφυρώσετε το σύρμα κουμπιού και το σύρμα ανιχνευτή. Χρησιμοποιώ αποκοπές cat5e αλλά τυχόν καλώδια υψηλού εύρους θα κάνουν. όπως φαίνεται στο σχήμα και στην εικόνα, τρέχουν από την πλακέτα προορισμού στον σύνδεσμο usb. θα ήταν ωραίο αν μπορούσα να βρω μια μικρή υποδοχή, ώστε να μπορούν να απενεργοποιηθούν κατά βούληση, αλλά αυτό θα γίνει προς το παρόν.

Βήμα 3: Κατασκευή κεφαλής ανιχνευτή

Κατασκευή κεφαλής ανιχνευτή
Κατασκευή κεφαλής ανιχνευτή

στο κάτω μέρος θα δείτε τα κομμάτια που χρησιμοποίησα για να "κατασκευάσω" (υπερ-κόλλα) τη διάταξη κεφαλής ανιχνευτή. η ιδέα μου είναι να το βασίσω σε μια σύνδεση USB, ώστε να μπορεί να αποσυνδεθεί για ενημερώσεις υλικολογισμικού. χρησιμοποίησα σούπερ κόλλα για να τα συνδυάσω όλα. το "καρφί" είναι κολλημένο απευθείας πάνω από ένα απτικό κουμπί για πολύ γρήγορη εναλλαγή λειτουργίας και ρύθμιση συχνότητας / pwm. μπορεί να θέλετε να κάνετε διαφορετικά εάν δεν λειτουργεί για εσάς. θα υπάρξει κάποια ταλάντευση από τον μηχανισμό απτικών κουμπιών, σε ένα σχέδιο χρησιμοποίησα συνδετήρα χαρτιού για να περιορίσω την ταλάντωση και μια άλλη κεφαλή ανιχνευτή χρησιμοποίησα το καπάκι από την υπερ-κόλλα για να ασφαλίσω τη θέση του νυχιού. μπορεί επίσης να θέλετε να προσθέσετε αντίσταση προστασίας / δίοδο σε αυτό. ο σύνδεσμος usb έχει αυτές τις συνδέσεις, (1) 5v, (2) D-, (3) D+, και (4) Gnd, το D- πρέπει να συνδεθεί με το καρφί, το D+ συνδέεται με το απτικό κουμπί, το άλλο το άκρο του κουμπιού αφής πρέπει να συνδεθεί με τη γείωση. αυτή η στρατηγική probe-on-connector μου δίνει πολλές ευελιξίες, με το καλώδιο τροφοδοσίας στην κεφαλή του καθετήρα, μπορείτε να επεκτείνετε το κύκλωμα και να μετατρέψετε αυτό το έργο σε κάτι άλλο, αλλάζοντας απλά το "κεφάλι" και το υλικολογισμικό, π. μπορεί να είναι ένα βολτόμετρο, μια τηλεόραση-β-εξαφανισμένη (με τρανζίστορ και μπαταρία στην κεφαλή του καθετήρα), κλπ. Στη συνέχεια θα προσθέσω ένα λευκό led "head-light" σε αυτό.

Βήμα 4: Σημειώσεις εφαρμογής και εναλλακτικές εφαρμογές

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

σημειώσεις εφαρμογής

* Το wdt (χρονόμετρο ρολογιού) χρησιμοποιείται για την παροχή χρονισμού κουμπιών (απεμπόδισμα και πάτημα-n-κράτημα), επίσης για παλμό των οδηγήσεων φωτισμού. αυτό είναι απαραίτητο καθώς τα led δεν έχουν περιοριστικές αντιστάσεις και δεν μπορούν να ενεργοποιούνται συνεχώς. * ρολόι dco ρυθμισμένο στα 12mhz για να φιλοξενήσει κυκλώματα στόχου 3v. * Το adc χρησιμοποιείται για να αποφασίσει εάν ερευνούμε σε πλωτό πείρο, οι τιμές κατωφλίου μπορούν να προσαρμοστούν μέσω του πηγαίου κώδικα. * Ο προσδιορισμός της συχνότητας γίνεται με ρύθμιση του timer_a για λήψη για ανίχνευση άκρων και μετρώντας τον παλμό μέσα σε μια περίοδο. * η λειτουργία εξόδου χρησιμοποιεί timer_a συνεχή λειτουργία, λειτουργία εξόδου 7 (set/reset), καταγραφής και σύγκρισης καταχωρητών (CCR0 και CCR1) για επίτευξη διαμόρφωσης πλάτους παλμού.

πηγαίο κώδικα

Αυτές είναι οδηγίες μόνο για linux, το περιβάλλον μου είναι το ubuntu 10.04, άλλες διανομές θα πρέπει να λειτουργούν όσο έχετε εγκαταστήσει σωστά την εργαλειοθήκη msp403 και το mspdebug.

μπορείτε να δημιουργήσετε έναν κατάλογο και να τοποθετήσετε τα παρακάτω αρχεία σε αυτά κάντε κλικ για λήψη του ezprobe.c

Δεν έχω makefile για να το μεταγλωττίσω, χρησιμοποιώ ένα σενάριο bash για να μεταγλωττίσω τα περισσότερα από τα έργα μου, αναφέρεται στη σελίδα ασπίδας εκκίνησης, μετακινηθείτε προς τα κάτω στην ενότητα "Διάταξη καταλόγου χώρου εργασίας" και λάβετε τις λεπτομέρειες.

ή μπορείτε να κάνετε τα εξής

msp430 -gcc -Os -mmcu = msp430x2012 -o ezprobe.elf ezprobe.c msp430 -objdump -DS ezprobe.elf> ezprobe.lst msp430 -objdump -h ezprobe.elf msp430 -μέγεθος ezprobe.elf

για να αναβοσβήνει το υλικολογισμικό, συνδέστε το dongle ez430 και κάντε το

mspdebug -d /dev /ttyUSB0 uif "prog ezprobe.elf"

εναλλακτικές δυνατότητες εφαρμογών

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

* servo tester, αυτό έκανα κλικ για λήψη ezprobe_servo.c * δοκιμαστής μπαταρίας/ βολτόμετρο, έως 2,5v ή υψηλότερο με διαχωριστικό αντίστασης σε εναλλακτική κεφαλή αισθητήρα * tv-b-gone, w/ ir led probe- κεφαλή * πονγκ-ρολόι, w/ 2 αντίσταση tv-out probe-head

αντιμετώπιση προβλημάτων

* χρειάζεστε πραγματικά ένα σίδερο / σταθμό ελέγχου θερμοκρασίας και λεπτές άκρες συγκόλλησης, τα led (όλα μαζί) είναι μικρότερα από έναν κόκκο ρυζιού. * χρησιμοποιήστε τη ροή. * να είστε προετοιμασμένοι για να αποσυνδέσετε τα καλώδια D- και D+ κατά τη διάρκεια του εντοπισμού σφαλμάτων, μπορεί να επηρεάσουν την κανονική λειτουργία usb. εάν γράφετε υλικολογισμικό στην τροποποιημένη συσκευή, μην κάνετε έξοδο σε αυτές τις δύο ακίδες όταν ξεκινήσει το υλικολογισμικό σας. και αν το κάνετε, δεν θα μπορείτε πλέον να κάνετε λήψη υλικολογισμικού (φυσικά μπορείτε να τα ξεκολλήσετε αν συμβεί αυτό). αν μπορείτε να βρείτε μικρούς συνδετήρες που ταιριάζουν στο περίβλημα usb, χρησιμοποιήστε τους. * Η τροφοδοσία για την πλακέτα προορισμού αντλείται από την πλακέτα προγραμματιστή μέσω ενός ρυθμιστή, η οποία με τη σειρά της παίρνει 5v από το usb. όταν χρησιμοποιώ το ezprobe στο κύκλωμα, συνήθως έχω την τροφοδοσία έργου -στόχου μου 3v από δύο δίδυμους AAA 1,5v, αυτό είναι επαρκές, αλλά το έργο πρέπει να παραμείνει σε ή κάτω από 12mhz. 16 mhz dco θα απαιτήσει πλήρη πηγή ισχύος 5v. * Δεν χρησιμοποίησα περιοριστική αντίσταση ή δίοδο zener για την προστασία του αισθητήρα. μπορεί να θέλετε να το κάνετε.

Συνιστάται: