לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה --לשאלות בנושאי טלוויזיות, מערכות קולנוע ביתי, הגברה וסאונד - אנא פנו לפורום אודיו וקולנוע ביתי -- www.fresh.co.il/f=103 תגיות פורום: פורום אלקטרוניקה - פורום חשמל - שאלות בנושאי אלקטרוניקה - תכנון מעגלים - מעגלים מודפסים - פיתוח אלקטרוני - תכנון PCB - בקרים למנועים - תאורת לדים - תכנון דימר - מודינג - Arduino - מיקרו בקרים - שליטה על תאורה - שלט רחוק - משדר FM - תאורת LED - פתרון שאלות בחשמל - אלקטרוניקה תקבילית חץ ימינה  

לך אחורה   לובי הפורומים > תחביבים > חשמל ואלקטרוניקה
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 07-08-2010, 13:47
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
דוחף זרם ומיקרו בקר at89s52

שלום לכולם ושבת שלום....


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

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

הפואנטה היא שאני עובד עם כרטיס פרויקט DSM 3090 של חברת SES למי שמכיר, ועד היום ביצעתי את כל מה שמהנחה נתן לי כמעגל אך מבחינת דוחף הזרם שלי שאמור להפעיל ממסרים אשר איתם מפעילים מוצרי חשמל המחוברים לקו החשמל הוא אינו עובד כהלכה... כלומר לקחתי בסה"כ שני פינים בפורט 1 שלי וחיברתי לדוחף בכניסותיו ומוצאו חיברתי כמובן במקביל לדיודת מיתוג על מנת לא לשרוף את הדוחף ומצד שני לממסרים שבאמצעותם נפעיל מכשירים אך הדוחף לא עבד בגלל שכאמור 1 לוגי מבחינת פורט הוא 5 וולט ובהתאם למעגל הפנימי בו יש נגד של 2.7 קילו אוהם נקבל ע"י הצמד דרלינגטוןזרם גבוה בעוד שהזרם המקסימלי היכולים להכניס בבסיס הדוחף הינו 25 מילי אמפר , ולכן שמתי נגד של 100 קילו בכניסה דבר שאמור לפרוץ באופן עקרוני את המערכת ולהפעיל לי את הממסר אך בעקבות זאת הממסר לא עבד בכלל ורק ששמתי נגד של איזה פחות מ 50 המערכת זזה פחות או יותר אך היתה מאוד רגישה לכל מגע שכשאר באתי למדוד זרם ע"י המתח על הממסר המפעיל לחלק להתנגדותו ישר המתח בפורט 1 ירד ל 0 לוגי אז מה הבעיה לדעתכם ... אשמח לדעת....


חוץ מזה פסיקת INT1 לא עובדת לי בכלל אז יכול להיות שכל מהות הבעיה שלי הינה בכלל במיקרו בקר שלי כמו שהמנחה שלי הציעה במאה אחוז ??????...

עזרתכם תעזור לי מאוד...

תודה רבה
שחף
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 07-08-2010, 16:07
  משתמש זכר DigiGil DigiGil אינו מחובר  
 
חבר מתאריך: 20.10.06
הודעות: 202
שלח הודעה דרך MSN אל DigiGil
פתרון לבעיה (כנראה)
בתגובה להודעה מספר 1 שנכתבה על ידי שחפון10 שמתחילה ב "דוחף זרם ומיקרו בקר at89s52"

היי שחף,
עסקתי בהרבה פרויקטים מהסוג שאתה מתאר ואני מניח שהייתי יכול לעוץ עיצה אבל הבעיה היא שלא כל-כך הצלחתי להבין על מה אתה מדבר..
אני ממש לא בנאדם מוגבל, אבל תסכים איתי שדי קשה לקרוא קטע ובעיקר קטע טכני, שכמעט ואין בו סימני ניקוד (פסיקים למשל).
כמו-כן, אמרת "דוחף זרם" ובתכל'ס לא ציינת איך מימשת את הדוחף-זרם הזה. הבנתי שיש בו דרלינגטון אבל זה לא מבהיר לגמרי את הנקודה, כי יכול להיות שהשתמשת בשני טרנזיסטורים נפרדים וחיברת אותם בחיבור דרלינגטון ויכול להיות גם שהשתמשת ברכיב מוכלל (ג'וק) כגון ULN2003 שבתוכו גם יש דרלינגטונים...
ובנוסף, יכולת להעלות שרטוט פשוט (תמונה) שמציג את האופן שבו חיברת את הדוחף זרם..
בכל מקרה, מכיוון שלא הבנתי את אופן החיבור, אני לא אתייחס ספציפית למה שרשמת אלא אתאר כיצד ניתן להפעיל ממסר דרך יציאה של מיקרובקר:
קח טרנזיסטור NPN "רגיל" (לא דרוש דרלינגטון אלא אם כן לממסר שלך יש דרישות זרם מיוחדות) וחבר את הבסיס שלו דרך נגד אל פין מוצא כלשהו (כרצונך) במיקרובקר שלך. את האמיטר של הטרנז' חבר אל האדמה ואת הקולקטור של הטרנז' חבר לאחד ההדקים של הממסר. את ההדק השני של הממסר חבר קבוע אל הצד החיובי של ספק-הכח שלך.
חיבור מהסוג לעיל נקרא "אמיטר משותף" (Common Emitter) ומשמש כמגבר זרם המספיק בכדי להפעיל ממסר סטנדרטי.
הוסף גם את הדיודה בחיבור "ממתח הפוך" על-פני הדקי הממסר לצורך הגנה עליו.
אני לא מציין את הערכים המדוייקים של הרכיבים כי אני לא מכיר את המעגל שלך. שב עם המנחה שלך והוא בודאי יוכל בקלות להגיד לך אילו ערכים יתאימו.
לאחר שתממש את הממשק שתואר לעיל, תוכל להפעיל את הממסר על-ידי הוצאת "1" לוגי מהמיקרובקר אל בסיס הטרנזיסטור. אם תוציא "0" לוגי אל הבסיס, הממסר יפסיק לפעול.

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

בברכה,
DigiGil
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 08-08-2010, 21:37
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
שלום...ותודה
בתגובה להודעה מספר 2 שנכתבה על ידי DigiGil שמתחילה ב "פתרון לבעיה (כנראה)"

שלום לך ידידי..


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

בכל אופן בנוגע לפסיקת INT1 רציתי לבשר לך שהיא עובדת ומסתבר שבסה"כ הייתי צריך לשנות משהו בתוכנה ולרשום בה בהגדרת הפונקצייה שלה interrupt 2 ולא interrupt1 כמו שכתבתי ואכן זה עובד ...
בכל אופן אני הרי יודע שברגע שיש פסיקה היא מבצעת את התוכנית שלה ומיד מסתיימת וחוזרת ל main, או שלא נכון הדבר...

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



#include <8052.h>

sbit at 0x96 AnswerPhone; //define the bit that responsible about lift the loading resistance into the line that confirm that we take control over the line
sbit at 0x92 Q1;
sbit at 0x93 Q2;
sbit at 0x94 Q3;
sbit at 0x95 Q4;
sbit at 0xB3 INT1;
sbit at 0x96 Answerphone;


int counter=0;
int flag=0;


void test7() interrupt 2;

void main()

{
int i=0;
Answerphone=0;
EA=1;
EX1=1;
while(1)
{
if (flag==1)
{
i++;
flag=0;
continue;
}
if(i==2)
break;
}
Answerphone=1;
}

void test7 () interrupt 2
{
flag=1;
}


אך הדבר לא מזיז לי כלום על אף שאני נותן נגיעות קלות בפסיקה שלי על 0 לוגי, אז יכול להיות שאני GK מפספס משהו ?, כי בתוכנית הראשית שלי יש לי פונקציית פסיקה עם פסיקת 0 שבה כאשר ישנה לחיצה על מקש היא מקבלת רמה לוגית נמוכה , אז אני יכול להניח מכך שהפסיקה שלי עובדת בירידת שעון ? או שלמען הבטחון אני ידאג לכך במצב שבו אני ישנה את אוגר
TCON

חוץ מזה רציתי להיעזר בך לסיום אם אפשר בעניין של הדוחף הזרם שבמכתבי הקודם לא ציינתי את סוגו אז הוא מסוג
ULN2803A
ובקשר לקטע שהוא לא עובד, הכנסתי לו 1 לוגי בכניסה ובאופן עקרוני לפי המבנה הפנימי שלו הייתי אמור )לראותו עובד (היה פורץ את הצמד ומעניק זרם שכתוצאה מזה שהיה גבוה היה נכנס לרווייה מהר...
, בכל אופןאז כאשר שמתי לו 1 לוגי הוא בכלל לא קיבל אותו בכניסתו אל שם לי רמה של 0.2 וולט בערך אולם עם נגד כניסה הוא שם 5 וולט אז מה הקטע? , כי אם יש נגד כבר ברכיב זה בבסיס הצמד אז למה עלי להוסיף עוד אחד...?

תודה לעזורים
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 09-08-2010, 13:00
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 3 שנכתבה על ידי שחפון10 שמתחילה ב "שלום...ותודה"

אני אענה רק על החלק של התוכנה.

אני עובד עם בקר 8051, אבל עברתי על הקוד שלך וראיתי שהוא זהה לצורה שבה כותבים ל8051 ככה שלא תהיה בעיה להתאים את זה.


רגלי INTERRUPT יכולות לעבוד ב2 צורות:

  1. כאשר ברגל יש '0'. (כל עוד זה לא חוזר ל'1', הפסיקה תתבצע שוב ושוב ושוב)
  2. כאשר ברגל יש ירידה (מעבר מ'1' ל'0')
בקישור הבא יש נוסחאון למיקרו בקר 8051:
http://elecomp.cet.ac.il/elecomp/te...cro%20bakar.pdf

אתה צריך את עמודים 4,6-7 בנוסחאון הנ"ל.


וכעת נעבור לקוד הבסיסי שיעשה את מה שביקשת:

קוד:
1: int times; 2: 3: void test() interrupt 2 { 4: times++; 5: } 6: 7: void main() { 8: times = 0; 9: EA = 1; 10: IT1 = 1; 11: EX1 = 1; 12: 13: while(1); 14: }





שורה 1: הגדרת משתנה גלובאלי (נגיש מכל מקום בקוד) בשם times שייעודו הוא למנות את מספר הפעמים שניכנסים לפסיקת INT1.


שורה 3: הגדרת פונקציה בשם test שתופעל רק כאשר תתקבל פסיקה במקור מספר 2.
לפי דפי הנוסחאות שצירפתי, עמוד 7, טבלה ימנית למטה - לפי סדר ההופעה:

External 0 - מקור 0
Timer 0 - מקור 1
External 1 - מקור 2


שורה 4: קידום המשתנה counter ב1.


שורה 5: סוף פונקציית פסיקה.


שורה 7: הגדרת הפונקציה הראשית של התוכנה main.


שורה 8: איפוס המשתנה times.


שורה 9: איפשור פעולה של כל הפסיקות הקיימות במיקרו-בקר.


שורה 10: הגדרת פסיקה INT1 לעבוד רק בירידה.
כאשר IT1 = 0 הפונקציה תופעל כל עוד רגל פסיקה חיצונית 1 נימצאת ב'0'.
כאשר IT1 = 1 הפונקציה תופעל אך ורק כאשר רגל פסיקה חיצונית 1 תהיה בשינוי בין '1' ל'0'.

(עמוד 4 בנוסחאון)


שורה 11: איפשור פסיקה ספציפית - פסיקה חיצונית 1.


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


שורה 14: סוף פונקצייה ראשית.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 09-08-2010, 16:09
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
תודה רבה ועדיין אני צריך את עזרתכם...
בתגובה להודעה מספר 4 שנכתבה על ידי MatiM שמתחילה ב "אני אענה רק על החלק של..."

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


פרט לכך אשמח אם מישהו יוכל לתת לי תשובה סופית לגבי הפורטים במיקרו בקר של 8051 בכלל ושל at89s52 בכלל כי אני יודע שבמוצאים ישנו open drain שלפי מה ששמעתי עובד באותו עיקרון מוחלט כמו של open collector אז השאלה שלי איך בדיוק פורטים אלו יכולים להוציא מתחים ולשמש ככניסות....

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

תודה רבה
שחף
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 09-08-2010, 16:27
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 5 שנכתבה על ידי שחפון10 שמתחילה ב "תודה רבה ועדיין אני צריך את עזרתכם..."

בנוגע לספירה,

אתה יכול לכתוב את הקוד שלה בתוך פונקציית הINTERRUPT.

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


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


בנוגע לשאר השאלות שלך, אני לא יכול לענות לך (חוסר ידע).

המשך יום טוב.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 09-08-2010, 17:17
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
תודה רבה ועדיין אני צריך את עזרתכם...
בתגובה להודעה מספר 4 שנכתבה על ידי MatiM שמתחילה ב "אני אענה רק על החלק של..."

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


פרט לכך אשמח אם מישהו יוכל לתת לי תשובה סופית לגבי הפורטים במיקרו בקר של 8051 בכלל ושל at89s52 בכלל כי אני יודע שבמוצאים ישנו open drain שלפי מה ששמעתי עובד באותו עיקרון מוחלט כמו של open collector אז השאלה שלי איך בדיוק פורטים אלו יכולים להוציא מתחים ולשמש ככניסות....

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

תודה רבה
שחף
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 09-08-2010, 23:58
  משתמש זכר DigiGil DigiGil אינו מחובר  
 
חבר מתאריך: 20.10.06
הודעות: 202
שלח הודעה דרך MSN אל DigiGil
פיגוע תשובות לשאלות שלך
בתגובה להודעה מספר 7 שנכתבה על ידי שחפון10 שמתחילה ב "תודה רבה ועדיין אני צריך את עזרתכם..."

היי שחף,
השעה קצת מאוחרת לי אז הנה כמה תשובות קצר ולעניין:
Open drain דומה במהותו ל-Open collector.
כדי להוציא מתחים מפורטים כאלו אתה צריך לחבר אליהם נגדי משיכת-על (Pull-ups). חבר נגד של 10K בין כל פין מוצא לבין ה-VCC והפורט יתחיל לעבוד..
כאשר אתה רוצה להשתמש בפורט כמבוא (Input), קודם כל אתה מוציא אל כל הפינים "1" לוגי (רושם 255 אל הפורט) ואז אתה יכול להתייחס לפורט כ-Input ולקרוא ממנו ערכים..
הדוחף-זרם שבו השתמשת (ULN2003) פשוט מאד לשימוש, תחשוב עליו כ"דרלינגטון שהוא Open collector" (אם תסתכל בסכמה הפנימית שמופיעה בדפי נתונים תבין על מה אני מדבר).
כאשר אתה נותן "0" במבוא שלו אז המוצא שלו "צף", אם אתה רוצה שיהיה שם מתח "מוחלט" כלשהו אז פשוט חבר שם נגד שצידו השני מחובר ל-VCC (בקיצור, נגד Pullup).
כאשר אתה נותן "1" במבוא של דוחף הזרם אז המוצא שלו "מתחבר לאדמה" ומאפשר לך להזרים דרכו זרם של עד חצי אמפר.
יכול להיות שהכינויים מבוא ומוצא (In ו-Out) בקשר לדוחף הזרם הזה הם לא כל-כך אינטואיטיביים, אבל אתה בתחום האלקטרוניקה ולכן אתה חייב להתרגל לקרוא דפי-נתונים.. פתח את דפי הנתונים של הרכיב ותסתכל על המבנה הפנימי שלו, אתה תזהה שם חיבור דרלינגטון ותראה את המבוא והמוצא. זה אמור להבהיר לך כיצד אתה צריך להשתמש ברכיב הזה.
רק כדי שלא תבזבז על הנושא הזה עוד זמן, להלן תמצית החיבור בין דוחף הזרם לבין הממסר:
המבוא של דוחף הזרם מתחבר לאחד מקווי ה-I/O של המיקרובקר. המיקרובקר ישלוט על פעולתו.
המוצא של דוחף הזרם מתחבר אל אחד ההדקים של הממסר.
ההדק השני של הממסר מחובר קבוע ל-VCC.
נגד Pullup בערך של כ-10K אום מחובר בין יציאת דוחף-הזרם לבין ה-VCC.
כאשר המיקרובקר יוציא "1" אל דוחף-הזרם הוא יפעיל אותו ואז הדרלינגטון הפנימי יכנס לרוויה ויחבר מבחינה חשמלית את ההדק של הממסר אל האדמה (זה לא מדויק לגמרי אבל נוח בשביל ההסבר).
ההדק השני של הממסר מחובר ל-VCC, לפיכך יווצר מצב שלממסר יש גם ממתח חיובי (VCC) וגם ממתח שלילי (דרך הדוחף-זרם) וזה יספיק לו על-מנת להכנס לפעולה.
כאשר המיקרובקר יוציא "0" אל עבר דוחף-הזרם אז פעולתו תיפסק ואז המתח על הדק הממסר יהיה VCC (דרך נגד ה-Pullup) וגם על ההדק השני של הממסר יש VCC (הוא מחובר קבוע) ולפיכך לא יהיה הפרש פוטנציאלים והממסר יפסיק יעבוד..

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

בברכה,
דיגיגיל
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 10-08-2010, 11:08
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
המשך שאלות ותשובות..
בתגובה להודעה מספר 9 שנכתבה על ידי Boltik שמתחילה ב "תיקון קטן: אין צורך בנגד PULL..."

קודם כל תודה רבה חבר'ה על העזרה אני מעריך את זה מאוד...


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


בנוגע לפורטים במיקרו בקר אני יודע מלימודיי שהפורטים הם כבר בעלי נגדי PULLUP מובנים כלומר אני יודע שבגלל שיש שם fet ביציאה מהםינים אז על מנת שהם יהווה כמוצא בסה"כ הנגד נוטתן להם להבין את המשמעות של 1 ו 0 לוגי... השאלה שלי היא קודם כל איך בדיוק משתמשים ברגלים אלו ככניסה כי ממש לא הבנתי בנוגע ל"255" המדובר ומתנצל וחוץ מזה ראיתי שב 1 לוגי הדוחף מקבל בסה"כ מהפורט 50 מיקרו אמפר אז איך אוכל להפעיל את הדוחף בקלות? (אפשר לחבר נגד pu לפני הכניסה לדוחף...????)*)


