facebook pixel מדריך: נגדי Pull-up - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

נגדי Pull-up


2023-05-21 16:55:20
מאמר מתורגם. מקור: Pull-up Resistors

מבוא


"חיבור נגד pull-up לקו של מיקרו-בקר"

נגדי Pull-up מאוד נפוצים בשימוש עם מיקרו-בקרים (MCUs) או עם כל רכיב דיגיטלי אחר. מדריך זה יסביר מתי ואיפה צריך להשתמש בנגדי pull-up ואחרי זה נעשה חישוב פשוט כדי להראות למה נגדי pull-up חשובים.


מדריכים מומלצים:

מושגים שכדאי להכיר לפני שממשיכים:


מהו נגד pull-up

נניח שיש לכם מיקרו-בקר עם רגל אחת מוגדרת ככניסה. אם שום דבר לא מחובר לרגל זו והתוכנה שלכם מבצעת קריאת מצב הקו, האם התוצאה תהיה "1" לוגי (מתח VCC) או "0" לוגי (אדמה)? קשה לומר. תופעה זו נקראת רגל צפה (floating). כדי למנוע את המצב הלא ידוע הזה, נגד pull-up או pull-down יבטיח שהקו יהיה במצב "1" לוגי או "0" לוגי, תוך שימוש בזרם נמוך.

כדי לפשט, נתרכז בנגדי pull-up מכיוון שהם נפוצים יותר מנגדי pull-down. הם פועלים בצורה דומה, חוץ מהעבודה שנגדי pull-up מחוברים למתח (בדרך כלל 3.3V או 5V המכונים כ-VCC), ונגדי pull-down מחוברים לאדמה.

נגדי pull-up בדרך כלל בשימוש עם כפתורים ומפסקים.
"נגד pull-up עם כפתור"

עם נגד pull-up, קו הכניסה יקרא את ה-"1" לוגי כשהכפתור לא לחוץ. במילים אחרות, זרם קטן זורם בין ה-VCC וקו הכניסה, כך שהקריאה של קו זה תראה שהיא מרגישה "1" לוגי, מתח שקרוב ל-VCC. כשהכפתור לחוץ, הוא מחבר את רגל הקו ישירות לאדמה. הזרם יזרום דרך הנגד לאדמה, כך שקריאה של הקו תראה "0" לוגי. שימו לב, שאם הנגד לא היה שם, הכפתור היה מחבר את ה-VCC לאדמה, שזה לא טוב בכלל וידוע כקצר.

אז מה ערך הנגד שצריך לבחור?

תשובה הקצרה והפשוטה היא שתרצו נגד בסדרי גודל של 10kΩ בתור נגד pull-up.

נגד pull-up עם ערך נמוך נקרא נגד משיכה חזק (יותר זרם זורם), נגד pull-up בערך גבוה נקרא נגד משיכה חלש (פחות זרם זורם).

"נגד pull-up עם כפתור ועכבת כניסה של קו מיקרו-בקר"


צריך לבחור את הערך של נגד pull-up כדי שיעמוד בשני התנאים:

  1. כשהכפתור לחוץ, הקו ימשך ל-"0" לוגי (אדמה). הערך של נגד R1 יקבע כמה זרם יזרום מ-VCC, דרך הכפתור, לאדמה.
  2. כשהכפתור לא לחוץ, הקו ימשך ל-"1" לוגי (VCC). הערך של נגד ה-pull-up יקבע את המתח על רגל הכניסה.

לתנאי הראשון, אתם לא רוצים שערך הנגד יהיה נמוך מדי. כמה שהערך יהיה נמוך יותר, כך יותר הספק יהיה בשימוש כשהכפתור נלחץ. בדרך כלל רוצים נגד בערך גבוה (10kΩ), אבל לא רוצים שהוא יהיה גבוה מדי כי אז זה מתנגש עם התאי השני. גם נגד של 4MΩ יכול לשמש כנגד pull-up, אבל ההתנגדות שלו תהיה גבוהה מדי (משיכה חלשה) שהוא עלול לא לבצע את העבודה שלו ב-100% מהזמן.

כלל אצבע לתנאי 2 הוא להשתמש בנגד pull-up R1 שיהיה בסדר גודל אחד (1/10) קטן יותר מהעכבה (input impedance) - R2 של קו הכניסה. לקווי הכניסה של מיקרו-בקר יש עכבה שיכולה להיות בערכים בין 100k ל-1MΩ. לצורך דיון זה, העכבה היא דרך מהודרת לומר שזו התנגדות והיא מיוצגת ע"י R2 בשרטוט הקודם. אז כשהכפתור לא לחוץ, זרם נמוך זורם מ-VCC דרך נגד ה-R1 לתוך קו הכניסה. נגד ה-pull-up R1 ועכבת הכניסה של הקו R2 מחלקים את המתח והמתח צריך להישאר מספיק גבוה כדי שקו הכניסה יקרא מצב של "1" לוגי. (TODO Logic Levels).

לדוגמה, אם נשתמש בנגד של 1MΩ בתור נגד pull-up והעכבה R2 היא בסדרי גודל של 1MΩ (שמייצרת מחלק מתח), המתח על קו הכניסה יהיה בערך חצי מה-VCC, והמיקרו-בקר עלול לא לזהות את המתח כ-"1" לוגי. במערכת של 5V, מה המיקרו-בקר רואה בקו הכניסה אם מחובר אליו 2.5V? האם זה "1" לוגי או "0" לוגי? המיקרו-בקר לא ממש יודע ואתם עלולים לקבל לפעמים "1" ולפעמים "0" לוגי. נגד R1 בערכים בין 10k ל-100kΩ אמור למנוע את רוב הבעיות.

מכיוון שנגדי pull-up כל כך נחוצים, להרבה ממיקרו-בקרים, כמו ה-ATmega328 של סביבת ה-Arduino, יש נגדי pull-up פנימיים שאפשר לאפשר או לבטל. כדי לאפשר נגדי pull-up בכרטיס Arduino, תוכלו להוסיף את שורת הקוד הזו לתוך פונקציית ה-()setup:


pinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5

עוד דבר שצריך לשים אליו לב, הוא שכמה שערך נגד ה-pull-up יהיה גבוה יותר, כך תגובת הקו על שינויי מתח תהיה איטית יותר. הסיבה לכך היא שהמערכת שמזינה את קו הקלט היא למעשה קבל יחד עם נגד pull-up, כך שהם יוצרים מסנן RC, ומסנני RC לוקחים קצת זמן כדי להטעין ולפרוק את המטען. אם יש לכם אות שמשתנה ממש מהר (כמו ה-USB לדוגמה), נגד pull-up בערך גבוה יגביל את המהירות בה הקו יכול לשנות את המצב בצורה אמינה. זו הסיבה שבגללה לרוב תראו נגדי pull-up בערכים בין 1k ל-4.7KΩ על הקווים של USB.

כל הגורמים האלה משפיעים על ההחלטה איזה ערך נגד pull-up לבחור.


חישוב ערך נגד ה-pull-up

"נגד pull-up עם כפתור"


בואו נגיד שאתם רוצים להגביל את הזרם לבערך 1mA כשהכפתור לחוץ במעגל שבתמונה למעלה. ה-VCC הוא 5V. באיזה ערך הנגד תשתמשו?

יהיה פשוט להראות איך לחשב ערך נגד pull-up בעזרת חוק אוהם:
"V = I * R"

אם נתייחס לשרטוט שמעל, חוק אוהם אומר:
"Vcc = (Current through R1) * R1"

נסדר מחדש את המשוואה עם קצת אלגברה כדי לפתור אותה עבור הנגד:
"R1 = 5k"

זכרו להמיר את כל היחידות לוולט, אמפר ואוהם לפני החישוב (לדוגמה 1mA = 0.001A). הפתרון הוא להשתמש בנגד 5kΩ.


לאן ממשיכים?

עכשיו אתם אמורים להכיר מהו נגד pull-up ואיך משתמשים בו. כדי ללמוד עוד על רכיבי אלקטרוניקה והיישומים שלהם, בדקו גם את המדריכים הבאים:


מדריכים נוספים:

  • מדריך מחלקי מתח

    מחלקי מתח

    2023-05-18 14:55:10

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

  • מדריך איך משתמשים במטריצה

    איך משתמשים במטריצה

    2023-05-12 20:52:33

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

  • מדריך מה זה ארדואינו?

    מה זה ארדואינו?

    2023-05-07 11:35:53

    Arduino היא פלטפורמת קוד פתוח המשמשת לבניית פרויקטי אלקטרוניקה. Arduino מורכב ממעגל פיזי שאפשר לתכנת (בדרך כלל מכונה מיקרו-בקר (microcontroller)) וגם מתוכנה, או IDE - Integrated Development Environment - סביבת פיתוח משולבת, שרצה על המחשב שלכם ומשמשת לכתיבת והעלאת תוכניות לכרטיס הפיזי.

  • מדריך איזה מנוע אני צריך?

    איזה מנוע אני צריך?

    2023-01-22 19:55:46

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

  • מדריך איך משתמשים ברב-מודד

    איך משתמשים ברב-מודד

    2023-01-15 12:53:31

    מדריך זה יראה לכם איך משתמשים ברב-מודד דיגיטלי (DMM - Digital Multi Meter), כלי הכרחי שתוכלו להשתמש בו כדי לאבחן מעגלים אלקטרוניים, ללמוד על תכנון אלקטרוני של אנשים אחרים ואפילו לבדוק סוללה