חיישנים ומפעילים למיקרו-בקרים · פרק 6 — חיישני אור וחיישנים אופטייםסמלי מקצוע 33.102 ו-33.002⌂📚🏠
פרק 6

חיישני אור וחיישנים אופטיים

כיתות י״א–י״ב · 4 שעות לימוד

האור הוא מידע שימושי מאוד למערכת בקרה: פנס הרחוב נדלק מעצמו בשקיעה, הרובוט עוקב אחרי קו שחור על הרצפה, והמכונה סופרת את הפריטים שקוטעים קרן אור. בפרק הזה נכיר את הנגד התלוי-אור, נחבר אותו לבקר בעזרת מחלק מתח, ונבנה ממנו מנורת לילה אוטומטית עם שני ספים. בסוף נכיר בקצרה חיישנים אופטיים נוספים ונשווה ביניהם.

בסוף הפרק הזה נדע:
  • שהתנגדות הנגד התלוי-אור קטנה כשהאור מתחזק, בקשר לא לינארי, ושהוא איטי.
  • לחבר נגד תלוי-אור במחלק מתח, ולחשב את המתח ואת הערך הגולמי באור ובחושך.
  • שהיסטרזיס עם שני ספים מונע ריצוד של המפעיל סביב הסף.
  • שהפוטודיודה, הפוטוטרנזיסטור, החיישן האופטי המחזיר וחיישן החריץ מהירים מהנגד התלוי-אור, ושלכל אחד מהם שימוש אופייני.

נגד תלוי-אור (LDR) (Light Dependent Resistor)

נגד תלוי-אור: זהו נגד העשוי מחומר מוליך-למחצה (קדמיום גופרי), שהתנגדותו קטנה ככל שעוצמת האור הפוגע בו גדלה. זהו חיישן סביל: הוא אינו מייצר מתח, אלא רק משנה את התנגדותו. הוא נקרא גם "תא פוטואלקטרי" או "פוטו-נגד".

את עוצמת האור הפוגע במשטח נמדוד ביחידות לוקס [lx]; הגודל הזה נקרא עוצמת הארה. הטבלה נותנת ערכים אופייניים של נגד תלוי-אור נפוץ מדגם GL5528. עוצמת ההארה בעמודה השנייה משוערת, להמחשה בלבד.

E [lx]דוגמה (משוערת)RLDR
0חושך מוחלט (אחרי 10 s)≥ 1 MΩ
1לילה, חדר כמעט חשוך59.72 kΩ
10דמדומים, תאורת רחוב חלשה15 kΩ
100חדר מואר בתאורה חלשה3.77 kΩ
1000ליד החלון ביום0.95 kΩ
ערך אופייני לפי גיליון הנתונים: ב-10 lx התנגדות ה-GL5528 היא בין 10 kΩ ל-20 kΩ, והתנגדות החושך היא 1 MΩ לפחות. ההספק המרבי 100 mW והמתח המרבי 150 V.
100200300400204060E [lx]R [kΩ]
ההתנגדות יורדת בחדות באור חלש, ואחר כך כמעט אינה משתנה

העקומה מראה שהקשר אינו לינארי: באור חלש ההתנגדות יורדת מהר, ובאור חזק היא כמעט אינה משתנה. כל הגדלה של האור פי עשרה מחלקת את ההתנגדות בערך ב-4 בלבד. לכן הנגד התלוי-אור טוב לשאלה "אור או חושך?" ולסף שנקבע בניסוי, אבל הוא אינו מכשיר מדויק למדידת עוצמת הארה.

זמן תגובה: הנגד התלוי-אור איטי. ב-GL5528 זמן העלייה כ-20 ms וזמן הירידה כ-30 ms (ערך אופייני לפי גיליון הנתונים), ואחרי חושך ממושך הוא זקוק לזמן ארוך יותר. זה מספיק למנורת לילה, אבל לא מספיק לספירת פולסים מהירים.

אזהרה: ה-GL5528 מכיל קדמיום, ולכן לא נשבור ולא נשרוף אותו, ונשליך אותו כפסולת אלקטרונית.

נגד תלוי-אור במחלק מתח (LDR in a Voltage Divider)

5VA0VoutRLDRGL5528RF10 kΩ
הנגד התלוי-אור למעלה, והנגד הקבוע למטה

הבקר קורא מתח, לא התנגדות. לכן נחבר את הנגד התלוי-אור בטור עם נגד קבוע RF, וניקח את המתח מנקודת האמצע אל המבוא התקבילי A0. כשהנגד התלוי-אור למעלה, Vout עולה עם האור.

מחלק מתח עם נגד תלוי-אור
Vout = VCC·RFRF + RLDR
סימןמשמעותיחידת מידה
Voutהמתח במבוא התקבילי[V]
VCCמתח ההזנה (5 V ב-Uno)[V]
RFהנגד הקבוע (אל האדמה)[Ω]
RLDRהתנגדות הנגד התלוי-אור (אל ההזנה)[Ω]

בדרך כלל נבחר RF = 10 kΩ, ערך קרוב להתנגדות של GL5528 באור חלש של חדר, וכך המתח משתנה בתחום רחב בין חושך לאור. הטבלה מראה את השרשרת כולה עם RF = 10 kΩ: האור מתחזק ← ההתנגדות קטנה ← המתח עולה ← הערך הגולמי גדל:

E1 lx10 lx100 lx1000 lx
RLDR59.72 kΩ15 kΩ3.77 kΩ0.95 kΩ
Vout0.72 V2 V3.63 V4.57 V
N147409743935
דוגמה 6.1
נגד תלוי-אור שהתנגדותו באור של 10 lx היא 15 kΩ, ו-RF = 10 kΩ. נחשב את Vout ואת הערך הגולמי ב-Uno.
פתרון:
Vout = 5·1010 + 15 = 2 V
N = Vout·10235 = 2 · 10235 ≈ 409
Vout ≈ 2 V , N ≈ 409
שאלה 6.1: החליפו את מקומות שני הרכיבים: RF = 10 kΩ למעלה (אל 5 V) והנגד התלוי-אור למטה.
א. מהו Vout ב-100 lx?
ב. האם המתח עולה עכשיו עם האור או יורד?
טעות נפוצה: לא נשכח את הנגד הקבוע: נגד תלוי-אור לבדו בין 5 V ל-A0 משאיר את המבוא "צף" בחושך, והקריאה קופצת בלי משמעות.

מנורת לילה אוטומטית עם היסטרזיס (Automatic Night Lamp with Hysteresis)

הרעיון הפשוט: "אם N קטן מהסף, הדלק את המנורה; אחרת כבה אותה". אבל בשקיעה האור משתנה לאט, וענן או צל חולף מזיזים את הקריאה מעט סביב הסף, והמנורה נדלקת ונכבית פעמים רבות. הפתרון הוא היסטרזיס.

היסטרזיס: שימוש בשני ספים שונים: סף להפעלה, וסף גבוה ממנו לכיבוי. בין שני הספים המוצא אינו משתנה, אלא נשאר במצבו הקודם. בעברית נקרא גם "חשל".

נבחר שהמנורה תידלק מתחת ל-10 lx ותיכבה מעל 20 lx. נחשב את הערך הגולמי של כל סף ממחלק המתח:

NON = 10235·5·1010 + 15 ≈ 409
NOFF = 10235·5·1010 + 9.9 ≈ 514
Arduino Uno5VA0GNDD8GND LDRGL552810 kΩVout330 ΩLED
חיבור מנורת הלילה: המחלק על A0, ונורית חיווי LED עם 330 Ω על D8

המנורה כאן היא נורית חיווי LED. המתח הקדמי שלה כ-2 V (ערך אופייני לפי גיליון הנתונים עבור LED אדום), ולכן הזרם I = 5 − 2330 ≈ 9.1 mA, פחות מ-20 mA המותרים להדק של Uno.

מנורת הלילה: שני ספים במקום סף אחד Arduino Uno · night_lamp_hysteresis.ino
const int LDR_PIN  = A0;    // LDR to 5V, 10k to GND
const int LAMP_PIN = 8;     // LED + 330 ohm to GND
const int N_ON  = 409;      // darker than this -> lamp ON  (~10 lx)
const int N_OFF = 514;      // brighter than this -> lamp OFF (~20 lx)

bool lampOn = false;

void setup() {
  Serial.begin(9600);
  pinMode(LAMP_PIN, OUTPUT);
}

void loop() {
  int n = analogRead(LDR_PIN);
  float v = n * 5.0 / 1023.0;
  if (!lampOn && n < N_ON)  lampOn = true;
  if (lampOn && n > N_OFF)  lampOn = false;
  digitalWrite(LAMP_PIN, lampOn ? HIGH : LOW);

  Serial.print("N = "); Serial.print(n);
  Serial.print("  V = "); Serial.print(v, 2);
  Serial.print("  lamp = "); Serial.println(lampOn ? "ON" : "OFF");
  delay(1000);
}

נריץ את הסקיצה בדמדומי הערב ואחר כך עם שחר. עוצמת ההארה בכל שנייה (ביחידות lx) היא: 60, 25, 14, 11, 9, 12, 13, 8, 12, 17, 23, 40. הצג הטורי מציג:

Serial Monitor · קריאה לדוגמה
N = 677  V = 3.31  lamp = OFF
N = 548  V = 2.68  lamp = OFF
N = 460  V = 2.25  lamp = OFF
N = 423  V = 2.07  lamp = OFF
N = 394  V = 1.93  lamp = ON
N = 436  V = 2.13  lamp = ON
N = 448  V = 2.19  lamp = ON
N = 377  V = 1.84  lamp = ON
N = 436  V = 2.13  lamp = ON
N = 489  V = 2.39  lamp = ON
N = 536  V = 2.62  lamp = OFF
N = 619  V = 3.03  lamp = OFF
0246810409514700t [s]NNOFFNON
הערך הגולמי N (בכחול) ושני הספים. האזור הצהוב: המנורה דולקת

השוואה: אילו השתמשנו בסף אחד NON = 409, מספר השינויים במצב המנורה ברצף הזה היה 4. עם שני ספים היא נדלקת פעם אחת כש-N יורד מתחת ל-409, ונכבית רק אחרי שהוא עולה מעל 514; כך מספר השינויים הוא 2 בלבד.

שאלה 6.2: בסקיצה משנים את סף הכיבוי ל-EOFF = 40 lx. חשבו את הערך החדש של NOFF.
אזהרה: מנורת רשת של 230 V לעולם אינה מחוברת להדק של הבקר ולא ללוח הניסויים. נפעיל אותה רק דרך מודול ממסר מאושר וסגור, בפיקוח המורה (פרק 10).
טעות נפוצה: שני ספים קרובים מדי מחזירים את הריצוד. נציב את הנגד התלוי-אור כך שאור המנורה עצמה לא ייפול עליו, אחרת המנורה תכבה את עצמה.
על שלושת הלוחות: Uno: המחלק מ-5 V. ESP32: המחלק מ-3.3 V אל הדק בין GPIO32 ל-GPIO39. רספברי פיי: המחלק מ-3.3 V אל ערוץ של MCP3008, כי אין בו ממיר תקבילי-ספרתי.
▶ניסוי חי — נגד תלוי-אורנראה איך משתנים מתח המחלק והערך הגולמי עם האור, עם סקיצה ל-Uno ול-ESP32.
⚠
המעבדה אינה זמינה כרגע. החומר בפרק שלם גם בלעדיה — ממשיכים לקרוא, וחוזרים לניסוי מאוחר יותר או פותחים אותו ישירות בקישור שמתחת למסגרת.
https://fahed-lab.com/micro/sensors_guide#ldr
פתיחת המעבדה בדף נפרד ↗ fahed-lab.com/micro/sensors_guide#ldr

חיישנים אופטיים נוספים (Other Optical Sensors)

הנגד התלוי-אור איטי. כשדרושה תגובה מהירה — ספירת פריטים על מסוע, מעקב אחרי קו, ספירת סיבובים של מנוע — משתמשים בחיישנים המבוססים על פוטודיודה או על פוטוטרנזיסטור. רבים מהם עובדים בקרינה אינפרא-אדומה, שאינה נראית לעין, עם משדר ומקלט באותו מארז.

החיישןמה הוא מודד או מגלה?תחום אופייניסוג המוצאשימוש אופייני
נגד תלוי-אור (להשוואה)עוצמת אור, לאט (עשרות ms)מחושך ועד אור יוםהתנגדות ← תקבילי במחלק מתחמנורת לילה, תאורת רחוב
פוטודיודהעוצמת אור, מהר מאודמאור חלש ועד אור שמשזרם קטן ← תקבילי בעזרת נגדמד אור, מקלט של שלט רחוק
פוטוטרנזיסטורנוכחות אור ועוצמתו, מהר (מיקרו-שניות)מאור חלש ועד אור שמשתקבילי, או ספרתי ברוויהבתוך חיישן מחזיר ובתוך חיישן חריץ
חיישן אופטי מחזיר (TCRT5000)משטח בהיר או שחור קרובכ-0.2 עד 15 mmתקבילי, או ספרתי במודול מוכןרובוט עוקב קו, גילוי גוף קרוב
חיישן חריץגוף שקוטע את הקרן בתוך החריץגוף בתוך חריץ ברוחב מילימטרים אחדיםספרתי: פולס לכל קטיעהספירת פריטים, ספירת סיבובים של דיסקה מחורצת

המספרים אופייניים לפי גיליונות הנתונים. בחיישן אופטי מחזיר יש משדר ופוטוטרנזיסטור זה לצד זה: האור מוחזר מן המשטח הבהיר וחוזר, והמשטח השחור בולע אותו. בחיישן חריץ יש משדר ופוטוטרנזיסטור זה מול זה משני צדי חריץ: גוף שנכנס לחריץ קוטע את הקרן. המודולים המוכנים של שני החיישנים האלה נותנים בדרך כלל מוצא ספרתי DO, שקוראים בפונקציה digitalRead().

TCRT5000משטח לבן: החזרה חזקה, זרם גדולTCRT5000קו שחור: בליעה, זרם קטן מאוד
טעות נפוצה: באור השמש יש הרבה קרינה אינפרא-אדומה, ולכן חיישן מחזיר עלול לטעות ליד חלון שטוף שמש. נסתיר את החיישן מאור הסביבה, ונכוון את הסף במקום שבו הוא עובד.
שאלה 6.3: בחרו חיישן מן הטבלה לכל יישום:
(א) רובוט שעוקב אחרי קו שחור על רצפה לבנה.
(ב) ספירת בקבוקים שעוברים על מסוע בין משדר למקלט.
(ג) הדלקת תאורת הגינה בשקיעה.

סיכום נוסחאות הפרק:

החוקהנוסחה
מחלק מתח עם נגד תלוי-אורVout = VCC·RFRF + RLDR
הערך הגולמי ב-UnoN = Vout·10235

מילון מונחים:

עבריתEnglishالعربية
נגד תלוי-אור (LDR)Light dependent resistorالمقاومة الضوئية (الخلية الضوئية)
עוצמת הארהIlluminance (lux)شدّة الإضاءة
חיישן סבילPassive sensorحسّاس سلبي
זמן תגובהResponse timeزمن الاستجابة
מחלק מתחVoltage dividerمُجزِّء الجهد
היסטרזיסHysteresisالتخلّف (الهستيريسيس)
סףThresholdالعتبة
פוטודיודהPhotodiodeالديود الضوئي
פוטוטרנזיסטורPhototransistorالترانزستور الضوئي
אינפרא-אדוםInfrared (IR)الأشعة تحت الحمراء
חיישן אופטי מחזירReflective optical sensorحسّاس الانعكاس
חיישן חריץ (מזלג)Slot opto-interrupterالحسّاس الضوئي ذو الشقّ (القاطع الضوئي)

