הפעלת עומסים: טרנזיסטור, ממסר וממסר מצב מוצק
הבקר מחליט, אבל ההדק שלו חלש: הוא נותן כמה מיליאמפרים במתח 5 V. הנורה, פס התאורה, המשאבה והגוף המחמם צריכים אמפרים, ולפעמים מתח של 12 V או את מתח הרשת 230 V. בפרק הזה נלמד איך הדק קטן מפעיל עומס גדול בבטחה: בטרנזיסטור כמפסק, בטרנזיסטור MOSFET, בממסר ובממסר מצב מוצק. נלמד איזה מפסק לבחור לכל עומס ואיך לחבר אותו, ונכתוב את הסקיצה שמפעילה כל מעגל.
- להדק של הבקר יש מגבלות זרם, ונחשב אם הוא יכול להפעיל עומס ישירות, כמו נורית LED עם נגד.
- נפעיל עומס בטרנזיסטור NPN כמפסק, ונכיר את תפקיד נגד הבסיס ואת אופן חיבור העומס.
- נבחר טרנזיסטור MOSFET ברמה לוגית לעומסים גדולים, ונבין מדוע הוא כמעט אינו מתחמם.
- נעמעם פס LED באפנון רוחב פולס ונחשב את מחזור העבודה.
- נפעיל ממסר דרך טרנזיסטור עם דיודת חופש, ונבין מדוע אי אפשר לוותר עליה.
- נתאר את עקרון הפעולה של ממסר מצב מוצק ונשווה בין סוגי המפסקים.
מדוע הדק אינו מפעיל עומס ישירות (Pin Current Limits)
הדק מוצא בבקר הוא מפסק אלקטרוני קטן בתוך השבב: הוא מחבר את ההדק למתח 5 V במצב HIGH ולאדמה במצב LOW. המפסק הזה בנוי לזרמים קטנים. גיליון הנתונים של הבקר ATmega328P שבלוח Uno קובע ערכים מרביים מוחלטים, וחריגה מהם הורסת את השבב:
| הגודל | הערך | המשמעות |
|---|---|---|
| זרם של הדק אחד — מומלץ | 20 mA | מתכננים תמיד מתחת לערך הזה |
| זרם של הדק אחד — ערך מרבי מוחלט | 40 mA | אף פעם לא מתקרבים אליו |
| סכום הזרמים של כל ההדקים (דרך VCC ו-GND) | 200 mA | אי אפשר לרכז אותו בהדק אחד |
נורה של 12 V צריכה מתח שההדק אינו נותן, וסליל של ממסר קטן מושך כ-71 mA (נחשב בהמשך), כלומר יותר מן הערך המרבי המוחלט. הפתרון תמיד זהה: ההדק נותן רק אות בקרה קטן, ומעגל הנעה (דרייבר) פותח וסוגר את הזרם הגדול של העומס, והעומס מקבל את הזרם שלו מספק נפרד:
נורית LED עם נגד טורי:
נורית LED היא עומס קטן שההדק יכול להפעיל ישירות, בתנאי שנגביל את הזרם שלה בנגד טורי. על נורית דולקת נשאר מתח כמעט קבוע שנקרא מתח קדמי VF, והשאר, VCC − VF, נופל על הנגד. עבור זרם רצוי IF, הנגד הטורי הוא:
לנורית האדומה:
נבחר את הערך התקני הגדול הבא מטור E12, כך שהזרם יהיה מעט קטן מן הרצוי ולא יעבור אותו. כך נחשב את שלושתן:
| הנורית | VF | R מחושב | R תקני | IF בפועל |
|---|---|---|---|---|
| אדומה | 2 V | 300 Ω | 330 Ω | 9.1 mA |
| ירוקה | 2.2 V | 280 Ω | 330 Ω | 8.5 mA |
| כחולה | 3.3 V | 170 Ω | 180 Ω | 9.4 mA |
סכום הזרמים כששלוש הנוריות דולקות יחד הוא 27 mA, רחוק מן הגבול הכולל 200 mA.
טרנזיסטור כמפסק (BJT as a Switch)
בטרנזיסטור NPN נחבר את העומס בין הספק +12 V לבין הקולט, ונחבר את הפולט לאדמה. זה נקרא מיתוג בצד הנמוך: הטרנזיסטור מנתק או מחבר את הקצה התחתון של העומס לאדמה. ההדק נותן זרם קטן לבסיס דרך נגד בסיס RB. זרם בסיס קטן שולט בזרם קולט גדול ממנו פי עשרות, ולכן מספיק שההדק ייתן כמה מיליאמפרים.
איך בוחרים ואיך מחברים?
- הטרנזיסטור: 2N2222A מתאים לעומסי זרם ישר של עד כמה מאות מיליאמפרים: נורה קטנה, סליל של ממסר, זמזם. לעומסים גדולים יותר נבחר טרנזיסטור MOSFET (סעיף 10.3).
- נגד הבסיס: לעולם לא מוותרים עליו, כי הוא מגביל את זרם הבסיס ומגן על ההדק ועל הטרנזיסטור. לעומס של עד כ-150 mA מספיק בדרך כלל RB = 1 kΩ: ההדק נותן רק כ-4.3 mA, וזה מספיק כדי שהטרנזיסטור ייכנס לרוויה.
- העומס: בין +12 V לקולט, הפולט אל האדמה, והאדמה של ספק העומס משותפת עם האדמה של הבקר.
- עומס השראתי (סליל של ממסר, מנוע): מוסיפים דיודת חופש על העומס (סעיף 10.4).
נהפוך את המעגל למערכת בקרה שלמה: הנגד תלוי-האור מודד את האור, והבקר מדליק את הנורה בחושך. בחושך ההתנגדות של הנגד תלוי-האור גדלה, ולכן הערך הגולמי ב-A0 יורד. נשתמש בשני ספים: נדליק מתחת ל-300 ונכבה מעל 400. ההפרש ביניהם, היסטרזיס, מונע מן הנורה להבהב כשהאור מתנדנד סביב סף יחיד.
const int LDR_PIN = A0;
const int LAMP = 8; // to R_B -> base of Q1
const int ON_LEVEL = 300; // darker than this -> lamp ON
const int OFF_LEVEL = 400; // brighter than this -> lamp OFF
bool lampOn = false;
void setup() {
Serial.begin(9600);
pinMode(LAMP, OUTPUT);
}
void loop() {
int raw = analogRead(LDR_PIN);
if (!lampOn && raw < ON_LEVEL) lampOn = true;
if (lampOn && raw > OFF_LEVEL) lampOn = false;
digitalWrite(LAMP, lampOn ? HIGH : LOW);
Serial.print("raw = "); Serial.print(raw);
Serial.print(" lamp: "); Serial.println(lampOn ? "ON" : "OFF");
delay(500);
}raw = 450 lamp: OFF raw = 350 lamp: OFF raw = 290 lamp: ON raw = 250 lamp: ON raw = 330 lamp: ON raw = 380 lamp: ON raw = 420 lamp: OFF
בקריאות 330 ו-380 הנורה נשארה דולקת, כי הערך עוד לא עבר את 400: זה ההיסטרזיס.
MOSFET ברמה לוגית כמפסק (Logic-Level MOSFET)
הטרנזיסטור 2N2222A מצוין עד כמה מאות מיליאמפרים. לפס LED שמושך שני אמפרים או למשאבה צריך מפסק אחר: טרנזיסטור MOSFET מסוג N. ההדקים שלו: השער G, המרזב D והמקור S. השער מבודד, ולכן לא עובר בו זרם קבוע: הטרנזיסטור מונע במתח VGS ולא בזרם.
| VGS,th | RDS,on (VGS = 10 V) | RDS,on (5 V) | RDS,on (4 V) | להדק 5 V? | |
|---|---|---|---|---|---|
| IRLZ44N | 1…2 V | 22 mΩ | 25 mΩ | 35 mΩ | כן |
| IRF540N | 2…4 V | 44 mΩ | לא מובטחת | לא מובטחת | לא |
מדוע הוא כמעט אינו מתחמם? כי ההתנגדות שלו בהולכה קטנה מאוד. פס LED שכתוב עליו 12 V, 24 W מושך 2 A. עם IRLZ44N ב-VGS = 5 V (25 mΩ) הופך בטרנזיסטור לחום רק כ-0.1 W, ולכן הוא אינו צריך גוף קירור. לעומת זאת, 2N2222A אינו מתאים כאן בכלל, כי זרם הקולט המרבי המותר לו הוא 600 mA.
נגד שער ונגד משיכה למטה:
השער מתנהג כמו קבל קטן, שההדק טוען בכל מיתוג בזרם רגעי. נגד השער RG (בין 150 Ω ל-220 Ω) מגביל את הזרם הזה. ונגד משיכה למטה Rpd (כ-10 kΩ) בין השער לאדמה משאיר את השער ב-0 V כשההדק צף, בהדלקת הלוח או בזמן העלאת הסקיצה, ולכן העומס נשאר כבוי. נגד המשיכה למטה גדול בהרבה מנגד השער, ולכן במצב HIGH השער נשאר קרוב מאוד ל-5 V.
אפנון רוחב פולס: עמעום:
| סימן | משמעות | יחידת מידה |
|---|---|---|
| D | מחזור העבודה (נכתב גם באחוזים) | — |
| ton , T | זמן ההדלקה וזמן המחזור | [s] |
| N | הערך ב-analogWrite(pin, N), מ-0 עד 255 | — |
| Pavg , P | ההספק הממוצע של העומס, וההספק שלו כשהוא פועל כל הזמן | [W] |
בלוח Uno הפקודה analogWrite() פועלת רק בהדקים המסומנים בסימן ~, כלומר 3, 5, 6, 9, 10, 11. התדר הוא כ-490 Hz בהדקים 3, 9, 10, 11 וכ-980 Hz בהדקים 5 ו-6 (לפי התיעוד של Arduino). נפעיל את הפס מן ההדק D9, ונקרא פוטנציומטר ב-A0 כדי לבחור את עוצמת התאורה:
const int POT = A0;
const int STRIP = 9; // PWM pin (~490 Hz) -> gate resistor
void setup() {
Serial.begin(9600);
pinMode(STRIP, OUTPUT);
}
void loop() {
int raw = analogRead(POT); // 0..1023
int pwm = raw / 4; // 0..255
analogWrite(STRIP, pwm);
float duty = pwm * 100.0 / 255.0; // [%]
Serial.print("raw = "); Serial.print(raw);
Serial.print(" pwm = "); Serial.print(pwm);
Serial.print(" duty = "); Serial.print(duty, 1); Serial.println(" %");
delay(300);
}raw = 0 pwm = 0 duty = 0.0 % raw = 256 pwm = 64 duty = 25.1 % raw = 512 pwm = 128 duty = 50.2 % raw = 768 pwm = 192 duty = 75.3 % raw = 1023 pwm = 255 duty = 100.0 %
ממסר (Electromechanical Relay)
| המגע | הסליל בלי זרם | הסליל עם זרם |
|---|---|---|
| NO | פתוח מ-COM | מחובר ל-COM |
| NC | מחובר ל-COM | פתוח מ-COM |
COM הוא המגע המשותף, NO הוא מגע פתוח במנוחה, ו-NC הוא מגע סגור במנוחה. בדרך כלל נחבר את העומס בין COM ל-NO, כך שהעומס פועל רק כשהסליל פועל. כדי לחשב את הזרם וההספק של הסליל נשתמש בחוק אום ובחוק ההספק עם המתח הנקוב של הסליל Vcoil וההתנגדות שלו Rcoil:
(א) נחשב את הזרם וההספק של הסליל.
(ב) האם ההדק יכול להפעיל אותו ישירות?
(ב) לא: 71.4 mA גדול מן הערך המרבי המוחלט של ההדק, 40 mA. לכן נפעיל אותו מן ההדק D7 דרך הטרנזיסטור 2N2222A עם נגד בסיס של 1 kΩ, כמו בסעיף 10.2, או נשתמש במודול ממסר מוכן.
דירוג מגעים: המגעים של הממסר SRD-05VDC-SL-C מדורגים ל-10 A ב-250 V חילופין ול-10 A ב-30 V ישר (ערך טיפוסי לפי גיליון הנתונים). המתח הישר המותר קטן יותר, כי קשת של זרם ישר אינה כבה מעצמה. ומודול הממסר כולו עשוי להיות מדורג לערכים קטנים יותר: נקרא את גיליון הנתונים של המודול.
דיודת חופש:
הסליל הוא עומס השראתי: הוא אוגר אנרגיה בשדה המגנטי שלו ומתנגד לכל שינוי פתאומי בזרם שלו. כשהטרנזיסטור נפתח, הסליל מנסה להמשיך להעביר את הזרם, ולכן מקפיץ את מתח הקולט בקוץ מתח השראתי גדול בהרבה ממתח ההזנה, שעלול לפרוץ את הטרנזיסטור. דיודת חופש המחוברת על הסליל בכיוון ההפוך פותחת מסלול לזרם הזה, והוא מסתובב בסליל ובדיודה עד שהוא דועך, ומתח הקולט אינו עולה מעל VCC + 0.7 V = 5.7 V.
מודול ממסר מוכן:
במעבדה משתמשים בדרך כלל במודול ממסר שיש בו הממסר, הטרנזיסטור, דיודת החופש ונורית חיווי, ולפעמים גם מצמד אופטי, עם הדקי בקרה VCC, GND ו-IN והדקי מגעים NO, COM ו-NC. במודולים רבים המבוא IN פעיל ב-LOW: הממסר פועל כשכותבים LOW. זה אינו כלל: בודקים את המודול בלי עומס לפני שמחברים משהו למגעים.
הסקיצה מחליפה את מצב הממסר בכל לחיצה. ההחלפה חייבת לקרות פעם אחת בכל לחיצה, ולכן נבצע סינון קפיצות מגע בכך שנחכה עד שקריאת הלחצן תישאר יציבה 50 ms, בעזרת millis() ובלי delay(). ואת רמת ה"כבוי" נכתוב בהדק לפני שנגדיר אותו כמוצא, כדי שהממסר לא יפעל לרגע בהדלקה.
const int BUTTON = 2, RELAY = 7;
const int RELAY_ON = LOW, RELAY_OFF = HIGH; // active-LOW module: check yours!
const unsigned long DEBOUNCE_MS = 50;
bool relayOn = false;
int lastReading = HIGH, stableState = HIGH, presses = 0;
unsigned long lastChange = 0;
void setup() {
Serial.begin(9600);
pinMode(BUTTON, INPUT_PULLUP);
digitalWrite(RELAY, RELAY_OFF); // set the level before enabling output
pinMode(RELAY, OUTPUT);
}
void loop() {
int reading = digitalRead(BUTTON);
if (reading != lastReading) lastChange = millis();
lastReading = reading;
if (millis() - lastChange < DEBOUNCE_MS || reading == stableState) return;
stableState = reading;
if (stableState == HIGH) return; // act on press only
relayOn = !relayOn;
presses++;
digitalWrite(RELAY, relayOn ? RELAY_ON : RELAY_OFF);
Serial.print("press "); Serial.print(presses);
Serial.print(" relay: "); Serial.println(relayOn ? "ON" : "OFF");
}press 1 relay: ON press 2 relay: OFF press 3 relay: ON press 4 relay: OFF
(א) חשבו את הזרם וההספק של הסליל.
(ב) האם מותר להפעיל אותו ישירות מהדק של Uno?
ממסר מצב מוצק (Solid-State Relay, SSR)
- בידוד אופטי: רק האור מעביר את הפקודה מן הנורית אל המוצא, ולכן אין חיבור חשמלי בין הבקר למתח הרשת.
- מיתוג במעבר אפס: הממסר מתחיל להוליך ברגע שמתח הרשת קרוב לאפס, ולכן הזרם הפתאומי וההפרעות קטנים. מסיבה זו הוא אינו מתאים לאפנון רוחב פולס מהיר.
- זרם זליגה: גם כשהוא "פתוח", המוצא מעביר זרם קטן, ולכן עומס קטן מאוד עלול לזהור. מנתקים את העומס במפסק רגיל לפני כל עבודה עליו.
- החום: כשהוא מוליך, נשאר על המוצא מפל מתח כמעט קבוע, ולכן הממסר מתחמם עם זרם העומס, וצריך גוף קירור בזרמים גדולים.
כ-7 W של חום בקופסה קטנה: נרכיב את הממסר על גוף קירור לפי הוראות היצרן. הממסר האלקטרומגנטי, לעומת זאת, כמעט אינו מתחמם במגעים שלו.
השוואה ובחירת המפסק (Choosing a Switch)
| טרנזיסטור NPN | MOSFET | ממסר | ממסר מצב מוצק | |
|---|---|---|---|---|
| העומסים | ישר, מאות mA | ישר, אמפרים | ישר וחילופין | חילופין |
| בידוד | לא | לא | כן | כן: אופטי |
| אפנון רוחב פולס | כן | כן, מצוין | לא | לא (מעבר אפס) |
| ההפסדים במפסק | קטנים ברוויה | קטנים מאוד | הסליל צורך | מפל מתח: גוף קירור |
| בלאי ורעש | לא | לא | כן: נקישה | לא |
| מן ההדק | נגד בסיס | נגד שער ונגד משיכה למטה | טרנזיסטור ודיודה | בדרך כלל ישירות |
הכלל המעשי: עומס זרם ישר קטן: טרנזיסטור NPN. עומס זרם ישר גדול או עמעום: MOSFET ברמה לוגית, ואיתו דיודת חופש אם העומס השראתי. עומס זרם חילופין שמוחלף לעתים רחוקות או שצריך בידוד מלא: ממסר. עומס זרם חילופין שמוחלף לעתים קרובות: ממסר מצב מוצק, כי אין בו בלאי.
(א) פס LED של 12 V עם עמעום.
(ב) דוד מים של 230 V בבקרה דו-מצבית שמוחלף כל כמה שניות.
(ג) זמזם של 12 V שמושך 30 mA.
סיכום נוסחאות הפרק:
| החוק | הנוסחה |
|---|---|
| נגד טורי לנורית LED | R = VCC − VFIF |
| מחזור עבודה | D = tonT = N255 |
| הספק ממוצע באפנון רוחב פולס | Pavg = D·P |
| זרם הסליל וההספק שלו | Icoil = VcoilRcoil , Pcoil = Vcoil2Rcoil |
מילון מונחים:
| עברית | English | العربية |
|---|---|---|
| עומס | Load | الحمل |
| ערך מרבי מוחלט | Absolute maximum rating | الحد الأقصى المطلق |
| מעגל הנעה (דרייבר) | Driver | دائرة القيادة |
| אדמה משותפת | Common ground | الأرضي المشترك |
| מתח קדמי | Forward voltage | جهد الأمام |
| נגד טורי | Series resistor | مقاومة على التوالي |
| טרנזיסטור כמפסק | Transistor switch | الترانزستور كمفتاح |
| קיטעון · רוויה | Cut-off · Saturation | القطع · الإشباع |
| בסיס · קולט · פולט | Base · Collector · Emitter | القاعدة · المجمع · الباعث |
| נגד בסיס | Base resistor | مقاومة القاعدة |
| מיתוג בצד הנמוך | Low-side switch | مفتاح في الجهة المنخفضة |
| MOSFET ברמה לוגית | Logic-level MOSFET | ترانزستور MOSFET بمستوى منطقي |
| שער · מרזב · מקור | Gate · Drain · Source | البوابة · المصرف · المنبع |
| מתח סף | Threshold voltage | جهد العتبة |
| התנגדות בהולכה | On-resistance | مقاومة التوصيل |
| גוף קירור | Heat sink | المشتّت الحراري |
| אפנון רוחב פולס · מחזור עבודה | PWM · Duty cycle | تعديل عرض النبضة · نسبة التشغيل |
| ממסר | Relay | المرحّل (الريليه) |
| סליל · מגעים | Coil · Contacts | الملف · الملامسات |
| מגע פתוח במנוחה · מגע סגור במנוחה | Normally open · Normally closed | مفتوح في الراحة · مغلق في الراحة |
| דירוג מגעים | Contact rating | تصنيف الملامسات |
| דיודת חופש | Flyback diode | ديود الحماية (ديود العجلة الحرّة) |
| קוץ מתח השראתי | Inductive kick | قفزة الجهد |
| ממסר מצב מוצק | Solid-state relay | مرحّل الحالة الصلبة (SSR) |
| בידוד אופטי | Optical isolation | العزل الضوئي |
| מיתוג במעבר אפס | Zero-cross switching | التشغيل عند المرور بالصفر |
| זרם זליגה | Leakage current | تيار التسرّب |
שאלות לתרגול:
(א) האם הזרם של כל הדק בתחום המומלץ?
(ב) מהו סכום הזרמים, והאם הוא בתחום הגבול הכולל?