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

Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων: 6 βήματα (με εικόνες)
Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων: 6 βήματα (με εικόνες)

Βίντεο: Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων: 6 βήματα (με εικόνες)

Βίντεο: Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων: 6 βήματα (με εικόνες)
Βίντεο: Πώς να φτιάξετε κύκλωμα ροοστάτη λαμπτήρων LED | DIY project #shorts 2024, Ιούνιος
Anonim
Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων
Σχεδιασμός λαμπτήρα PWM LED πολλαπλών κόμβων

Αυτό το διδακτικό θα δείξει πώς σχεδίασα ένα χειριστήριο LED PWM Lamp. Πολλαπλές λάμπες μπορούν να συνδεθούν για να δημιουργήσουν μεγάλες χορδές φωτός. Η δημιουργία μερικών λαμπτήρων LED για τα Χριστούγεννα ήταν πάντα στη λίστα επιθυμιών μου. Την περασμένη περίοδο των Χριστουγέννων άρχισα πραγματικά να σκέφτομαι να χτίσω κάτι. Η πρώτη μου σκέψη ήταν ότι κάθε λάμπα LED θα μπορούσε απλώς να συνδεθεί με ένα ζεύγος καλωδίων. Η τροφοδοσία των λαμπτήρων LED θα μπορούσε να είναι ένα σήμα εναλλασσόμενου ρεύματος που θα περνούσε από χαμηλή σε υψηλή συχνότητα. Ένα φίλτρο band-pass που είναι ενσωματωμένο σε κάθε λάμπα θα ανάβει το LED όταν η συχνότητα ταιριάζει με την κεντρική συχνότητα του φίλτρου band-pass. Εάν τα φίλτρα band-pass είχαν ρυθμιστεί σωστά, θα μπορούσε να δημιουργηθεί μια ακολουθία καταδίωξης LED. Πραγματικά, πηδώντας σε διαφορετικές συχνότητες αντί να σαρώνετε, οποιοδήποτε από τα LED θα μπορούσε να ενεργοποιηθεί. Χρησιμοποιώντας ένα τσιπ οδηγού H -Bridge, η οδήγηση της επιθυμητής συχνότητας στα καλώδια δεν πρέπει να είναι πολύ σκληρή. Λοιπόν, απλώς βρωμάω με τον αναλογικό σχεδιασμό - είμαι περισσότερο λογισμικό ενός τύπου. Μετά από μερικές δοκιμές πάγκου, εγκατέλειψα γρήγορα τη χρήση αναλογικού. Αυτό που ήθελα πραγματικά ήταν μια λάμπα LED που θα μπορούσε να ελεγχθεί πλήρως για να εμφανίσει οποιοδήποτε χρώμα ήθελα. Ω, και θα πρέπει να είναι σε θέση να χρησιμοποιεί PWM (διαμόρφωση πλάτους παλμού), έτσι ώστε τα LED να μπορούν να αναβοσβήνουν ή να σβήνουν σε πραγματικά δροσερά μοτίβα. Αυτό που ακολουθεί σε αυτό το διδακτικό είναι μια περιγραφή ενός πραγματικά δροσερού σχεδιασμού βασισμένου στον μικροεπεξεργαστή Microchip που έπεσε από την επιθυμία μου για χριστουγεννιάτικα δέντρα. Ρίξτε μια γρήγορη ματιά στο παρακάτω βίντεο για να δείτε γρήγορα τι είναι σε θέση να εμφανίσει ο ελεγκτής λαμπτήρων Kemper LED PWM. Σημείωση, είναι δύσκολο να αποκτήσετε ένα καλό βίντεο με ενδεικτικές λυχνίες LED που χρησιμοποιούν PWM για έλεγχο έντασης. Είναι το ίδιο πρόβλημα όταν προσπαθείτε να βιντεοσκοπήσετε μια οθόνη υπολογιστή. Τα 60Hz των LED παλεύουν με συχνότητα με τα 30Hz της βιντεοκάμερας. Ως εκ τούτου, ενώ υπάρχουν στιγμές που το βίντεο των LED είναι λίγο "γλαφυρό", αυτό δεν συμβαίνει στην πραγματικότητα. Οι λυχνίες LED δεν φαίνεται να έχουν κανένα πρόβλημα όταν τις βλέπει το ανθρώπινο μάτι. Ανατρέξτε στο παρακάτω βήμα λογισμικού για περισσότερη συζήτηση σχετικά με την βιντεοσκόπηση των LED.

Βήμα 1: Στόχοι σχεδιασμού

Στόχοι σχεδιασμού
Στόχοι σχεδιασμού

Αφού πέρασα το χριστουγεννιάτικο διάλειμμα σκεπτόμενος αυτό το έργο, βρήκα μια λίστα επιθυμιών. Εδώ είναι μερικά από τα χαρακτηριστικά (ταξινομημένα με τη σειρά) που ήθελα με τον ελεγκτή LED μου: 1) Κάθε λάμπα LED πρέπει να είναι όσο το δυνατόν πιο φθηνή. Μια σειρά 100 λαμπτήρων θα κοστίσει μια δέσμη αν κάθε λάμπα κοστίζει πολύ. Το κόστος, επομένως, είναι ένας σημαντικός παράγοντας. 2) Κάθε λαμπτήρας θα έχει ένα μικροσκοπικό μικροσκόπιο στο σκάφος που θα οδηγεί τα LED. Το μικροσκοπικό μικρόφωνο θα παράγει σήματα PWM έτσι ώστε τα LED να μπορούν να μειωθούν ή να ξεθωριάσουν. Οι λυχνίες LED μπορεί να φαίνονται σκληρές όταν απλώς ενεργοποιούνται και απενεργοποιούνται. Χρησιμοποιώντας σήματα PWM, οι λυχνίες LED μπορούν να ξεθωριάσουν πάνω-κάτω χωρίς τις σκληρές άκρες που είναι κανονικές για τις λυχνίες LED. 3) Για να διατηρείται απλή η καλωδίωση, κάθε λάμπα θα δέχεται εντολές χρησιμοποιώντας μια διεπαφή δύο καλωδίων. Η ισχύς και οι επικοινωνίες θα μοιράζονται τα ίδια δύο καλώδια. Οι εντολές προς τις λάμπες θα πουν στο μικροσκόπιο του σκάφους ποια από τα LED θα οδηγήσουν με PWM. 4) Πρέπει να φαίνεται δροσερό! Υποθέτω ότι αυτό θα έπρεπε πραγματικά να αναριθμηθεί, έτσι είναι το νούμερο ένα. Ακολουθούν μερικοί από τους μικρούς στόχους σχεδιασμού (χωρίς ιδιαίτερη σειρά): 1) Για ανάπτυξη, πρέπει να είναι εύκολο να επανατοποθετηθεί / επαναπρογραμματιστεί στο κύκλωμα. 2) Ένας υπολογιστής θα πρέπει να είναι σε θέση να παράγει τις εντολές στις λάμπες. Αυτό καθιστά την ανάπτυξη προτύπων πολύ πιο εύκολη από τη χρήση άλλου ενσωματωμένου micro.3) Κάθε λαμπτήρας πρέπει να έχει μια μοναδική διεύθυνση. Κάθε LED, μέσα σε μια λάμπα, πρέπει επίσης να έχει μοναδική διεύθυνση. 4) Το πρωτόκολλο εντολών πρέπει να υποστηρίζει ΠΟΛΛΕΣ λάμπες σε μια σειρά καλωδίων. Ο τρέχων σχεδιασμός υποστηρίζει 128 λάμπες σε μία χορδή. Με 4 LED ανά λάμπα που λειτουργεί έως 512 LED σε μία σειρά δύο καλωδίων! Σημειώστε επίσης, καθένα από αυτά τα 512 LED έχει πλήρη PWM οδήγηση. Μόλις ξεκινήσει το ξεθώριασμα, μπορούν να ρυθμιστούν και άλλες λυχνίες LED και να εξαφανιστούν στην ίδια λυχνία. Με άλλα λόγια, ρυθμίστε μια λυχνία LED σε ένα ξεθώριασμα και στη συνέχεια ξεχάστε τη γνωρίζοντας ότι το LED θα εκτελέσει την εντολή. Αυτό συνεπάγεται λογισμικό πολλαπλών εργασιών στο micro! 6) Θα πρέπει να υπάρχουν καθολικές εντολές που επηρεάζουν όλες τις λάμπες ταυτόχρονα. Επομένως, όλες οι λυχνίες LED μπορούν να εντοπιστούν χρησιμοποιώντας μόνο μία εντολή. Ακολουθούν μερικοί πραγματικά μικροί στόχοι σχεδίασης (και πάλι, χωρίς ιδιαίτερη σειρά): 1) Χρειάζεστε έναν τρόπο για να αναφέρετε μια λυχνία πίσω όταν εμφανίζεται ένα σφάλμα επικοινωνίας. Αυτό θα επέτρεπε την εκ νέου εκτέλεση της εντολής.2) Το πρωτόκολλο εντολών χρειάζεται έναν τρόπο για να έχει ένα φανταχτερό παγκόσμιο μοτίβο αντιστοίχισης. Αυτό θα επέτρεπε να επιλέγεται κάθε x αριθμός λαμπτήρων με μία εντολή. Αυτό θα διευκολύνει την κατασκευή μοτίβων καταδίωξης με μεγάλο αριθμό λαμπτήρων. Για παράδειγμα, αυτό θα επέτρεπε την αποστολή μιας εντολής σε κάθε τρίτη λάμπα σε μια σειρά λαμπτήρων. Στη συνέχεια, η επόμενη εντολή θα μπορούσε να σταλεί στην επόμενη ομάδα τριών. 3) Ένα λογικό σύστημα αυτόματης ανίχνευσης πολικότητας θα ήταν επίσης εξαιρετικό. Στη συνέχεια, η πολικότητα των δύο καλωδίων τροφοδοσίας στους λαμπτήρες LED γίνεται ασήμαντη. Ανατρέξτε στην ενότητα υλικού για περισσότερα σχετικά με αυτήν τη λειτουργία.

Βήμα 2: Πρωτότυπο:

Πρωτότυπο
Πρωτότυπο
Πρωτότυπο
Πρωτότυπο
Πρωτότυπο
Πρωτότυπο

