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

כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר: 6 שלבים (עם תמונות)
כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר: 6 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר: 6 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר: 6 שלבים (עם תמונות)
וִידֵאוֹ: BTT GTR v1.0/M5 v1.0 - configuration of A4988 and DRV8825 steppers 2024, נוֹבֶמבֶּר
Anonim
כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר
כיצד להניע הרבה נוריות מכמה סיכות מיקרו -בקר

באמצעות העובדה שלסיכות מיקרו-בקר רבות יש שלוש מצבים (+V, GND או "עכבה גבוהה", אתה יכול להניע נוריות N*(N-1) מפינים N. כך שהמיקרו-בקר 8 פינים הקטן כמו PIC12Fxxx או ATtiny11 יכול להניע. 20 נוריות אור על חמישה סיכות פלט זמינות, ועדיין נותר סיכה אחת לכניסה כלשהי. ראה גם

שלב 1: 20 נוריות LED על 5 סיכות

20 נוריות על 5 סיכות
20 נוריות על 5 סיכות

הגידול הנוכחי של בקרי מיקרו-מספר נמוכים (6 סיכות עד 20 סיכות

כל החבילה) במחירים אטרקטיביים ו'חמודים ', אך נשאלת השאלה כיצד תוכל לנצל את הסיכות הטובות ביותר ליישומים נפוצים כגון נהיגה של נוריות LED. גישת חיבור ישיר לנהיגות נוריות צורכת סיכה אחת לכל לד. תכנית ריבוב מסורתית שבה שורות של אנודות LED מונעות על ידי קבוצה אחת של סיכות N וכל הקתודה המשותפת של כל שורה מונעת על ידי קבוצה אחרת של סיכות M מצליחה להדליק נוריות N*M עם סיכות N+M. עם זאת, על מעבד עם 5 יציאות או פחות בלבד (כמו במקרה של רוב מיקרו-בקרי 8 פינים), זה בקושי משיג לך יותר יציאות מאשר כונן ישיר.

שלב 2: צירוף מורכב

Charlieplexing
Charlieplexing

בהנחה שסיכות הפלט הן למעשה בעלות מצב תלת-ממדי (גבוה פעיל, נמוך נמוך וגבוהה (קלט)) ניתן גם לשתף את מנהלי השורות והעמודות ולשלוט על נוריות N*(N-1) עם סיכות N בלבד. סיכה אחת מחוברת לקתודות נפוצות של שורה של נוריות LED ו- drivelow, וסיכות N-1 שנותרו מחוברות לאנודות ומונעות גבוה עד שהן מאירות את העמודה הזו, או נשאירות ככניסות לעזיבת ה- LEDoff. מקסים מכנה את הטכניקה הזו "Charlieplexing", ומתאר אותה ב (1); Microchip גם מזכיר זאת במסמך (2) (והטמעה גם בלוח PICKit 1.) (1) "Charlieplexing-צמצום פינים מסוג LED תצוגת LED" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "עצות וטריקים 8 פינים FLASH PIC מיקרו-בקרים" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf (3) Charlieplexing LEDs- The theory A Instructable by rgbphil

שלב 3: הפעלה לעבודה

מוציאים אותו לעבודה
מוציאים אותו לעבודה
מוציאים אותו לעבודה
מוציאים אותו לעבודה

זה מניע 20 נוריות LED מ- ATtiny11. גרסה קודמת של לוח זה הייתה

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

שלב 4: קטן יותר ורבגוני יותר …

קטן ורבגוני יותר…
קטן ורבגוני יותר…

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

לשבב Attiny או לשבב PIC12F שבב מיקרו. כווץ את הנורות עד 3 מ"מ ועבור ללוח דו צדדי, ונקבל משהו בערך 27x44 מ"מ אבוי, הלוח הזה עדיין לא נבדק …

שלב 5: אתי ביטי

טיפ טיפה
טיפ טיפה

כמובן שבמיקרו -שבב יש שבבי PIC10F של 6 פינים, המסוגלים להניע

6 נוריות בלבד מ -3 סיכות הפלט. קוטרו כ- 16 מ מ. מעבר ל 603 נוריות מאפשר לך להיות קצת יותר קטן, אבל אני לא בטוח מה הטעם.

שלב 6: תוכנה

התוכנה נעשית מעט מבולגנת מסיבות שונות:

1) עבור ה- PCB המוצגים, נוריות ה- LED מונחות בצורה נוחה לפריסת ה- PCB, ולא בסדר הסיביות "הנכון". IMO, זו הדרך לעשות דברים, אך המשמעות היא ששורה 1 אינה מתכוונת באופן הכרחי לסיביות 1, או שסעיף 3 אינו מתכוון לביט 3. הדבר דורש מיפוי בין כתובת השורה/העמודה הרגילה לבין סיביות הדורשות הגדרה. 2) מכיוון שאותם סיביות משמשים לאנודות ולקתודות, החיבור הנפוץ (שורה) עבור חלקים מסוימים יכול להיות באמצע הביטים המונעים (טור). המשמעות היא שעליך להזיז את סיביות העמודות בהתאם אם הן לפני או אחרי סיבית השורה עבור קבוצת העמודות. 3) עליך להפיק מילות פלט הן עבור ioport והן ברשם כיוון הנמל. קוד ASM המצורף ל- ATtiny11 הוא "הוכחת מושג". זה לא מביא אופטימיזציה והערות גרועות, אבל זה כל מה שכתבתי עד כה.

מוּמלָץ: