בפרויקט זה נתממשק ממסר עם מיקרו-בקר PIC16F877A. ממסר הוא מכשיר מכני לשליטה במתח גבוה, זרם גבוה ' מופעל ' או ' כבוי ' מרמות מתח נמוכות יותר. ממסר מספק בידוד בין שתי רמות מתח והוא משמש בדרך כלל לבקרת מכשירי חשמל. מממסרים מכניים למצב מוצק, ישנם סוגים שונים של ממסרים זמינים באלקטרוניקה. בפרויקט זה נשתמש בממסר מכני.
בפרויקט זה נעשה את הדברים הבאים-
- נתממשק מתג לקלט מהמשתמש.
- שלוט על נורת AC 220V עם ממסר 5V.
- כדי לשלוט הממסר נשתמש טרנזיסטור BC547 NPN ו הטרנזיסטור יישלט מן PIC16F877A. נורית LED תודיע על מצב ממסר מופעל או כבוי.
אם אתה חדש ב- PIC Microcontroller התחל עם תחילת העבודה עם PIC Microcontroller.
רכיב נדרש:
- PIC16F877A
- 20Mhz קריסטל
- 2 יחידות קרמיקה 33pF
- 3 יחידות נגדים 4.7k
- נגד 1k
- נורית אחת
- טרנזיסטור BC547
- 1N4007 דיודה
- ממסר מעוקב 5V
- נורת AC
- קרש לחם
- חוטים לחיבור החלקים.
- מתאם 5V או כל מקור כוח 5V עם יכולות זרם של 200mA לפחות.
ממסר ועבודתו:
ממסר עובד כמו מתג טיפוסי. ממסרים מכניים משתמשים במגנט זמני העשוי סליל אלקטרומגנטי. כאשר אנו מספקים זרם מספיק על פני הסליל הזה, הוא הפך לחשמל ומשך יד. בשל כך המעגל המחובר על פני הממסר יכול להיות סגור או פתוח. לקלט ולפלט אין חיבורים חשמליים ולכן הוא מבודד קלט ופלט. למידע נוסף על ממסר ובנייה שלו כאן.
ממסרים ניתן למצוא בטווחי מתח שונים כמו 5V, 6V, 12V, 18V וכו '. בפרויקט זה נשתמש בממסר 5V שכן מתח העבודה שלנו הוא 5 וולט כאן. זה ממסר מעוקב 5V הוא מסוגל לעבור 7A עומס על 240VAC או 10A עומס על 110VAC. עם זאת במקום העומס העצום הזה, נשתמש בנורת 220VAC ונחליף אותה באמצעות הממסר.
זהו ממסר 5V בו אנו משתמשים בפרויקט זה. הדירוג הנוכחי מוגדר בבירור לשתי רמות מתח, 10A ב -120 וולט ו 7A ב -240 וולט. עלינו לחבר עומס על פני הממסר פחות מהדירוג שצוין.
לממסר זה 5 פינים. אם אנו רואים את ה- pinout אנו יכולים לראות-
L1 ו- L2 הוא הסיכה של סליל האלקטרומגנטים הפנימי. עלינו לשלוט בשני הפינים הללו להפעלת הממסר ' ON ' או ' OFF '. שלושת הפינים הבאים הם POLE, NO ו- NC. המוט מחובר עם לוח המתכת הפנימי שמשנה את חיבורו כאשר הממסר נדלק. במצב רגיל, POLE מקוצר עם NC. NC מייצג מחובר בדרך כלל. כאשר הממסר נדלק, המוט משנה את מיקומו ומתחבר ל- NO. NO מייצג Open Normally.
במעגל שלנו ביצענו את חיבור הממסר עם טרנזיסטור ודיודה. ממסר עם טרנזיסטור ודיודה זמין בשוק כמודול ממסר, כך שכאשר אתה משתמש במודול ממסר אינך צריך לחבר את מעגל הנהג שלו (טרנזיסטור ודיודה).
ממסר משמש בכל הפרויקטים לאוטומציה ביתית לשליטה על מכשירי החשמל לבית.
תרשים מעגל:
המעגל השלם לחיבור ממסר עם מיקרו-בקר PIC מופיע להלן:
בדוגמא למעלה סכמטי pic16F877A משמש, שבו על B יציאת LED ו טרנזיסטור מחובר, אשר נשלטת נוספת באמצעות מתג TAC ב RBO. ה- R1 מספק זרם הטיה לטרנזיסטור. R2 הוא נגד נפתח, המשמש על פני מתג מישוש. זה יספק לוגיקה 0 כאשר לא לוחצים על המתג. ה- 1N4007 היא דיודת מהדק המשמשת לסליל האלקטרומגנטי של הממסר. כאשר הממסר יכבה, יש סיכוי לדוקרנים במתח גבוהוהדיודה תדכא אותה. הטרנזיסטור נדרש להנעת הממסר מכיוון שהוא דורש יותר מ- 50mA זרם, שהמיקרו-בקר אינו מסוגל לספק. אנו יכולים גם להשתמש ב- ULN2003 במקום בטרנזיסטור, זו בחירה נבונה יותר אם נדרשים יותר משניים או שלושה ממסרים ליישום, בדוק את מעגל מודול הממסר. נורית ה- LED לאורך היציאה RB2 תודיע " הממסר פועל ".
המעגל הסופי ייראה כך-
אתה יכול ללמוד לשלוט על ממסר עם Arduino כאן, ואם אתה באמת מעוניין בממסר, בדוק את כל מעגלי הממסר כאן.
הסבר קוד:
בתחילת הקובץ main.c, הוספנו את שורות התצורה עבור pic16F877A והגדרנו גם את שמות הסיכות על פני PORTB.
כמו תמיד ראשית, עלינו להגדיר את סיביות התצורה במיקרו-בקר pic, להגדיר כמה פקודות מאקרו, כולל ספריות ותדר גבישים. אתה יכול לבדוק קוד עבור כל אלה בקוד השלם שניתן בסוף. עשינו RB0 כמו קלט. בסיכה זו המתג מחובר.
#לִכלוֹל
לאחר מכן, התקשרנו לפונקציה system_init () בה ניתחנו את כיוון הסיכה, וגם הגדרנו את מצב ברירת המחדל של הפינים.
בפונקציה system_init () נראה
בטל system_init (בטל) { TRISBbits.TRISB0 = 1; // הגדרת Sw כקלט TRISBbits.TRISB1 = 0; // הגדרת נורית כפלט TRISBbits.TRISB2 = 0; // הגדרת סיכת ממסר כמוצא LED = 0; ממסר = 0; }
בשנות ה העיקרית הפונקציה אנחנו כל זמן לבדוק את עיתונות המתג, אם נזהה עיתונות המתג ידי חישה גבוהה היגיון ברחבי RB0; אנו מחכים זמן מה ונראה האם המתג עדיין נלחץ או לא, אם המתג עדיין נלחץ אז נהפוך את מצב ה- RELAY וסיכת ה- LED.
בטל ראשי (בטל) { system_init (); // המערכת מתכוננת בזמן (1) { אם (SW == 1) {// מתג נלחץ __השהיה_מס (50); // עיכוב הפחתה אם (SW == 1) {// מתג עדיין לחוץ LED =! LED; // היפוך סטטוס הסיכה. RELAY =! RELAY; } } } להחזיר; }
הקוד השלם ווידאו הדגמה לממשק ממסר זה מופיע להלן.