פרויקט: שעון קוּקוּ

שעון מחוגים שמתקתק בקצב לא אחיד הוא לא רעיון חדש. מסתבר שיש לזה אפילו שם – "Vetinari's Clock", שעון עוכר-שלווה מסוים שמופיע ביצירותיו של טרי פראצ'ט ז"ל. מייקרים שונים כבר בנו שעונים כאלה בעולם האמתי, כך שאין פה שום חידוש; אבל מכיוון שהיה לי שעון קיר זול ומיותר, והרעיון הגניב את הילדים, החלטתי לבנות אחד בעצמי.

שלב 1: להתחבר למנגנון

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

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

קופסת מנגנון השעון אחרי הסרת מכסה הפלסטיק האחורי.
קופסת מנגנון השעון אחרי הסרת מכסה הפלסטיק האחורי.

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

המנגנון הפוך (מלבן מסרט הדבקה לבן, למטה, שומר על גלגלי השיניים שלא ייפלו)
המנגנון הפוך (מלבן מסרט הדבקה לבן, למטה, שומר על גלגלי השיניים שלא ייפלו)

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

מנגנון השעון עם חוטים חיצוניים מולחמים למגעים של חוטי האלקטרומגנט
מנגנון השעון עם חוטים חיצוניים מולחמים למגעים של חוטי האלקטרומגנט

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

מדידות ותצפיות

החוטים שהלחמנו – אם עשינו זאת נכון – אינם מפריעים לפעילות הרגילה של השעון, ואפשר להשתמש בהם כדי ללמוד איך הוא עובד. ראשית, בדקתי בעזרת מולטימטר וגיליתי שההתנגדות של הסליל באלקטרומגנט היא 120 אוהם. לאחר מכן הכנסתי סוללה לשעון וחיברתי את החוטים לסקופ. הסתבר שהמעגל החשמלי שולח לאלקטרומגנט פולס פעם בשנייה (כמובן), באורך 25 אלפיות השנייה ובקוטביות הפוכה כל פעם (פלוס 1.5V, מינוס 1.5V וחוזר חלילה). על סמך המתח וההתנגדות הנ"ל, סביר להניח שהזרם באלקטרומגנט הוא 12.5 מיליאמפר.

בשביל הקטע, בואו נעשה חישוב קצר. נניח שהצריכה של המעגל החשמלי עצמו היא זניחה ונתייחס רק לאלקטרומגנט. לסוללת אלקליין טובה יש קיבולת של כ-2400 מיליאמפר-שעה. נחלק 2400 ב-12.5 ונקבל, כביכול, 129 שעות של הפעלה רצופה של האלקטרומגנט. אבל בפועל, ראינו שהאלקטרומגנט פועל רק 1/40 מהזמן, אז נכפיל את התוצאה פי 40 ונקבל 5,160 שעות שזה 215 יממות – כשבעה חודשים. מה דעתכם, האם אנחנו באמת מחליפים סוללה בשעון קיר זול כל שבעה חודשים בערך?

הפעלת השעון על ידי מיקרו-בקר

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

#define O1 6
#define O2 7
#define TICK_MS 25
int d = 1000;

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

void tick(void) {

  static byte state = 0;

  if (0 == state) {
    digitalWrite(O1, HIGH);
  } else {
      digitalWrite(O2, HIGH);  
    }

  delay(d - TICK_MS);  
  digitalWrite(O1, LOW);
  digitalWrite(O2, LOW);  
  state = 1 - state; 
  
}

void loop() {

   if (Serial.available()) 
    d = Serial.parseInt();
   tick();

}

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

שעון לדוגמה

כדי ליצור את השעון שבסרטון, חיברתי את מנגנון השעון שלי למעגל קטן שתכננתי פעם, שכולל מיקרו-בקר ATtiny13A וממיר מתח מסוללת 1.5V ל-5V. הטייני תוכנת כך שיבחר כל פעם זמן השהייה אחר (מתוך מספר ערכים מוגדרים מראש) ויניע את המחוגים בהתאם. עם קצת מאמץ אפשר לכתוב תוכנה שגם תקזז לאורך זמן את ההפרשים מהזמן האמתי ותשמור על דיוק יחסי של השעה – בינתיים לא טרחתי לעשות את זה. אפשר גם ליצור שעון ש"מזייף" רק לעתים רחוקות יחסית, ואז – כמו Vetinari's Clock המקורי מהספרים – הוא באמת יוכל לשגע את חבריכם למשרד.

להרשמה
הודע לי על
8 Comments
מהכי חדשה
מהכי ישנה לפי הצבעות
Inline Feedbacks
הראה את כל התגובות

ממש אהבתי את הרעיון לגרום למחוג בצורה שונה כל פעם אבל עדיין לשמור על שעה יחסית מדוייקת

שעונים בדרך כלל עומדים באופן מאונך ולכן לדעתי רוב אנרגיה המסופקת מהסוללה נדרשת עמ להעלות את המחוג מלמטה למעלה, כאשר המחוג יורד כלפי מטה כמעט ולא נדרשת אנרגיה על מנת להפעילו – תכנות חכם יכול להכפיל את חיי הסוללה – מה דעתך?

ולנושא אחר, אני מאוד נהנה לקרוא את הבלוג וללמוד ממנו.

האנרגיה הדרושה להפעלת המחוגים מתחלקת לשלוש: האנרגיה הדרושה להעלות כל מחוג מהחלק התחתון של השעון לחלק העליון, האנרגיה של מהירות מרכז המסה של כל מחוג והאנרגיה הסיבובית. צריך לזכור שכיוון שבפועל המחוג מאיץ בחלקיק שנייה ואז נבלם זאת בעצם אנרגיה שהולכת כל פעם לאיבוד. בכל מקרה ההתבוננות בשעון הזול של איקאה שיש לי בבית אני נראה שאורך כל מחוג הוא כ 10 סמ ואני מעריך שמשקלו כמה גרמים בודדים (נניח 5), יוצא שהאנרגיה הקינטית לאורך כל החיים שלו מסתכמת בכמה גאולים בודדים אבל האנרגיה הדרושה להעלות את מחוג השניות היא כ73 גאול ליום ואת שני המחוגים האחרים כ1 גאול ליום.… לקרוא עוד »

אילו רק היה אפשר לעשות עם זה משהו מועיל – כמו למשל – להחליש את תקתוק השעון המטריד, בהחלט היה משמח מישהו..