שאלות לתרגול:

1.
מהו הקשר בין עוצמת האור להתנגדות הנגד התלוי-אור? האם הוא לינארי?
תשובות: ההתנגדות קטנה כשהאור מתחזק, והקשר אינו לינארי
2.
נגד תלוי-אור GL5528 מחובר אל 5 V, ו-RF = 10 kΩ מחובר אל האדמה. חשבו את Vout ב-1000 lx (מן הטבלה, RLDR = 0.95 kΩ).
תשובות: Vout = 4.57 V
3.
במעגל המחלק (RF = 10 kΩ למטה) הבקר קרא N = 300.
א. חשבו את Vout.
ב. האם האור חזק או חלש מ-10 lx? (ב-10 lx הערך הוא N = 409.)
תשובות: א. Vout ≈ 1.47 V. ב. חלש יותר, כי הערך הגולמי קטן יותר
4.
מדוע הנגד התלוי-אור אינו מתאים לספירת הבזקי אור מהירים?
תשובות: כי הוא איטי: זמן התגובה שלו הוא עשרות מילישניות
5.
הסבירו מדוע משתמשים בשני ספים במנורת הלילה. מה קורה אם קובעים את שני הספים שווים?
תשובות: כדי למנוע ריצוד סביב הסף; ספים שווים מחזירים את הריצוד
6.
רוצים שמנורת הלילה תידלק מתחת ל-5 lx. חשבו את NON החדש.
תשובות: NON ≈ 313
7.
בסקיצה night_lamp_hysteresis המנורה דולקת, והקריאה עכשיו היא N = 461. האם המנורה נשארת דולקת? מדוע?
תשובות: כן: 461 נמצא בין שני הספים, 409 ו-514, ולכן המוצא אינו משתנה
8.
מדוע במנורת הלילה מציבים את הנגד התלוי-אור כך שאור המנורה עצמה לא ייפול עליו?
תשובות: כי אור המנורה מעלה את הקריאה מעל סף הכיבוי, והמנורה נכבית ונדלקת שוב ושוב בלי הפסקה
9.
מי מהיר יותר: הפוטודיודה או הפוטוטרנזיסטור? ומי נותן זרם גדול יותר?
תשובות: הפוטודיודה מהירה יותר; הפוטוטרנזיסטור נותן זרם גדול יותר, כי הוא מגביר
10.
רוצים לספור את הסיבובים של מנוע בעזרת דיסקה מחורצת על צירו. איזה חיישן מן הטבלה נבחר? ומה סוג המוצא שלו?
תשובות: חיישן חריץ; המוצא שלו ספרתי: פולס לכל חריץ
11.
רובוט עוקב אחרי קו שחור. מה קולט החיישן האופטי המחזיר מעל הקו השחור, בהשוואה למשטח הלבן? מדוע?
תשובות: הרבה פחות אור מוחזר, כי המשטח השחור בולע את הקרינה
12.
חיישן מחזיר עובד היטב בכיתה, אבל טועה ליד החלון ביום שמשי. מה הסיבה? ומה נעשה?
תשובות: באור השמש יש קרינה אינפרא-אדומה שהחיישן קולט; נסתיר ממנו את אור השמש ונכוון את הסף במקום העבודה
תשובות סופיות לשאלות הפרק
6.1 א. Vout = 1.37 V. ב. יורד עם האור
6.2 NOFF ≈ 619
6.3 (א) חיישן אופטי מחזיר (ב) חיישן חריץ, או משדר ומקלט זה מול זה (ג) נגד תלוי-אור
נוסחאון הספר: כל נוסחאות הפרק הזה מרוכזות, עם סרטוטיהן וטבלאות הסמלים שלהן, בפרק 15 — נוסחאון הספר.