Table of Contents
עבודה עם מיקרובקרים PIC יכולה להיות חוויה מתגמלת מאוד, המאפשרת לך ליצור פתרונות משובצים עבור כל ממשקי חיישן לשליטה מוטורית.עם זאת, אפילו מפתחים מנוסים נתקלו בלוקים.פתרון בעיות שיטתיות הוא המפתח להפוך פרויקט מעוות לתוך עיצוב חזק, מתפקד.מדריך זה מרחיב מספק שיטות מעשיות, צעד אחר צעד כדי לזהות ולפתור את הבעיות הנפוצות ביותר ב- PIC, מפרויקטים של כוח.
הבנת הבעיות הנפוצות ביותר ב-PIC Project
בעיות בפרויקטים PIC בדרך כלל נופלות לכמה קטגוריות חופפות.ההכרה במהירויות מוקדמות אלה מעלה את האבחנה.הבעיות הנפוצות ביותר כוללות:
כוח אספקה Irregularities
- טפט מחוץ לדגימה עבור מודל PIC ספציפי (למשל, מכשיר 5V מקבל רק 3.3V, או רעש ספייק מעל הדירוג המקסימלי המוחלט).
- יכולת נוכחית בלתי אפשרית - רצועת מנוע או LED עלולה לגרום להפרעות חום.
- מפולנים עניים - חסרים או ממוקמים באופן לא נכון כצפי Vd / Vs לגרום לאפסות לא רצויות או תלולים.
שגיאות מגע וחיבור
- משימות סטיות, קלטות צף, או החלפת קווי נתונים (למשל, SDA החלפה עם SCL).
- מפרקים מוכרים קרים על פרוטוboards או כותרות ראש - מגע לסירוגין שרק נכשל תחת רטט.
- באמצעות לוח לחם עם חוטי קפיצה ארוכים ללא תמיכה שפועלים כמו אנטנה לרעש.
תכנות וידוי שגיאות
- תצורה שגויה של אוסטרטור (למשל, RC פנימי נבחר כאשר גביש חיצוני נחוץ, או מצב HS עבור גביש שעון נמוך ⁇ ).
- לאפסת חום נכונה (BOR) או שעון כלבים (WDT) הגדרות שגורמות לאפסות בלתי צפויות.
- ביטים כמו "DEBUG" אפשרו ללא כוונה, לפסול פעולה נורמלית.
שגיאות לוגיות
- לולאות אינסופיות, ערימה של מעליות, או שימוש לרעה בהפרעות (למשל, החסרה:0) דגלים.
- לולאות טיים המבוססות על שורת 1 (FLT:1), אשר מניחים תדירות שעון מסוימת - אי התאמה יכול להפוך עיכוב של 1 שניות להיות 2 שניות.
- תנאי גזע כאשר ניגשים למשתנים משותפים בין ISR לבין לולאה מרכזית.
נזקי חומרה וגורמים סביבתיים
- פריקה אלקטרוסטטית (ESD) לתוך I / O pins, גרימת latch-up או כישלון קבוע.
- עודף של עומסים אינדוקטיביים (עיכובים, חצים) ללא דידות מעופפות נאותות.
- קורוזיה מהלחות, במיוחד על כריות PCB חשופות.
שלב-בי-שלב פתרון בעיות של מתודולוגיה
אימוץ גישה מובנית: לאמת את הקרן תחילה, ולאחר מכן לעבור לתצורה, ולבסוף ללוגיקה קושחיקה, מנסה לנחש את הבעיה באמצעות קריאת קוד בלבד לעתים קרובות לבזבז שעות.
1.הקים אספקה של כוח טוב ידוע
לפני נגיעה לכל מרכיב אחר, ודא כי PIC שלך מקבל כוח נקי ויציב. השתמש ב-FLT:0 מ"מאולטרטרף 1:1 כדי למדוד מתח בין Vd ו Vs במיקרו-בקר לוחות עצמם, לא רק במקור הכוח.
- וולטאז בתוך ±5% מההיצע הדירוג (למשל, 4.75V ל-5.25V עבור 5V PIC).
- פחות מ -100mV של ripple - השתמש בoscilloscope אם זמין.
- קיטוב נכון - חיבור הפוך יכול להרוס את השבב מיד.
הוסף קיבול קרמיקה 0.1F קרוב ככל האפשר לכל זוג Vd / Vss, בתוספת 10μF אלקטרוליטי capacitor ליד קלט הכוח.אם ההתקן מתאפס בעת נהיגה עומס, להגדיל את הציפוי או לשדרג את הרגולטור מתח.
2.בדוק את ה-Wiring and Continuity
בדוק את כל הקשרים נגד הדיאגרמת הסכאמטית שלך.התפלות נפוצות:
- Pushbuttons: להבטיח משיכת או משיכת מתנגדים נוכחים; סיכות צף לגרום רמות לוגיקה אקראיות.
- I2C או SPI אוטובוסים: ודא כי SDA, SCL, MOSI, MISO וכו ' הם מחוברים ל- PIC הנכון, וכי התנגדות למשוך הם נוכחים I2C (בדרך כלל 4.7k ⁇ ל 10k ⁇ ).
- מעגל אוסוציאטור: עבור גבישים חיצוניים, ציפוי עומס (בדרך כלל 18-33pF) חייב להיות נוכח ולתאם את מפרט העומס של קריסטל.
השתמש בבדיקת רציפות על כל חוט.אינדיקצית הנמכרים תחת הגדלה; מפרק "קר" (דול, מראה גרגר) הוא חיבור רב-התנגדות אשר יגרום תקלות לסירוגין.
3. Test Programming and Configuration Bits
ראשית, ודאו למתכנת שלכם (למשל, PICkit 3, ICD 4, או Snap) מתקשר עם PIC. לבדוק כי ערכות ICSP (PGC, PGD, MCLR / Vpp, Vd, Vs) מחובר כראוי וכי שום מעגלים אחרים לא לטעון קווים אלה. נסה פשוט "blink" דוגמה כדי לעגמל LED ידוע על פלט כי אם לא נכשלת קיבולת:
- (FLT:0) הגדרות תצורה של צ'אק (Check תצורה הגדרות) 1 ב MPLAB X IDE או המדור שלך. לאשר את בחירת אווסוציאלטור (למשל, FOSC ביטים), WDT מאפשר / בלתי ניתן ל, BOR מאפשר / בלתי ניתן לערעור, ואת bits הגנה מקרית bit יכול לנעול את המכשיר.
- (ב) רצף של פאוור-אפ (FLT:1) - כמה מתכנתים דורשים Vdd להיות מיושם לפני Vpp, או שהם עשויים לדרוש אספקה חיצונית למטרה.
- (FLT:0) השתמש בכלי האבחון של המתכנת: 1) (למשל, "Check Communications" ב- MPLAB X) כדי לקרוא את מזהה המכשיר. A לא קרא מציין בעיות חומרה או חיבור.
ל[[1924]], [[1924]]]]]]]], [[1924]]]]]]
בדוק את מערכת ה- Oscillator והשעון
תדירות השעון הלא נכון היא אחת הסיבות השכיחות ביותר ל"זה מקנה בסדר אבל לא עובד" אפילו טעות של 1% באוסלוטור יכולה לשבור תקשורת סדרתית כמו UART, שבה שיעורי הבאוד נגזרים מהשעון הראשי: צעדים:
- (FLT:0) קרא את תצורת FOSC bitsFLT:1) בחר המקור הנכון: פנימי RC, אוסטר פנימי עם PLL, שעון חיצוני, חיצוני וכו '.
- (ב) בפסוק (ב) ב[[1924]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]
- (FLT:0)Use aoscilloscopeFreaLT:1 כדי למדוד את פלט השעון על כל סיכה CLKout (אם זמין), או לחקור את pinsoscillator ישירות.אם באמצעות גביש חיצוני, עליך לראות גלנוסי.לא גלפור = מת, חיבור שבור, מטענים לא נכונים, או oscillator נכה ב-config.
- עבור אוספיטלטורים פנימיים, calibrate אם יש צורך - לחלק מה-PICs יש ערך של שימור מפעל מאוחסן ברישום, אבל זה יכול לסחף עם טמפרטורה.
5.לתקן את הפרסומות הארדware ו-I/O
לאחר אישור כוח, תכנות ושעון, לבדוק כל I/O באופן אישי. לכתוב תוכנית מבחן קטנה שמניעה כל פלט גבוה / נמוך וקוראת כל קלט.
- (ב) ⁇ (ב"ג) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- [ה]התחילה [ה]: [ה], [ה], שני סיכות התקצרו יחד, והפכו להתנהגות מוזרה.
- (FLT:0) בחירת ריצוף תיקון (FLT:1) - באמצעות סיכה המשמשת גם לתכנות (כמו PGD) ללא שימוש במצב תכנות לאחר השחרור הראשון.
גם לבדוק מתח מכני: חבילות קרמיקה פצחו, bent מוביל חבילות DIP, או הרים כריות על מכשירים על פני השטח.
טכניקות לפתרון בעיות
כאשר בדיקות בסיסיות לא לחשוף את הבעיה, תצטרך כלים ואסטרטגיות מתוחכמות יותר.
שימוש ב-Oscilloscope או אנליייזר לוגי
אוקטילוסקופ הוא הכרחי עבור תזמון ויושרה אות.חפש:
- (ב) ,0) ,התעלל או overshootFLT:1hil על קווים דיגיטליים העולה על Vd+0.3V - זה יכול לגרום לגורם כוזב או נזק.
- (ב) ,0) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
מנתח לוגיקה (אפילו USB זול) יכול לפענח פרוטוקולים סדרתיים כמו UART, I2C, SPI או LIN. השתמש בו כדי ללכוד את זרם הנתונים המדויק ולהשוות עם ערכים צפויים.זה חושף במהירות את העיוותים של קצב הבנד או הגדרות לא נכונות על היקפים כמו מודול MSSP.
In-System Debugging (ICD) עם MPLAB X
אם יש לך debugger כמו PICkit 4 או ICD 5, השתמש נקודות הפסקה בזמן אמת ולצפות משתנים.
- הגדר נקודת מפנה לפני שפיסת קוד חשודה
- (ב) עיין בערכים (ב) בפרשת ה' (ב) ובספר (ב') (ב') ,5 ).
- צעד אחד באמצעות מטפלים להפריע כדי להבטיח שהדגלים יונקו כראוי.
- בדוק את נקודת הערימה - ערימה מעל גדות (בשל יותר מדי שיחות מקוננות או טיול אינסופי) ישחית כתובות החזרה.
להיות מודע כי debugging יכול להשפיע על התזמון (במיוחד במעגלים רגישים לכמה מיקרו-שניות) עבור לולאות קריטיות מאוד זמן, להשתמש בערכת GPIO כדי למדוד את זמן ביצוע עם אוקטילוסקופ במקום.
פתרון הבעיה: פיצול וכיבוש
אם המערכת כולה נכשלה, להפשיט אותה למינימום החשוף: רק PIC, אספקת חשמל מחוספסת, משיכה 10k ⁇ על MCLR, ו LED על אחד התפוקה. Get that LED ממצמץ. ולאחר מכן להוסיף מרכיב אחד בכל פעם (switch, חיישן, תצוגה) ומבחן לאחר כל תוספת.
מלכודות נפוצות של PIC-Specific Pitfalls ו-S Fixes
Watchdog Timer (WDT) Causing איפוסs
מתחילים רבים לעזוב את ה-WDT אפשרו בתצורה של ביטים, אך לעולם לא לנקות אותו בלולאה העיקרית שלהם.הפתרון: או דיס-דיציה של WDT ב bits, או להוסיף הוראות 7FLT 7 כל כמה אלפי שניות.אם אתה צריך WDT לבטיחות, להבטיח את נתיב הקוד שלך מנקה אותו באופן קבוע, גם במהלך עיכובים.
Brown-Out איפוס (BOR) Trip Point Too High
אם אספקת החשמל שלך טיפות רק קצת transiently (למשל, כאשר המנוע מתחיל), סף גבוה (כמו 4.0V על מערכת 5V) יכול לגרום לאפסה. השתמש בסף נמוך יותר אם זמין, או להגדיל את ההיצע decoupling כדי להחליק את הדיפ. לחלופין, unable BOR אם היישום יכול לסבול קיצור של תת-מתח קצר.
דגל לא ברור
בתוך ISR, תמיד לנקות את הדגל הספציפי שגרם להפרעה לפני היציאה.לדוגמה, עבור חלוף הזמן 0, ברור FLT:8 אם אתה משתמש בספריה היקפית (PLIB) או HAL, לאמת את הפונקציה המשמשת כדי לנקות את הדגל למעשה עושה זאת.
ההרחבה Flash Endurance
אם אתה כותב ל- EEPROM הפנימי לעתים קרובות, להיות מודע לכך שסיבולת PIC EEPROM טיפוסית היא 100k ל 1M מחזורים.כתיבה כל שנייה תמצה את הזיכרון בתוך כמה ימים.עבור כותב תכופות, השתמש ב- FRAM חיצוני או היכנס לסדרת EEPROM עם סיבולת גבוהה יותר.
מקורות שונים
אם אתה מאפשר מספר הפרעות (למשל, Timer1 ו- UART לקבל) ואת ISR לא בודק איזה דגל (s) נקבע, אתה תבזבז זמן כדי לשחרר את ההפרעה הלא נכונה או להחמיץ הילוך.
void __interrupt() ISR(void) {
if (TMR1IF) {
// handle timer
TMR1IF = 0;
}
if (RCIF) {
// handle UART
}
}
תמיד לבדוק את הדגל הראשון (לעתים קרובות את זה צריך את התגובה המהירה ביותר).
כלים ומשאבים לפתרון בעיות מוצלחות
לאחר שהמשאבים הנכונים בקצות אצבעותיך מאיצים את ההחלטה.
- (ב) ,0) ,המידע של מיקרוצ'יפ (Exp Documentation) 1 (החל תמיד עם גליון הנתונים של המכשיר (למשל, FLT:2PIC16F877A DatasheetFLT 3) ומדריך ההתייחסות למשפחה.
- (FLT:0)MPLAB X IDE ו- XC8 Compilerph:1 - השתמש בגרסה האחרונה.גירסאות ישנות יותר עשויות להיות באגים בדור קוד עבור PICs חדשים יותר.
- (ב) [ה]הקהילות של Online,IRFLT:1] - פורום ה- 2Microchip ForumsFLT 3: 3 הוא פעיל מאוד בחיפוש לפני פרסום - רוב הסיכויים שמישהו אחר פתר את אותה הבעיה.
- (FLT:0)Example CodeFLT:1 - Microchip מספק דוגמאות קוד ב- Code configurator (MCC) אלה הם תכופים בייצור ולעתים קרובות לחשוף רצף רישום מדויק.
- (ב) ,0) הדרכות של צד שלישי (FLT:2) פרויקטים מיקרובקר הטוב ביותר של מיקרובקר ProjectveFLT 3: מציעות מסלולי פרויקט מעשיים עם חלקים לפתרון בעיות.
לשים את הכל ביחד: מערכת
כאשר אתה נתקל בבעיה חדשה, בצע את זרימת הלוגיה:
- (ב) ,0) , עיין ב- 1 (ב) , חפש מכנסיים קצרים, חסרים רכיבים, קוטביות לא נכונה.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,Programmer CommunicationsFLT:1 - ניסיון לקרוא מזהה המכשיר.
- (ב) ⁇ (ב"ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,Add Complex incrementlyFLT:1 - מאפשר חד-פעמי אחד בכל פעם.
- (ב) עיין בשעון, בגלימות תפוקה ובתזמון אות.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) לוגיקה קוד:0) לוגיקה קוד לוגיקה (Digitalsualph:1) - להתמקד בהפרעות, עיכובים ומשתנה משותף.
- (ב) פורומים וגליונות נתונים של LT:1) - חפשו את ההונאה הידועה או בעיות דומות.
אמצעי מניעה עבור עיצובים אמינים
לאחר תיקון בעיה, לנקוט בצעדים כדי למנוע את החזרה לפרויקטים עתידיים.
- השתמש סמל schematic עקבי וספריית טביעת הרגל של PCB כדי למנוע שגיאות פייתות.
- הוסף קיבול מרתיע לכל קלט מתח, ומניח אותו קרוב ככל הניתן פיזית ל- IC.
- כולל סדרה התנגדות (330 ⁇ ל 1k ⁇ ) על כל I / O שהולך אל ראש חיצוני; גבולות אלה הנוכחיים אם היו קצרים בטעות לקרקע או Vd.
- עיצוב עם נקודות מבחן עבור אותות קריטיים (MCLR, Vd, oscillator, PGD /PGC).
- לכתוב קושחה מודולרית עם מסגרת פעולה טעימה חזקה כי קידוד שגיאות (באמצעות UART או EEPROM) לניתוח לאחר-זיכרון.
- תמיד לכלול שעון כלב שעון (עם טיהור נכון) עבור מערכות ייצור כי צריך להתאושש באופן אוטומטי מפגמים חולפים.
מילים אחרונות של עידוד
כל מפתח PIC, מחובב מקצועי, בילה שעות רודף התנגדות חסר או או או אוקטור לא נכון קצת.ההבדל בין תסכול להצלחה הוא גישה שיטתית וכלים האבחון הנכון. על ידי לאחר השלבים המפורטים לעיל - החל מאספקת חשמל נקייה, אימות השעון, ומיזוג תת-מערכות משנה - אתה תקצץ את הזמן עם תרגול דרמטי, אתה מתפתח אינטואיציה מדויקת כדי להפוך בעיות מטלה.
(ב) לקריאה נוספת, לחקור את ה-FLT:0 (הכולל של ה-Deug Tools Review של Debug Tools) של Debug Tools: 1 בינואר) כדי לבחור את ה-FLT הנכון לצרכים שלך, ולסמן את ה-FLT:2PIC16F887 Datasheets גליון 3 כטיפול בתכונות רגילות של 8 סיביות.