Πίνακας περιεχομένων:
- Βήμα 1: Συγκέντρωση υλικού
- Βήμα 2: Σχεδιασμός κυκλωμάτων
- Βήμα 3: Σχεδιασμός κυκλωμάτων Kovari
- Βήμα 4: Σχέδιο κυκλώματος Giacomo
- Βήμα 5: Λογισμικό
- Βήμα 6: Συσκευάστε το
Βίντεο: 4 Ch DMX Dimmer: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Η ιδέα είναι να σχεδιάσετε και να δημιουργήσετε ένα φορητό dimmer.
Απαιτήσεις:
- DMX512 Ελεγχόμενο
- 4 κανάλια
- Φορητός
- Εύχρηστος
Πρότεινα αυτήν την ιδέα στον καθηγητή μου στο WSU επειδή ήθελα να συνδυάσω τα πάθη μου για το θέατρο και τους υπολογιστές. Αυτό το έργο έμοιαζε λίγο με το ανώτερο έργο μου στο τμήμα θεάτρου. Αν έχετε σχόλια ή απορίες, θα ήθελα να βοηθήσω.
Η μελλοντική ανάπτυξη θα μπορούσε να περιλαμβάνει περισσότερα κανάλια, βύσμα DMX 5 ακίδων, διέλευση DMX, 8 διακόπτες για αλλαγή καναλιού, πλακέτα τυπωμένου κυκλώματος.
Έχω μεταφέρει αυτό το έργο από τη διεύθυνση https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html επειδή είναι ακόμα δημοφιλές, υποθέτω. Επίσης έχασα το αρχείο σπόρου iWeb, οπότε δεν μπορώ να το ενημερώσω εύκολα πια. Θα ήταν ωραίο να επιτρέπεται στους ανθρώπους να μοιράζονται τις ερωτήσεις τους σχετικά με το έργο μεταξύ τους.
Βήμα 1: Συγκέντρωση υλικού
Υλικό που χρησιμοποιείται: Το μεγαλύτερο μέρος του παραγγέλθηκε από την Tayda Electronics. Μου αρέσουν καλύτερα από το DigiKey λόγω της μικρότερης και ευκολότερης κατανόησης επιλογής.
- ATMEGA328, Μικροελεγκτής
- MOC3020, TRIAC Optocoupler. Όχι ZeroCross.
- MAX458 ή SN75176BP, δέκτης DMX
- ISP814, AC Optocoupler
- 7805, ρυθμιστής 5v
- BTA24-600, 600V 25A TRIAC
- Κρυστάλλος 20MHz
- Τροφοδοσία 9V
Μερικά εμπόδια και μαθήματα που πήραμε στην πορεία
- Εάν δεν είστε ειδικός στο μητρώο, κολλήστε με ένα ATMEGA328P
- Λάθος οπτικά ζεύγη. Δεν θέλετε Zero Cross
- Τα υψηλά κανάλια ήταν ασταθή. Η αλλαγή από 16MHz σε 20MHz έλυσε αυτό το ζήτημα
- Δεν είναι δυνατή η ενδεικτική λυχνία κατάστασης DMX επειδή η κλήση διακοπής έπρεπε να είναι πολύ γρήγορη
- Η ισχύς DC πρέπει να είναι εξαιρετικά σταθερή, κάθε κυματισμός θα προκαλέσει πολύ θόρυβο στο σήμα DMX
Ο σχεδιασμός TRIAC προήλθε από τον MRedmon, ευχαριστώ.
Βήμα 2: Σχεδιασμός κυκλωμάτων
Χρησιμοποίησα το Fritzing 7.7 σε Mac για να σχεδιάσω το κύκλωμά μου.
Το MAX485 στο επάνω μέρος χρησιμοποιείται για τη μετατροπή του σήματος DMX σε κάτι που μπορεί να διαβάσει το Arduino.
Το 4N35 στα αριστερά χρησιμοποιείται για τον εντοπισμό της μηδενικής διασταύρωσης του σήματος AC, οπότε το Arduino θα γνωρίζει σε ποια στιγμή θα μειωθεί η έξοδος του ημιτονοειδούς κύματος. Περισσότερα για τον τρόπο αλληλεπίδρασης υλικού και λογισμικού στην ενότητα λογισμικού.
Έχω την ερώτηση εάν αυτό το έργο θα λειτουργήσει στην Ευρώπη με 230V και 50Hz; Δεν ζω στην Ευρώπη, ούτε ταξιδεύω συχνά εκεί για να μπορώ να δοκιμάσω αυτό το σχέδιο. Θα πρέπει να λειτουργεί, απλώς θα πρέπει να τροποποιήσετε τη γραμμή χρονισμού του κώδικα για τη διαφορετική χρονική καθυστέρηση συχνότητας.
Βήμα 3: Σχεδιασμός κυκλωμάτων Kovari
Μέσα από τη διαδικασία δημιουργίας του ιστότοπού μου μπόρεσα να έχω μερικές συνομιλίες μέσω ηλεκτρονικού ταχυδρομείου. Ο ένας ήταν με τον Kovari Andrei που έκανε ένα σχέδιο κυκλώματος βασισμένο σε αυτό το έργο και ήθελε να μοιραστεί το σχέδιό του. Δεν είμαι σχεδιαστής πλακέτας, αλλά είναι ένα έργο Eagle. Πείτε μου πώς λειτουργεί για εσάς εάν το χρησιμοποιείτε.
Βήμα 4: Σχέδιο κυκλώματος Giacomo
Κατά καιρούς οι άνθρωποι θα μου στέλνουν μηνύματα με τις συναρπαστικές προσαρμογές που έχουν κάνει με αυτό το διδακτικό και σκέφτηκα ότι πρέπει να τις μοιραστώ με όλους εσάς.
Ο Giacomo τροποποίησε το κύκλωμα, ώστε να μην απαιτείται μετασχηματιστής με κεντρικό άκρο. Το pcb είναι μονής όψης και μπορεί να είναι μια πιο προσιτή λύση για όσους δεν μπορούν να κάνουν διπλής όψης στο σπίτι (λίγο δύσκολο).
Βήμα 5: Λογισμικό
Είμαι μηχανικός λογισμικού στο επάγγελμα, οπότε αυτό το μέρος είναι το πιο λεπτομερές.
Summery: Όταν το Arduino εκκινήσει για πρώτη φορά, καλείται η μέθοδος εγκατάστασης (). Εκεί δημιούργησα μερικές από τις μεταβλητές και τις θέσεις εξόδου που θα χρησιμοποιηθούν αργότερα. Το zeroCrossInterupt () καλείται/ τρέχει κάθε φορά που το AC περνά από θετική σε αρνητική τάση. Θα ορίσει τη σημαία zeroCross για κάθε κανάλι και θα ξεκινήσει το χρονόμετρο. Η μέθοδος βρόχου () καλείται συνεχώς για πάντα. Για να ενεργοποιήσετε την έξοδο, το TRIAC πρέπει να ενεργοποιηθεί μόνο για 10 μικροδευτερόλεπτα. Αν είναι καιρός να ενεργοποιηθεί το TRIAC και έχει συμβεί το μηδέν Cross, η έξοδος θα ενεργοποιηθεί μέχρι το τέλος της φάσης εναλλασσόμενου ρεύματος.
Υπήρχαν μερικά παραδείγματα στο διαδίκτυο που χρησιμοποίησα για να ξεκινήσω αυτό το έργο. Το κύριο πράγμα που δεν μπορούσα να βρω ήταν να έχω πολλαπλές εξόδους TRIAC. Άλλοι χρησιμοποίησαν τη λειτουργία καθυστέρησης για PWM την έξοδο, αλλά αυτό δεν θα λειτουργούσε στην περίπτωσή μου επειδή το ATMEGA πρέπει να ακούει DMX όλη την ώρα. Το έλυσα παλμώντας το TRIAC σε τόσα ms μετά από μηδενική διασταύρωση. Παλμώντας το TRIAC πιο κοντά στο μηδενικό σταυρό, εξάγεται περισσότερο από το κύμα αμαρτίας.
Δείτε πώς φαίνεται το μισό κύμα αμαρτίας 120VAC σε έναν παλμογράφο, παραπάνω.
Ο ISP814 συνδέεται με τη διακοπή 1. Έτσι, όταν λαμβάνει σήμα ότι το AC μεταβαίνει από θετικό σε αρνητικό ή αντίστροφα, θέτει το zeroCross για κάθε κανάλι σε true και ξεκινά το χρονόμετρο.
Στη μέθοδο βρόχου (), ελέγχει κάθε κανάλι εάν το zeroCross είναι αληθινό και ο χρόνος ενεργοποίησης του έχει περάσει, θα παλμόσει το TRIAC για 10 μικροδευτερόλεπτα. Αυτό είναι αρκετό για να ενεργοποιήσετε το TRIAC. Μόλις ενεργοποιηθεί ένα TRIAC, θα παραμείνει αναμμένο μέχρι το μηδέν Cross. Το φως θα τρεμόπαιζε όταν το DMX ήταν περίπου 3%, οπότε πρόσθεσα την περικοπή εκεί για να το αποτρέψω. Αυτό προκάλεσε το Arduino να είναι πολύ αργό και ο παλμός μερικές φορές θα ενεργοποιούσε το επόμενο κύμα αμαρτίας αντί για το τελευταίο 4% του κύματος.
Επίσης στον βρόχο () ορίζω την τιμή PWM των LED κατάστασης. Αυτές οι λυχνίες LED μπορούν να χρησιμοποιήσουν το εσωτερικό PWM που δημιουργείται από το Arduino επειδή δεν χρειάζεται να ανησυχούμε για το zeroCross του AC. Μόλις ρυθμιστεί το PWM, το Arduino θα συνεχίσει σε αυτή τη φωτεινότητα μέχρι να ειπωθεί.
Όπως σημειώθηκε στα κορυφαία σχόλια για να χρησιμοποιήσετε μια διακοπή DMX στον ακροδέκτη 2 και να εκτελεστεί στα 20MHz θα πρέπει να επεξεργαστείτε μερικά από τα αρχεία εφαρμογής Arduino. Στο HardwareSerial.cpp ένα κομμάτι κώδικα πρέπει να διαγραφεί, αυτό μας επιτρέπει να γράψουμε τη δική μας κλήση διακοπής. Αυτή η μέθοδος ISR βρίσκεται στο κάτω μέρος του κώδικα για να χειριστεί τη διακοπή DMX. Εάν πρόκειται να χρησιμοποιήσετε ένα Arduino ως προγραμματιστή ISP, φροντίστε να επαναφέρετε τις αλλαγές σας στο HardwareSerial.cpp διαφορετικά το ATMEGA328 στον πίνακα ψωμιού δεν θα είναι προσβάσιμο. Η δεύτερη αλλαγή είναι πιο εύκολη. Το αρχείο boards.txt πρέπει να αλλάξει στη νέα ταχύτητα ρολογιού 20MHz.
φωτεινότητα [ch] = χάρτης (DmxRxField [ch], 0, 265, 8000, 0);
Η φωτεινότητα αντιστοιχεί σε 8000 επειδή είναι η ποσότητα των μικροδευτερολέπτων του 1/2 ενός ημιτονοειδούς κύματος AC στα 60Hz. Έτσι, σε πλήρη φωτεινότητα 256 DMX το πρόγραμμα θα αφήσει το 1/2 του ημιτονοειδούς κύματος ΕΝΕΡΓΟΠΟΙΗΜΕΝΟ για 8000us. Βρήκα 8000 μέσω μαντείας και επιταγής. Κάνοντας τα μαθηματικά 1000000us/60hz/2 = 8333 έτσι ώστε να είναι ένας καλύτερος αριθμός, αλλά το να έχετε επιπλέον 333us πάνω από το κεφάλι επιτρέπει στο TRIAC να ανοίξει και οποιοδήποτε jitter στο πρόγραμμα είναι πιθανώς μια καλή ιδέα.
Στο Arduino 1.5.3 ότι μετέφεραν τη θέση του αρχείου HardwareSerial.cpp. Πρόκειται πλέον για
Διαφορετικά, θα καταλήξετε σε αυτό το σφάλμα: core/core.a (HardwareSerial0.cpp.o): Στη συνάρτηση `_vector_18 ':
Βήμα 6: Συσκευάστε το
Πήρα το γκρι κουτί του έργου στο Menards στο ηλεκτρικό τμήμα τους. Χρησιμοποίησα ένα παλινδρομικό πριόνι για να κόψω τις τρύπες του ηλεκτρικού βύσματος. Η θήκη πήρε έναν σφιγκτήρα για θέατρο συνδεδεμένο στην κορυφή για σκοπούς κρεμάσματος. Ανάβει η κατάσταση για κάθε είσοδο και έξοδο για να βοηθήσει στη διάγνωση εάν υπάρχει ποτέ πρόβλημα. Χρησιμοποιήθηκε ένας κατασκευαστής ετικετών για να εξηγήσει τις διαφορετικές θύρες της συσκευής. Οι αριθμοί δίπλα σε κάθε βύσμα αντιπροσωπεύουν τον αριθμό καναλιού DMX. Τοποθέτησα την πλακέτα κυκλώματος και τον μετασχηματιστή με κάποια θερμή κόλλα. Οι λυχνίες LED είναι κολλημένες στη θέση τους με θήκες led.
Συνιστάται:
Dimmer λαμπτήρα LED: 3 βήματα
Dimmer LED Bulb: Αυτό είναι ένα απλό dimmer λαμπτήρα LED. Μπορείτε να δείτε πώς λειτουργεί το κύκλωμα στο βίντεο. Σκέφτηκα αυτή την ιδέα αφού διάβασα τα ακόλουθα άρθρα: https: //www.instructables.com/id/LM350-Power-Supply/https: //www.instructables. com/id/Transistor
Φωτιστικό Dimmer (διάταξη PCB): 3 βήματα
Light Dimmer (διάταξη PCB): Γεια σας παιδιά! Εδώ σας παρουσιάζω τη διάταξη PCB του κυκλώματος φωτισμού dimmer χρησιμοποιώντας το πιο δημοφιλές χρονόμετρο IC 555. Αυτό το κύκλωμα μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο της ταχύτητας του κινητήρα DC χαμηλής ισχύος. Το IC χρονοδιακόπτη μπορεί να λειτουργήσει σε τρεις λειτουργίες: AstableM
DIY AC Light Dimmer: 4 Βήματα
DIY AC Light Dimmer: Σε αυτό το επεισόδιο του DIY ή του Buy θα ρίξουμε μια πιο προσεκτική ματιά σε ένα γενικό φωτιστικό εναλλασσόμενου ρεύματος και θα μάθουμε πώς λειτουργεί. Στη συνέχεια, θα σας παρουσιάσω έναν πιο μοντέρνο, ψηφιακό, DIY σχεδιασμό ενός τέτοιου φωτιστικού εναλλασσόμενου ρεύματος και θα τον κατασκευάσω για να μάθετε τι
DIY Trailing Edge Dimmer: 5 Βήματα
DIY Trailing Edge Dimmer: Σε αυτό το έργο θα έχουμε μια πιο προσεκτική ματιά στις ηλεκτρικές προκλήσεις που προσφέρουν οι λαμπτήρες AC LED όταν πρόκειται για τη μείωση του φωτισμού τους. Αυτό σημαίνει ότι θα σας πω λίγα λόγια για τον τρόπο κατασκευής τους και θα καθορίσουμε επίσης τις διαφορές μεταξύ του προπορευόμενου άκρου
Όλα σε ένα · DMX Terminator & DMX Tester: 3 Βήματα
Όλα σε ένα · Εξολοθρευτής DMX & Δοκιμαστής DMX: Ως τεχνικός φωτισμού, μερικές φορές πρέπει να γνωρίζετε πόσο υγιείς είναι οι συνδέσεις σας dmx μεταξύ των εξαρτημάτων. Μερικές φορές, λόγω καλωδίων, εξαρτημάτων ή διακυμάνσεων τάσης, το σύστημα DMX εκτίθεται σε πολλά προβλήματα και σφάλματα. Έτσι έφτιαξα