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

מודול בקר LCD Uber I2C: 6 שלבים
מודול בקר LCD Uber I2C: 6 שלבים

וִידֵאוֹ: מודול בקר LCD Uber I2C: 6 שלבים

וִידֵאוֹ: מודול בקר LCD Uber I2C: 6 שלבים
וִידֵאוֹ: Контроллер автоматического пуска-останова с часами реального времени DS3231 2024, נוֹבֶמבֶּר
Anonim
מודול בקר LCD Uber I2C
מודול בקר LCD Uber I2C
מודול בקר LCD Uber I2C
מודול בקר LCD Uber I2C
מודול בקר LCD Uber I2C
מודול בקר LCD Uber I2C

הַקדָמָה

מדריך זה מפרט כיצד ליצור מודול בקר מבוסס LCD HD44780 (תמונה 1 למעלה). המודול מאפשר למשתמש לשלוט בכל ההיבטים של ה- LCD באופן תכנותי על I2C, הכולל; LCD ותצוגה, ניגודיות ועוצמת תאורה אחורית. למרות ש- Arduino Uno R3 שימש לאב -טיפוס שלו, הוא יעבוד לא פחות טוב עם כל מיקרו -בקר שתומך ב- I2C.

מבוא

כפי שהוזכר לעיל מאמר זה מתעד יצירת מודול בקר I2C LCD, הוא נועד בעיקר כתרגיל עיצובי כדי לקבוע כמה זמן יידרש ליצירת PCB מעשי.

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

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

אילו חלקים אני צריך? עיין בכתב החומרים המצורף להלן

איזו תוכנה אני צריך?

  • Arduino IDE 1.6.9,
  • Kicad v4.0.7 אם ברצונך לשנות את ה- PCB. אחרת פשוט שלח 'LCD_Controller.zip' ל- JLCPCB.

אילו כלים אני צריך?

  • מיקרוסקופ לפחות x3 (להלחמה SMT),
  • ברזל הלחמה SMD (עם עט השטף נוזלי והלחמת ליבות שטף),
  • פינצטה חזקה (להלחמה SMT),
  • צבת דקה (נקודה וחוטם),
  • DMM עם בדיקת המשכיות קולית.

אילו כישורים אני צריך?

  • הרבה סבלנות,
  • מיומנות רבה ויכולת תיאום יד/עין מצוינת,
  • יכולות הלחמה מצוינות.

נושאים מכוסים

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

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

סקירה כללית של המעגל
סקירה כללית של המעגל

תרשים מעגל מלא של כל האלקטרוניקה ניתן בתמונה 1 למעלה, יחד עם קובץ PDF של אותו למטה.

המעגל תוכנן להוות תחליף מדויק למודול בקר ה- LCD הסטנדרטי PCF8574A I2C עם השיפורים הבאים;

  • תאימות 3v3 או 5v למשתמש I2C,
  • בקרת ניגודיות דיגיטלית או הגדרת סיר קונבנציונאלי,
  • בחירה משתנה בעוצמת תאורה אחורית עם בקרת פונקציות ההקלות של Quartic להשגת דהייה חלקה.

בקרת תצוגת LCD

זוהי פקסימיליה של מודול בקר ה- I2C הסטנדרטי באמצעות PCF8574A (IC2) עבור I2C להמרה מקבילה.

כתובת ברירת המחדל של I2C עבור זה היא 0x3F.

תאימות 3v3 או 5v I2C

לפעולה 3v3 מתאימים Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 ו- C2.

אם נדרשת הפעלה של 5 וולט, אל תתאים לרכיבי 3v3, החלף אותם בנגדי 0 אוהם ROpt 3 ו -4.

ניגודיות דיגיטלית

שליטה בניגודיות דיגיטלית מושגת באמצעות פוטנציומטר דיגיטלי U2 MCP4561-103E/MS ו- C4, R5.

אם יש צורך בפוטנטיומטר מכני קונבנציונאלי, ניתן להתאים אותו ללוח PCB, RV1 10K, במקום ל- U2, C4 ו- R5. ראה BoM עבור פוטנציומטר תואם.

על ידי גישור מגשר J6 כתובת I2C היא 0x2E. זה הניח כי לפעולה רגילה זה גשר.

בחירת עוצמת אור אחורית משתנה

עוצמת תאורה אחורית משתנה נשלטת על ידי אפנון PWM של תאורת האחורית LED LED באמצעות U1 pin 6 ו- ATTiny85. על מנת לשמור על תאימות מלאה עם מודול בקר I2C LCD הסטנדרטי R1, T1 R7 ו- T2 משמשים לאפנון מסילת האספקה +ve.

כתובת ברירת המחדל של I2C עבור זה היא 0x08. אפשרות זו ניתנת לבחירה על ידי המשתמש, בזמן הידור לפני התכנות של U1.

שלב 2: ייצור PCB

ייצור PCB
ייצור PCB
ייצור PCB
ייצור PCB
ייצור PCB
ייצור PCB
ייצור PCB
ייצור PCB

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

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

התרשים הסכימטי ופריסת ה- PCB פותחו עם תמונות 2 ו- 3. Kicad v4.0.7 זה הושלם ביום ראשון אחר הצהריים והחלקים הוזמנו מפארנל וה- PCB הועלה ל- JLCPCB עד יום ראשון בערב.

הרכיבים הגיעו מפרנל ביום רביעי, ואחריהם ה- PCB של JLCPCB ביום חמישי (השתמשתי בשירות משלוחי DHL כדי להאיץ את העניינים) תמונות 4, 5, 6 & 7.

ביום חמישי בערב נבנו שני לוחות (גרסאות 3v3 ו- 5v) שנבדקו בהצלחה על צג LCD על 4 על 20. תמונות 8, 9 ו -10.

5.5 ימים מדהימים מהרעיון הראשוני ועד להשלמתו.

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

שלב 3: סקירת תוכנה

סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה

לתוכנה יש שלושה חלקים מרכיבים עיקריים הדרושים לשליטה במודול בקר ה- I2C LCD;

1. LiquidCrystal_I2C_PCF8574 ספריית Arduino

זמין פה

לשימוש בשרטוט Arduino שלך לשליטה על צג ה- LCD.

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

2. ספריית Arduino MCP4561_DIGI_POT

לשימוש בשרטוט שלך לשליטה תכנותית בניגודיות ה- LCD

זמין פה

3. שליטה פרוגרמטית ברמות התאורה האחורית של LCD באמצעות PWM ופונקציית ההקלה הקווארטית להשגת דהייה חלקה

כפי שהוזכר קודם הלוח מכיל ATTiny85 יחיד המשמש לשליטה על דהייה הדרגתית של התאורה האחורית של התצוגה.

פרטים על תוכנה זו ניתנים בהנחיית 'Smooth PWM LED Fading LED with the ATTiny85'.

במקרה זה על מנת לשמור על מידות ה- PCB הסופיות זהות למודול בקר LCD כללי, נבחרה גרסת ה- SOIC של ATTiny85. תמונות 1 ו -2 מראות כיצד ה- ATTiny85 SOIC תוכנת ונבדק באב טיפוס שהוקם.

הקוד המתוכנת ב- ATTiny85 היה 'Tiny85_I2C_Slave_PWM_2.ino' זמין כאן

לפרטים על יצירת מתכנת ATTiny85 משלך, עיין במדריך זה 'תכנות ה- ATTiny85, ATTiny84 ו- ATMega328P: Arduino As ISP'

שלב 4: בדיקת העיצוב

בדיקת העיצוב
בדיקת העיצוב
בדיקת העיצוב
בדיקת העיצוב

כדי לבדוק את העיצוב יצרתי סקיצה בשם 'LCDControllerTest.ino' המאפשרת למשתמש לקבוע כל פרמטר ספציפי ל- LCD ישירות על חיבור מסוף טור.

ניתן למצוא את הסקיצה במאגר I2C-LCD-Controller-Modul של GitHub שלי

תמונה 1 למעלה מציגה את מכבש הלוח התואם 5V I2C המותאם למסך 4 על 20 ותמונה 2 תצוגת ברירת המחדל בעת הפעלת קוד הבדיקה בפעם הראשונה.

הוא משתמש בערכי ברירת המחדל הבאים לתאורה אחורית וניגודיות;

  • #הגדר DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((לא חתום ארוך) (10))
  • #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

מצאתי שהדברים האלה עובדים היטב עם תצוגת LCD בגודל 4 על 20 שהייתה לי בחלל.

שלב 5: מסקנה

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

טעות בדרך כלל עלתה לך כמה שבועות בלוח הזמנים ופוצצה את שולי הרווח (ואולי את העבודה שלך).

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

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

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

כיצרנית באותה תקופה, עלות שרשרת כלי פיתוח התוכנה בלבד הייתה אסורה, בהכרח נאלצת לדחוף ערכי hex ישירות ל- EPROM (RAM/Flash אם היה לך הרבה מזל) ואז הקדישו שעות לפרש את ההתנהגות המתקבלת כדי לקבוע מה הקוד שלך פעל אם הוא לא פעל כצפוי (קצת "מתנועע" או שהדפסה טורית היא הטכניקות הפופולריות ביותר לאיתור באגים. חלק מהדברים אף פעם לא משתנים). בדרך כלל היית צריך לכתוב את כל הספריות שלך כיוון שאף אחת מהן לא הייתה זמינה (בהחלט לא היה מקור עשיר כמו האינטרנט).

המשמעות היא שבזבזת הרבה זמן בניסיון להבין איך משהו עובד ובזבזת פחות זמן ביצירה.

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

על פי רוב המעגל הסופי שלך פותח באמצעות veroboard לתמידות והוא מותקן במארז ABS פשוט כדי לתת לו את ה'מגע המקצועי 'הזה.

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

משהו שיכולתם לחלום עליו רק לפני פחות מעשור.

איך דברים השתנו לטובה.

שלב 6: שימוש בהפניות

KiCAD לכידה סכמטית ועיצוב PCB

KiCAD EDA

Arduino ORG כלי לפיתוח תוכנה

ארדואינו

ספריית Arduino של LiquidCrystal_I2C_PCF8574

פה

ספריית Arduino MCP4561_DIGI_POT

פה

דהיית LED חלקה של PWM עם ATTiny85

פה

תכנות ה- ATTiny85, ATTiny84 ו- ATMega328P: Arduino As ISP

מוּמלָץ: