Bu yazıda ne yapacağız?
- Transistörün ne olduğunu ve anahtar gibi nasıl çalıştığını göreceğiz.
- E, B, C bacaklarını bulacağız (iki yaygın parçada sıra ters).
- Baz direncini hesaplayıp simülatörde deneyeceğiz.
- Arduino ile bir motoru diyotla, güvenli şekilde süreceğiz.
Neden işe yarar? Arduino pini en fazla birkaç on miliamper verebilir; motor, röle ya da LED şeridi çok daha fazlasını ister. Transistör, pindeki küçük sinyalle bu büyük akımı açıp kapatır.
Transistör nedir, ne işe yarar?
Transistör, küçük bir akımla çok daha büyük bir akımı açıp kapatan ya da büyüten, üç bacaklı bir yarı iletken parçadır.
- Anahtar: robotikte en çok bu iş için kullanılır. Pin HIGH olunca motor döner, LOW olunca durur.
- Yükselteç: mikrofon gibi zayıf bir sinyali büyütür.
- Dijital devreler: işlemcilerin içinde milyarlarcası anahtar gibi çalışır.
Kısaca: baza küçük bir akım girince kolektörden emitöre büyük bir akım akar.
Transistör nasıl çalışır?
NPN transistörde bazdan emitöre küçük bir akım (Ib) akınca kolektör ile emitör arasındaki yol açılır. Akan büyük akım yaklaşık Ic ≈ β × Ib olur; β (hFE) akım kazancıdır.
| Hal | Ne olur? | Anahtar olarak |
|---|---|---|
| Kesim | Ib = 0, yol kapalı | Kapalı |
| Aktif | Yol yarı açık, transistör ısınır | Kaçının |
| Doyum | Yol tam açık, VCE yaklaşık 0,3 V | Açık |
Anahtar olarak hedef hep kesim ya da doyumdur.
Transistör sembolü ve çeşitleri (NPN, PNP, MOSFET)
- NPN: yük ile GND arasına konur, pin HIGH olunca açılır. Arduino ile en kolayı.
- PNP: yükün + tarafına konur, baz LOW olunca açılır. Besleme 5 V'tan yüksekse ek devre ister.
- MOSFET: akımla değil kapı gerilimiyle sürülür; amper seviyesindeki yükler için daha iyidir.
Transistör bacakları nasıl bulunur? (E, B, C)
Bacak sırası parçaya ve üreticiye göre değişir. Düz yüz size bakarken, soldan sağa:
- PN2222A: E, B, C
- BC547: C, B, E
- P2N2222A: C, B, E (adı neredeyse aynı, sırası ters!)
Emin değilseniz datasheet'e bakın ya da multimetreyle ölçün (aşağıda).
Baz direnci nasıl hesaplanır?
Baz direnci (Rb) pini korur ve transistörü tam açar. Kural:
Ib = Ic / 10 (tam açık kalsın diye)
Rb = (5 V - 0,7 V) / Ib
Örnek: 150 mA çeken motor. Ib = 15 mA, Rb = 4,3 / 0,015 = 287 Ω. Bir alt standart değer: 270 Ω.
- Neden Ic/10? β parçadan parçaya ve sıcaklıkla değişir. PN2222A datasheet'i doyum gerilimini zaten bu koşulda verir: 150 mA'de 15 mA baz akımı.
- Pin sınırı: ATmega328P'de (Arduino Uno) pin başına mutlak sınır 40 mA, datasheet'in test koşulu 20 mA. Ib 20 mA'i geçecekse BJT yerine MOSFET kullanın.
Simülatör: LED, motor ve röleyi transistörle sürmek
Şunu deneyin: Motor seçin, pini HIGH yapın ve baz direncini 10 kΩ'a çekin. Motorun yavaşladığını ve transistördeki ısının arttığını görün. Sonra diyotu kaldırıp pini LOW yapın.
Burada bir NPN transistör simülatörü ve baz direnci hesaplayıcısı var; JavaScript ile çalışır. Açılmadıysa yukarıdaki formül aynı hesabı yapar.
Arduino ile transistörle motor sürme
Malzeme: Arduino Uno, PN2222A, 270 Ω, 1N4001 diyot, küçük DC motor (en çok 150 mA çalışma akımı), motor için ayrı pil.
- Emitör GND'ye, baz 270 Ω ile pin 9'a; motor pilin + ucu ile kolektör arasına.
- Diyot motorun iki ucuna, çizgili ucu + tarafa.
- Pilin eksisi Arduino GND'ye.
// Transistörle motor hızı (Arduino Uno)
// Pin 9 -> 270 Ω -> PN2222A baz. Motor: +V ile kolektör arasında.
// 1N4001 diyot motorun uçlarına: çizgili uç +V tarafına. Emitör ve Arduino GND ortak.
const int MOTOR_PIN = 9; // PWM pini (~ işaretli)
void setup() {
pinMode(MOTOR_PIN, OUTPUT);
}
void loop() {
// Yavaşça hızlan: 0 (dur) ... 255 (tam hız)
for (int hiz = 0; hiz <= 255; hiz += 5) {
analogWrite(MOTOR_PIN, hiz);
delay(40);
}
delay(1000); // tam hızda 1 saniye
// Yavaşça yavaşla
for (int hiz = 255; hiz >= 0; hiz -= 5) {
analogWrite(MOTOR_PIN, hiz);
delay(40);
}
delay(1000); // 1 saniye dur
}
analogWrite pini Uno'da saniyede yaklaşık 490 kez açıp kapatır (PWM); açık kalma oranı hızı belirler. Motorlar hakkında daha fazlası: DC motor nasıl çalışır?
Diyot neden şart? Motor bir bobindir. Transistör kapanınca bobindeki akım bir anda duramaz ve yüksek bir gerilim sıçraması üretir. Diyot bu akıma motorun etrafında dönüp sönecek bir yol açar, transistörü korur. Röle bobini için de aynısı geçerli: Röle nedir?
Motor kalkarken ve sıkıştığında, dönerken çektiğinden çok daha fazla akım çeker. Transistörü bu akıma göre seçin.
Transistör ile MOSFET arasındaki farklar
| NPN (PN2222A) | Mantık seviyeli MOSFET (IRLZ44N) | |
|---|---|---|
| Sürme | Baz akımı (Ic/10) | Kapı gerilimi |
| Açıkken | VCE 0,3-1 V | RDS(on) 0,025 Ω (VGS 5 V) |
| Arduino pininden sürülen yük | Yaklaşık 200 mA'e kadar (Ib en çok 20 mA) | Amper seviyesi |
| Ne zaman? | LED, küçük motor, röle | Büyük motor, LED şeridi |
Mantık seviyeli MOSFET'in datasheet'i RDS(on) değerini 5 V ya da daha düşük kapı geriliminde verir.
Transistör nasıl ölçülür? (sağlamlık kontrolü)
Multimetreyi diyot ölçüm konumuna alın. NPN için:
| Kırmızı uç | Siyah uç | Sağlam transistörde |
|---|---|---|
| B | E | Yaklaşık 0,6-0,7 V |
| B | C | Biraz daha düşük bir değer |
| E veya C | B | OL (geçirmez) |
| C ↔ E | iki yön | OL |
İki okumadan biraz daha yüksek olan B-E çiftidir; bacakları böyle de ayırt edebilirsiniz. Bir çift iki yönde de 0'a yakın okuyorsa transistör kısa devre olmuştur. Ölçüm için: Multimetre nasıl kullanılır?
Sık yapılan hatalar
| Belirti | Sebep | Çözüm |
|---|---|---|
| Motor hiç dönmüyor | GND'ler birleşik değil ya da bacaklar ters | Pil eksisini Arduino GND'ye bağlayın, bacak sırasını kontrol edin |
| Transistör çok ısınıyor | Tam açılmıyor (Rb büyük) ya da akım fazla | Rb'yi Ic/10 kuralıyla hesaplayın, gerekirse MOSFET |
| Arduino resetleniyor | Motor Arduino'nun 5 V'undan besleniyor, diyot yok | Motora ayrı pil, diyotu ekleyin |
| Transistör birkaç denemede bozuldu | Diyot yok, kapanırken gerilim sıçraması | 1N4001 diyotu motora ters yönde takın |
| Modüldeki MOSFET 5 V ile tam açılmıyor | Mantık seviyeli değil (ör. IRF520: RDS(on) yalnız 10 V'ta verilmiş) | Mantık seviyeli MOSFET seçin |
Kaynaklar
Erişim: 17 Ekim 2026
- onsemi (Fairchild), PN2222A datasheet: TO-92 E-B-C, 500 mA'e kadar anahtarlama, 625 mW, VCE(sat) 0,3 V (150 mA / 15 mA) ve 1,0 V (500 mA / 50 mA), hFE.
- onsemi, BC546/BC547/BC548 datasheet: bacaklar 1 kolektör, 2 baz, 3 emitör; IC 100 mA; VCE(sat) değerleri.
- onsemi, P2N2222A datasheet: bacaklar 1 kolektör, 2 baz, 3 emitör.
- Microchip, ATmega328P datasheet: pin başına mutlak sınır 40 mA, 20 mA test koşulu.
- Arduino Docs, analogWrite(): Uno PWM pinleri ve 490 Hz.
- Infineon, IRLZ44N datasheet: RDS(on) 0,025 Ω (VGS 5 V), VGS(th) 1-2 V.
- Vishay, IRF520 datasheet: VGS(th) 2-4 V, RDS(on) yalnız VGS 10 V'ta.
- Vishay, 1N4001-1N4007 datasheet: 1 A diyot.
- T. Kuphaldt, Lessons in Electric Circuits, Cilt III: Diyotlar, bobin sıçraması ve koruma diyotu ve Transistörün multimetreyle kontrolü.