Wort-Uhr: 5 שלבים
Wort-Uhr: 5 שלבים

וִידֵאוֹ: Wort-Uhr: 5 שלבים

וִידֵאוֹ: Wort-Uhr: 5 שלבים
וִידֵאוֹ: Жизнь ласточек #3/5. ♬ Голос. 💕 Образование пары. 🔨 Строительство гнезда 2025, יָנוּאָר
Anonim
Wort-Uhr
Wort-Uhr

שלום ביחד!

זה יהיה ההדרכה הראשון שלי ואם יש לך רעיונות כיצד לשפר אותו או להקל על ההבנה אנא אל תהסס לפנות אלי!

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

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

אז הבה נתחיל…

שלב 1: סכמטי

הסכימטי
הסכימטי

הסכימה היא קדימה ואם התמונה לקויה לקריאה, יש גם קובץ PDF.

נתחיל בפינה השמאלית התחתונה. יש ספק כוח פשוט באמצעות LM7805 ליצירת פלט 5V יציב עבור ה- PIC, רגידי משמרות (74HC164) ושבב DS3231 בזמן אמת. כל הלדים מסופקים גם הם מחלק זה. D22 בקצה הימני מיועד רק לציון אספקת חשמל וניתן להשאיר אותו בנפרד אם לא רוצים אותו.

אתה יכול להשתמש בכל ספק כוח DC לשעון עם פחות מ 40V, אך עליך לבחור את הערך המתאים עבור C7. זה צריך להיות בעל דירוג מתח של לפחות כפול ממתח הכניסה וזכור שאתה יוצר חום ב- LM7805 ולכן עליך לנסות לשמור על מתח הכניסה נמוך ככל האפשר מכיוון שכל השאר הוא בזבוז אנרגיה בלבד. ההתאמה הטובה ביותר היא משהו בין 9V ל- 12V DC.

אל תטרח בקוטביות של ספק הכוח שלך … ערוץ p-channel MOSFET (Q1) משמש כהגנה על קוטביות שווא והשעון פשוט לא יפעל ולא ייגרם נזק. אתה יכול לבדוק זאת על LED D22 "כוח" אם הוא מותקן.

בצד ימין של סכמטי נמצאים רשמי המשמרות המקבילים החוצה. החלטתי להשתמש בהם מכיוון שלא רציתי להשתמש ב- PIC ענק עם הרבה יציאות קלט/פלט. רציתי להשתמש באחד קטן יותר ועדיין היו לי כמה 16F1829 בבית כך שהבחירה כבר הייתה ברורה. הנתונים (IN_1, IN_2 ו- IN_3) מסופקים על ידי ה- PIC (ראה סעיף קוד להלן) וגם ה- REGISTER_CLK. לשם הפשטות בקוד ובפריסת ה- PCB שלי השתמשתי בשניים מתוך 74HC164 לשעות ובאחרון ב"היגיון ".

בפינה השמאלית העליונה נמצא ה- PIC וכל החלקים הדרושים. השתמשתי בשעון הפנימי כך שאין צורך באוזילטור. שלושה נגדים בלבד עבור SCL, SDA ו- MCLR. לעובדה שהשתמשתי ב- 32kHz כאינדיקציה ל"שניות מדויקות "אין צורך בתדר די יציב ומדויק עבור ה- PIC.

באמצע יש את DS3231 עם מינימום על חלקים חיצוניים. למעשה השתמשתי רק בכניסות SDA ו- SCL לתקשורת מעל I²C ופלט 32kHZ כהפניה לשעון חיצוני עבור טיימר 1 של ה- PIC16F1829. עבור פלט זה, גליון הנתונים אומר כי יש צורך בנגד משיכה חיצוני. שאר הפלטים בהם לא השתמשתי בפרויקט זה והשאירו אותם מחוברים.

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

שלב 2: פריסה

מַעֲרָך
מַעֲרָך
מַעֲרָך
מַעֲרָך
מַעֲרָך
מַעֲרָך

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

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

אתה יכול לראות את המיקום בשתי התמונות התלת מימדיות שיצרתי מ- KiCAD.

אם אתה מעוניין … אפשר לייצא את PCB KiCAD ל- Eagle ואז זה די קל לבנות את הדיור כי יש לך הפניה מה- PCB.

שלב 3: "היגיון" של "Wort-Uhr"

החלק הגדול ביותר בפרויקט זה היה הקוד ל- PIC …

בתחילה מוצאים את ה"היגיון "של זמן דיבור בגרמנית ומתרגמים אותו לקוד.

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

כפי שאתה יכול לראות זה אינו קסם וניתן לקודדו בקלות ב- C. הנקודה ה"מסובכת "בתוך ההיגיון היא כיצד להתמודד עם השעה כפי שניתן לראות בקובץ שרק בתחילת שעה מוצגת השעה בפועל.. בגרמנית (אולי זה רק דבר ספציפי לבווארי) משתמשים ב"שעה הבאה "די מוקדם.

לקידוד השתמשתי ב- MPLABX כמזהה הבחירה שלי.

שלב 4: קטעי קוד

קטעי קוד
קטעי קוד
קטעי קוד
קטעי קוד

אני לא אפרסם את הקוד שלי כאן, אבל אם אתה מתכוון לכתוב קוד משלך אני אתן לך כמה רמזים ש"מעדתי "במהלך הפיתוח …

ראשית מילוי "הרשמה":

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

הקוד למילוי הרשומות נמצא בתמונה למעלה. כפי שאתה יכול לראות אני ממלא את כל 3 האגרים במקביל ולכן אני צריך 3 סיכות של ה- PIC לנתונים וסיכה אחת עבור CLK. 74HC164 משתלט על נתונים חדשים על מעבר בקו CLK מ -0 ל -1.

שאר הקוד הוא בעיקר דברים תלויים ב- PIC, הלוגיקה "זמן דיבור" וטיפול בתקשורת וכפתורים. התקשורת מסופקת בעיקר על ידי Microchip MPLABX מכיוון שהשתמשתי במודול MSSP.

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

כפי שאולי שמתם לב, ישנן שתי דרכים "לשמור על הזמן על המסלול" עם יישום זה.

  1. אתה יכול לקרוא את הזמן האמיתי מתוך ה- DS3231
  2. אתה יכול "לספור שניות" ב- PIC עצמו ופשוט לסנכרן את הזמן עם DS3231 מדי פעם

זה תלוי בך ושתי הדרכים הן פרקטיות וישרות קדימה. השתמשתי באפשרות הראשונה ורק בזמן המסונכרן בעת התאמת הזמן באמצעות הכפתורים (זמן כתיבה ל- DS3231) או כל 24 שעות (זמן קריאה מ- DS3231), כיוון שרציתי ליישם יותר היגיון בעצמי. אני גם מסובב את השעון שלי במהלך הלילה (23:00 עד 05:00) כך שזה היה קצת יותר קל לדעתי.

שלב 5: השיכון

אחרון חביב הגיע הזמן להציץ בקצרה על הדיור.

כפי שציינתי לעיל, הכנתי את הדיור לבד (באמצעות Eagle) והדפסתי אותם עם מדפסת התלת-ממד שלי, כך שהייתי צריך להמשיך להסתכל על המיקומים של הלדים השונים.

מצורף אתה יכול למצוא את קבצי STL אם אתה רוצה להשתמש בהם.

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