תוכן עניינים:

שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ: 8 שלבים (עם תמונות)
שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ: 8 שלבים (עם תמונות)

וִידֵאוֹ: שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ: 8 שלבים (עם תמונות)

וִידֵאוֹ: שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ: 8 שלבים (עם תמונות)
וִידֵאוֹ: Arduino digital clock 2024, נוֹבֶמבֶּר
Anonim
שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ
שעון דיגיטלי של Arduino מסונכרן באמצעות קו החשמל של 60 הרץ

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

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

שלב 1: תרשים המעגל

תרשים המעגל
תרשים המעגל

ישנן שתי גרסאות של המעגל תלוי אם אתה רוצה להשתמש בשנאי עם ברז מרכזי או בלי אחד, בשני המקרים פעולת המעגל כמעט זהה. לבנייה זו השתמשתי במתאם קיר (ללא ברז מרכזי) שמפיק 12V AC. אשתמש בעיצוב זה (תרשים מעגל דיגיטלי של שעון 1) לתיאור המעגל. שים לב שחשוב להשתמש במתאם קיר המפיק 12V AC ולא 12V DC כך שנוכל להקיש את גל הסינוס AC לתזמון. סביר להניח שתוכל להשתמש גם בשנאי שמפלט 9V AC, להסיר R19 ולגרום לו לעבוד גם כן, אך 12V זמין מאוד. כך פועל המעגל:

120V AC ב 60Hz מומר ל- 12V AC על ידי שנאי TR1. זה מוזר לדיודה D4 ומתוקן כך שרק מתח +ve מוזנה, ומוחלק לכדי DC עם אדוות, על ידי הקבל C3. המתח ב- C3 מוזרם לווסת המתח 7805 (U6) באמצעות הנגד R19. R19 משמש להפחתת המתח ב- C3 שבמקרה שלי נמדד בסביבות 15VDC. זה יכול להיות מוסדר על ידי 7805 אבל עם רמה זו של קלט 7805 חייב לרדת בערך 10VDC וכתוצאה מכך מתחמם למדי. על ידי שימוש ב- R19 להורדת המתח לכ -10 VDC אנו מונעים מ- U6 להתחמם יותר מדי. אז זו לא טכניקת המרת חשמל יעילה, אך היא פועלת למטרותינו. הערה: השתמש כאן בנגד 1/2W לפחות או יותר. המעגל שואב כ -55 ma, כך שפיזור הספק ב- R19 הוא בערך 1/3W בהתבסס על P = I ** 2*R או P = 55ma x 55ma x 120 אוהם = 0.363W. הבא U6 פלט טהור 5V DC עם C4 ו- C5 על הפלט כדי לסנן כל רעש בקו החשמל של 5V. 5V DC זה מפעיל את כל ה- IC על הלוח.

מ- TR1 אנו לוקחים גם דגימה של אות ה- AC הלא מסונן ומזינים אותו לפוטנציומטר RV1 המשמש להתאמת הרמה המוזנת לגלאי הצלב. R18 ו- R17 יוצרים מחלק מתח כדי להפחית עוד יותר את רמת מתח AC שנכנס. זכור כי זה מגיע ב 12V AC ועלינו להפחית אותו לפחות מ -5 V כך שהוא יעבוד עם גלאי הצלב שלנו שהוא רק מופעל על ידי 5VDC. R15 ו- R16 מספקים הגבלת זרם ואילו D1 ו- D2 נועדו למנוע היתר של מגבר U5. בתצורה המוצגת פלט U5 בסיכה 1 יתחלף בין 5V ל 0V בכל פעם שגל הסינוס הנכנס משתנה לחיובי לשלילי. זה יוצר גל מרובע של 60 הרץ המוזן לבקר המיקרו, U4. התוכנית טעונה ב- U4 משתמשת אז בגל מרובע של 60 הרץ כדי להגדיל את השעון בכל דקה ושעה. כיצד הדבר יתבצע יידון בפרק על התוכנה ובהערות התוכנה.

U7 משמש ברשם המשמרות 74HC595 מכיוון שיש לנו מספר מצומצם של סיכות דיגיטאליות על המיקרו -מעבד, ולכן הוא משמש להרחבת מספר היציאות. אנו משתמשים ב -4 פינים דיגיטליים על המיקרו -מעבד אך יכולים לשלוט על 7 קטעים בתצוגה באמצעות ה- 74HC595. הדבר מושג על ידי העברת דפוסי סיביות שנקבעו מראש, המאוחסנים בבקר המיקרו, ומייצגים כל ספרה שתוצג, לתוך רשימת המשמרות.

התצוגה המשמשת כאן היא אנודה נפוצה, ולכן עלינו להפוך את רמות האות היוצאות מה- 74HC595 על מנת להפעיל קטע. כאשר יש להפעיל קטע האות היוצא מסיכת הפלט 74HC595 יהיה +5V, אך אנו זקוקים לסיכה שהוא מזין בתצוגה על 0V על מנת להפעיל את קטע התצוגה הזה. אז כדי לעשות זאת אנו צריכים ממירים משושה U2 ו- U3. למרבה הצער IC מהפך אחד יכול להתמודד רק עם 6 היפוך ולכן אנו זקוקים לשניים מהם למרות שבשני אנו משתמשים רק באחד מששת השערים. בזבוז לצערי. אתה יכול לשאול מדוע לא להשתמש כאן בתצוגה מסוג קתודה נפוצה ולבטל את U2 ו- U3? ובכן התשובה היא שאתה יכול, במקרה יש לי סוג של אנודה נפוצה באספקת החלקים שלי. אם יש לך או רוצה להשתמש במסך נפוץ מסוג קתודה פשוט סלק את U2 ו- U3 וחבר מחדש את Q1 - Q4 כך שקולטי הטרנזיסטור מחוברים לסיכות התצוגה ופולטי הטרנזיסטורים מחוברים לקרקע. Q1 - Q4 קובע מי מארבעת התצוגות של 7 הפלגים הפעיל. זה נשלט על ידי המיקרו -בקר, באמצעות הפינים המחוברים לבסיס הטרנזיסטורים Q1 - Q4.

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

שים לב שכאן הורדנו את U4 (Atmega328p) מלוח האב טיפוס של Arduino UNO טיפוסי והנחנו אותו על לוח אב טיפוס עם שאר המעגלים שלנו. לשם כך עלינו לכל הפחות לספק קריסטל X1 וקבלים C1 ו- C2 כדי לספק מקור שעון לבקר המיקרו, לקשור את סיכה 1, סיכת האיפוס, גבוה ולספק הספק 5VDC.

שלב 2: קרש הלוח שלך

לחם המעגל שלך
לחם המעגל שלך
לחם המעגל שלך
לחם המעגל שלך

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

בתמונות אתה יכול לראות כי קרש הלוח כולו דרש כמה לוחות וכן לוח Arduino Uno. אז על מנת לתכנת את המיקרו -בקר או להתנסות או לבצע שינויים בתוכנה, תחילה תזדקק ל- IC של הבקר -מיקרופון על לוח UNO כך שתוכל לחבר אליו כבל USB והמחשב שלך כדי להעלות את התוכנית או לבצע שינויי תוכנה.

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

שלב 3: בניית מעגלים בפרוטובארד

בניית מעגלים בפרוטובארד
בניית מעגלים בפרוטובארד
בניית מעגלים בפרוטובארד
בניית מעגלים בפרוטובארד

המעגל בנוי על פיסת לוח אב טיפוס ונקודה מחודדת לנקודה באמצעות חוט עטיפת חוט #30 AWG. הוא מספק תוצאה קשה ואמינה. מכיוון שלשנאי שיש לי תקע זכר בגודל 5 מ מ בקצה הכבל, הרכבתי את הכלי הנשי המתאים בחלק האחורי של הלוח על ידי חיתוך, כיפוף וקידוח של חתיכת רצועת אלומיניום שטוחה בגודל 1/2 אינץ 'כדי להתאים אישית סוגר ולאחר מכן הברג אותו ללוח עם 4-40 אגוזים וברגים קטנים. אתה יכול פשוט לנתק את המחבר ולהלחם את חוטי החשמל הנותרים ללוח ולחסוך לעצמך כ -20 דקות עבודה, אבל לא רציתי שהשנאי מחובר לצמיתות. ללוח.

שלב 4: יצירת שקע לתצוגה והענקת לו רגליים

יצירת שקע לתצוגה ומתן רגליים
יצירת שקע לתצוגה ומתן רגליים
יצירת שקע לתצוגה ומתן רגליים
יצירת שקע לתצוגה ומתן רגליים
יצירת שקע לתצוגה ומתן רגליים
יצירת שקע לתצוגה ומתן רגליים

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

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

שלב 5: בדיקת חיווט לוח המעגלים והתכוננות לכיול

בדיקת חיווט לוח המעגלים והתכוננות לכיול
בדיקת חיווט לוח המעגלים והתכוננות לכיול

לאחר חיבור לוח המעגלים אך לפני חיבור מחשבי ה- IC או הצגתו או הפעלתו, מומלץ לבדוק את חיבורי הלוח באמצעות DVM. אתה יכול להגדיר את רוב ה- DVM כך שיצפצפו כאשר תהיה המשכיות. הגדר את ה- DVM במצב זה ולאחר מכן עקוב אחר תרשים המעגלים שלך, בדוק כמה שיותר מחיבורי המעגל. בדוק אם קיים מעגל פתוח, או קרוב אליו, בין נקודות ה -5 V לבין הקרקע. בדוק חזותית שכל הרכיבים מחוברים לפינים הנכונים.

לאחר מכן חבר את השנאי שלך למעגל והפעל אותו. בדוק שיש לך בדיוק 5V DC על מסילת החשמל של 5V עם היקף או DVM לפני שתחבר מחשבים אישיים או את המסך.

חבר הבא רק את ה- Op-Amp U5 IC לקראת השלב הבא. כאן נבדוק כי מעגל הצלב שלנו יוצר גל מרובע ונתאים פוטנציומטר RV1 לאות נקי של 60 הרץ.

שלב 6: כיול מעגלים

כיול מעגלים
כיול מעגלים
כיול מעגלים
כיול מעגלים

הכיול היחיד שיש לבצע הוא להתאים את פוטנציומטר RV1 לרמת האות הנכונה שמזינה את גלאי הצלב. ישנן שתי דרכים לעשות זאת:

1. שים בדיקה בהיקף על סיכה 1 של U5 וודא לחבר את חוט הקרקע של בדיקת ההיקף לקרקע המעגל. לאחר מכן התאם את RV1 עד שיהיה לך גל מרובע נקי כפי שמוצג בתמונה למעלה. אם תתאים את RV1 רחוק מדי בדרך זו או אחרת לא יהיה לך גל מרובע או גל מרובע מעוות. ודא שתדירות הגל המרובע היא 60 הרץ. אם יש לך היקף מודרני זה כנראה יגיד לך את התדירות. אם יש לך היקף עתיק כמוני אז ודא שתקופת הגל המרובע היא כ- 16.66ms או 1/60 שניות.

2. שימוש במונה תדרים או DVM במצב תדר למדוד את התדירות בפין 1 של U5 ולהתאים את RV1 למשך 60 הרץ בדיוק.

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

שלב 7: תוכנית Arduino

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

המיקרו -מעבד מקבל את הגל המרובע הנכנס של 60 הרץ וסופר 60 מחזורים ומגדיל את ספירת השניות לאחר כל 60 מחזורים. ברגע שמספר השניות מגיע ל -60 שניות, או 3600 מחזורים, ספירת הדקות מצטברת ומספר השניות מתאפס לאפס. לאחר שספירת הדקות מגיעה ל -60 דקות, ספירת השעות מצטברת ומספר הדקות מתאפס לאפס. מספר השעות מתאפס ל -1 לאחר 13 שעות, כך שמדובר בשעון של 12 שעות. אם אתה רוצה שעון 24 שעות פשוט שנה את התוכנית כדי לאפס שעות לאפס לאחר 24 שעות.

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

דפוסים של 0 ו -1 המשמשים להצגת כל מספר בתצוגות של 7 פלחים מאוחסנים במערך הנקרא Seven_Seg. בהתאם לזמן השעון הנוכחי, דפוסים אלה מוזנים ל- IC 74HC595 ונשלחים לתצוגה. אילו מארבע הספרות של הצג מופעלות בכל פעם כדי לקבל נתונים אלה נשלטת על ידי המיקרו -מעבד באמצעות תצוגת Dig 1, 2, 3, 4 pins. כאשר המעגל מופעל, התוכנית מפעילה תחילה שגרת בדיקה בשם Test_Clock ששולחת את הספרות הנכונות כדי להאיר כל תצוגה במספר 0 עד 9. אז אם אתה רואה את זה בעת הפעלה אתה יודע שבנית הכל נכון.

שלב 8: רשימת חלקים

1 - שנאי 120VAC עד 12VAC בערך 100ma או יותר 1 - לוח אב טיפוס בערך 3.5 "x 3.5" 1 - 4 ספרות תצוגת 7 פלחים YSD -439K2B -35 או שווה ערך (Sparkfun) 2 - לחצני לחיצה קטנים על PCB NO (כל) 4 - 2N3904 טרנזיסטורים NPN8 - 330 אוהם אוהם 2 - 74LS04 ממירים משושה1 - 74HC595 סידורי עד מקבילי 8 סיביות משמרת 1 - LM358 OP -AMP (השוואה) 1 - ATMEGA328P מיקרו -בקר (Creatron) 4 - 4.7K נגדים 7 - נגדים 10K1 - 1N4007 או 1N40018 - 2 דיודות 1 - 120 אוהם, 1/2W או 1W נגד 1 - הרכבה 10K פוטנציומטר 1K - 470uF 25V קבלים 1 - 7805 ווסת מתח החבילה 1 - 10uF 10V קבלים 2 - 0.1 uF 10V קבלים1 - 16MHz קריסטל (Sparkfun) 2 - 22pF קבלים1 - שקע חשמל נשי (אופציונלי להתאים תקע זכר אם קיים על שנאי הקיר שלך) 2 - 16 פינים IC 2 - 14 פינים IC1 - 8 פינים IC1 - 28 פינים שקע IC2 - 1 "באורך כ -4 או #6 ברגים ואומים תואמים 2 - 1/ 4 "ברגים #4-40 ארוכים ואומים תואמים 1 - חתיכת רצועת אלומיניום שטוחה בגודל 1/2 אינץ 'חתוך בהתאמה אישית וקידוח במידה

#30 חוט עטיפת חוט AWG#חוט AWG 22

מוּמלָץ: