הטרנזיסטור (Transistor) הוא רכיב פשוט יחסית, אך הוא מלווה בטרמינולוגיה שכאילו נועדה להקשות על החובב המתחיל. בפוסט זה אסתפק במינימום ההכרחי, כולל דוגמה קטנה, ואת ההבנה המעמיקה יותר נשמור לעתיד. זה לא אומר שזה יהיה קצר… 🙂
טרנזיסטור כמתג
בעולם החובבים, אנחנו נתקלים בטרנזיסטורים בדרך כלל כאשר מקור חשמל חלש, כגון פין פלט של מיקרו-בקר, צריך להפעיל צרכן חשמל גדול (כגון מנוע, פס לדים וכדומה). הטרנזיסטור הוא נקודת החיבור בין השניים, מעין מתג שמופעל על ידי הרכיב החלש ומעביר חשמל לרכיב החזק.
אנחנו יכולים להיעזר בטרנזיסטור כדי להעביר לרכיב המופעל או זרם חזק, או מתח שונה מזה של הרכיב המפעיל, או שניהם גם יחד. אם כל זה מזכיר לכם ממסר, אתם צודקים – עד לרמה מסוימת. מכל מיני סיבות שאין מקום לפרט כאן, מוטב לשמור את הממסרים לעבודות ה"כבדות" באמת, כגון חשמל ביתי, ולהיעזר בטרנזיסטורים למעגלים קטנים ועדינים יותר.
לטרנזיסטור הבסיסי, שבו ורק בו נעסוק כאן, יש שלוש רגליים: כניסה, בקרה ויציאה. רגל הבקרה היא זו שמשמשת כ"מתג" השולט, ואילו הכניסה והיציאה הן עבור אספקת החשמל הנשלטת, כאשר יש חשיבות לאיזו רגל מחברים את הפלוס ולאיזו את המינוס. עוד נקודה קריטית היא שלאספקת החשמל הנשלטת ולרכיב השולט צריכה להיות אדמה משותפת.
אופן החיבור
הטרנזיסטורים שנפוצים כיום בשוק בנויים באחת משתי טכנולוגיות עיקריות – BJT או FET – ובכל אחת מהן יש טרנזיסטורים מסוג NPN (או n-channel) ומסוג PNP (או p-channel). הרגליים של טרנזיסטורים בטכנולוגיית BJT נקראות Base, Collector, Emitter ואילו הרגליים של FET נקראות Gate, Drain, Source. הנה אופן החיבור הנכון של כל טרנזיסטור שכזה לצורך שימוש כמתג:
רגל Base/Gate היא תמיד רגל הבקרה
בטרנזיסטורים מסוג NPN/n-channel:
הרגל Emitter/Source מתחברת לאדמה
הרגל Collector/Drain מתחברת למתח החיובי
כאשר רגל הבקרה מופעלת, הטרנזיסטור מעביר זרם
בטרנזיסטורים מסוג PNP/p-channel:
הרגל Collector/Drain מתחברת לאדמה
הרגל Emitter/Source מתחברת למתח החיובי
כאשר רגל הבקרה מופעלת, הטרנזיסטור לא מעביר זרם
איך יודעים איזו רגל בטרנזיסטור היא כל אחת מהשלוש? מסתכלים ב-datasheet שלו. סידור הרגליים מופיע לעתים קרובות בדף הראשון, עם איור של הטרנזיסטור עצמו, ועדיין קל להתבלבל בין הצד הקדמי לאחורי שלו ולפיכך בין הרגל הימנית לשמאלית… אז חשוב לשים לב לכל סימן מזהה על גבי הרכיב, כגון צד מעוגל יותר, חלק מוגבה וכדומה. שמות הרגליים מקוצרים, לרוב, לאות הראשונה כפי שהדגשתי למעלה: B,C,E או G,D,S.
פרמטרים ומגבלות
טרנזיסטורים בטכנולוגיית FET מופעלים בהתאם למתח על רגל הבקרה שלהם, ולכן אפשר לחבר אותה ישירות למיקרו-בקר או למקור מתח אחר. בטכנולוגיית BJT, לעומת זאת, הטרנזיסטור מושפע גם מהזרם דרך רגל הבקרה, זאת אומרת שהוא בעצמו צורך זרם ואנחנו נרצה להגביל את הצריכה הזו. לכן נחבר את רגל הבקרה שלו דרך נגד. ערך הנגד המתאים תלוי בכל מיני גורמים שונים ומשונים. כאן, מכיוון שאנחנו מתעסקים בטרנזיסטורים כמתגים בלבד, ובמתחי עבודה של ארדואינו פחות או יותר, נסתפק בערך דומה לזה שהיינו שמים עבור נורית LED – בסביבות 220-1000 אום.
טרנזיסטורים מוגבלים במתח ובזרם שהם יכולים להעביר. את המגבלות האלה אפשר למצוא כמובן ב-datasheet (כפי שאראה בדוגמה בהמשך), ולא כדאי לנסות לעבור אותן או אפילו להתקרב אליהן, כי כשהטרנזיסטורים עובדים קשה, הם עלולים להתחמם מאד.
מגבלה חשובה קיימת עבור טרנזיסטורי PNP/p-channel: כדי לחסום את מעבר הזרם, המתח על רגל הבקרה צריך להיות קרוב למתח שמועבר או גדול ממנו. אם מתח הבקרה יהיה נמוך משמעותית (ו"במשמעותית" הכוונה כאן ל-0.6 וולט עד וולטים ספורים, בהתאם לדגם), הטרנזיסטור פשוט לא יפסיק להוליך.
מגבלה אחרונה ומהותית ביותר היא שמכל מיני סיבות חשמליות, כאשר אנחנו משתמשים בטרנזיסטור למיתוג של מתח גבוה יחסית למתח הבקרה, הרכיב המופעל (צרכן הזרם) צריך להיות מחובר בצד של ה-Collector/Drain של הטרנזיסטור, ולא בצד של ה-Emitter/Source. הטרנזיסטור הוא לא מפסק מכני שסתם סוגר מעגל, ואם תתעלמו מהכלל הזה תקבלו, במקרה הטוב, זרם חלשלוש. יש כל מיני טריקים ומקרים שבהם כן נרצה לחבר הפוך – אבל לא כאן ולא עכשיו.
דוגמה מהחיים
יש לי קטע קצר מפס לדים, שמיועד לעבוד במתח של 12V. יש לי גם ספק כוח שנותן לי 12V ומספיק זרם, אך אני מעוניין שהפס לא יאיר באור יציב אלא יהבהב פעם בשניה, כמו בפרויקט Blink הידוע. אני יכול להפעיל את הארדואינו באמצעות אותו ספק כוח, ואז אפילו להזין את הפס ישירות מפינים GND ו-Vin (זהירות כאן – שימו לב שזהו קטע קצר, לא מטרים שלמים!) אבל שום פין אחר לא מסוגל לתת לי את המתח ואת הזרם הדרושים, אז איך אפשר בכל זאת לשלוט בהבהוב?
בואו נבחר טרנזיסטור, ולשם כך נראה קודם כל באיזה זרם הוא צריך לעמוד. הנה מדידה במולטימטר של צריכת הזרם של קטע פס הלדים: 50 מיליאמפר.
אנחנו גם יודעים שהמתח הרצוי הוא 12V. אני שולף מקופסת החלקים שלי טרנזיסטור קטן וזול בשם 2N3904. כן, אותו אחד שהופיע בתמונה בתחילת הפוסט. זהו טרנזיסטור בטכנולוגיית BJT, מסוג NPN, והנה ה-datasheet שלו. כפי שכתוב שם מתחת לכותרת, הוא מתאים לזרמים של עד 100mA, ובשורה הראשונה של הטבלה הראשונה כתוב שהמתח המרבי בין ה-Collector ל-Emitter הוא 40V. מצוין!*
הרגליים של הטרנזיסטור הזה קרובות זו לזו יותר מאשר חורים במטריצה, אבל אפשר בקלות לכופף אותן קצת כדי שיתאימו. זהו מארז שמכונה TO-92, ושימו לב שלחלק השחור יש "בטן" בצד אחד, ואילו הגב שלו שטוח. נסתכל באיור שב-datasheet (השמאלי, בדף הראשון) ונראה שהרגל האמצעית היא ה-Base, זו שקרובה אלינו בצילום למעלה היא ה-Emitter והרחוקה היא ה-Collector.
נחבר את הרכיבים לפי כל הכללים למעלה: מכיוון שזה טרנזיסטור NPN, נחבר את ה-Emitter שלו לאדמה (שבמקרה זה, כמה נוח, היא ממילא ה-GND של ארדואינו אז לא צריך לחבר אדמות). את ה-Base נחבר דרך נגד של 330 אום לפין 13 (שמהבהב לנו אחרי שהעלינו את קוד Blink לארדואינו), את ה-Collector למינוס של פס הלדים, ואת הפלוס של הפס לפין Vin של הארדואינו. החשמל זורם, כביכול, מ-Vin דרך פס הלדים דרך הטרנזיסטור אל GND, וכמו שאמרנו קודם, הסדר הזה חשוב.
והנה, זה עובד:
* תוספת מאוחרת: בהסתכלות על מגבלות הזרם והמתח של טרנזסיטורים, חשוב לבחון לא רק כל נתון בנפרד, אלא גם את המכפלה שלהם – וואטים. אם נעמיס על הטרנזסיטור גם את המתח המקסימלי וגם את הזרם המקסימלי שלו, סביר להניח שהמכפלה שלהם תהיה גדולה בהרבה מיכולת ההתמודדות שלו, והוא יתחמם ויישרף תוך שניות.
היי עידו,
לא הצלחתי כל כך להבין למה משמש פין ה-Vin.
האם זהו פין שניתן להכניס אליו מתח ממקור חיצוני (סוללה למשל) וכך להפעיל את כרטיס הארדואינו? או שמא זהו פין שמחובר מבחינה חשמלית אל כניסת ה-Power Jack וממנו ניתן לספק מתח וזרם גבוהים יותר לצרכנים חיצוניים כמו מנועים וכו' שדורשים זרמים גבוהים?
תודה מראש!
גם ה-power jack וגם הפין Vin מובילים לאותו מקום (מייצב המתח ל-5V), אז שניהם יכולים להזין את הארדואינו עצמו. אבל בין ה-Power jack לשאר המעגל יש דיודת הגנה כך שאי אפשר להעביר מתח מ-Vin אליו אלא רק להיפך. חפש Arduino Uno Schematic כדי לראות איך זה בנוי בדיוק.
היי עידו,
במידה ואני מעוניין להשתמש בסביבת הפיתוח של הארדואינו ובנוסף לווסת מתח של 60V מסוללה חזקה אני חייב להשתמש בטרנזיסטור נכון?
כן, ואם אתה שואל שאלה כזו ומתעסק עם מתחים של 60V, אני ממליץ בחום לעבוד יחד עם מישהו שיש לו ניסיון בפרויקטים, סוללות ורכיבים כאלה. יהיו יותר פרטים שצריך לשים לב אליהם ממה שאתה חושב…
אהלן עידו , למען הסר ספק, הפעלת את הארדואינו בעזרת אות חילופין (מחולל אותות) נכון ?
אגב , האם יש יתרונות וחסרונות להזנת ארדואינו במתח AC או DC ?
בשום פנים לא לנסות להזין ארדואינו עם AC! כל המערכות הדיגיטליות מיועדות לעבודה עם DC בלבד, וגם אז, רק במגבלות הרכיבים שבהן.
רוב לוחות הארדואינו עובדים ב-5V, ומצוידים במייצב מתח שמסוגל להמיר מתחי כניסה של 7-12V, אם אלה מגיעים דרך החיבור השחור שמופיע בתמונות בפוסט או דרך פין Vin.
בגלל זה בלבל אותי , יש פין בארדואינו שנקרא Vin עד כמה שאני יודע זה אות חילופין שמופק ע"י מחולל אותות , אז אם אי אפשר להזין במתח AC ארדואינו מה זה אומר הפין הזה לא כל כך הבנתי , ובמדריך הזה חיברת את הפלוס של פס הלדים לפין Vin , הרי השתמשת בסוללה רגילה לא ?
אין קשר למחולל אותות – Vin הוא פשוט כניסה אופציונלית למתח חשמלי ממקור DC חיצוני.
בפוסט השתמשתי בכניסה אחרת, של הסוללה. מבחינה חשמלית, כניסת הסוללה וכניסת Vin מחוברות זו לזו, כך שבעצם גם הארדואינו וגם פס הלדים קיבלו את החשמל מהסוללה.
אז בסופו של דבר , למה קראו לפין הזה Vin ולא DC או משו אחר , כי המורה בכיתה אמר ש – Vin זה מתח חילופין ?
Vin זה פשוט V (מתח) ו-in (נכנס). במערכות מסוימות המתח הנכנס הוא אכן מתח חילופין, ואולי המורה התכוון למערכות מסוימות כאלה – אבל Vin זה ממש לא סימון אוניברסלי ל-VAC.
עידו , אני מודה לך מאוד מאוד על ההסברים והסבלנות , אני לא יודע מה קהילת המייקרים הייתה עושה בלעדייך (; .
אין דרך שהרדואינו יעשה את הפעולה של הטרנזיסטור?
לא, הארדואינו לא מסוגל לספק את הזרם ואת המתח שהלדים במקרה הזה צורכים.
כמו ש-NoamArduino אמר, לעתים קרובות אנחנו משתמשים בטרנזיסטורים כדי לשלוט בזרמים או מתחים שהארדואינו לא מסוגל לעמוד בהם.
חוץ מזה, לפעמים כל מה שהמעגל שלנו צריך הוא טרנזיסטור יחיד, ואז להשתמש בארדואינו זה כמו להכניס טרקטור הביתה בזמן ארוחת הצהריים כדי להעביר את המלח 🙂
היי
הארדואינו לא יכול להוציא עד 40 מיליאמפר?
איך הפעלת את הפס עם זרם של חמישים מיליאמפר?
תודה
40mA זו מגבלה של פיני הפלט/קלט של הארדואינו. אני חיברתי את הפס שבתמונה לפיני אספקת החשמל, שיכולים לתת יותר (בגבולות הסביר, וכתלות במקור החשמל של הארדואינו)
תודה על מדריך מפורט ושימושי מאוד!
האם זה משנה אם מחברים את הטרנזיסטור אחרי הלדים או לפני, זאת אומרת אפשר גם לחבר את הCollector לVin ואת הEmitter לאדמה?
אה, ועוד שאלה: למה הנגד? ואיך מחשבים מה ערכו?
בפסקה האחרונה לפני סעיף "דוגמה מהחיים" ציינתי איפה נכון לחבר טרנזיסטורים. במילים אחרות, מומלץ לשים NPN בין הצרכן לאדמה, ואילו PNP שמים בין הפלוס לצרכן.
הנגד מגביל את זרם הבקרה בטרנזיסטור BJT – אתה לא צריך ולא רוצה שזרם הבקרה יהיה גבוה ממש, רק שיספיק כדי "לפתוח את הברז" במידה הדרושה. חישוב מדויק של ערך נגד ייעשה לפי המפרט של דגם הטרנזיסטור הספציפי והפרמטרים שלו – לא משהו שאפשר לסכם בתגובה אחת… אבל שוב, ביישומים פשוטים אין טעם בכלל להיכנס לזה.