תודה רבה שחף
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 16-08-2010, 16:40
  שחפון10 שחפון10 אינו מחובר  
 
חבר מתאריך: 14.05.10
הודעות: 25
המשך שאלות....
בתגובה להודעה מספר 12 שנכתבה על ידי שחפון10 שמתחילה ב "תודה רבה לכולכם.. המשך"

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

כאמור הפורטים הינם יכולים להיות כניסות ויציאות אבל שוב פעם איך אני יכול להפוך פורט לכניסה (פשוט כתיבה שונה בהשמה בתוכנה שאני עושה???? כנ"ל לגבי היציאה???)
חוץ מזה אני קראתי שברמה של 1 לוגי יוצא זרם של 60 מיקרו אמפר בערך אך זרם זה הפעיל לי לד שחיברתי אליו יחסית לאדמה , אני יודע שזה ישמע מוזר מאוד אבל זה אפשרי או שבגלל שרמה של 1 לוגי של הפורט זה בערך 5 וולט ולכן הלד עבד ללא תלות בזרם ??? כי בתכלס על אף חוקי חשמל עדיין הזרם ברמה של 1 לוגי זה 60 מיקרו אמפר אז איך הלד נדלק אם ככה....
וזאתצ אני שואל בגלל שכשאר הדוחף זרם שלי לא עבד בזמנו פשוט מה שעשיתי זה חיברתי נגד pullup חיצוני במוצאו אך עדיין הדבר לא עבד על אף ששינה ערכי מוצא אז למה בעצם אז הדוחף לא עבד או שכן הוא עבד ופשוט לא שמתי לב...???
כנ"ל לגבי רמת ה 0 לוגי שמוציא הפורט שלפי דפי הנתונים מפיק זרם מוצא של 1.6 מילי אמפר או שזה שוב פעם זרם גבוהה יחסית שיכול בערך להפעיל לד קטן שצורך לפחות בסביבות 2 עד 3 מילי אמפר...
אז למה במצב כזה הלד לא ידלק על אף הזרם...
כלומר מתי הזרם בכללי של הפורטים משחק מבחינתנו תפקיד בפעלת רכיבי פריפרייה שנחבר אליו...
תודה רבה לעוזרים....
שחף
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 16-08-2010, 22:40
  Elim Elim אינו מחובר  
 
חבר מתאריך: 10.10.07
הודעות: 2,500
בתגובה להודעה מספר 13 שנכתבה על ידי שחפון10 שמתחילה ב "המשך שאלות...."

ב 8051, מבנה הפורטים הוא כלהלן:
לכל פורט יש שני רגיסטרים שממופים לאותה כתובת: רגיסטר יציאה (ניתן רק לכתוב אליו) ורגיסטר כניסה (שניתן רק לקרוא ממנו).
מרגיסטר היציאה יש דוחף מסוג Open Drain, כך שאם אתה כותב "0", הוא ימשוך את הפין ל "0" ואם תכתוב "1", אז הפין ישאר צף (במצב זה, PULLUP פנימי דואג למשוך את הפין ל "1"). רגיסטר הכניסה משקף את מצב הפינים בפועל.
כדי שהפין יתפקד ככניסה, צריך רק לכתוב לרגיסטר המוצא "1". במצב זה - אם מישהו חיצוני ימשוך את הפין ל "0" - אתה תראה זאת ברגיסטר הכניסה.
לגבי הזרמים (60 מיקרו ו 1.6 מילי) - אלו הנתונים למתחי מוצא של 3.5V ו 0.45V בהתאמה בלבד. אם תחבר לד בין המוצא לאדמה, אז כשתכתוב "1" למוצא הלד יאלץ מתח נמוך יותר (תקבל במוצא את מתח הלד - כ 1.5V) וזרם מוצא גבוה יותר - כך שזה יפעיל את הלד (אם כי חלש).

רק להבהרה: כתיבה לפורט נכתבת בפועל לרגיסטר היציאה. קריאה מהפורט מתבצעת בפועל מרגיסטר הכניסה.
_____________________________________
Elim


נערך לאחרונה ע"י Elim בתאריך 16-08-2010 בשעה 22:43.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 19:50

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר