- Τι είναι το AC Phase Angle Control και πώς λειτουργεί;
- Προκλήσεις στον έλεγχο γωνίας φάσης
- Απαιτούμενο υλικό για κύκλωμα ελέγχου γωνίας AC φάσης
- Διάγραμμα κυκλώματος ελέγχου γωνίας φάσης AC
- Κύκλωμα ελέγχου γωνίας φάσης AC - λειτουργεί
- Σχεδιασμός PCB για κύκλωμα ελέγχου γωνίας φάσης AC
- Κωδικός Arduino για AC Phase Angle Control
- Δοκιμή του κυκλώματος ελέγχου γωνίας φάσης AC
- Περαιτέρω βελτιώσεις
Τα συστήματα οικιακού αυτοματισμού κερδίζουν όλο και μεγαλύτερη δημοτικότητα μέρα με τη μέρα, και σήμερα γίνεται εύκολο να ενεργοποιήσετε και να απενεργοποιήσετε ορισμένες συσκευές χρησιμοποιώντας κάποιον απλό μηχανισμό ελέγχου όπως ένα ρελέ ή ένα διακόπτη, έχουμε προηγουμένως κατασκευάσει πολλά οικιακά έργα αυτοματισμού με βάση το Arduino χρησιμοποιώντας ρελέ. Υπάρχουν όμως πολλές οικιακές συσκευές που απαιτούν έλεγχο αυτής της ισχύος εναλλασσόμενου ρεύματος και όχι απλώς ενεργοποίηση ή απενεργοποίηση. Τώρα, μπείτε στον κόσμο του ελέγχου γωνίας φάσης AC, είναι μια απλή τεχνική μέσω της οποίας μπορείτε να ελέγξετε τη γωνία φάσης AC. Αυτό σημαίνει ότι μπορείτε να ελέγξετε την ταχύτητα του ανεμιστήρα οροφής ή οποιουδήποτε άλλου ανεμιστήρα εναλλασσόμενου ρεύματος ή ακόμη και να ελέγξετε την ένταση ενός LED ή λαμπτήρα πυρακτώσεως.
Αν και ακούγεται απλό, η διαδικασία της πραγματικής εφαρμογής της είναι πολύ δύσκολη, οπότε σε αυτό το άρθρο, θα κατασκευάσουμε ένα απλό κύκλωμα ελέγχου γωνίας φάσης AC με τη βοήθεια χρονοδιακόπτη 555 και στο τέλος θα χρησιμοποιήσουμε ένα Arduino για τη δημιουργία ενός απλού σήματος PWM για τον έλεγχο της έντασης ενός λαμπτήρα πυρακτώσεως. Όπως μπορείτε τώρα να φανταστείτε με σαφήνεια, με αυτό το κύκλωμα, μπορείτε να δημιουργήσετε ένα απλό σύστημα οικιακού αυτοματισμού όπου μπορείτε να ελέγξετε τους ανεμιστήρες και τα ρυθμιστικά φωτισμού Ac με ένα μόνο Arduino.
Τι είναι το AC Phase Angle Control και πώς λειτουργεί;
Ο έλεγχος γωνίας φάσης AC είναι μια μέθοδος μέσω της οποίας μπορούμε να ελέγξουμε ή να κόψουμε ένα ημιτονοειδές κύμα AC. Η γωνία πυροδότησης της συσκευής μεταγωγής ποικίλλει μετά από ανίχνευση μηδενικής διέλευσης, με αποτέλεσμα μια μέση έξοδο τάσης που αλλάζει αναλογικά με το τροποποιημένο ημιτονοειδές κύμα, η παρακάτω εικόνα περιγράφει περισσότερα.
Όπως μπορείτε να δείτε, πρώτα έχουμε το σήμα εισόδου AC. Στη συνέχεια, έχουμε το σήμα μηδενικής διέλευσης, το οποίο δημιουργεί διακοπή κάθε 10ms. Έπειτα, έχουμε το σήμα ενεργοποίησης πύλης, μόλις λάβουμε ένα σήμα ενεργοποίησης, περιμένουμε μια συγκεκριμένη περίοδο πριν δώσουμε τον παλμό ενεργοποίησης, όσο περισσότερο περιμένουμε, τόσο περισσότερο μπορούμε να μειώσουμε τη μέση τάση και το αντίστροφο. Θα συζητήσουμε περισσότερο για το θέμα αργότερα στο άρθρο.
Προκλήσεις στον έλεγχο γωνίας φάσης
Πριν ρίξουμε μια ματιά στο σχηματικό και σε όλες τις υλικές απαιτήσεις, ας μιλήσουμε για ορισμένα προβλήματα που σχετίζονται με αυτό το είδος κυκλώματος και πώς το κύκλωμα μας τα επιλύει.
Στόχος μας εδώ είναι να ελέγξουμε τη γωνία φάσης ενός ημιτονοειδούς κύματος AC με τη βοήθεια ενός μικροελεγκτή, για κάθε είδους εφαρμογή οικιακού αυτοματισμού. Αν κοιτάξουμε την παρακάτω εικόνα, μπορείτε να δείτε ότι με κίτρινο χρώμα, έχουμε το ημιτονοειδές κύμα μας, και στο πράσινο, έχουμε το σήμα μηδενικής διέλευσης.
Μπορείτε να δείτε ότι το σήμα μηδενικής διέλευσης έρχεται κάθε 10 ms καθώς εργαζόμαστε με ημιτονοειδές κύμα 50Hz. Σε έναν μικροελεγκτή, δημιουργεί μια διακοπή κάθε 10ms. αν θέλαμε να προσθέσουμε άλλον κωδικό εκτός αυτού, ο άλλος κωδικός ενδέχεται να μην λειτουργεί λόγω διακοπής. Όπως γνωρίζουμε ότι η συχνότητα ακρόασης γραμμής στην Ινδία είναι 50Hz, οπότε συνεργαζόμαστε με ημιτονοειδές κύμα 50Hz και για να ελέγξουμε το δίκτυο AC, πρέπει να ενεργοποιήσουμε και να απενεργοποιήσουμε το TRIAC σε ένα συγκεκριμένο χρονικό πλαίσιο. Για να γίνει αυτό, το κύκλωμα ελέγχου γωνίας φάσης με βάση τον μικροελεγκτή χρησιμοποιεί το σήμα μηδενικής διέλευσης ως διακοπή, αλλά το πρόβλημα με αυτήν τη μέθοδο είναι ότι δεν μπορείτε να εκτελέσετε κανέναν άλλο κωδικό εκτός από τον κωδικό ελέγχου γωνίας ρυθμού, επειδή με έναν τρόπο θα σπάσει ο κύκλος βρόχου και ένας από αυτούς τους κωδικούς δεν θα λειτουργήσει.
Επιτρέψτε μου να ξεκαθαρίσω με ένα παράδειγμα, ας υποθέσουμε ότι πρέπει να κάνετε ένα έργο όπου πρέπει να ελέγξετε τη φωτεινότητα του λαμπτήρα πυρακτώσεως, επίσης πρέπει να μετρήσετε τη θερμοκρασία ταυτόχρονα. Για να ελέγξετε τη φωτεινότητα ενός λαμπτήρα πυρακτώσεως, χρειάζεστε ένα κύκλωμα ελέγχου γωνίας φάσης, επίσης πρέπει να διαβάσετε τα δεδομένα θερμοκρασίας μαζί με αυτό, εάν αυτό είναι το σενάριο, το κύκλωμα σας δεν θα λειτουργήσει σωστά, επειδή ο αισθητήρας DHT22 χρειάζεται λίγο χρόνο για να δώστε τα δεδομένα εξόδου του. Σε αυτό το χρονικό διάστημα, το κύκλωμα ελέγχου γωνίας φάσης θα σταματήσει να λειτουργεί, δηλαδή εάν το έχετε διαμορφώσει σε λειτουργία ψηφοφορίας, αλλά εάν διαμορφώσατε το σήμα μηδενικής διέλευσης σε λειτουργία διακοπής, δεν θα μπορείτε ποτέ να διαβάσετε τα δεδομένα DHT επειδή ο έλεγχος CRC θα αποτύχει.
Για να λύσετε αυτό το πρόβλημα, μπορείτε να χρησιμοποιήσετε διαφορετικό μικροελεγκτή για διαφορετικό κύκλωμα ελέγχου γωνίας φάσης, αλλά θα αυξήσει το κόστος BOM, μια άλλη λύση είναι να χρησιμοποιήσετε το κύκλωμα μας που αποτελείται από γενικά εξαρτήματα όπως το χρονόμετρο 555 και κοστίζει επίσης λιγότερο.
Απαιτούμενο υλικό για κύκλωμα ελέγχου γωνίας AC φάσης
Η παρακάτω εικόνα δείχνει τα υλικά που χρησιμοποιούνται για την κατασκευή του κυκλώματος, καθώς κατασκευάζεται με πολύ γενικά εξαρτήματα, θα πρέπει να μπορείτε να βρείτε όλο το αναφερόμενο υλικό στο τοπικό κατάστημα χόμπι σας.
Έχω επίσης αναφέρει τα στοιχεία σε έναν παρακάτω πίνακα με τύπο και ποσότητα, καθώς πρόκειται για έργο επίδειξης, χρησιμοποιώ ένα μόνο κανάλι για να το κάνω. Αλλά το κύκλωμα μπορεί εύκολα να κλιμακωθεί σύμφωνα με τις απαιτήσεις.
Sl. Όχι |
Ανταλλακτικά |
Τύπος |
Ποσότητα |
1 |
Ακροδέκτης βίδας 5.04mm |
Συνδετήρας |
3 |
2 |
Αρσενική κεφαλίδα 2,54 mm |
Συνδετήρας |
1Χ2 |
3 |
56K, 1W |
Αντίσταση |
2 |
4 |
1Ν4007 |
Δίοδος |
4 |
5 |
0.1uF, 25V |
Πυκνωτής |
2 |
6 |
100uF, 25V |
Πυκνωτής |
2 |
7 |
LM7805 |
Ρυθμιστής τάσης |
1 |
8 |
1Κ |
Αντίσταση |
1 |
9 |
470R |
Αντίσταση |
2 |
10 |
47R |
Αντίσταση |
2 |
11 |
82 χιλ |
Αντίσταση |
1 |
12 |
10Κ |
Αντίσταση |
1 |
13 |
PC817 |
Optocoupler |
1 |
14 |
NE7555 |
IC |
1 |
12 |
MOC3021 |
Drive OptoTriac |
1 |
13 |
IRF9540 |
MOSFET |
1 |
14 |
3.3uF |
Πυκνωτής |
1 |
15 |
Σύνδεση καλωδίων |
Σύρματα |
5 |
16 |
0.1uF, 1KV |
Πυκνωτής |
1 |
17 |
Arduino Nano (για δοκιμή) |
Μικροελεγκτής |
1 |
Διάγραμμα κυκλώματος ελέγχου γωνίας φάσης AC
Το σχήμα για το κύκλωμα ελέγχου γωνίας φάσης AC φαίνεται παρακάτω, αυτό το κύκλωμα είναι πολύ απλό και χρησιμοποιεί γενικά εξαρτήματα για την επίτευξη ελέγχου γωνίας φάσης.
Κύκλωμα ελέγχου γωνίας φάσης AC - λειτουργεί
Αυτό το κύκλωμα αποτελείται από πολύ προσεκτικά σχεδιασμένα εξαρτήματα, θα περάσω από κάθε ένα και θα εξηγήσω κάθε μπλοκ.
Κύκλωμα ανίχνευσης μηδενικής διέλευσης:
Πρώτον, στη λίστα μας είναι το κύκλωμα ανίχνευσης μηδενικής διέλευσης που κατασκευάζεται με δύο αντιστάσεις 56K, 1W σε συνδυασμό με τέσσερις διόδους 1n4007 και έναν οπτικό ζεύκτη PC817. Και αυτό το κύκλωμα είναι υπεύθυνο για την παροχή σήματος μηδενικής διέλευσης στο χρονόμετρο IC 555 Επίσης, έχουμε απενεργοποιήσει τη φάση και το ουδέτερο σήμα για να το χρησιμοποιήσουμε περαιτέρω στην ενότητα TRIAC.
Ρυθμιστής τάσης LM7809:
Ο ρυθμιστής τάσης 7809 χρησιμοποιείται για την τροφοδοσία του κυκλώματος, το κύκλωμα είναι υπεύθυνο για την παροχή ισχύος σε ολόκληρο το κύκλωμα. Επιπλέον, χρησιμοποιήσαμε δύο πυκνωτές 470uF και έναν πυκνωτή 0.1uF ως πυκνωτή αποσύνδεσης για το LM7809 IC.
Κύκλωμα ελέγχου με χρονοδιακόπτη NE555:
Η παραπάνω εικόνα δείχνει το κύκλωμα ελέγχου χρονοδιακόπτη 555, το 555 έχει διαμορφωθεί σε μια μονόστατη διαμόρφωση, οπότε όταν ένα σήμα ενεργοποίησης από το κύκλωμα ανίχνευσης μηδενικής διέλευσης χτυπά τη σκανδάλη, ο χρονοδιακόπτης 555 αρχίζει να φορτίζει τον πυκνωτή με τη βοήθεια μιας αντίστασης (γενικά), αλλά το κύκλωμα μας έχει MOSFET στη θέση μιας αντίστασης και ελέγχοντας την πύλη του MOSFET, ελέγχουμε το ρεύμα που πηγαίνει στον πυκνωτή, γι 'αυτό ελέγχουμε το χρόνο φόρτισης και επομένως ελέγχουμε την έξοδο των 555 χρονιστών. Σε πολλά έργα, έχουμε χρησιμοποιήσει το χρονόμετρο 555 IC για να φτιάξουμε το έργο μας, εάν θέλετε να μάθετε περισσότερα για αυτό το θέμα, μπορείτε να δείτε όλα τα άλλα έργα.
TRIAC και TRIAC-Circuit Driver:
Το TRIAC λειτουργεί ως ο κύριος διακόπτης που ενεργοποιεί και απενεργοποιεί, ελέγχει έτσι την έξοδο του σήματος AC. Η οδήγηση του TRIAC είναι η μονάδα optotriac MOC3021, δεν οδηγεί μόνο το TRIAC, αλλά παρέχει επίσης οπτική απομόνωση, ο πυκνωτής υψηλής τάσης 0,01uF 2KV και η αντίσταση 47R σχηματίζει ένα κύκλωμα snubber, το οποίο προστατεύει το κύκλωμα μας από αιχμές υψηλής τάσης. που συμβαίνει όταν συνδέεται με επαγωγικό φορτίο, η μη ημιτονοειδής φύση του μεταβαλλόμενου σήματος AC είναι υπεύθυνη για τις αιχμές. Επίσης, είναι υπεύθυνο για ζητήματα συντελεστή ισχύος, αλλά αυτό είναι ένα θέμα για ένα άλλο άρθρο. Επίσης, σε διάφορα άρθρα, έχουμε χρησιμοποιήσει το TRIAC ως την προτιμώμενη συσκευή μας, μπορείτε να τα ελέγξετε αν αυτό κρυφοκοιτάζει το ενδιαφέρον σας.
Lowpass-Filter και το P-Channel MOSFET (ενεργεί ως η αντίσταση στο κύκλωμα):
Η αντίσταση 82K και ο πυκνωτής 3.3uF σχηματίζουν το φίλτρο χαμηλής διέλευσης που είναι υπεύθυνο για την εξομάλυνση του σήματος PWM υψηλής συχνότητας που παράγεται από το Arduino. Όπως αναφέρθηκε προηγουμένως, το P-Channel MOSFET ενεργεί ως η μεταβλητή αντίσταση, η οποία ελέγχει το χρόνο φόρτισης του πυκνωτή. Ο έλεγχος είναι το σήμα PWM που εξομαλύνεται από το φίλτρο χαμηλής διέλευσης. Στο προηγούμενο άρθρο, διαγράψαμε την έννοια των φίλτρων lowpass, μπορείτε να δείτε το άρθρο σχετικά με το ενεργό φίλτρο χαμηλής διέλευσης ή το παθητικό φίλτρο χαμηλής διέλευσης εάν θέλετε να μάθετε περισσότερα για το θέμα.
Σχεδιασμός PCB για κύκλωμα ελέγχου γωνίας φάσης AC
Το PCB για το κύκλωμα ελέγχου γωνίας φάσης είναι σχεδιασμένο σε πλακέτα μίας όψης. Έχω χρησιμοποιήσει το Eagle για να σχεδιάσω το PCB μου, αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε λογισμικό σχεδίασης της επιλογής σας. Η δισδιάστατη εικόνα του σχεδιασμού του πίνακα μου φαίνεται παρακάτω.
Χρησιμοποιείται επαρκής πλήρωση γείωσης για την πραγματοποίηση σωστών συνδέσεων γείωσης μεταξύ όλων των εξαρτημάτων. Η είσοδος 12V DC και η είσοδος AC 220 Volt συμπληρώνονται στην αριστερή πλευρά, η έξοδος βρίσκεται στη δεξιά πλευρά του PCB. Μπορείτε να κατεβάσετε ολόκληρο το αρχείο σχεδίασης για το Eagle μαζί με το Gerber από τον παρακάτω σύνδεσμο.
- Λήψη αρχείων PCB Design, GERBER & PDF για AC Phase Angle Control Circuit
Χειροποίητο PCB:
Για ευκολία, έφτιαξα τη χειροποίητη έκδοση του PCB και φαίνεται παρακάτω.
Κωδικός Arduino για AC Phase Angle Control
Ένας απλός κώδικας παραγωγής PWM χρησιμοποιείται για να λειτουργήσει το κύκλωμα, ο κώδικας και η εξήγησή του δίνονται παρακάτω. Μπορείτε επίσης να βρείτε τον πλήρη κώδικα στο κάτω μέρος αυτής της σελίδας. Πρώτον, δηλώνουμε όλες τις απαραίτητες μεταβλητές, const int analogInPin = A0; // Αναλογικός πείρος εισόδου που το ποτενσιόμετρο είναι συνδεδεμένο με const int analogOutPin = 9; // Αναλογική καρφίτσα εξόδου που η LED είναι συνδεδεμένη στο int sensorValue = 0; // τιμή διαβάστηκε από το pot int outputValue = 0; // έξοδος τιμής στο PWM (αναλογική έξοδος)
Οι μεταβλητές πρέπει να δηλώσουν τον αναλογικό πείρο, τον αναλογικό πείρο και οι άλλες μεταβλητές πρόκειται να αποθηκεύσουν, να μετατρέψουν και να εκτυπώσουν την αντιστοιχισμένη τιμή. Στη συνέχεια, στην ενότητα setup () , αρχίζουμε το UART με 9600 baud έτσι ώστε να μπορούμε να παρακολουθούμε την έξοδο και έτσι μπορούμε να μάθουμε ποια περιοχή PWM μπόρεσε να ελέγξει πλήρως την έξοδο του κυκλώματος.
άκυρη ρύθμιση () {// αρχικοποίηση σειριακών επικοινωνιών στα 9600 bps: Serial.begin (9600); }
Στη συνέχεια, στην ενότητα βρόχου () , διαβάζουμε τον αναλογικό ακροδέκτη A0 και αποθηκεύουμε τη μεταβλητή τιμής τιμής προς αισθητήρα, στη συνέχεια αντιστοιχίζουμε την τιμή αισθητήρα στο 0 -255, καθώς ο χρονοδιακόπτης PWM της ατμόσφαιρας είναι μόνο 8-bit, επόμενος ορίστε το σήμα PWM με μια λειτουργία analogWrite () του Arduino. και τέλος, εκτυπώνουμε τις τιμές στο παράθυρο της σειριακής οθόνης για να μάθουμε το εύρος του σήματος ελέγχου, εάν ακολουθείτε αυτό το σεμινάριο, το βίντεο στο τέλος θα σας δώσει μια σαφέστερη ιδέα για το θέμα.
sensorValue = analogRead (analogInPin); // διαβάστε το αναλογικό στην τιμή: outputValue = map (sensorValue, 0, 1023, 0, 255); // αντιστοιχίστε το στο εύρος του αναλογικού out: analogWrite (analogOutPin, outputValue); // αλλάξτε την αναλογική τιμή εξόδου: Serial.print ("sensor ="); // εκτυπώστε τα αποτελέσματα στο Serial Monitor: Serial.print (sensorValue); Serial.print ("\ t έξοδος ="); Serial.println (outputValue);
Δοκιμή του κυκλώματος ελέγχου γωνίας φάσης AC
Η παραπάνω εικόνα δείχνει τη ρύθμιση δοκιμής του κυκλώματος. Η τροφοδοσία 12V παρέχεται από ένα κύκλωμα SMPS 12V, το φορτίο είναι μια λάμπα στην περίπτωσή μας, μπορεί εύκολα να αντικατασταθεί \ με ένα επαγωγικό φορτίο όπως ένας ανεμιστήρας. Επίσης, όπως μπορείτε να δείτε ότι έχω συνδέσει ένα ποτενσιόμετρο για να ελέγξω τη φωτεινότητα της λάμπας, αλλά μπορεί να αντικατασταθεί με οποιαδήποτε άλλη μορφή ελεγκτή, εάν κάνετε μεγέθυνση στην εικόνα, μπορείτε να δείτε ότι το δοχείο είναι συνδεδεμένο στο Ο ακροδέκτης A0 του Arduino και το σήμα PWM προέρχονται από το pin9 του Arduino.
Όπως μπορείτε να δείτε στην παραπάνω εικόνα, η τιμή εξόδου είναι 84 και η φωτεινότητα του λαμπτήρα πυρακτώσεως είναι πολύ χαμηλή,
Σε αυτήν την εικόνα, μπορείτε να δείτε ότι η τιμή είναι 82 και η φωτεινότητα του λαμπτήρα πυρακτώσεως αυξάνεται.
Μετά από πολλές αποτυχημένες προσπάθειες, κατάφερα να βρω ένα κύκλωμα που λειτουργεί πραγματικά σωστά. Αναρωτηθήκατε ποτέ πώς φαίνεται ένας πάγκος δοκιμών όταν ένα κύκλωμα δεν λειτουργεί; Επιτρέψτε μου να σας πω ότι φαίνεται πολύ κακό,
Αυτό είναι ένα προηγουμένως σχεδιασμένο κύκλωμα στο οποίο δούλευα. Έπρεπε να το πετάξω εντελώς και να φτιάξω ένα νέο, γιατί το προηγούμενο δεν λειτούργησε λίγο.
Περαιτέρω βελτιώσεις
Για αυτήν την επίδειξη, το κύκλωμα είναι κατασκευασμένο σε χειροποίητο PCB, αλλά το κύκλωμα μπορεί εύκολα να κατασκευαστεί σε PCB καλής ποιότητας, στα πειράματά μου, το μέγεθος του PCB είναι πολύ μεγάλο λόγω του μεγέθους του εξαρτήματος, αλλά σε ένα περιβάλλον παραγωγής, αυτό μπορεί να μειωθεί με τη χρήση φθηνών εξαρτημάτων SMD. Στα πειράματά μου, βρήκα ότι η χρήση χρονομέτρου 7555 αντί του χρονοδιακόπτη 555 αυξάνει εκτενώς τον ελεγκτή, επιπλέον, η σταθερότητα του κυκλώματος αυξάνεται επίσης.