Είναι τώρα αρχές Ιανουαρίου και φεύγω. Βρήκα το 10F206 στο Digikey και είναι πραγματικά φθηνό! Έτσι, περιστρέφω έναν πίνακα proto για να χωρέσει ένα μικρό 10F206 micro από το Microchip. Σχεδίασα έναν γρήγορο πίνακα επειδή το 10F2xx δεν είναι διαθέσιμο σε πακέτο DIP. Κατώτατη γραμμή, δεν ήθελα να ταλαιπωρηθώ με το μικρό τσιπ. (Wasμουν τόσο σίγουρος τον Ιανουάριο) Έφυγα επίσης και αγόρασα έναν νέο μεταγλωττιστή CSS C που στοχεύει στα μικρόφωνα 10F2xx. Η οικογένεια τσιπ 10F2xx είναι πραγματικά φθηνή! Με μεγάλες ελπίδες, βούτηξα και άρχισα να γράφω πολλούς κώδικες. Το 10F206 έχει υπέροχα 24 byte μνήμης RAM - το τσιπ διαθέτει επίσης 512 bytes φλας και ένα χρονόμετρο οκτώ bit. Ενώ οι πόροι είναι λιγοστοί, η τιμή είναι καλή στα 41 λεπτά σε μεγάλες ποσότητες. Θεέ μου, ένα εκατομμύριο οδηγίες ανά δευτερόλεπτο (1 MIPS) για 41 λεπτά! Απλώς λατρεύω τον νόμο του Μουρ. Evan σε εφάπαξ τιμές, το 10F206 από το Digikey είναι καταχωρημένο στα 66 λεπτά. Πέρασα ένα σωρό χρόνο δουλεύοντας με το 10F206. Ενώ δούλευα με το 10F206 ανακάλυψα ότι το multitasking είναι απολύτως απαραίτητο. Τα σήματα εξόδου PWM ΠΡΕΠΕΙ να ενημερώνονται ακόμη και όταν λαμβάνετε νέα μηνύματα επικοινωνίας. Οποιαδήποτε διακοπή στην ενημέρωση των σημάτων PWM θα θεωρηθεί δυσλειτουργία στα LED. Το ανθρώπινο μάτι είναι πολύ καλό να βλέπει δυσλειτουργίες. Υπάρχουν μερικά βασικά προβλήματα με το τσιπ 10F206. Τουλάχιστον θεμελιώδη προβλήματα για την εφαρμογή μου. Το πρώτο πρόβλημα είναι ότι δεν υπάρχουν διακοπές! Η εκκίνηση νέων επικοινωνιών με τη βοήθεια ενός βρόχου ψηφοφορίας επιφέρει σφάλματα χρονισμού. Ένα δεύτερο πρόβλημα είναι ότι υπάρχει μόνο ένας χρονοδιακόπτης. Απλώς δεν μπορούσα να βρω έναν τρόπο να λαμβάνω εντολές διατηρώντας παράλληλα τις εξόδους PWM. Τα LED σβήνουν κάθε φορά που λαμβάνεται μια νέα εντολή. Η κοινή χρήση του χρονοδιακόπτη μεταξύ λήψης εντολών και οδήγησης των εξόδων PWM ήταν επίσης μια μεγάλη ταλαιπωρία λογισμικού. Δεν μπόρεσα να επαναφέρω το χρονόμετρο κατά τη λήψη ενός νέου χαρακτήρα επειδή ο χρονοδιακόπτης χρησιμοποιείται επίσης για τον έλεγχο των σημάτων PWM. Ενώ εργαζόμουν με το 10F206 είδα ένα άρθρο στο Circuit Cellar σχετικά με το νέο μικροσκοπικό μικρόφωνο της Freescale MC9RS08KA1 micro. Λατρεύω τις μάρκες Freescale - είμαι μεγάλος οπαδός του εντοπισμού σφαλμάτων BDM. Χρησιμοποίησα τα τσιπ Star12 πολύ στο παρελθόν (έγραψα όλο το λογισμικό για το σύστημα υπερήχων GM Cadillac & Lacern σε ένα Star12 - το λογισμικό υπερήχων μου παράγεται τώρα σε αυτά τα δύο αυτοκίνητα). Έτσι, ήμουν πραγματικά ελπιδοφόρος ότι οι νέες μικροσκοπικές μάρκες τους θα ήταν καλές. Η τιμή είναι επίσης σωστή, ο Digikey έχει αυτές τις μάρκες που αναφέρονται σε 38 σεντ σε μεγάλη ποσότητα. Το Freecale ήταν καλό και μου έστειλε μερικά δωρεάν δείγματα. Ωστόσο, το τσιπ Freescale 9RS08 φαινόταν πραγματικά ανόητο - δεν μπορούσα να προχωρήσω πολύ με αυτό. Το τσιπ υποφέρει επίσης με έλλειψη διακοπών και μόνο ένα χρονόμετρο. Λοιπόν, τουλάχιστον κατάλαβα ότι όλα αυτά χωρίς σπατάλη χρημάτων για την περιστροφή ενός άλλου πρωτοτύπου. Δείτε τις παρακάτω φωτογραφίες. Τώρα ξέρω - για την εφαρμογή μου πρέπει να έχω διακοπές και περισσότερα από ένα χρονόμετρα. Πίσω στο Microchip, βρήκα το τσιπ 12F609. Έχει διακοπές και δύο χρονοδιακόπτες. Έχει επίσης 1K φλας και 64 byte μνήμης RAM. Το μειονέκτημα είναι η τιμή. Η Digikey απαριθμεί αυτά τα τσιπ σε 76 σεντ σε μεγάλη ποσότητα. Λοιπόν, ο νόμος του Μουρ θα το φροντίσει αρκετά σύντομα. Στα θετικά, το 12F609 μπορεί επίσης να παραγγελθεί σε πακέτα DIP. Στα αρνητικά, έπρεπε να αγοράσω τον επόμενο επίπεδο μεταγλωττιστή - αυτό κάηκε κάπως στο @#$% μου&.Τώρα είναι Απρίλιος και έχω μάθει πολλά για το τι δεν θα λειτουργήσει. Έχω περιστρέψει έναν πίνακα και σπατάλησα χρήματα σε έναν μεταγλωττιστή που δεν χρειάζομαι. Ακόμα, οι μέχρι τώρα δοκιμές είναι ενθαρρυντικές. Με τον νέο μεταγλωττιστή και τα τσιπ 12F209 σε πακέτα DIP, η δοκιμή επιπέδου πάγκου προχώρησε γρήγορα. Οι δοκιμές επιβεβαίωσαν ότι είχα το σωστό τσιπ. Timeρθε η ώρα να γυρίσετε ένα άλλο πρωτότυπο! Σε αυτό το σημείο, είμαι αποφασισμένος.

Βήμα 3: Αναπτυξιακός πίνακας 12F609

12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης
12F609 Πίνακας Ανάπτυξης

Εντάξει, νέα δοκιμή πάγκου, είμαι έτοιμος να δοκιμάσω άλλη περιστροφή του σκάφους. Σε αυτόν τον σχεδιασμό του πίνακα, ήθελα πολύ να δοκιμάσω την ιδέα της αποστολής ισχύος και επικοινωνίας στα ίδια δύο καλώδια. Εάν αγνοηθούν τα σφάλματα comm, θα απαιτούνται μόνο δύο καλώδια. Αυτό είναι ακριβώς κάτω ακριβώς δροσερό! Ενώ η αποστολή επικοινωνιών μέσω των καλωδίων τροφοδοσίας είναι δροσερή, δεν απαιτείται. Όλοι οι λαμπτήρες μπορούν να συνδεθούν μεταξύ τους σε ένα μόνο καλώδιο comm εάν επιθυμείτε. Αυτό θα σήμαινε ότι κάθε λάμπα θα απαιτούσε τρία καλώδια με ένα τέταρτο προαιρετικό καλώδιο κατάστασης ανάδρασης. Δείτε παρακάτω το διάγραμμα. Η δύναμη και η επικοινωνία μπορούν να συνδυαστούν χρησιμοποιώντας ένα απλό H-Bridge. Το H-Bridge μπορεί να οδηγήσει μεγάλα ρεύματα χωρίς κανένα πρόβλημα. Πολλές λυχνίες LED υψηλού ρεύματος θα μπορούσαν να συνδεθούν σε δύο μόνο καλώδια. Η πολικότητα της ισχύος DC στους λαμπτήρες μπορεί να αλλάξει πολύ γρήγορα με το H-Bridge. Έτσι, κάθε λαμπτήρας χρησιμοποιεί μια γέφυρα πλήρους κύματος για να διορθώσει το DC μεταγωγής σε κανονική ισχύ DC. Ένας από τους μικρο -ακροδέκτες συνδέεται με την ακατέργαστη εισερχόμενη ισχύ μεταγωγής DC, έτσι ώστε να μπορεί να ανιχνευθεί το σήμα comm. Μια αντίσταση περιορισμού ρεύματος προστατεύει την ψηφιακή είσοδο στο μικρόφωνο. Μέσα στον ακροδέκτη εισόδου μικροϋπολογιστή, η ακατέργαστη τάση συνεχούς μεταγωγής συσφίγγεται χρησιμοποιώντας τις εσωτερικές διόδους καταστροφής του μικροϋπολογιστή - το DC μεταγωγής σφίγγεται (μηδέν σε Vcc volt) από αυτές τις διόδους. Η γέφυρα πλήρους κύματος που διορθώνει την εισερχόμενη ισχύς δημιουργεί δύο πτώσεις διόδου. Οι δύο πτώσεις διόδου από τη γέφυρα απλώς ξεπερνιούνται ρυθμίζοντας την τάση τροφοδοσίας H-Bridge. Μια τάση H-Bridge έξι βολτ παρέχει μια καλή τροφοδοσία πέντε βολτ στο μικρό. Στη συνέχεια, χρησιμοποιούνται ατομικές περιοριστικές αντιστάσεις για την περικοπή του ρεύματος σε κάθε LED. Αυτό το σχήμα power / comm φαίνεται να λειτουργεί πολύ καλά. Wantedθελα επίσης να δοκιμάσω να προσθέσω εξόδους τρανζίστορ μεταξύ του μικροφώνου και των LED. Κατά τη δοκιμή πάγκου, εάν το 12F609 πιέζεται σκληρά (πολύ ρεύμα στη διαδρομή εξόδου του) θα αναβοσβήνει όλες οι έξοδοι. Το μέγιστο ρεύμα για ολόκληρο το τσιπ σύμφωνα με το φύλλο δεδομένων που μπορεί να υποστηρίξει το 12F609 είναι 90mA, συνολικά. Λοιπόν, αυτό δεν θα λειτουργήσει! Απλώς μπορεί να χρειάζομαι πολύ περισσότερο ρεύμα από αυτό. Η προσθήκη τρανζίστορ μου δίνει ικανότητα 100mA ανά LED. Η γέφυρα διόδου είναι βαθμολογημένη στα 400mA, έτσι ώστε να χωράει 100mA ανά δυνατότητα LED. Υπάρχει ένα μειονέκτημα. τα τρανζίστορ κοστίζουν 10 σεντ το καθένα. Τουλάχιστον τα τρανζίστορ που επέλεξα έχουν ενσωματωμένες αντιστάσεις - ο αριθμός εξαρτήματος Digikey είναι MMUN2211LT1OSCT -ND. Με τα τρανζίστορ στη θέση τους, ΔΕΝ τρεμοπαίζει το LED. Για λαμπτήρες παραγωγής νομίζω ότι τα τρανζίστορ δεν θα απαιτηθούν εάν χρησιμοποιούνται "κανονικά" LED 20mA. Ο πίνακας ανάπτυξης που σχεδιάστηκε σε αυτό το βήμα είναι μόνο για δοκιμή και ανάπτυξη. Ο πίνακας θα μπορούσε να είναι πολύ μικρότερος αν χρησιμοποιούνταν μικρότερες αντιστάσεις. Η εξάλειψη των τρανζίστορ θα εξοικονομήσει επίσης ένα σωρό χώρο σανίδων. Η θύρα προγραμματισμού σε κύκλωμα θα μπορούσε επίσης να αφαιρεθεί για πίνακες παραγωγής. Το κύριο σημείο του πίνακα ανάπτυξης είναι απλώς να αποδείξει το σχήμα power/comm. Στην πραγματικότητα, αφού έλαβα τους πίνακες, ανακάλυψα ότι υπάρχει πρόβλημα με τη διάταξη του πίνακα. Το τσιπ γεφυρών πλήρους κύματος έχει ένα ανόητο pinout. Έπρεπε να κόψω δύο ίχνη και να προσθέσω δύο καλώδια άλματος στο κάτω μέρος κάθε σανίδας. Επιπλέον, τα ίχνη των LED και του συνδέσμου είναι πολύ λεπτά. Ωραία, ζήσε και μάθε. Δεν θα είναι η πρώτη φορά που κοροϊδεύω μια νέα διάταξη πλακέτας. Είχα οκτώ πίνακες που έγιναν χρησιμοποιώντας το BatchPCB. Έχουν τις καλύτερες τιμές, αλλά είναι πολύ χαμηλές. Χρειάστηκαν εβδομάδες για να πάρουμε πίσω τους πίνακες. Ακόμα, αν η τιμή σας είναι ευαίσθητη, το BatchPCB είναι ο μόνος τρόπος να προχωρήσετε. Ωστόσο, θα επιστρέψω στα κυκλώματα AP - είναι εξαιρετικά γρήγορα. Μακάρι να είχαν έναν φθηνότερο τρόπο να στείλουν τις σανίδες έξω από τον Καναδά. Τα κυκλώματα AP μου αποδίδουν 25 δολάρια σε αποστολή για κάθε παραγγελία. Αυτό πονάει αν αγοράζω μόνο σανίδες αξίας 75 δολαρίων. Μου πήρε δύο ημέρες για να κολλήσω τις οκτώ μικρές σανίδες. Χρειάστηκε άλλη μια μέρα για να καταλάβω ότι η αντίσταση έλξης R6 (βλέπε σχηματικό) με μπέρδεψε. Υποθέτω ότι η αντίσταση R6 δεν χρειάζεται. Ανησύχησα μετά την ανάγνωση του φύλλου δεδομένων και έδειξε ότι δεν υπάρχουν εσωτερικές μικρο-αναρτήσεις σε αυτόν τον πείρο εισόδου. Στο σχέδιό μου, η καρφίτσα οδηγείται συνεχώς ούτως ή άλλως, οπότε τελικά δεν χρειάζεται πραγματικά ένα pull-up. Για να στείλω εντολές στον πίνακα χρησιμοποίησα απλά μηνύματα 9600 baud από ένα πρόγραμμα Python. Το ακατέργαστο RS232 που βγαίνει από τον υπολογιστή μετατρέπεται σε TTL χρησιμοποιώντας ένα τσιπ MAX232. Το σήμα RS232 TTL πηγαίνει στην είσοδο ελέγχου H-Bridge. Το RS232 TTL περνά επίσης από μια πύλη inverter σε ένα τσιπ 74HC04. Στη συνέχεια, το ανεστραμμένο RS232 πηγαίνει στην άλλη είσοδο ελέγχου H-Bridge. Έτσι, χωρίς κίνηση RS232, το H-Bridge εξάγει 6 βολτ. Για κάθε bit στο RS232, το H -Bridge αναστρέφει την πολικότητα στα -6 βολτ για όσο διαρκεί το bit RS232. Δείτε παρακάτω τις φωτογραφίες του μπλοκ διαγράμματος. Επισυνάπτεται επίσης το πρόγραμμα Python. Για τα LED, αγόρασα μια δέσμη από τη διεύθυνση https://besthongkong.com. Είχαν φωτεινά LED 120 μοιρών σε κόκκινο/πράσινο/μπλε/λευκό. Θυμηθείτε, τα LED που χρησιμοποίησα είναι μόνο για δοκιμές. Αγόρασα 100 από κάθε χρώμα. Ακολουθούν οι αριθμοί για τα LED που χρησιμοποίησα: Μπλε: 350mcd / 18 cents / 3.32V @ 20mΠράσινο: 1500mcd / 22 cents / 3.06V @ 20mA Λευκό: 1500mcd / 25 cents / 3.55V @ 20mAred: 350mcd / 17 cents / 2.00V @ Χρησιμοποιώντας αυτές τις τέσσερις λυχνίες LED για να γεμίσετε τη λάμπα, αυξάνουν το κόστος τους όσο το μικρό στα 82 λεπτά! Ωχ.

Βήμα 4: Λογισμικό

Λογισμικό
Λογισμικό
Λογισμικό
Λογισμικό
Λογισμικό
Λογισμικό

Το λογισμικό κάνει πραγματικά αυτό το έργο να σημειώνεται! Ο πηγαίος κώδικας στο 12F609 είναι πραγματικά περίπλοκος. Χρησιμοποιώ την τελευταία θέση μνήμης! Και τα 64 byte έχουν καταναλωθεί από τον κωδικό μου. Μου περισσεύουν 32 bytes φλας ως ανταλλακτικό. Έτσι, χρησιμοποιώ το 100% της μνήμης RAM και το 97% του φλας. Ωστόσο, είναι εκπληκτικό πόση λειτουργικότητα λαμβάνετε για όλη αυτή την πολυπλοκότητα. Η επικοινωνία σε κάθε λάμπα αρχειοθετείται με την αποστολή πακέτων δεδομένων οκτώ byte. Κάθε πακέτο δεδομένων τελειώνει με ένα άθροισμα ελέγχου - έτσι πραγματικά, υπάρχουν επτά byte δεδομένων συν ένα τελικό άθροισμα ελέγχου. Στα 9600 baud, ένα πακέτο δεδομένων χρειάζεται λίγο περισσότερο από 8 χιλιοστά του δευτερολέπτου για να φτάσει. Το κόλπο είναι να κάνετε πολλαπλές εργασίες ενώ φτάνει το πακέτο των byte. Εάν κάποια από τις λυχνίες LED είναι ενεργές με σήμα PWM, η έξοδος PWM πρέπει να ενημερώνεται ακόμη και όταν λαμβάνετε νέα πακέτα byte. Αυτό είναι το κόλπο. Μου πήρε εβδομάδες και εβδομάδες για να το λύσω. Πέρασα τεράστιο χρόνο δουλεύοντας με το Logiport LSA προσπαθώντας να ακολουθήσω κάθε κομμάτι. Αυτός είναι ένας από τους πιο περίπλοκους κώδικες που έχω γράψει. Είναι επειδή το μικρό είναι πολύ περιορισμένο. Σε μικρότερα που είναι πιο ισχυρά, είναι εύκολο να γράψετε χαλαρό/εύκολο κώδικα και να έχετε το γρήγορο micro rip μέσω αυτού χωρίς παράπονο. Με το 12F609, οποιοσδήποτε χαλαρός κωδικός σας κοστίζει αρκετά. Όλος ο μικρο -πηγαίος κώδικας είναι γραμμένος σε C εκτός από τη ρουτίνα της υπηρεσίας διακοπής. Γιατί μπορείτε να ρωτήσετε τόσο μεγάλα πακέτα δεδομένων. Λοιπόν, επειδή θέλουμε οι λυχνίες LED να ανεβοκατεβαίνουν με δική τους βούληση. Μόλις φορτωθεί ένα προφίλ ράμπας, το LED μπορεί να σβήσει και να αρχίσει να ανεβαίνει ακόμα και όταν λαμβάνει νέες εντολές για ένα άλλο LED. Κάθε λαμπτήρας πρέπει να λαμβάνει και να αποκωδικοποιεί όλη την κυκλοφορία πακέτων δεδομένων ακόμη και αν το πακέτο δεν προορίζεται για αυτό. Ένα προφίλ LED αποτελείται από ένα επίπεδο έναρξης, χρόνο έναρξης, ρυθμό ράμπας, ανώτατο επίπεδο, ανώτατο χρόνο παραμονής, ρυθμό καθόδου, κάτω επίπεδο Το Δείτε το συνημμένο διάγραμμα. Πω πω, είναι πολλά για ένα LED. Τώρα, πολλαπλασιάστε τον αριθμό των LED. Γίνεται πάρα πολύ - θα μπορούσα να παρακολουθώ μόνο τρία LED με πλήρη προφίλ ράμπας. Η τέταρτη (λευκή λυχνία LED στον πίνακα ανάπτυξης) έχει μόνο ράμπα από/προς τη δυνατότητα. Είναι ένας συμβιβασμός. Ρίξτε μια ματιά στη συνημμένη εικόνα ενός προφίλ ράμπας. Το σήμα PWM δημιουργείται από ένα χρονόμετρο που λειτουργεί με 64uS ανά τσιμπούρι. Ο χρονοδιακόπτης οκτώ δυαδικών ψηφίων περιστρέφεται κάθε 16,38 mS. Αυτό σημαίνει ότι το σήμα PWM λειτουργεί στα 61,04Hz. Αυτό δεν είναι καλό για την παρακολούθηση βίντεο! Έτσι, χρησιμοποίησα ένα κόλπο λογισμικού και πήγα μερικές επιπλέον μετρήσεις στο χρονόμετρο για να το επεκτείνω στα 60Hz. Αυτό κάνει το πάτημα βίντεο να φαίνεται πολύ καλύτερο. Σε κάθε ανατροπή του χρονοδιακόπτη PWM (16,67mS) ενημερώνω το προφίλ (τα) ράμπας. Επομένως, κάθε τσιμπούρι ράμπας/διαμονής είναι 1/60 του δευτερολέπτου ή 60Hz. Το μεγαλύτερο τμήμα προφίλ (με μέτρηση 255) θα διαρκέσει 4,25 δευτερόλεπτα και το συντομότερο (με μέτρηση 1) διαρκεί 17ms. Αυτό δίνει μια ωραία γκάμα για να εργαστείτε μέσα. Ρίξτε μια ματιά στη συνημμένη φωτογραφία από τον αναλυτή λογικής. Για να δείτε πραγματικά τις λεπτομέρειες στη φωτογραφία, ανοίξτε τη φωτογραφία στη λειτουργία υψηλής ανάλυσης. Αυτό απαιτεί μερικά επιπλέον κλικ στον εκπαιδευτικό ιστότοπο. Υπάρχει επίσης ένα σχέδιο ενός προφίλ που φαίνεται παρακάτω. Η τεκμηρίωση του πρωτοκόλλου εντολών βρίσκεται στη λίστα των εργασιών μου. Σκοπεύω να γράψω ένα είδος φύλλου δεδομένων εγγράφου για να το περιγράψω πλήρως στο πρωτόκολλο. Έχω ξεκινήσει ένα φύλλο δεδομένων για το τσιπ - μια προκαταρκτική έκδοση βρίσκεται στον ιστότοπό μου τώρα.

Βήμα 5: Πιθανές εφαρμογές

Πιθανές εφαρμογές
Πιθανές εφαρμογές
Πιθανές εφαρμογές
Πιθανές εφαρμογές

Φως Χριστουγεννιάτικου Δέντρου: Σίγουρα, πιστεύω ότι ένα δέντρο γεμάτο με αυτά τα μωρά θα ήταν απλώς φοβερό. Μπορώ να φανταστώ μια ωραία ζεστή λάμψη πράσινων φώτων με ελαφρύ χιόνι να πέφτει κάτω από το δέντρο. Maybeσως ένα αργό ξεθώριασμα από πράσινο σε κόκκινο με τυχαίο χιόνι που πέφτει. Τα φώτα Chaser που κάνουν ένα ελικοειδές σπιράλ μοτίβο πάνω και κάτω στο δέντρο θα ήταν επίσης τακτοποιημένα. Από χοντρό, θα παρκάρω αυτό το δέντρο στην αυλή και θα τρελάνω τον "Τζόουνς" της διπλανής πόρτας. Εκεί, προσπαθήστε να το νικήσετε! Φωτισμός προφοράς: Οτιδήποτε χρειάζεται φωτισμό προφοράς είναι στόχος αυτών των λαμπτήρων. Ο κουνιάδος μου θέλει να τα βάλει στο κάτω μέρος της δεξαμενής ψαριών του. Ένας φίλος θέλει να δώσει έμφαση στον κινητήρα του με καυτή ράβδο - το να πατάς στο πεντάλ του γκαζιού θα ανεβάσει μια κόκκινη λάμψη φωτός. Σκεφτόμουν επίσης να φτιάξω ένα από αυτά με τους λαμπτήρες μου: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ Θα αποτελούσε ένα υπέροχο έργο Cub Scouts. Πτυσσόμενο LED String: Μια σειρά λαμπτήρων LED θα μπορούσε να διπλωθεί σε σχήματα. Επτά λαμπτήρες θα μπορούσαν να διπλωθούν σε μοτίβο LED επτά τμημάτων. Θα μπορούσε να γίνει μια τεράστια οθόνη - θα ήταν μια μεγάλη οθόνη αντίστροφης μέτρησης για τα νέα χρόνια! Maybe ίσως, μια οθόνη που δείχνει το χρηματιστήριο - κόκκινα ψηφία τις κακές μέρες και πράσινα τα καλά. Maybeσως μια μεγάλη οθόνη που δείχνει εξωτερική θερμοκρασία. Πλάτος 3D Υπάρχουν μερικά υπέροχα παραδείγματα συστοιχίας 3D LED στο YouTube. Ωστόσο, τα υπάρχοντα παραδείγματα που έχω δει μοιάζουν μικρά και επίπονα. Maybeσως ένα μεγάλο τρισδιάστατο πλέγμα στην αυλή κατά τη διάρκεια των Χριστουγέννων. WinAmp Plug-In: Όλοι όσοι ήταν στο εργαστήριό μου και είδαν τα φώτα, ρωτούν αν χορεύουν μουσική. Έκανα λίγο σκάψιμο, φαίνεται ότι θα ήταν αρκετά εύκολο να προσθέσω ένα plug-in στο WinAmp. Το plug-in θα έστελνε μηνύματα σε μια συνημμένη σειρά λαμπτήρων έτσι ώστε τα φώτα να συγχρονίζονται με τη μουσική που έπαιζε το WinAmp. Ο συγχρονισμός κάποιας χριστουγεννιάτικης μουσικής στο χριστουγεννιάτικο δέντρο μου θα ήταν απλά φοβερός. Ενσωματωμένος ελεγκτής ρομπότ Baby Orangutan B-328 με H-Bridge: Το μικρό χειριστήριο από την Pololu θα ήταν τέλειο. Δείτε: https://www.pololu.com/catalog/product/1220 Αυτός ο πίνακας έχει ήδη ένα H-Bridge έτοιμο να ξεκινήσει. Τα μοτίβα λαμπτήρων μπορούν να προγραμματιστούν στο μικρό, έτσι ώστε ο υπολογιστής να απενεργοποιηθεί. 802.15.4: Με την προσθήκη 802.15.4 οι λάμπες θα μπορούσαν να γίνουν ασύρματες. Για τα φώτα του χριστουγεννιάτικου δέντρου που απλώνονται γύρω από το σπίτι, αυτό θα ήταν υπέροχο. Or, η προσθήκη λαμπτήρων σε κάθε παράθυρο σε ένα μεγάλο κτιριακό συγκρότημα θα ήταν δυνατή. Cool. Rotating 'Lighthouse Beacon: Ο γιος μου είχε ένα σχολικό έργο για την κατασκευή ενός Φάρου. Η ιδέα ήταν να φτιάξουμε ένα λαμπερό τροφοδοτικό με μπαταρία με ένα διακόπτη συνδετήρα, έτσι ώστε ο Φάρος να φωτίζεται. Κανένας γιος μου δεν θα πάει σχολείο με αυτό όταν μπορεί να έχει έναν πλήρη περιστροφικό φάρο! Ρίξτε μια ματιά στις συνημμένες φωτογραφίες και βίντεο.

Βήμα 6: Περίληψη

Πραγματικά με εκπλήσσει που κάθε λάμπα έχει 2 MIPS ίππους σε ένα SOIC-8 για 80 λεπτά. Καθώς μια σειρά λαμπτήρων επεκτείνεται με την προσθήκη περισσότερων λαμπτήρων, η ποσότητα των MIPS στη χορδή αυξάνεται επίσης. Με άλλα λόγια, αυτό είναι ένα κλιμακούμενο σχέδιο. Μια σειρά από 16 λάμπες βουίζει μαζί με 32 MIPS επεξεργαστικής ισχύος. Απλά φανταστικό. Υπάρχει ακόμη πολλή δουλειά ακόμα να γίνει. Ο πίνακας ανάπτυξης πρέπει να ενημερωθεί. Υπάρχουν μερικά σφάλματα διάταξης που χρειάζονται διόρθωση. Η καλωδίωση εξόδου σφάλματος comm δεν φαίνεται να λειτουργεί με την έξοδο του τρανζίστορ. Δεν είμαι ακόμα σίγουρος γιατί - δεν έχω ξοδέψει ακόμη χρόνο για να το διευθετήσω. Ο κωδικός επικοινωνίας που λαμβάνει χρειάζεται επίσης περισσότερη δουλειά. Παρακολουθώντας τις λυχνίες LED μπορώ να δω ότι υπάρχουν συχνά σφάλματα επικοινωνίας. Φαίνεται ότι υπάρχει κατά μέσο όρο ένα τυχαίο σφάλμα ανά 1000 μηνύματα. Πρέπει να βρω μια κατασκευή SMD που θα ήταν πρόθυμη να μου φτιάξει σανίδες λαμπτήρων. Maybeσως το Spark Fun θα ενδιαφερόταν; Έχω έναν φίλο στο Χονγκ Κονγκ που μπορεί να μου βρει μια κατασκευή. Η συναρμολόγηση του σκάφους πρέπει να είναι αυτοματοποιημένη. Απλώς δεν είναι εφικτό να φτιάξω αυτές τις σανίδες με το χέρι όπως έκανα. Πρέπει να αναπτυχθεί ένας πίνακας διεπαφής υπολογιστή. Αυτό θα πρέπει να είναι πραγματικά εύκολο - είναι απλώς θέμα να αφιερώσετε χρόνο για να το κάνετε. Το κόστος είναι βασικό - ένα ελαχιστοποιημένο κόστος λαμπτήρων (80 σεντς για το micro + τρία LED με 10 σεντ το καθένα + σανίδα / αντιστάσεις / γέφυρα διόδου 20 λεπτών) συνολικά ίσως $ 1,50 δολάρια. Προσθέστε συναρμολόγηση, καλωδίωση και κέρδος και μιλάμε $ 2,00 έως $ 2,50 ανά λάμπα. Θα πληρώσουν οι geeks $ 40 για μια σειρά 16 λαμπτήρων RGB σε μια χορδή; Κατώτατη γραμμή, ελπίζω να υπάρχει ενδιαφέρον από το πλήθος DIY. Με κάποια θετικά σχόλια θα συνεχίσω να μετατρέπω αυτήν την ιδέα σε προϊόν. Θα μπορούσα να φανταστώ να πουλήσω τα τσιπ, τις πλακέτες και τα πλήκτρα φωτισμού. Δώστε μου κάποια σχόλια και ενημερώστε με τι σκέφτεστε. Για περισσότερες πληροφορίες και νέα συνεχούς ανάπτυξης επισκεφθείτε την ιστοσελίδα μου στη διεύθυνση https://www.powerhouse-electronics.com Ευχαριστώ, Jim Kemp

Συνιστάται: