עם כל הכבוד ליכולות של מולטימטרים מודרניים, רוב הפעמים כשאנחנו מושיטים יד לקחת מולטימטר, זה רק בשביל לבדוק רציפות (Continuity). אז למה לא לנצל חלקים ורכיבים מהמגירה ולבנות בודק רציפות ייעודי קטן ונוח?
כדי שנהיה סגורים על הטרמינולוגיה: בודק רציפות הוא המכשיר שאומר לנו אם בין שתי נקודות קיימת מוליכות חשמלית טובה או לא. אנחנו משתמשים בו בדרך כלל כדי לגלות מה מחובר למה במעגל חשמלי, או כדי לאתר ולזהות קצרים ונתקים. הנחת יסוד בשימוש בו היא שהמערכת הנבדקת אינה פעילה ואינה מחוברת למקורות חשמל, כי זה יכול לשבש לגמרי את המדידה.
בודק הרציפות הפשוט ביותר הוא בסך הכול מעגל פתוח עם סוללה, נגד ונורית לד (או באזר אקטיבי) בטור. כשיש הולכה בין הנקודות הנבדקות זה סוגר את המעגל והלד נדלק. אין בזבוז של הסוללה, זה יכול להיות קומפקטי מאוד, ולא צריך שום מתג הפעלה. כמעט מושלם – פרט לשתי מגבלות. ראשית, אם זה חשוב לנו, יהיה לנו קשה מאוד לשלוט ברגישות של המכשיר ולקבוע סף החלטה ברור. דבר שני, לעתים קרובות המגע החשמלי של הבודק עם הנקודות הנבדקות לא מושלם ולא רציף, מכל מיני סיבות. הוא עשוי, למשל, "לראות" מוליכות גבוהה בבירור למשך מספר אלפיות שנייה, אך אנחנו לא נספיק לראות את הלד דולק זמן קצר כל כך. את הבעיות האלה ניתן לפתור בעזרת מעגל משוכלל יותר, שכולל למשל מיקרו-בקר.
ישבתי וחשבתי, מה התכונות שאני רוצה בבודק רציפות תוצרת בית, שיבדלו אותו ממולטימטר רגיל?
- קטן וקל מאוד
- משוב צליל וגם אור (אם יש במקרה רעש בסביבה)
- הפעלה וכיבוי אוטומטיים, בלי ללחוץ או לסובב שום דבר
יש כמה דרכים לגשת לנקודה האחרונה. מוצרים מודרניים אופנתיים יבחרו בוודאי בפתרון של חיישן קיבוליות (טאץ'), ובדור קודם היו משתמשים אולי בחיישן תנודות מכאני, שיזהה מתי מזיזים את הבודק ממקומו לקראת שימוש. עם זאת, הפעולה הראשונה שאנחנו מבצעים עם בודק רציפות – או אמורים לבצע, אם אנחנו מקצועיים – היא להצמיד את הפרובים זה לזה כדי לוודא שהבודק תקין. אז אולי אפשר להשתמש בפעולה הזו עצמה כדי להעיר אותו?
התוכנית שלי, אם כך, הייתה כזו: לחבר את פין RA2 של מיקרו-בקר PIC קטן ליציאה של מחלק מתח, שמחובר דרך נגד 10K קבוע לאדמה מצד אחד, ודרך זוג פרובים למתח ההפעלה מצד שני. פין RA2 הוא פין הפסיקה החיצונית, שיכולה להעיר את המיקרו-בקר משינה עמוקה וחסכונית מאוד. ברגע שהפרובים ייגעו זה בזה, או במשהו עם התנגדות חשמלית נמוכה, המתח ב-RA2 יהיה גבוה מספיק כדי להעיר את המיקרו-בקר. אז הקוד יעביר מיד את פין RA2 לפונקציונליות של קריאה אנלוגית (ADC), שיכולה לזהות את מידת ההתנגדות ברזולוציה יותר גבוהה, ויחליט אם לתת משוב על רציפות או לא. המשוב יימשך מספיק זמן כדי להבטיח שהמשתמש יבחין בו, ולאחר מכן הרציפות תיבדק שוב. אם היא עדיין שם, יינתן עוד משוב והבדיקה תחזור על עצמה – אחרת, המערכת כולה תחזור למצב שינה.
מצאתי קופסה קטנה ושטוחה, וקדחתי בה חורים לשני תקעי "בננה", כדי שאוכל לחבר אליהם פרובים ממולטימטר ישן מבחוץ, ואת האלקטרוניקה מבפנים. האומים שמחזיקים את התקעים במקום היו קצת גדולים מדי (שכחתי למדוד מראש…) ולא נתנו למכסה השקוף של הקופסה להיסגר, אז גילפתי בו בזהירות שני שקעים בדיוק מעל האומים. בחרתי להשתמש בסוללת CR2032 – המתח שלה מספיק בהחלט ל-PIC שפועל במהירות שעון בינונית, ובשביל המשוב לא צריך הרבה זרם.
ה-PIC שבחרתי הוא PIC12F1572 (מארז 8-PDIP), מודרני וצנוע שגם היה לי בהישג יד, מה שבכלל לא מובן מאליו בימים אלה של מחסור עולמי בשבבים. הקוד פשוט למדי, כפי שתיארתי למעלה. בתור משוב, הוצאתי מאחד הפינים גל ריבועי (PWM) בתדר 4KHz האופטימלי מבחינת עוצמת קול לבאזר שהיה לי, ובפין אחר הבהבתי בלד לבן פעמיים, במחזוריות של 160ms. כשאנחנו לא מתרכזים במקור האור, העין שלנו מזהה שינויים בתאורה טוב יותר מאשר תאורה יציבה, וכך יש סיכוי טוב עוד יותר שנבחין במשוב.
ה-ADC של המיקרו-בקר הזה הוא ברזולוציה של 10 ביט, ואמנם הדיוק שלו לא מושלם, אך אם לא נהיה קטנוניים בקטע הזה אפשר להיעזר בחוק אוהם כדי לקבוע בקלות את סף הרגישות של הבודק. נניח שאני רוצה לתת משוב על התנגדות של 100 אוהם ומטה. במחלק המתח שתואר קודם, התנגדות של 100 אוהם בנגד הראשון, במתח הפעלה 3V, תיתן מתח מוצא של 2.97V. טווח תוצאות ה-ADC הוא 0-1023, כמו בארדואינו, ולכן מתח המוצא הנ"ל ייתרגם לכ-1013. אם נקבל ערך כזה או גבוה יותר, זה אומר שהפרובים רואים התנגדות 100 אוהם או פחות. לפי ה-Datasheet של ה-PIC12F1572, מתח של 2.0V כבר נחשב HIGH (למשל להתעוררות משינה), מה שאומר שגם התנגדות גבוהה הרבה יותר – עד 5K אוהם – תוכל להעיר את הבודק ממצב השינה.
אחרי שהשלמתי את הקוד ואת בדיקות הפונקציונליות של ההתעוררות, המדידה והמשוב על מטריצה, לפני הלחמת הרכיבים, מדדתי גם את צריכת הזרם של המעגל. פה התגלה דבר מוזר: ה-PIC ירד רק עד 26uA, זרם הרבה יותר מדי גבוה בשביל מצב השינה העמוק של הרכיב הזה. עברתי על כל החשודים הרגילים (יש הרבה כאלה) והפחות-רגילים (יש גם הרבה כאלה), ושום דבר לא עזר. אחרי שעה-שעתיים של תסכול, חשבתי סוף כל סוף להחליף את המיקרו-בקר עצמו באחד אחר מאותו דגם. הזרם במצב שינה ירד בלי וויכוחים ישר ל-0.2uA. ייתכן שהג'וק הראשון נפגע מאיזשהו קצר או פריקה של חשמל סטטי בלי ששמתי לב.
זהו, בודק הרציפות מוכן. הוא פועל בדיוק לפי התוכנית, מגיב במהירות רבה ובבירור, והסף שלו הוא אכן בסביבות 100 אוהם – וידאתי בעזרת שני נגדים, של 91 ושל 120. לא שכחתי גם לבדוק את צריכת הזרם במעגל הסופי בתוך הקופסה, למקרה שה-PIC החדש יחטוף איזה שיגעון כמו קודמו בתפקיד. המספר נשאר 0.2 מיקרו-אמפר, מה שאומר שסוללה טריה אמורה להחזיק שנים. נחכה ונראה!