07-08-2010, 17:07
|
|
|
חבר מתאריך: 20.10.06
הודעות: 202
|
|
פתרון לבעיה (כנראה)
היי שחף,
עסקתי בהרבה פרויקטים מהסוג שאתה מתאר ואני מניח שהייתי יכול לעוץ עיצה אבל הבעיה היא שלא כל-כך הצלחתי להבין על מה אתה מדבר..
אני ממש לא בנאדם מוגבל, אבל תסכים איתי שדי קשה לקרוא קטע ובעיקר קטע טכני, שכמעט ואין בו סימני ניקוד (פסיקים למשל).
כמו-כן, אמרת "דוחף זרם" ובתכל'ס לא ציינת איך מימשת את הדוחף-זרם הזה. הבנתי שיש בו דרלינגטון אבל זה לא מבהיר לגמרי את הנקודה, כי יכול להיות שהשתמשת בשני טרנזיסטורים נפרדים וחיברת אותם בחיבור דרלינגטון ויכול להיות גם שהשתמשת ברכיב מוכלל (ג'וק) כגון ULN2003 שבתוכו גם יש דרלינגטונים...
ובנוסף, יכולת להעלות שרטוט פשוט (תמונה) שמציג את האופן שבו חיברת את הדוחף זרם..
בכל מקרה, מכיוון שלא הבנתי את אופן החיבור, אני לא אתייחס ספציפית למה שרשמת אלא אתאר כיצד ניתן להפעיל ממסר דרך יציאה של מיקרובקר:
קח טרנזיסטור NPN "רגיל" (לא דרוש דרלינגטון אלא אם כן לממסר שלך יש דרישות זרם מיוחדות) וחבר את הבסיס שלו דרך נגד אל פין מוצא כלשהו (כרצונך) במיקרובקר שלך. את האמיטר של הטרנז' חבר אל האדמה ואת הקולקטור של הטרנז' חבר לאחד ההדקים של הממסר. את ההדק השני של הממסר חבר קבוע אל הצד החיובי של ספק-הכח שלך.
חיבור מהסוג לעיל נקרא "אמיטר משותף" (Common Emitter) ומשמש כמגבר זרם המספיק בכדי להפעיל ממסר סטנדרטי.
הוסף גם את הדיודה בחיבור "ממתח הפוך" על-פני הדקי הממסר לצורך הגנה עליו.
אני לא מציין את הערכים המדוייקים של הרכיבים כי אני לא מכיר את המעגל שלך. שב עם המנחה שלך והוא בודאי יוכל בקלות להגיד לך אילו ערכים יתאימו.
לאחר שתממש את הממשק שתואר לעיל, תוכל להפעיל את הממסר על-ידי הוצאת "1" לוגי מהמיקרובקר אל בסיס הטרנזיסטור. אם תוציא "0" לוגי אל הבסיס, הממסר יפסיק לפעול.
בקשר לפסיקה 1 - בדוק את הקוד שכתבת למיקרובקר, יש סיכוי טוב שיש בו טעות. נסה להעתיק קוד תקין ממישהו אחר אל הפרויקט שלך, רק כדי לבדוק האם הוא עובד.
אם כתבת את הקוד באסמבלי, וודא שהגדרת את הוקטור אל הפסיקה כמו שצריך.
אם כתבת את הקוד בשפת C, קרוב לודאי שהקומפיילר יוצר בעצמו את טבלת הוקטורים המתאימה לפסיקות. וודא רק שכתבת כמו שצריך את הגדרת הפונקציה המשתמשת בתור רוטינת הטיפול בפסיקה.
אם עדיין לא עובד, וודא שאתה מגדיר את התנהגות הפסיקה כמו שצריך (פסיקה בשינוי מצב לוגי או בעליית/ירידת שעון בהתאם לצרכים שלך).
וודא שאתה מאפשר את הפסיקה ברגיסטר המתאים וגם שהפעלת את סיבית "אישור הפסיקות הכללי" (סיבית EA).
אם יש לך יותר מפסיקה אחת במערכת, וודא שאתה קובע את עדיפות הפסיקות כמו שצריך במערכת שלך.
ולבסוף, וודא שהסיגנל שאתה מספק בחומרה לפין INT1 אכן מתאים להפעלת הפסיקה (בדוק עם סקופ על-גבי הרגל INT1).
אם כלום לא עוזר, נסה להחליף את המיקרובקר, קורה לפעמים שאחת הכניסות נשרפת ומפסיקה לפעול ושאר הפעולות ממשיכות לעבוד כרגיל.
בברכה,
DigiGil
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)
|