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

DIY PWM Control για υπολογιστές: 12 βήματα
DIY PWM Control για υπολογιστές: 12 βήματα

Βίντεο: DIY PWM Control για υπολογιστές: 12 βήματα

Βίντεο: DIY PWM Control για υπολογιστές: 12 βήματα
Βίντεο: How To Make Cooling Fan Speed Control Circuit - Homemade Project 2024, Ιούλιος
Anonim
DIY PWM Control για θαυμαστές υπολογιστών
DIY PWM Control για θαυμαστές υπολογιστών

Αυτό το Instructable περιγράφει τη δημιουργία ενός πλήρως ελεγκτή PWM ανεμιστήρα 12 V PC. Ο σχεδιασμός μπορεί να ελέγξει έως και 16 ανεμιστήρες υπολογιστών 3 ακίδων. Ο σχεδιασμός χρησιμοποιεί ένα ζευγάρι ICs μικτού σήματος με δυνατότητα ρύθμισης παραμέτρων Dialog GreenPAK control για τον έλεγχο του κύκλου λειτουργίας κάθε ανεμιστήρα. Περιλαμβάνει επίσης δύο τρόπους αλλαγής της ταχύτητας του ανεμιστήρα:

ένα. με τετραγωνικό/περιστροφικό κωδικοποιητή

σι. με μια εφαρμογή Windows ενσωματωμένη σε C# που επικοινωνεί με το GreenPAK μέσω I2C.

Παρακάτω περιγράψαμε τα βήματα που απαιτούνται για την κατανόηση του τρόπου με τον οποίο το τσιπ GreenPAK έχει προγραμματιστεί για τη δημιουργία του ελέγχου PWM για τους θαυμαστές υπολογιστών. Ωστόσο, εάν θέλετε απλώς να λάβετε το αποτέλεσμα προγραμματισμού, κατεβάστε το λογισμικό GreenPAK για να δείτε το ήδη ολοκληρωμένο GreenPAK Design File. Συνδέστε το GreenPAK Development Kit στον υπολογιστή σας και πατήστε το πρόγραμμα για να δημιουργήσετε το προσαρμοσμένο IC για έλεγχο PWM για θαυμαστές υπολογιστών.

Βήμα 1: Διάγραμμα μπλοκ συστήματος

Διάγραμμα μπλοκ συστήματος
Διάγραμμα μπλοκ συστήματος

Βήμα 2: Σχεδιασμός περιστροφικού αποκωδικοποιητή SLG46108

SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή
SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή
SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή
SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή
SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή
SLG46108 Περιστροφικός σχεδιασμός αποκωδικοποιητή

Ένας περιστροφικός κωδικοποιητής χρησιμοποιείται για να αυξήσει ή να μειώσει χειροκίνητα τον κύκλο λειτουργίας των ανεμιστήρων. Αυτή η συσκευή εξάγει παλμούς στις εξόδους του καναλιού Α και του καναλιού Β που απέχουν μεταξύ τους 90 °. Ανατρέξτε στο AN-1101: Unclocked Quadrature Decoder για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας ενός περιστροφικού κωδικοποιητή.

Ένας περιστροφικός αποκωδικοποιητής με ρολόι μπορεί να δημιουργηθεί χρησιμοποιώντας ένα Dialog GreenPAK SLG46108 για να επεξεργαστεί τα σήματα του καναλιού Α και του καναλιού Β και να τα εξάγει ως παλμούς αριστερόστροφα (CCW) και δεξιόστροφα (CW).

Όταν το κανάλι Α οδηγεί το κανάλι Β, ο σχεδιασμός εξάγει έναν σύντομο παλμό στο CW. Όταν το κανάλι Β οδηγεί το κανάλι Α, εξάγει έναν σύντομο παλμό στο CCW

Τρία DFF συγχρονίζουν την είσοδο του καναλιού Α με το ρολόι. Ομοίως, η καθυστέρηση σωλήνα με OUT0 ρυθμισμένο σε δύο DFF και OUT1 σε τρία DFF δημιουργεί την ίδια λειτουργικότητα για το κανάλι Β.

Για να δημιουργήσετε εξόδους CW και CCW χρησιμοποιήστε μερικά LUT, για περισσότερες πληροφορίες σχετικά με αυτόν τον τυπικό σχεδιασμό περιστροφικού αποκωδικοποιητή, επισκεφτείτε αυτόν τον ιστότοπο.

Ο περιστροφικός αποκωδικοποιητής GreenPAK λαμβάνει τους παλμούς εισόδου Α και Β και εξάγει τους παλμούς CW και CCW όπως φαίνεται στο σχήμα 4.

Το κύκλωμα μετά τις πύλες XOR διασφαλίζει ότι δεν θα υπάρξει ποτέ παλμός CW και παλμός CCW ταυτόχρονα, επιτρέποντας οποιοδήποτε σφάλμα με τον περιστροφικό κωδικοποιητή. Η καθυστέρηση των 8 ms στα σήματα CW και CCW τους αναγκάζει να παραμείνουν ψηλά για 8 ms συν έναν κύκλο ρολογιού, ο οποίος είναι απαραίτητος για τα επόμενα SLG46826 GreenPAK.

Βήμα 3: Σχεδιασμός ελεγκτή ανεμιστήρα SLG46826

SLG46826 Σχεδιασμός ελεγκτή ανεμιστήρα
SLG46826 Σχεδιασμός ελεγκτή ανεμιστήρα

Βήμα 4: Δημιουργία PWM με μετρητές μετατόπισης

Παραγωγή PWM με μετρητές αντιστάθμισης
Παραγωγή PWM με μετρητές αντιστάθμισης
Παραγωγή PWM με μετρητές αντιστάθμισης
Παραγωγή PWM με μετρητές αντιστάθμισης

Ένα ζεύγος μετρητών μετατόπισης με την ίδια περίοδο χρησιμοποιείται για τη δημιουργία του σήματος PWM. Ο πρώτος μετρητής ορίζει ένα DFF και ο δεύτερος το επαναφέρει, δημιουργώντας ένα σταθερό σήμα PWM κύκλου λειτουργίας, όπως φαίνεται στο σχήμα 6 και στο σχήμα 7.

Το CNT6 ρυθμίζει το DFF10 και η ανεστραμμένη έξοδος του CNT1 επαναφέρει το DFF10. Οι ακίδες 18 και 19 χρησιμοποιούνται για την έξοδο του σήματος PWM σε εξωτερικά κυκλώματα

Βήμα 5: Έλεγχος κύκλου λειτουργίας με έγχυση ρολογιού και παράλειψη ρολογιού

Έλεγχος κύκλου λειτουργίας με έγχυση ρολογιού και παράλειψη ρολογιού
Έλεγχος κύκλου λειτουργίας με έγχυση ρολογιού και παράλειψη ρολογιού
Έλεγχος κύκλου λειτουργίας με έγχυση ρολογιού και παράλειψη ρολογιού
Έλεγχος κύκλου λειτουργίας με έγχυση ρολογιού και παράλειψη ρολογιού

Ο ελεγκτής ανεμιστήρα λαμβάνει τα σήματα CW και CCW ως εισόδους από τον περιστροφικό αποκωδικοποιητή και τα χρησιμοποιεί για να αυξήσει ή να μειώσει το σήμα PWM που ελέγχει την ταχύτητα του ανεμιστήρα. Αυτό επιτυγχάνεται με πολλά ψηφιακά στοιχεία λογικής.

Ο κύκλος λειτουργίας πρέπει να αυξηθεί όταν ληφθεί ένας παλμός CW. Αυτό γίνεται με την έγχυση ενός επιπλέον παλμού ρολογιού στο μπλοκ CNT6, προκαλώντας την έξοδο ενός κύκλου ρολογιού νωρίτερα από ό, τι θα είχε διαφορετικά. Αυτή η διαδικασία φαίνεται στο σχήμα 8.

Το CNT1 συνεχίζει να χρονομετρείται με σταθερό ρυθμό, αλλά το CNT6 έχει εγχυμένα μερικά επιπλέον ρολόγια. Κάθε φορά που υπάρχει ένα επιπλέον ρολόι στον μετρητή, μετατοπίζει την έξοδό του μία περίοδο ρολογιού προς τα αριστερά.

Αντίστροφα, για να μειώσετε τον κύκλο λειτουργίας, παραλείψτε έναν παλμό ρολογιού για CNT6 όπως φαίνεται στο Σχήμα 9. Το CNT1 εξακολουθεί να χρονομετρείται με σταθερό ρυθμό και υπάρχουν παραλειπόμενοι παλμοί ρολογιού για CNT6, όπου ο μετρητής δεν χρονομετρήθηκε όταν υποτίθεται προς το. Με αυτόν τον τρόπο, η έξοδος του CNT6 ωθείται προς τα δεξιά κατά μία χρονική περίοδο, συντομεύοντας τον κύκλο λειτουργίας PWM εξόδου.

Η λειτουργία εισαγωγής ρολογιού και παράλειψης ρολογιού πραγματοποιείται με τη χρήση ορισμένων ψηφιακών λογικών στοιχείων στο GreenPAK. Ένα ζευγάρι μπλοκ πολλαπλών λειτουργιών χρησιμοποιείται για τη δημιουργία ενός ζεύγους συνδυασμών ανίχνευσης μανδάλωσης/ακμής. Το 4-bit LUT0 χρησιμοποιείται για την ανάμειξη μεταξύ του γενικού σήματος ρολογιού (CLK/8) και του σήματος ψεκασμού ρολογιού ή παράλειψης ρολογιού. Αυτή η λειτουργικότητα περιγράφεται λεπτομερέστερα στο βήμα 7.

Βήμα 6: ΕΙΣΟΔΟΣ ΚΟΥΜΠΙΟΥ

ΚΟΥΜΠΙ Εισαγωγή
ΚΟΥΜΠΙ Εισαγωγή

Η είσοδος BUTTON καταργείται για 20 ms και στη συνέχεια χρησιμοποιείται για την εναλλαγή ενός μάνδαλου που καθορίζει εάν το συγκεκριμένο τσιπ είναι επιλεγμένο. Εάν είναι επιλεγμένο, τότε το 4-bit LUT περνάει τα σήματα παράλειψης ή έγχυσης ρολογιού. Εάν το τσιπ δεν είναι επιλεγμένο, τότε το 4-bit LUT απλώς περνά το σήμα CLK/8.

Βήμα 7: Πρόληψη ανατροπής κύκλου καθηκόντων

Αποτροπή ανατροπής κύκλου καθηκόντων
Αποτροπή ανατροπής κύκλου καθηκόντων
Αποτροπή ανατροπής κύκλου καθηκόντων
Αποτροπή ανατροπής κύκλου καθηκόντων
Αποτροπή ανατροπής κύκλου καθηκόντων
Αποτροπή ανατροπής κύκλου καθηκόντων

Οι ασφάλειες RS 3-bit LUT5 και 3-bit LUT3 χρησιμοποιούνται για να βεβαιωθείτε ότι δεν μπορείτε να κάνετε ένεση ή να παραλείψετε τόσα πολλά ρολόγια ώστε οι μετρητές μετατόπισης να ανατραπούν. Αυτό γίνεται για να αποφύγει το σύστημα να φτάσει τον κύκλο λειτουργίας 100 % και στη συνέχεια να κυλήσει σε κύκλο λειτουργίας 1 % εάν λάβει άλλο ρολόι με έγχυση.

Τα μάνδαλα RS εμποδίζουν αυτό να συμβεί με το κλείσιμο των εισόδων στα μπλοκ πολλαπλών λειτουργιών όταν το σύστημα είναι ένας κύκλος ρολογιού μακριά από την ανατροπή. Ένα ζευγάρι DFF καθυστερεί τα σήματα PWM_SET και PWM_nRST κατά μία περίοδο ρολογιού, όπως φαίνεται στο σχήμα 11.

Ένα ζεύγος LUT χρησιμοποιείται για τη δημιουργία της απαραίτητης λογικής. Εάν ο κύκλος λειτουργίας είναι τόσο χαμηλός ώστε το καθυστερημένο σήμα PWM_SET εμφανίζεται ταυτόχρονα με το σήμα PWM_nRST, μια περαιτέρω μείωση του κύκλου λειτουργίας θα προκαλέσει ανατροπή.

Ομοίως, εάν πλησιάζει ο μέγιστος κύκλος λειτουργίας, έτσι ώστε το καθυστερημένο σήμα PWM_nRST να εμφανίζεται ταυτόχρονα με το σήμα PWM_SET, είναι απαραίτητο να αποφευχθεί οποιαδήποτε περαιτέρω αύξηση του κύκλου λειτουργίας. Σε αυτήν την περίπτωση, καθυστερήστε το σήμα nRST κατά δύο κύκλους ρολογιού για να διασφαλίσετε ότι το σύστημα δεν θα κυλήσει από 99 % σε 1 %.

Βήμα 8: Έλεγχος κύκλου λειτουργίας με I2C

Έλεγχος κύκλου λειτουργίας με I2C
Έλεγχος κύκλου λειτουργίας με I2C
Έλεγχος κύκλου λειτουργίας με I2C
Έλεγχος κύκλου λειτουργίας με I2C
Έλεγχος κύκλου λειτουργίας με I2C
Έλεγχος κύκλου λειτουργίας με I2C

Αυτός ο σχεδιασμός ενσωματώνει έναν άλλο τρόπο ελέγχου του κύκλου λειτουργίας, εκτός από την παράλειψη ρολογιού/την έγχυση ρολογιού. Ένας εξωτερικός μικροελεγκτής μπορεί να χρησιμοποιηθεί για να γράψει εντολές I2C στο GreenPAK για να ρυθμίσει τον κύκλο λειτουργίας.

Ο έλεγχος του κύκλου λειτουργίας μέσω του I2C απαιτεί από τον ελεγκτή να εκτελέσει μια συγκεκριμένη ακολουθία εντολών. Αυτές οι εντολές εμφανίζονται με τη σειρά στον Πίνακα 1. Ένα "x" υποδηλώνει ένα κομμάτι που δεν πρέπει να αλλάξει, "[" δείχνει ένα bit ΕΝΑΡΞΗΣ και "]" υποδεικνύει ένα bit STOP

Το μπλοκ PDLY δημιουργεί έναν σύντομο ενεργό υψηλό παλμό στην πτώση του άκρου του σήματος CLK/8, ο οποίος ονομάζεται! CLK/8. Αυτό το σήμα χρησιμοποιείται για να χρονομετρήσει το DFF14 σε σταθερή συχνότητα. Όταν το I2C_SET ανεβαίνει ψηλά ασύγχρονα, το επόμενο άκρο του! CLK/8 προκαλεί την έξοδο DFF14 Υ HIGHΗΛΗ, η οποία ενεργοποιεί το CNT5 OneShot. Το OneShot εκτελείται για τον αριθμό των κύκλων ρολογιού που έγραψε ο χρήστης όπως καθορίζεται στην εντολή "Γράψτε στο CNT5" I2C στον Πίνακα 1. Σε αυτήν την περίπτωση, πρόκειται για 10 κύκλους ρολογιού. Το OneShot επιτρέπει στον ταλαντωτή 25 MHz να λειτουργεί ακριβώς για τη διάρκεια του και όχι πλέον, έτσι ώστε το 3-bit LUT0 να λαμβάνει τον αριθμό των κύκλων ρολογιού που γράφτηκαν στο CNT5.

Το σχήμα 15 δείχνει αυτά τα σήματα, όπου τα κόκκινα ρολόγια είναι αυτά που αποστέλλονται σε 3-bit LUT0, το οποίο τα περνάει στο CNT6 (ο μετρητής PWM_SET), δημιουργώντας έτσι την αντιστάθμιση για τη δημιουργία κύκλου λειτουργίας.

Βήμα 9: Ανάγνωση στροφόμετρου

Ταχύμετρο ανάγνωση
Ταχύμετρο ανάγνωση
Ταχύμετρο ανάγνωση
Ταχύμετρο ανάγνωση

Εάν είναι επιθυμητό, ο χρήστης μπορεί να διαβάσει την τιμή του στροφόμετρου μέσω I2C για να παρακολουθήσει πόσο γρήγορα περιστρέφεται ο ανεμιστήρας διαβάζοντας την τιμή CNT2. Το CNT2 αυξάνεται κάθε φορά που το ACMP0H έχει μια ανερχόμενη άκρη και μπορεί να επαναρυθμιστεί ασύγχρονα με μια εντολή I2C. Λάβετε υπόψη ότι αυτό είναι ένα προαιρετικό χαρακτηριστικό και το κατώφλι του ACMP0H θα πρέπει να τροποποιηθεί σύμφωνα με τις προδιαγραφές του συγκεκριμένου ανεμιστήρα που χρησιμοποιείται.

Βήμα 10: Σχεδιασμός εξωτερικού κυκλώματος

Σχεδιασμός εξωτερικού κυκλώματος
Σχεδιασμός εξωτερικού κυκλώματος

Το εξωτερικό κύκλωμα είναι αρκετά απλό. Υπάρχει ένα κουμπί που συνδέεται με το Pin6 του GreenPAK για εναλλαγή εάν η συγκεκριμένη συσκευή είναι επιλεγμένη για περιστροφικό έλεγχο και ένα LED που συνδέεται με τα Pin12 και Pin13 για να δείξει πότε είναι επιλεγμένη η συσκευή.

Δεδομένου ότι ο ανεμιστήρας τρέχει 12 V, απαιτείται ένα ζεύγος FET για τον έλεγχο της μεταγωγής του. Τα Pin18 και Pin19 του GreenPAK οδηγούν ένα nFET. Όταν το nFET είναι ενεργοποιημένο, τραβάει την πύλη του pFET LOW, που συνδέει τον ανεμιστήρα στα +12 V. Όταν το nFET είναι απενεργοποιημένο, η πύλη του PFET τραβιέται προς τα πάνω από την αντίσταση 1 kΩ, η οποία αποσυνδέει τον ανεμιστήρα από +12 V.

Βήμα 11: Σχεδιασμός PCB

Σχεδιασμός PCB
Σχεδιασμός PCB

Για την πρωτότυπη σχεδίαση, συγκεντρώθηκαν μερικά PCB. Το PCB στα αριστερά είναι ο "Ελεγκτής ανεμιστήρα", ο οποίος φιλοξενεί τον περιστροφικό κωδικοποιητή, υποδοχή 12 V, SLG46108 GreenPAK και συνδέσμους για την πλακέτα διαχωρισμού USB σε I2C FT232H. Τα δύο PCB στα δεξιά είναι "Fan Boards", τα οποία περιέχουν τα SLG46826 GreenPAK, κουμπιά, διακόπτες, LED και κεφαλίδες ανεμιστήρα.

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

Βήμα 12: Εφαρμογή C#

Εφαρμογή C#
Εφαρμογή C#

Μια εφαρμογή C# γράφτηκε για διασύνδεση με τους πίνακες ανεμιστήρων μέσω της γέφυρας FT232H USB-I2C. Αυτή η εφαρμογή μπορεί να χρησιμοποιηθεί για τη ρύθμιση της συχνότητας κάθε ανεμιστήρα με εντολές I2C που δημιουργούνται από την εφαρμογή.

Η εφαρμογή συσπειρώνει και τις 16 διευθύνσεις I2C μία φορά το δευτερόλεπτο και συμπληρώνει το GUI με τις υποτελείς διευθύνσεις που υπάρχουν. Σε αυτό το παράδειγμα, ο ανεμιστήρας 1 (διεύθυνση σκλάβου 0001) και ο ανεμιστήρας 3 (διεύθυνση σκλάβου 0011) είναι συνδεδεμένοι στον πίνακα. Προσαρμογές στον κύκλο λειτουργίας κάθε ανεμιστήρα ξεχωριστά μπορούν να γίνουν μετακινώντας τη γραμμή ρυθμιστικού ή πληκτρολογώντας μια τιμή από 0-256 στο πλαίσιο κειμένου κάτω από τη γραμμή ρυθμιστικού.

Συμπεράσματα

Χρησιμοποιώντας αυτό το σχέδιο είναι δυνατό να ελέγξετε ανεξάρτητα έως και 16 ανεμιστήρες (αφού υπάρχουν 16 πιθανές διευθύνσεις I2C slave) είτε με περιστροφικό κωδικοποιητή είτε με εφαρμογή C#. Έχει αποδειχθεί πώς να δημιουργείται ένα σήμα PWM με ένα ζευγάρι μετρητές μετατόπισης και πώς να αυξάνεται και να μειώνεται ο κύκλος λειτουργίας αυτού του σήματος χωρίς ανατροπή.

Συνιστάται: