לופה מקצועית ותיקה שהפכה לגרוטאה זוכה לחיים חדשים, עם בסיס יציב, תאורת לדים וגם דימר משוכלל שמבוסס על עקרונות הפסיכופיזיקה. כן, מה שאתם שומעים.
הלופה (זכוכית מגדלת ענקית עם זרוע מתכווננת) הגיעה לידי במצב מעורר רחמים. העדשה היתה אמנם שלמה וללא שריטות ניכרות, שזה הכי חשוב, אך לזרוע היו חסרים כמה חלקים קטנים וקריטיים, והתאורה – מנורת ניאון עגולה – עבדה אבל ניזונה מחוט חשמל עם בידוד שחוק במידה מפחידה. אפילו אם היה מקום באזור העבודה שלי ללופה תקינה, היה לי ברור שעם היחידה הספציפית הזו לא כדאי להתעסק.
מה זורקים?
יחד עם זאת, זכוכית המגדלת הענקית היא אביזר סופר-שימושי לכל מי שמתעסק (כמוני בימים אלה) עם רכיבי SMD, ולופה חדשה יכולה לעלות מאות רבות של שקלים. אז התחלתי לחשוב, אולי בכל זאת אפשר להציל משהו? הזרוע היתה אבודה וכאמור לא מתאימה לי בכל מקרה, אז התחלתי בפירוק שלה. מהר מאד הבנתי שגם אין טעם לנסות לשמר את הנורה ואת מערכת החשמל המקוריות, כך שבעצם נשארתי עם העדשה, התושבת שלה (כולל לחצן ON/OFF יתום), וכמה מוטות מתכת מרובעים מהזרוע.
קדחתי חור נוסף באחד המוטות והרכבתי עליו את תושבת העדשה. את המוט היחיד הזה, חזק דיו כדי לשאת את המשקל, קיצרתי בעזרת כאילו-דרמל (לא לשכוח משקפי מגן!) ותכננתי לחזק לבסיס מעץ שיהווה גם משטח עבודה.
תאורה
אחרי מספר מדידות גזרתי טבעת מקרטון לבן עבה, בגודל שמתאים ל"הלבשה" סביב העדשה. הדבקתי על הטבעת רצועות קצרות מפס לדים לבנים 12V, וחיברתי את כל הרצועות בהלחמות כך שכל העסק ניזון מצמד חוטים.
בסך הכל יש שם 48 לדים שצורכים כ-220 מיליאמפר. מצאתי שנאי ישן של 12V ו-500mA שמתחבר לשקע, והעברתי את חוט ה"+" שלו דרך המפסק שבתושבת, כך שאוכל לכבות ולהדליק את האור כמו בלופה מקורית.
ללופה לא היה דימר, וחשבתי שאם כבר משפצים, זה יכול להיות פיצ'ר נחמד…
דימר
דימר בסיסי לפס לדים הוא דבר שקל מאד לממש, ואם אתם באים מרקע של ארדואינו, סביר להניח שזה אפילו אחד הפרויקטים הראשונים שעשיתם – קריאה של מתח מפוטנציומטר והמרה שלו לאות PWM שנשלח ללד (או לטרנזיסטור ששולט על אספקת החשמל, אם מדובר בפס לדים).
אלא שהדימר הבסיסי הוא לינארי (לדוגמה, עוצמת ההארה הפיזיקלית ב-25% היא בדיוק חצי מעוצמת ההארה ב-50%), ואילו התפיסה שלנו אינה לינארית. הרגישות של העין פוחתת ככל שעוצמת האור גבוהה יותר, כך שאנחנו מסוגלים למשל להבחין בשינוי של מיליאמפר בודד כשההארה חלשה, אבל כשהיא חזקה, אנחנו עלולים לפספס בקלות גם שינוי של עשרות מיליאמפר. לכן, התחושה היא כאילו הפוטנציומטר רגיש מדי בטווח הנמוך, ולא רגיש מספיק בטווח הגבוה.
באמצע המאה התשע-עשרה, שני חוקרים – ארנסט היינריך וובר וגוסטב תיאודור פכנר – היו הראשונים שמדדו בצורה מדויקת וניסחו מתמטית את הקשר הזה בין עוצמות פיזיקליות של גירויים (אור, צליל ועוד) לבין העוצמות הנתפסות שלהם. המחקרים והממצאים שלהם (חוק וובר-פכנר – Weber-Fechner Law) היוו את הבסיס לתחום הפסיכופיזיקה, שהיא ענף חשוב בפסיכולוגיה, ואלמנט חיוני בהנדסת אנוש.
כדי ליצור דימר "פסיכופיזי", שייתן לנו תחושה לינארית, אפשר כמובן להשתמש בפוטנציומטר לוגריתמי, שמממש בחומרה את האפקט הרצוי. אני בחרתי להשתמש בפוטנציומטר רגיל ולבצע את ההתאמות בתוכנה, על המיקרו-בקר הקטן PIC12F675.
קצת חשבון
בדימר "פסיכופיזי", הקריאה מהפוטנציומטר לא מייצגת ישירות את העוצמה הפיזיקלית (ה-Duty cycle של אות ה-PWM) אלא את העוצמה הנתפסת הרצויה. כלומר, צריך למצוא דרך לתרגם את הקריאה מסקאלה תפיסתית לסקאלה פיזיקלית. בתחתית המסמך הזה מצאתי נוסחה של קירוב נוח לחוק וובר-פכנר, אלא שהיא מתרגמת בכיוון ההפוך ממה שאני צריך – מפיזיקלי לתפיסתי. אחרי משחק חשבוני קצר עם נייר ועיפרון (לצערי אני עדיין לא מסוגל לעשות דברים כאלה בראש) הגעתי לנוסחה בכיוון הרצוי, וגם התאמתי אותה לסקאלה נוחה של 0-127:
y = (x / 127)^2 * 127
בעזרת גיליון אקסל חישבתי את ערכי y המעוגלים לכל ערכי x השלמים בטווח 0-127, והעברתי את התוצאות למערך קבוע (const) של בייטים בקוד התוכנה. ל-PIC12F675 יש אמנם רק 64 בייטים של זיכרון RAM, אך הקומפיילר חכם מספיק כדי לשים ערכים שהוגדרו כ-const בזיכרון ה-Flash הגדול-יותר, יחד עם הקוד עצמו.
בעיקרון יכולתי גם לבצע את החישוב תוך כדי ריצה, בכל פעם מחדש, אך אין ספק ש"טבלת חיפוש" (Lookup Table) מוכנה מראש היא פתרון הרבה יותר נוח ומהיר, במיוחד במיקרו-בקר שלחוץ במשאבי שעון וכוח עיבוד.
בזמן הריצה, המיקרו-בקר קורא את המתח מהפוטנציומטר, מקצץ את שלושת הביטים הנמוכים שלו (מכיוון שה-ADC נותן ערך בן 10 ביטים, זה משאיר 7 ביטים – ערכים 0 עד 127), מוצא בטבלה על סמך ערך זה את הערך הפיזיקלי שמתאים לדרישה התפיסתית, ומפיק אות PWM בהתאם.
כשעובדים עם זה בשטח, ההבדל לעומת דימר בסיסי הוא לא מטלטל חושים או משהו, אבל בהחלט מרגישים שהתגובה של הפוטנציומטר אינטואיטיבית ו"נכונה" יותר.
מעגל, מארז ולופה
הגיע הזמן לגמור את הלופה המשופצרת. האלקטרוניקה (מייצב מתח עבור המיקרו-בקר, המיקרו-בקר עצמו וטרנזיסטור N-channel חזק) הועברה למעגל במארז פלסטי קטן שהוצמד לבסיס הלופה, והלופה עצמה הוצמדה לבסיס (עשוי מקרשים יד שניה וזוויות מתכת) בעזרת לחץ מתכוונן של פסי מתכת וברגים עם אומי פרפר. כל חלקי המתכת, הברגים והאומים עלו כ-20 ש"ח בחנות כלי עבודה מקומית.
היי,
קראתי את המאמר כמה פעמים ולא הצלחתי להבין מה זה דימר ולמה הוא משמש.
אשמח שתענה לי
נכון, לא פירטתי לגבי החלק הזה. דימר (Dimmer) = עמעם, מנגנון לשליטה בעוצמת התאורה במקום רק "כבויה" או "דולקת".
תודה על ההסבר!
הפתיע אותי הקטע עם הנוסחא. קצת פתיחת סוגריים מובילה לנוסחה שקולה x^2 /127, שאת החלוקה אפשר להחליף בקיצוץ בתים. פעולת מעבד כזאת, שני אופקודים שאחד מהם הוא פעולה על ביטים, יקרה מספיק כדי להצדיק טבלאת ערכים? אולי פספסתי משהו
על מחשב או על מיקרו-בקר חזק, אתה צודק לגמרי (אולי חוץ מהזזת הביטים – היא טובה לחלוקה ב-128, לא ב-127 😉 ). ב-PIC12F675 לעומת זאת אין ב-Instruction set אפילו פקודת MUL, אז בלי להסתכל על הקוד המקומפל אתה לא באמת יודע כמה מחזורי שעון תיקח ההכפלה.
בכל אופן, הדוגמה הזו היא בהחלט לא ההמחשה האולטימטיבית לתועלת שבטבלאות lookup 🙂
נפלא.
אני מקווה שבדקת שנוח לך לעבוד איתה בלי זרוע מתכווננת, כי רוב הזמן משתמשים בה כשהיא צמודה לפנים. לי לפחות נוח לעבוד איתה כך. במרחק קבוע העדשה מעוותת את המיקום והגודל.
כן, לא ציינתי את זה בפוסט אבל בדקתי שהגובה מתאים לי (גם העדשה מעל המשטח וגם כל המתקן על שולחן העבודה). לכן גם השתמשתי באומי פרפר, כדי שאוכל להעלות או להוריד את ה"עמוד" של הלופה במקרה הצורך.