בפוסט זה נחקור את המבנה ואת אופן הפעולה של צעצוע סיני ממונע, אלחוטי וזול במיוחד – עכבר בשלט רחוק, שמשווק באתרים הסיניים בדרך כלל כאמצעי להטרלה של חתולים. וכבונוס, נעשה לו קצת האקינג.
ראשית, העכבר הזה הוא כמובן לא יותר מאשר פלסטיקה אחרת לצעצוע שקיים זמן רב יותר – מכונית עם שלט שיודעת לנסוע רק קדימה או אחורה-עם-סיבוב. מי שהמציא את הפטנט הזה הוא בוודאי דמות מיתולוגית ומושא להערצה בתעשייה הסינית חובבת החסכנות וקיצורי הדרך: הוא יצר משהו שעדיין נחשב מכונית על שלט, לפחות על הנייר עד שזה מגיע ללקוח המאוכזב, אבל עם מנוע אחד בלבד במקום שניים!
הטריק מבוסס על גלגל קדמי יחיד, לא-ממונע, שהציר שלו לא קבוע לגמרי במקום אלא חופשי לנוע קצת במסילה מעוקלת, לא-סימטרית. כשהמנוע מסובב את הגלגלים האחוריים קדימה, החיכוך עם הרצפה דוחק את הגלגל הקדמי הזה לצד האחורי של המסילה שלו, ושם הוא מסתובב ישר (במקביל לאחוריים). לעומת זאת, כשהאחוריים "מושכים" אחורה, ציר הגלגל עובר לצד הקדמי של המסילה ומקבל שם זווית, שגורמת למתקן כולו לפנות קצת הצידה. אם מתמידים בנסיעה כזו, אפשר לגרום לחרטום הרכב – או העכבר – להצביע בסופו של דבר לכל זווית רצויה, ואז לנסוע קדימה לשם.
שאר החומרה של העכבר הממונע בסיסית ופשוטה: לקחו מנוע DC קטן וזול, תקעו בו ציר ארוך שבולט משני הצדדים כדי שאפשר יהיה להלביש עליו שני גלגלים, וכל העסק ניזון משתי סוללות AAA. יש מעגל אחד קטן שמקבל את השידור מהשלט הרחוק ומוציא את החשמל למנוע. השלט עצמו מופעל בשתי סוללות AA ויש בו שני לחצנים – לנסיעה קדימה ואחורה-סיבוב, כמובן. אין ספק שהמעגלים והרכיבים במשדר ובמקלט הם הזולים והפשוטים ביותר שיש, אבל איך הם עובדים? כיוון שהפלסטיק של העכבר נשבר במהרה (אלא מה) והוא לא יכול לנסוע עוד, בואו נפתח אותו ונראה. ראשית, הנה השלט הרחוק והחלק העליון של המעגל שבו:
והנה החלק התחתון והמעניין של המעגל הזה. השטחים עם הפסים למטה הם מגעים לפלוס ולמינוס של הסוללות. שימו לב שאין כאן שום רכיב "חכם" ושום מתנד ראוי לשמו.
את הניתוח המדויק של מה שקורה במעגל הזה נשאיר למישהו עם ידע טוב יותר באנלוג. גם לא היה קל לתעד את הפלט שלו, אבל בסוף הצלחתי, ואלה הסיגנלים שראיתי בלחיצה על כל אחד מהלחצנים. שימו לב שיחידות הזמן והמתח, שסימנתי בתכלת בכל צד, שונות.
בשני המקרים מתבצע on/off של סיגנל. מימין, התדר של הסיגנל הזה הוא כ-1KHz, ומשמאל כ-0.25KHz. הסיגנל בשני המקרים "רוכב" על גל נושא בתדר מסורתי בתחום הצעצועים בשלט-רחוק, 27MHz. הנה "קלוז-אפ" על אחד החלקים הפעילים (on) בשידור:
בצד השני של השידור, בתוך העכבר, נמצא המעגל הבא. בצד העליון שלו (שאינו מוצג בתמונה) יש רק חיבורי חוטים, וכן אנטנה וסליל קטן כמו במשדר.
ההלחמות בצד ימין, מלמעלה למטה, הן פלוס מהסוללות (אחרי התיווך של מפסק ההפעלה הראשי), שני חוטים למנוע שמתחברים ישירות לג'וק, ומינוס. כלומר, הג'וק הוא לא מיקרו-בקר אלא דרייבר מנוע, אבל הכיתוב עליו – KX2R, לא רואים בתמונה – לא העלה תוצאות רלוונטיות בגוגל. חיפשתי בעזרת סקופ את הקלט שמגיע לג'וק הזה מהשידורים, אחרי שהם עוברים את הרכיבים האנלוגיים והפשוטים, ומצאתי אותו בפין 2 – השני מלמעלה בצד שמאל, בתמונה:
אלה אותם סיגנלים שראינו קודם, אחרי סינון של הגל הנושא. המעגלים האנלוגיים לא מבצעים, אם כך, שום דבר מתוחכם – הדרייבר עצמו תפור במיוחד ליישום הזה ובנוי כך שיסובב את המנוע בכיוון אחד כשהקלט שלו הוא 1KHz ובכיוון אחר כשהוא 0.25KHz, זה הכול. הפלט מהדרייבר למנוע הוא קבוע – פלוס לחוט אחד ומינוס לשני, בהתאם לכיוון הנסיעה, ללא PWM.
קצת האקינג
עדיין, יש שאלה מעניינת שאפשר לשאול: מה קורה בתדרי קלט אחרים? עד כמה הג'וק הזה סלחני לשינויים בתדר? כדי לבדוק את העניין ניתקתי, קודם כל, את המעגל מהמנוע וחיברתי אותו (בתוספת נגד, כמובן) לשני לדים מקבילים, בקוטביות הפוכה זה לזה ובצבעים שונים. כך אוכל לראות בקלות את תגובת הג'וק, בלי לדאוג שמשהו יזוז או ייפול מהשולחן. הלחמתי חוט לפין 2 של הג'וק ואת הקצה השני שלו חיברתי למחולל פונקציות.
אחרי כמה ניסויים, ראיתי שטווח מתחים 0-1.2V הוא המינימום הדרוש כדי להעיר את הדרייבר ולגרום לו להגיב. זהו טווח שונה ממה שראינו קודם בסקופ – ייתכן שמחולל הפונקציות פשוט צריך להתגבר על ההשפעות של שאר הרכיבים שמחוברים לאותו פין ומסננים, בדרך כלל, את הסיגנל מהאנטנה.
הפלט "קדימה" התקבל בטווח התדרים 0.72-1.55KHz, והפלט "אחורה" בטווח 0.2-0.46KHz . לאחר מכן, כשהתרחקתי מתוך סקרנות עוד יותר בתדרים, פלט "קדימה" הופיע שוב ב-4.4KHz, ואילו בסביבות 0.065KHz התקבל פלט "אחורה" מקוטע משונה, שתיעדתי בתמונה הבאה:
התדר שהסקופ זיהה כאן, של 50Hz, מעלה כמובן חשד כבד להשפעה חיצונית של רשת החשמל הביתית – אולי משהו ממנה נקלט באנטנה ומשתלב עם התדר שהזנתי לפין הקלט. בכל מקרה זה מעניין, כי עובדה שבתדרים אחרים מסביב ל-0.065KHz לא התקבלה שום תגובה בכלל.
בחיפוש ידני לא הצלחתי למצוא תדרים שימושיים או מעניינים נוספים, אם כי זה לא מוכיח שאין – פשוט שיש גבול לרזולוציה ולטווח שאני יכול לבדוק לפני שאני מאבד את הסבלנות. אם זה היה חיוני לבדוק טווח רחב ברזולוציה גבוהה, אפשר היה ליצור מערכת אוטומטית שתבדוק את הנושא, למשל באמצעות מיקרו-בקר PIC חדיש עם מודול SMT. אגב, אם אתם רוצים לשחק עם מעגל כזה ואין לכם עכבר בשלט רחוק שהתקלקל, תוכלו לקנות סט משדר ומקלט בדולר או שניים בעליאקספרס (חפשו מונחים כמו 2CH RC Remote Control 27MHz Circuit), ולקוות שהמכס לא יעצור אותם בתור "ציוד שידור" או משהו.
לסיום, כיוון שהתדרים שמפעילים את הדרייבר הם עמוק בתחום האודיטורי שאנחנו מסוגלים לשמוע וגם להפיק כצלילים, חשבתי שיהיה נחמד לחבר למעגל מיקרופון קטן עם מגבר, ולשיר או לשרוק תווים שיפעילו את המנוע (או את הלדים שחיברתי במקומו). לשם כך השתמשתי במודול MAX4466 מ-Adafruit, שהיה לי בהישג יד. הוא מתאים מבחינת מתח ההפעלה הדרוש, והרעיון שלי אכן עבד – אך רק בקול רם וממרחק של כ-10 סנטימטרים לכל היותר, אחרת הפלט של מודול המיקרופון (שכבר כולל מגבר מובנה!) היה חלש מדי בשביל מעגל הדרייבר. זאת אומרת, כדי ליצור צעצוע בשליטה קולית מרחוק יהיה צריך מיקרופון יותר רגיש, מגבר יותר חזק, ובהתאם לזאת גם מסנן רעשים רציני.