מודול HC-SR501 מבוסס על חיישן PIR (תת-אדום פסיבי), ובדיוק כמו "גלאי נפח" של מערכת אזעקה ביתית, הוא מאפשר לנו לזהות תנועה במרחב של אובייקטים חמים או קרים ביחס לרקע – או במילים פשוטות, כשמישהו זז בטווח הקליטה שלו. המודול נפוץ וזול, והפעלתו לא דורשת כמעט שום ידע. בפוסט זה נבין איך הוא עובד – ואיך עובדים איתו.
עקרון הפעולה
כיפת הפלסטיק הלבנה שעל המודול מתפקדת כעדשה, כמגן פיזי וקצת כמסנן של תדרי אור לא רלוונטיים עבור רכיב החיישן שמתחתיה. בתוך רכיב החיישן הזה מסתתרים למעשה מספר חיישני אינפרה-אדום נפרדים: בדגמים הזולים והנפוצים יש שניים (בקצה הימני והשמאלי של ה"חלון" ברכיב, אותו אפשר לראות בתמונה הבאה), ואילו בדגמים יקרים יותר יש ארבעה – אחד בכל פינה.
חיישנים אלה נקראים "פסיביים" מכיוון שהם קולטים בלבד, ולא פולטים דבר (בניגוד, למשל, לחיישני מרחק אולטרא-סוניים שמשדרים אות ומחפשים את ההד החוזר שלו).
המעגל המשולב ("ג'וק") שמולחם בצדו השני של המודול, מהדגם הייעודי BISS0001, מנסה כל הזמן לאזן כביכול את הקריאות מהחיישנים הנפרדים – שיכולות כמובן להיות שונות מאד זו מזו, בהתאם לתנאי הסביבה. ברגע שהאיזון מופר, כתוצאה משינוי משמעותי ומהיר מספיק ב"שדה הראיה" של החיישנים, הג'וק מפיק אות חשמלי (מתח חיובי בפין VO שלו) כאינדיקציה ומתחיל מחדש.
בגלל צורת הפעולה הזו, רכיבים עם שני חיישנים בלבד הם רגישים לתנועה רק בציר שעליו ממוקמים החיישנים עצמם. לדוגמה, במערכת בה הרכיב הוצב כך שהחיישנים הם מימין ומשמאל (כפי שנעשה בדרך כלל בגלאי נפח), המודול יוכל לזהות תזוזה של אדם סנטימטרים ספורים ימינה או שמאלה – אך אם אותו אדם יקפוץ לגובה, יש סיכוי שהמודול יפספס זאת לגמרי. זה יכול להיות חיסרון או יתרון, תלוי ביישום.
אות האינדיקציה נמשך זמן קבוע (ראו מידע נוסף בהמשך), ובסיומו יש משך זמן קצר – כשתי שניות – שבמהלכו המודול לא מגיב לתנועות חדשות.
חשוב לציין שכאשר מחברים את המודול לחשמל, נדרשות כמה שניות עד שהוא מתייצב ומסוגל להגיב כראוי לתנועה. זמן האיפוס הזה יכול להתארך מאד אם במהלכו יש הרבה תנועה מול החיישן. כמו כן, ברגע החיבור לחשמל עלולה להופיע קריאת שווא.
אפשרויות כוונון במודול HC-SR501
המודול כולל שלושה רכיבים לכוונון ידני: שני פוטנציומטרים וג'אמפר אחד. הפוטנציומטר הראשון (הרחוק מהג'וק, בתמונות) קובע את משך אות האינדיקציה – כמה זמן יימשך האות (HIGH) שהג'וק מוציא כשמתגלה תזוזה מול החיישנים. הטווח הוא, בהערכה גסה, בין שלוש שניות לחמש דקות. משכי זמן ארוכים שכאלה יכולים להיות שימושיים אם, למשל, המודול פועל באופן עצמאי, ומערכת ניטור מרכזית בודקת את מצבו לעתים נדירות יחסית.
הפוטנציומטר השני אמור, בתיאוריה, לכוון את רגישות הג'וק לשינויים בקלט החיישנים ("מרחק גילוי"). בפועל, בשני דגמים שונים שבדקתי, לא הצלחתי להבחין בהשפעה משמעותית כלשהי. אולי בגלל זה המודולים היו זולים כל כך…
שני המיקומים האפשריים של הג'אמפר קובעים מה יקרה אם הג'וק יגלה תנועה נוספת בזמן שאות האינדיקציה פועל. במיקום אחד, הג'וק מתעלם מכל השינויים החדשים, משלים את האינדיקציה עבור השינוי הראשון ועובר למצב השקט הזמני. במיקום השני של הג'אמפר, כל שינוי חדש שמתגלה מתחיל את ספירת הזמן מחדש, ואות האינדיקציה יכול להישאר בתיאוריה פעיל לנצח.
חיבורים וחשמל
למודול HC-SR501 ממשק של שלושה פינים: שניים לאספקת חשמל ואחד לפלט. על פי המידע ברשת, טווח המתחים המתאים למודול הוא 4.5V עד 20V. אספקת החשמל עוברת דרך מייצב מתח מדגם HT7133, שממיר את המתח הנכנס ל-3.3V הדרוש לרכיבים – ולכן גם 3.3V הוא מתח המוצא של פין הפלט במצב HIGH.
במודולים הזולים, הכיתוב שמזהה כל אחד מהפינים הללו מסתתר מתחת לכיפת הפלסטיק (אפשר להסיר אותה במשיכה קלה ולהחזיר למקום בלי בעיה).
צריכת החשמל של המודול נמוכה ביותר. בכלים לא מקצועיים, מדדתי כ-0.1 מיליאמפר ב"מנוחה" וכ-0.2 מיליאמפר בזמן אינדיקציית תנועה, כאשר פין הפלט לא הפעיל שום צרכן. על פי המפרט הטכני של BISS0001, פין הפלט מסוגל "לתת" עד 10 מיליאמפר.
ישנה דרך פשוטה לעקוף את החיישן?
תלוי במה אתה מתכוון במילה "לעקוף"…
אני נמצא במשרד בו החיישנים נועדו לכבות את האורות כשאין תנועה ולכן הייתי רוצה לעקוף אותם כך שהם "יחשבו" שיש תמיד תנועה.
בגדול, החיישנים האלה "מצפים" לשינויים שתופסים חלק משמעותי בשדה הראייה שלהם. הדלקה וכיבוי של מצית, למשל, במרחק מטרים ספורים מחיישן כמו זה שבפוסט לא מספיקים כדי להפעיל אותו – החום נקודתי מדי.
היה מישהו שהפעיל חיישן דומה באמצעות התזה מספריי קירור לחלל האוויר. ייתכן שמפזר חום מסתובב ייתן תוצאה דומה, אבל רק ניסוי וטעייה יגלו עד כמה זה יעיל עבור החיישן הספציפי. אופציה נוספת היא להתקין משהו קרוב מאוד לחיישן עצמו, כגון מחסום קטן שנע מצד לצד, כך שזה ייראה לחיישן כמו משהו גדול.
האם ניתן לצמצם את מרחק ההפעלה של החיישן? אני רוצה שהוא יפעל רק מהתקרבות של ארבעה מטרים. אפשרי?
כפי שציינתי בסעיף "אפשרויות כוונון", תיאורטית אפשר לכוון, אבל בפועל (במודולים שאני בדקתי) לא הצלחתי להבחין בהשפעה. צריך גם לזכור שיש עוד הרבה פרמטרים שמשפיעים על הגילוי מלבד המרחק, למשל הטמפרטורה הסביבתית ביחס לגוף הנע, כך שבכל מקרה אי אפשר להגיע לסף מרחק מדויק וקבוע.
בהתאם לתנאי השטח, אולי אפשר להציב שניים (או יותר) חיישנים כך שאזור החפיפה שלהם יכסה רק את המרחק הרצוי, ואז לשלב את האותות שמתקבלים מהם. אבל זה כבר סיפור אחר 🙂
פוסט והסבר יפים ובהירים. תפקיד עדשת הפלסטיק הוא לרכז את האור מכל הכיוונים ובכך לגרום לחיישן להיות רגיש לכיוונים של חצי כדור (180 מעלות מרחבי ) . רעיון יפה לכל הדעות !!
תודה רבה על ההסבר המקצועי ועם זאת הברור גם להדיוטות.
אני מעוניין לחבר את הגלאי לפס לדים (STRIP LED) שימוקם מתחת למיטה. בכל פעם שמתקרבים למיטה ידלק פס הלדים כדי שהאצבע הקטנה ברגל לא תבדוק כמה חזקה רגל המיטה 🙂
יש לי אפס ידע בתכנות/ארדואינו וכ'ו
כמה מסובך הפרויקט?
מה החומרים הנוספים הנדרשים מלבד הגלאי, פס לדים , ספק?
לא צריך תכנות כאן. בעיקרון צריך רק עוד טרנזיסטור NPN או N-Channel שמסוגל להעביר את הזרם שפס הלדים צריך. פין הפלט של החיישן יגיד לטרנזיסטור אם להעביר זרם או לא.
זה לא יהיה מאוד מסובך, אבל צריך לבצע כמה הלחמות, והאתגר שלך יהיה להבין איך בדיוק לחבר את הטרנזיסטור 🙂
תודה רבה, מדריך מאד יפה. אתה יכול רק להסביר איזה פין הוא המתח ואיזה של הגראונד ושל האות? תודה רבה.
הסתכל בתמונה השנייה בפוסט – כשמורידים את כיפת הפלסטיק, אפשר לראות ברוב הדגמים כיתוב שמסביר מהו כל פין.
צודק בכל מה שאמרת.
אגב, הבנתי שהפלסטיק עם המשושים כן משמעותי לפעולה של המודול, לפחות בתיאוריה, בכך שהוא אמור לדאוג למספר מסויים של כיוונים מוגדרים שמהם מגיעה הקרינה, כמו מין עדשה שכזו.
יצא לך לבדוק איך זה עובד ללא הפלסטיק הזה?
העדשה הזו היא כנראה איזו וריאציה על "עדשת פרנל" (fresnel, לא מבטאים את ה-s). נדמה לי שהעניין הוא פחות כיוונים מסוימים ויותר פוקוס רגיל, אבל אולי אני טועה.
ניסיתי מזמן משהו עם "חיישן נפח" של אזעקות בלי העדשה – אני זוכר במעורפל שהגילוי השתבש מאד, אבל לא יכול להגיד לך באיזה אופן בדיוק… צריך לעשות בדיקות מסודרות.
ראיתי שבמודולים אחרים משתמשים בעדשות פרנל בכמה כיוונים, אך זה לא המקרה. עדשת פרנל היא כמו עדשה רגילה ש"מקופלת" לעצמה, בתבנית של חריצים ובליטות. במקרה הזה ה"עדשה" מורכבת מפאות ולא מעוגלת כפי שניתן לצפות מעדשה שתפקידה לפקס – ואגב, אני לא רואה כל סיבה לפקס כאן. דווקא היית מעדיף שתגיע קרינה מכיוונים שונים כדי להגדיל את זווית הזיהוי. אולי כל פאה על הפלסטיק הזה מתפקדת כמיני-עדשה משל עצמה? אולי בהמשך השבוע יצא לי לבדוק בצורה קצת יותר רצינית 🙂
נשמח לשמוע עדכונים 🙂
פוסט שימושי ביותר ומועיל.
תודה לך!
אגב, מה טווח הגילוי האפקטיבי של המודול?
תודה. טווח הגילוי תלוי בהמון גורמים – הזווית מול החיישן, הפרשי הטמפרטורות של האובייקט והסביבה, גודל התזוזה ועוד.
חיישן כזה, שמותקן בגאדג'ט תאורה קטן שבניתי, מזהה כשאני הולך מולו במרחק של כ-7 מטרים בערך, אבל אני ממש לא יכול לתת אחריות לתוצאות…
הנה בדיוק הגיע חיישן כזה שהזמנתי במטרה להשתעשע איתו קצת ולראות למה הוא מסוגל, וזכרתי שהעלית פוסט שכזה.
אולי בעתיד אני גם אעשה איתו משהו שימושי (נגיד, מכשיר שמבריח כלבים שבאים לחרבן לנו בגינה בלילה). ועצם זה שניתן לעבוד עם המודול הזה בקלות ואפילו ללא בקר היא בהחלט יתרון.
מעניין, החיישן נראה לי די אחיד, ולא כמו משהו שמורכב מכמה חלקים. אתה בטוח שהחיישן עובד על העיקרון הזה?
אגב, מסתבר שהוא עובד יפה גם ב-3.3 וולט כמתח פעולה.
קודם כל, להבהרה – בפוסט ובתגובה הקודמת שלי, גם אם אמרתי "חיישן" התכוונתי בעצם למודול השלם שמופיע בתמונות. החיישן עצמו, הגליל הכסוף עם החלון – כן, חד משמעית ככה הוא עובד (אפילו שהמשטח בחלון נראה אחיד ולא מחולק לשניים או ארבעה). חפש datasheet ותראה. לא מצאתי בינתיים מידע ברור, אבל לא אתפלא אם המשטח שרואים בחלון הוא בעצם פילטר לפני האלמנטים שמודדים את הקרינה. לגבי מתח ההפעלה, כאמור יש במודול מייצב מתח מדגם HT7133. זה מייצב LDO, כלומר שמפיל יחסית מעט מתח בין המבוא למוצא, כך שיכול להיות בהחלט שהמודול מצליח להסתדר גם עם מקור חיצוני של 3.3. עדיין, קח… לקרוא עוד »