Temeller · 13 dk okuma

Kondansatör Nedir? Çeşitleri, 104 Kodu ve RC Zaman Sabiti

Kondansatör nedir, ne işe yarar? pF, nF, µF birimleri, seramik ve elektrolitik farkı, 104 kodu, τ = R·C, 100 nF dekuplaj ve Arduino ile şarj eğrisi deneyi.

Kondansatör (kapasitör), elektrik yükünü birbirine değmeyen iki iletken levha arasında depolayan ve gerektiğinde çok hızlı biçimde geri veren temel bir devre elemanıdır. Onu küçük ama çok hızlı bir enerji deposu gibi düşünebilirsin: gerilim düştüğünde devreye yük verir, ani dalgalanmaları yutar, doğru akımı (DC) dolduktan sonra durdurur ama alternatif akımı (AC) ve gürültüyü geçirir. Arduino Uno'nun üzerinde bile çok sayıda kondansatör vardır; besleme hattını sakinleştirmek, butonların zıplamasını önlemek, zamanlama yapmak ve PWM sinyalini düzgün bir gerilime çevirmek için kullanılırlar.

Bu rehberde kondansatörün nasıl çalıştığını, pF, nF ve µF birimlerini, seramik, elektrolitik ve tantal türleri arasındaki farkı, kutup ve voltaj değerini okumayı, üzerindeki 104 gibi kodların ne anlama geldiğini, RC zaman sabitini (τ = R·C) ve seri-paralel bağlamayı öğreneceksin. Sonunda Arduino, ESP32 ve Raspberry Pi Pico ile kondansatörün şarj eğrisini çizip kapasitesini ölçen bir deney yapacağız.

Farklı değerlerde elektrolitik kondansatörler
Alüminyum elektrolitik kondansatörler: kapasite ve voltaj gövdeye açıkça yazılır (ör. 470 µF 16 V). Gövdedeki açık renkli şerit eksi (−) bacağı gösterir.

Kondansatör nedir, nasıl çalışır?

Her kondansatörün içinde, aralarında dielektrik denen yalıtkan bir katman bulunan iki iletken yüzey vardır. Uçlarına gerilim uyguladığında bir levhada elektronlar birikir, diğerinden ise elektronlar çekilir; levhalar arasında bir elektrik alanı oluşur ve enerji bu alanda saklanır. Depolanan yük Q = C · V formülüyle bulunur: C kapasite (farad), V gerilimdir (volt). Saklanan enerji ise E = ½ · C · V² kadardır; örneğin 16 V'a kadar dolmuş 1000 µF'lık bir kondansatör 0,128 joule tutar. Akım ile gerilim arasındaki ilişki I = C · ΔV/Δt şeklindedir: kondansatör geriliminin aniden değişmesine karşı koyar ve bu yüzden dalgalanmaları yumuşatır.

Kondansatörü bir su deposuna benzetebilirsin: boşken hızla dolar, doldukça akış yavaşlar ve sonunda durur. Bu yüzden DC devrede kondansatör dolduktan sonra üzerinden akım geçmez. Frekans yükseldikçe ise kondansatör akıma daha az karşı koyar; bu karşı koyuşa kapasitif reaktans denir ve Xc = 1 / (2π · f · C) ile hesaplanır. 100 nF'lık bir kondansatör 1 kHz'de yaklaşık 1,6 kΩ gösterirken 10 MHz'de yalnızca 0,16 Ω gösterir. Yani yüksek frekanslı gürültü için neredeyse kısa devredir; dekuplaj kondansatörlerinin işe yaramasının sırrı budur.

Kapasite birimleri: pF, nF ve µF

BirimSembolFarad karşılığıTipik kullanım
PikofaradpF10⁻¹² FKristal yanındaki 22 pF, RF devreleri
NanofaradnF10⁻⁹ F100 nF dekuplaj, 10 nF gürültü filtresi
MikrofaradµF10⁻⁶ F10–1000 µF besleme ve motor kondansatörleri
FaradF1 FSüper kondansatörler, yedek enerji

Farad çok büyük bir birim olduğu için elektronikte neredeyse hep küçük katları kullanılır. Dönüşüm kuralı basittir: her basamak 1000 kattır. 1 µF = 1000 nF = 1.000.000 pF; dolayısıyla 0,1 µF, 100 nF ve 100.000 pF aynı değerdir. Klavyede µ harfi bulunmadığında yerine u yazılır (10uF), eski şemalarda ise mikrofarad için MFD kısaltmasını görebilirsin. Arduino projelerinde en sık karşılaşacağın değerler 22 pF, 100 nF (0,1 µF), 10 µF, 100 µF ve 1000 µF'dır.

Kondansatör çeşitleri: seramik, elektrolitik, tantal ve diğerleri

TürKapasite aralığıKutuplu mu?Nerede kullanılır?
Seramik (MLCC, mercimek)1 pF – 100 µFHayırDekuplaj, kristal, yüksek frekans filtresi
Alüminyum elektrolitik0,1 µF – on binlerce µFEvetBesleme filtresi, motor, servo, LED şerit
Tantal0,1 µF – birkaç yüz µFEvetKüçük kartlarda kararlı besleme
Film (polyester, polipropilen)1 nF – 10 µF civarıHayırSes, zamanlama, şebeke filtresi
Süper kondansatör0,1 F – yüzlerce FEvetSaat (RTC) yedekleme, kısa süreli enerji
  • Seramik: Küçük, ucuz ve kutupsuzdur. İç direnci (ESR) çok düşük olduğu için hızlı gürültüyü en iyi bunlar süzer. Kararlılık dielektrik türüne bağlıdır: C0G (NP0) çok kararlıdır, X7R iyidir, Y5V ise sıcaklık ve uygulanan gerilimle değerinin yarısından fazlasını kaybedebilir.
  • Alüminyum elektrolitik: Küçük hacimde büyük kapasite sunar ama kutupludur ve içindeki sıvı zamanla kurur. Gövdesinde 85 °C ya da 105 °C sınırı ve bu sıcaklıktaki ömrü (ör. 2000 saat) yazar; kabaca her 10 °C daha serin çalıştığında ömrü iki katına çıkar.
  • Tantal: Aynı kapasitede elektrolitikten daha küçük ve kararlıdır, ancak ters gerilime ve ani akım darbelerine karşı hassastır; bozulduğunda kısa devre olup yanabilir. Çalışma geriliminin en az iki katı voltajlı olanını seç.
  • Film: Kutupsuz, kararlı ve düşük kayıplıdır; ses devrelerinde, hassas zamanlamada ve 230 V şebeke filtrelerinde (X2 sınıfı) kullanılır. Dezavantajı, büyük değerlerde iri olmasıdır.
  • Süper kondansatör: Farad seviyesinde kapasiteye sahiptir ama hücre başına yalnızca 2,7 V civarına dayanır. Pil kadar enerji tutmaz; buna karşılık saniyeler içinde dolup boşalabilir ve yüz binlerce döngüye dayanır.

Kutup (+/−) ve voltaj değeri nasıl okunur?

  • Bacaklı elektrolitik: Uzun bacak artı (+), kısa bacak eksidir (−). Gövdedeki açık renkli şeridin üzerinde eksi işaretleri bulunur ve bu şerit eksi bacağın tarafını gösterir. Bacaklar kesilmişse şeride bak.
  • SMD elektrolitik (silindir gövdeli): Üst kapaktaki siyah ya da renkli yarım ay eksi tarafı gösterir.
  • Tantal: Dikkat, kural terstir: tantal kondansatördeki şerit ya da çizgi artı bacağı gösterir.
  • Seramik ve film: Kutupsuzdur; iki yönde de takılabilir.
  • Şemada: Kutupsuz kondansatör iki düz paralel çizgiyle çizilir. Kutuplu olanda levhalardan biri eğri ya da içi dolu çizilir ve artı tarafa + işareti konur.

Gövdedeki voltaj değeri (ör. 16 V, 25 V, 50 V), kondansatörün sürekli dayanabileceği en yüksek DC gerilimdir ve hiçbir zaman aşılmamalıdır. Güvenli kural, devredeki en yüksek gerilimin en az 1,5–2 katı voltajlı kondansatör seçmektir: 5 V'luk Arduino devresinde 10 V ya da 16 V, 12 V'luk bir adaptörde 25 V, 24 V'ta ise 35 V ya da 50 V'luk kondansatör kullan. Gereğinden yüksek voltajlı kondansatör kullanmanın bir sakıncası yoktur; yalnızca gövdesi daha büyük ve fiyatı biraz daha yüksek olur.

Elektrolitik ya da tantal kondansatörü ters bağlamak veya voltaj değerini aşmak, içinin ısınmasına, gövdenin şişmesine ve tepesindeki çentikten gaz püskürterek patlamasına yol açar. Yeni bir devreye ilk kez güç verirken yüzünü kondansatörlerin üstünden uzak tut. Ayrıca büyük kondansatörler güç kesildikten sonra da yüklü kalabilir: 230 V'luk adaptör ve şebeke devrelerindeki kondansatörlere asla dokunma; düşük gerilimli büyük kondansatörleri de bir dirençle (ör. 1 kΩ) boşaltmadan elleme.

Kondansatör kodu okuma: 104 ne demek?

Seramik ve film kondansatörlerin üzerine değer, yer kazanmak için üç haneli bir kodla yazılır. Kodun birimi her zaman pikofaraddır: ilk iki hane sayıyı, üçüncü hane arkasına eklenecek sıfır sayısını gösterir. Yani 104 = 10 ve 4 sıfır = 100.000 pF = 100 nF = 0,1 µF. İki haneli kodlar doğrudan pikofarad değeridir (22 = 22 pF); son hanesi 0 olan kodlarda ise sıfır eklenmez (220 = 22 pF). Harfli yazımda harf hem birimi hem virgülü gösterir: 4n7 = 4,7 nF, 2p2 = 2,2 pF. Kodu hızlıca çözmek için Kondansatör kodu aracını kullanabilirsin.

KodHesapDeğer
22 / 22022 × 1 pF22 pF
10110 × 10 pF100 pF
10210 × 100 pF1 nF
10310 × 1.000 pF10 nF
10410 × 10.000 pF100 nF (0,1 µF)
10510 × 100.000 pF1 µF
22322 × 1.000 pF22 nF
47447 × 10.000 pF470 nF (0,47 µF)
4n7Harf virgül yerine geçer4,7 nF

Kodun arkasındaki harf toleransı gösterir: J = ±%5, K = ±%10, M = ±%20, Z = +%80 / −%20. Film kondansatörlerde bunların önüne bir voltaj kodu da eklenebilir; örneğin 2A104J, 100 V (2A), 100 nF (104) ve ±%5 (J) demektir. Sık görülen voltaj kodları 1C = 16 V, 1H = 50 V, 2A = 100 V ve 2J = 630 V'tur. Elektrolitik kondansatörlerde kod yoktur; değer doğrudan yazılır (470 µF 16 V). SMD seramik kondansatörlerin üzerinde ise genellikle hiçbir yazı bulunmaz; değerini ancak ambalajından ya da ölçerek öğrenebilirsin.

Şarj, deşarj ve RC zaman sabiti (τ = R·C)

Kondansatörü bir direnç üzerinden doldurduğunda gerilimi bir anda değil, üstel bir eğriyle yükselir: Vc = Vk · (1 − e^(−t/RC)) (Vk kaynak gerilimi, t geçen süre). Boşalırken de aynı hızla düşer: Vc = V0 · e^(−t/RC). Buradaki R·C çarpımına zaman sabiti denir ve τ (tau) ile gösterilir; ohm ile faradı çarptığında sonuç saniyedir. Örneğin 10 kΩ'luk bir direnç ve 100 µF'lık bir kondansatörde τ = 10.000 × 0,0001 = 1 saniyedir. 1 kΩ ve 100 nF ile τ yalnızca 0,1 milisaniye olur.

Geçen süreŞarjda ulaşılan gerilimDeşarjda kalan gerilim
1 τ%63,2%36,8
2 τ%86,5%13,5
3 τ%95,0%5,0
4 τ%98,2%1,8
5 τ%99,3%0,7

Pratikte kondansatörün yaklaşık 5τ sonra tamamen dolduğu ya da boşaldığı kabul edilir; 10 kΩ ve 100 µF örneğinde bu 5 saniyedir. Bu davranış zamanlayıcıların, buton zıplamasını önleyen devrelerin, gecikmeli sönen lambaların ve 555 entegresinin temelidir. Direnç değerlerini hatırlamak için Direnç Nedir? yazısına, farklı R ve C değerleriyle eğrinin nasıl değiştiğini görmek için RC zaman sabiti aracına bakabilirsin. Gerilim, akım ve direnç ilişkisini ise Ohm Kanunu yazısında ayrıntılı anlattık.

Filtre ve dekuplaj: neden her entegrenin yanında 100 nF var?

Mikrodenetleyiciler ve diğer entegreler, her saat darbesinde nanosaniyeler süren kısa akım darbeleri çeker. Güç kaynağı uzaktaysa kabloların endüktansı bu ani isteğe yetişemez; besleme hattında küçük çöküntüler ve gürültü oluşur, sonuç da rastgele resetler, bozuk analog okumalar ya da donmalardır. Çözüm, her entegrenin VCC ile GND pinleri arasına, olabildiğince yakına 100 nF seramik bir kondansatör koymaktır. Bu kondansatör entegrenin hemen yanındaki küçük bir enerji deposu gibi çalışır ve yüksek frekanslı gürültüyü GND'ye kısa devre eder. Buna dekuplaj (decoupling) ya da bypass kondansatörü denir. Yavaş ve büyük yük değişimleri için ise besleme girişine 10–1000 µF'lık bir elektrolitik (toplu ya da bulk kondansatör) eklenir.

LM7805 voltaj regülatörü modülü ve kondansatörleri
LM7805 regülatör modülü: soğutuculu regülatörün yanındaki elektrolitik kondansatörler, girişteki dalgalanmayı ve çıkıştaki ani yük değişimlerini yumuşatır.
  • Her entegreye 100 nF: VCC ile GND arasına, bacakları kısa tutarak ve entegrenin besleme pinine olabildiğince yakın yerleştir.
  • 7805 gibi doğrusal regülatörler: Üretici girişe 0,33 µF, çıkışa 0,1 µF önerir; uygulamada çıkışa ayrıca 10–100 µF eklenir. Ayrıntılar 7805 voltaj regülatörü yazısında.
  • Servo motorlar: Servo beslemesine, servoya yakın 100–470 µF koymak, servo hareket ederken Arduino'nun resetlenmesini önlemeye yardım eder (Servo Motor Nedir?).
  • WS2812B LED şerit: Adaptörün + ve − uçları arasına 500–1000 µF, en az 6,3 V'luk bir kondansatör önerilir (WS2812B NeoPixel).
  • DC motorlar: Motorun iki ucu arasına doğrudan lehimlenen 100 nF seramik, fırçaların ürettiği elektriksel gürültüyü büyük ölçüde azaltır (L298N ile DC motor).
  • Kablosuz modüller: Yayın sırasında akım aniden yükselir. nRF24L01'in besleme pinlerine 10 µF, ESP32'nin 3,3 V ile GND arasına 100–470 µF eklemek bağlantı kopmalarını ve brownout resetlerini azaltır.

Bir direnç ile bir kondansatörü arka arkaya bağladığında alçak geçiren filtre elde edersin: belirli bir frekansın altını geçirir, üstünü zayıflatır. Kesim frekansı fc = 1 / (2π · R · C) ile bulunur. Arduino Uno'nun PWM çıkışı 490 Hz (5 ve 6. pinlerde 980 Hz) frekansında bir kare dalgadır; 10 kΩ ve 10 µF'lık bir filtreyle (fc ≈ 1,6 Hz) bu dalga neredeyse düz bir DC gerilime dönüşür, sen de basit bir analog çıkış elde edersin. Bedeli tepki süresidir: τ = 0,1 s olduğu için yeni değere oturması yarım saniye kadar sürer. Ayrıntılar PWM Nedir? yazısında. Doğrultulmuş bir besleme de büyük bir yumuşatma kondansatörüyle filtrelenir ve kalan dalgalanma yaklaşık ΔV ≈ I / (f · C) olur: 1 A çeken, 100 Hz tam dalga doğrultmaçlı bir beslemede 4700 µF ile yaklaşık 2,1 V.

Kondansatörleri seri ve paralel bağlama

Kondansatörlerin formülleri dirençlerin tam tersidir. Paralel bağlamada kapasiteler toplanır: C = C1 + C2 + … Voltaj dayanımı ise en düşük olanınki kadardır. Seri bağlamada toplam kapasite en küçük kondansatörden de küçük olur: 1/C = 1/C1 + 1/C2 + … İki eşit kondansatör seri bağlanırsa kapasite yarıya iner, voltaj dayanımı ise kâğıt üzerinde toplanır; ancak kaçak akımlar eşit olmadığı için gerilim dengesiz paylaşılır, bu yüzden her kondansatöre paralel eşit değerli (ör. 100 kΩ) dengeleme dirençleri eklenir. Elinde istediğin değer yoksa iki kondansatörü birleştirerek elde edebilirsin; hesap için Seri / paralel C aracını, dirençlerdeki karşılığı için seri paralel direnç hesaplama yazısını kullanabilirsin.

BağlantıÖrnekToplam kapasiteVoltaj dayanımı
Paralel100 µF 16 V + 220 µF 25 V320 µF16 V (en düşüğü)
Seri100 µF 16 V + 100 µF 16 V50 µF32 V'a kadar (dengeleme dirençleriyle)
Seri10 µF + 22 µFYaklaşık 6,9 µFGerilim kapasiteyle ters orantılı paylaşılır
Paralel10 µF + 100 nF10,1 µFEn düşük olanınki

Arduino ile şarj eğrisi deneyi: kapasiteyi ölç

Teoriyi gözünle görmenin en iyi yolu, kondansatörün dolarken gerilimini ölçmektir. Arduino'nun bir dijital pini 10 kΩ'luk direnç üzerinden kondansatörü dolduracak, analog girişi ise kondansatör gerilimini okuyacak. Gerilimin kaynağın %63,2'sine ulaştığı süre bir τ'dur; buradan C = τ / R ile kapasiteyi hesaplarız. Gerekenler: Arduino Uno, 100 µF elektrolitik kondansatör, 10 kΩ direnç, breadboard ve birkaç jumper kablo.

BağlantıArduino UnoESP32Raspberry Pi Pico
10 kΩ direncin bir ucu (şarj pini)D8GPIO 25GP15
Direnç ile kondansatörün + bacağının birleştiği noktaA0GPIO 34 (ADC1)GP26 (ADC0)
Kondansatörün − bacağıGNDGNDGND
ADC çözünürlüğü ve referans10 bit, 5 V12 bit, yaklaşık 3,3 V12 bit, 3,3 V
%63,2 eşiği647 (ham değer)2086 mV2,086 V
Büyük bir kondansatörü asla dirençsiz olarak doğrudan bir pine bağlama. Boş bir kondansatör ilk anda kısa devre gibi davranır ve çekilen akım, ATmega328P'nin pin başına 40 mA'lik mutlak sınırını kolayca aşar. 10 kΩ direnç akımı 0,5 mA ile sınırlar. Elektrolitik kondansatörün uzun (+) bacağını direnç ile A0'ın birleştiği noktaya, şeritli (−) bacağını GND'ye tak.
  1. Kondansatörü breadboard'a tak: + bacağı bir sıraya, − bacağı GND hattına gelsin.
  2. 10 kΩ direncin bir ucunu D8'e, diğer ucunu kondansatörün + bacağının bulunduğu sıraya bağla.
  3. Aynı sıradan A0'a bir kablo çek ve Arduino'nun GND'sini breadboard'un GND hattına bağla.
  4. Aşağıdaki kodu yükle ve Seri Monitör'ü 115200 baud ile aç.
  5. Kod önce kondansatörü boşaltır, sonra doldurur; her 20 ms'de geçen süreyi ve gerilimi yazar, sonunda ölçülen τ'yu ve kapasiteyi gösterir.
  6. Eğriyi grafik olarak görmek için koddaki PLOT değerini true yap, kodu yeniden yükle ve Araçlar > Seri Çizici'yi aç.
Arduino (C++)
1// Kondansatör şarj eğrisi ve kapasite ölçümü / Capacitor charge curve and capacitance meter
2const int CHARGE_PIN = 8;       // 10 kΩ direnç bu pinden beslenir / the 10 kΩ resistor is driven from this pin
3const int SENSE_PIN = A0;       // kondansatörün + bacağı / capacitor + leg
4const float R_OHM = 10000.0;    // şarj direnci (ohm) / charge resistor (ohms)
5const float VREF = 5.0;         // Uno ADC referansı / Uno ADC reference
6const bool PLOT = false;        // true: Seri Çizici için yalnız gerilim / true: voltage only for the Serial Plotter
7
8void setup() {
9  Serial.begin(115200);
10  pinMode(CHARGE_PIN, OUTPUT);
11}
12
13void loop() {
14  // 1) Boşalt: pin LOW, kondansatör direnç üzerinden boşalır / discharge through the resistor
15  digitalWrite(CHARGE_PIN, LOW);
16  while (analogRead(SENSE_PIN) > 4) { }           // ~20 mV altı; ADC ofsetine pay bırak / below ~20 mV, leaves room for ADC offset
17  delay(1000);                                  // kalan yükü de boşalt / drain what is left
18
19  // 2) Şarj et, eğriyi yazdır, τ'yu yakala / charge, print the curve, catch τ
20  unsigned long t0 = millis();
21  unsigned long lastPrint = 0;
22  unsigned long tauMs = 0;
23  digitalWrite(CHARGE_PIN, HIGH);
24  while (true) {
25    int raw = analogRead(SENSE_PIN);
26    unsigned long t = millis() - t0;
27    if (tauMs == 0 && raw >= 647) tauMs = t;     // 1023 x 0,632 = 647 → bir τ / one τ
28    if (t - lastPrint >= 20) {                   // 20 ms'de bir yazdır / print every 20 ms
29      lastPrint = t;
30      float v = raw * VREF / 1023.0;
31      if (!PLOT) {
32        Serial.print(t);
33        Serial.print('\t');
34      }
35      Serial.println(v, 3);
36    }
37    if (raw >= 1010 || t > 60000) break;         // ~%99 dolu ya da zaman aşımı / ~99% full or timeout
38  }
39
40  // 3) Sonuç: C = τ / R / result: C = τ / R
41  if (!PLOT) {
42    float uF = (tauMs / 1000.0) / R_OHM * 1000000.0;
43    Serial.print(F("tau = "));
44    Serial.print(tauMs);
45    Serial.print(F(" ms   C = "));
46    Serial.print(uF, 1);
47    Serial.println(F(" uF"));
48  }
49  delay(3000);
50}

Kodun mantığı şöyle: pin LOW yapıldığında kondansatör aynı 10 kΩ direnç üzerinden boşalır. Pin HIGH yapıldığı an millis() ile zaman sayılmaya başlar; analog okuma 647'ye (1023'ün %63,2'si) ulaştığında geçen süre τ olarak kaydedilir. Okuma 1010'a (yaklaşık %99) geldiğinde şarj tamamlanmış sayılır. 100 µF ve 10 kΩ ile yaklaşık 1000 ms ve 100 µF görmelisin. Elektrolitik kondansatörlerin toleransı genellikle ±%20 olduğu için 80–120 µF arası sonuçlar normaldir. Zaman ölçümü hakkında daha fazlası için millis ve delay yazısına göz at.

Direnci değiştirerek deneyi tekrarla: 4,7 kΩ ile τ yaklaşık 0,47 saniyeye iner, 22 kΩ ile 2,2 saniyeye çıkar ama hesaplanan kapasite aynı kalır. 1 µF gibi küçük kondansatörlerde τ 10 ms'ye düşer; daha doğru sonuç için 100 kΩ gibi büyük bir direnç kullan ve koddaki R_OHM değerini güncelle. Aynı yöntemle çekmecedeki etiketi silinmiş kondansatörlerin değerini de bulabilirsin.

ESP32 ve Raspberry Pi Pico ile aynı deney

ESP32'de pinler 3,3 V ile çalışır ve ADC 12 bitliktir (0–4095). ESP32'nin ADC'si uçlara yakın bölgelerde doğrusal olmadığı için ham değer yerine kalibre edilmiş milivolt döndüren analogReadMilliVolts() fonksiyonunu kullanıyoruz. Okuma pini olarak Wi-Fi'den etkilenmeyen ADC1 grubundaki GPIO 34'ü seçtik. ADC 3,1 V'un üzerini güvenilir ölçemediği için şarjın bittiğini gerilimden değil zamandan anlıyoruz: τ bulunduktan sonra 5τ dolunca ölçüm biter. ESP32 ile ilgili temel bilgiler için ESP32 Nedir? yazısına bakabilirsin.

Arduino (C++)
1// ESP32 ile kondansatör şarj eğrisi / Capacitor charge curve with ESP32
2const int CHARGE_PIN = 25;      // 10 kΩ direnç bu pinden beslenir / the 10 kΩ resistor is driven from this pin
3const int SENSE_PIN = 34;       // ADC1, yalnız giriş / ADC1, input only
4const float R_OHM = 10000.0;    // şarj direnci (ohm) / charge resistor (ohms)
5
6void setup() {
7  Serial.begin(115200);
8  pinMode(CHARGE_PIN, OUTPUT);
9}
10
11void loop() {
12  digitalWrite(CHARGE_PIN, LOW);                       // boşalt / discharge
13  unsigned long d0 = millis();
14  // ADC ~150 mV altını okuyamaz, 200 mV'a inmesini bekle / the ADC cannot read below ~150 mV, wait for 200 mV
15  while (analogReadMilliVolts(SENSE_PIN) > 200 && millis() - d0 < 60000) { }
16  delay(millis() - d0 + 1000);                         // aynı süre kadar daha bekle / wait as long again
17
18  unsigned long t0 = millis();
19  unsigned long tauMs = 0;
20  digitalWrite(CHARGE_PIN, HIGH);                      // şarj et / charge
21  while (true) {
22    unsigned long t = millis() - t0;
23    uint32_t mv = analogReadMilliVolts(SENSE_PIN);     // kalibre edilmiş mV / calibrated mV
24    if (tauMs == 0 && mv >= 2086) tauMs = t;           // 3300 mV x 0,632 → bir τ / one τ
25    Serial.println(mv);                                // Seri Çizici için / for the Serial Plotter
26    if ((tauMs > 0 && t >= 5 * tauMs) || t > 60000) break;   // 5τ ≈ %99 dolu / 5τ ≈ 99% full
27    delay(20);
28  }
29  Serial.printf("tau = %lu ms   C = %.1f uF\n", tauMs, tauMs / 1000.0 / R_OHM * 1000000.0);
30  delay(3000);
31}

Raspberry Pi Pico'da MicroPython ile aynı deney birkaç satırdır. Pico'nun analog girişleri GP26, GP27 ve GP28'dir; read_u16() 12 bitlik ölçümü 0–65535 aralığına ölçekleyerek döndürür. Kod her satıra geçen süreyi ve gerilimi yazar; çıktıyı bir tabloya kopyalayıp eğriyi kendin çizebilirsin. Pico'ya MicroPython yüklemeyi bilmiyorsan Raspberry Pi Pico Nedir? yazısından başla.

MicroPython
1# Pico ile kondansatör şarj eğrisi / Capacitor charge curve with Pico
2from machine import Pin, ADC
3import time
4
5charge = Pin(15, Pin.OUT)       # 10 kΩ direnç bu pinden beslenir / resistor driven from this pin
6adc = ADC(26)                   # GP26 = ADC0, kondansatörün + bacağı / capacitor + leg
7R = 10000                       # şarj direnci (ohm) / charge resistor (ohms)
8
9def volts():
10    return adc.read_u16() * 3.3 / 65535
11
12charge.value(0)                 # önce boşalt / discharge first
13d0 = time.ticks_ms()
14while volts() > 0.1 and time.ticks_diff(time.ticks_ms(), d0) < 60000:
15    pass                        # ADC sıfırda birkaç on mV gösterebilir / the ADC may read a few tens of mV at 0 V
16time.sleep_ms(time.ticks_diff(time.ticks_ms(), d0) + 1000)   # aynı süre kadar daha bekle / wait as long again
17
18t0 = time.ticks_ms()
19charge.value(1)                 # şarjı başlat / start charging
20tau = None
21while True:
22    t = time.ticks_diff(time.ticks_ms(), t0)
23    v = volts()
24    if tau is None and v >= 3.3 * 0.632:    # 2,086 V → bir τ / one τ
25        tau = t
26    print(t, round(v, 3))
27    if (tau is not None and t >= 5 * tau) or t > 60000:
28        break
29    time.sleep_ms(20)
30
31if tau is not None:
32    print("tau =", tau, "ms  C =", round(tau / 1000 / R * 1e6, 1), "uF")

Kondansatörle proje fikirleri

  • Donanımsal debounce: Butonun uçlarına 100 nF – 1 µF koy; 10 kΩ pull-up ile birlikte τ = 1–10 ms'lik bir filtre oluşur ve zıplamalar yazılıma ulaşmadan söner.
  • PWM'den analog gerilim: RC filtresiyle PWM çıkışını 0–5 V arası düz bir gerilime çevir ve multimetreyle ölç.
  • 555 ile yanıp sönen LED: 555 entegresinde frekansı iki direnç ve bir kondansatör belirler: f ≈ 1,44 / ((R1 + 2·R2) · C). Değerleri 555 zamanlayıcı aracıyla hesapla.
  • Yavaşça sönen lamba: Anahtardan sonra, LED ile direncinin beslemesine paralel 1000 µF'lık bir kondansatör koy; anahtarla gücü kestiğinde LED bir anda değil, kondansatör boşaldıkça yavaşça söner. Sönme süresini direnç ve kapasite birlikte belirler.
  • Kapasitif sensörler: Kapasitif toprak nem sensörü, topraktaki suyun değiştirdiği kapasiteyi ölçer; elektrotları açıkta olmadığı için korozyona uğramaz.
  • Basit kapasitans ölçer: Yukarıdaki deneyi bir I2C LCD ekranla birleştir ve elindeki kondansatörlerin değerini ekranda göster.

Sık yapılan hatalar ve çözümleri

  • 104'ü 104 µF sanmak: 104, 100 nF'dır; üç haneli kodlar her zaman pikofarad cinsindendir.
  • Elektrolitiği ters takmak: Kondansatör ısınır, şişer ya da patlar; şeritli bacak GND tarafına gider (tantalda ise şerit artıdır).
  • Düşük voltajlı kondansatör seçmek: 12 V'luk hatta 10 V'luk kondansatör kısa sürede bozulur; en az 1,5–2 kat pay bırak.
  • Dekuplaj kondansatörünü uzağa koymak: 100 nF entegreden 10 cm uzaktaysa kablo endüktansı yüzünden etkisi kaybolur; bacakları kısa tutup besleme pinlerinin dibine yerleştir.
  • Motor çalışınca Arduino'nun resetlenmesi: Besleme gerilimi anlık çöküyor; motoru ayrı besle, beslemeye 100–470 µF ekle ve GND'leri birleştir (Arduino neden kendini resetler?).
  • ESP32'de "Failed to connect to ESP32: Timed out waiting for packet header" hatası: Bazı kartlarda otomatik programlama devresi zamanlamayı tutturamaz; EN ile GND arasına 1–10 µF kondansatör eklemek BOOT düğmesine basma ihtiyacını çoğu zaman ortadan kaldırır.
Bir kondansatörün sağlam olup olmadığını anlamak için önce bacaklarını bir dirençle kısa süre birleştirip boşalt, sonra devreden sökerek multimetrenin kapasite kademesinde ölç. Değer etiketin tolerans aralığındaysa ve gövdede şişme yoksa kondansatör büyük ihtimalle sağlamdır. Yalnız multimetre ESR'yi göstermez; eski besleme kartlarında değeri doğru görünen ama iç direnci yükselmiş kondansatörler de arıza çıkarabilir. Ayrıntılar için Multimetre Nasıl Kullanılır? yazısına bakabilirsin.

Kondansatör, direnç ve LED'den sonra öğrenmen gereken en temel parçadır; τ = R·C'yi kavradığında ve her entegrenin yanına 100 nF koymayı alışkanlık hâline getirdiğinde devrelerin çok daha kararlı çalışır. Bir sonraki adım olarak indüktörü anlatan Bobin Nedir? yazısına geçebilirsin. BlueGrays uygulamasında butonla LED kontrolü, LDR ile ışık ölçümü, PWM ile LED soldurma ve WS2812B projelerini adım adım devre şemaları ve kodlarıyla bulabilir, öğrendiğin kondansatör bilgisini bu devrelerde hemen deneyebilirsin.

Sıkça sorulan sorular

Kondansatör ne işe yarar?

Kondansatör elektrik yükünü kısa süreliğine depolar ve gerektiğinde hızla geri verir. Elektronik devrelerde besleme gerilimini düzgünleştirmek, gürültüyü süzmek, zamanlama yapmak, DC'yi engelleyip AC sinyali geçirmek ve buton zıplamasını önlemek için kullanılır. Neredeyse her elektronik kartta onlarca kondansatör bulunur.

Kondansatör ile pil arasındaki fark nedir?

Pil enerjiyi kimyasal olarak saklar, uzun süre neredeyse sabit gerilim verir ve çok daha fazla enerji tutar. Kondansatör enerjiyi elektrik alanında saklar; milisaniyeler içinde dolup boşalabilir ama boşaldıkça gerilimi sürekli düşer. Bu yüzden kondansatör uzun süreli bir güç kaynağı değil, ani ihtiyaçlar için hızlı bir tampondur.

104 kondansatör kaç nF?

104 kodu 10 ve arkasına 4 sıfır, yani 100.000 pF demektir. Bu da 100 nF'a ya da 0,1 µF'a eşittir. Arduino ve entegre devrelerde dekuplaj için en sık kullanılan değer budur.

Elektrolitik kondansatörün artısı ve eksisi nasıl anlaşılır?

Yeni bir elektrolitik kondansatörde uzun bacak artı (+), kısa bacak eksidir (−). Gövdedeki açık renkli ve eksi işaretli şerit de eksi bacağın tarafını gösterir. Tantal kondansatörlerde ise kural terstir: şerit artı bacağı gösterir.

Kondansatör ters bağlanırsa ne olur?

Kutupsuz seramik ve film kondansatörlerde hiçbir şey olmaz. Elektrolitik ve tantal kondansatörler ters bağlanırsa içlerinden yüksek kaçak akım geçer; ısınır, şişer ve patlayabilir, tantal olanlar alev de alabilir. Ters takılmış bir kondansatör fark ettiğinde hemen gücü kes ve parçayı yenisiyle değiştir.

Daha yüksek voltajlı kondansatör kullanılabilir mi?

Evet, aynı kapasitede daha yüksek voltajlı bir kondansatör her zaman kullanılabilir; örneğin 16 V yerine 25 V ya da 50 V takabilirsin. Tek fark gövdenin daha büyük ve fiyatın biraz daha yüksek olmasıdır. Tersi ise tehlikelidir: voltaj değeri devredeki gerilimden düşük olan kondansatör kısa sürede bozulur.

Tüm projeleri gör
Buton İle Led Yakma (Push)
#9Başlangıç

Buton İle Led Yakma (Push)

Kapı zili gibi: bastığın sürece ışık yanar, bırakınca söner. Arduino butonu sürekli dinler; butona basılıyken LED'i yakar, elini çektiğin an söndürür. Kartın dışarıdan gelen bir dokunuşu nasıl hissett

4.9(112)
197
Buton İle Led Yakma (On Off)
#10Başlangıç

Buton İle Led Yakma (On Off)

Bir butona bir kez basınca ışık yanar, bir daha basınca söner; tıpkı odandaki lamba düğmesi gibi. Arduino her basışı fark edip LED'in durumunu tersine çevirir, düğme içindeki minik titreşimler ışığı k

4.8(100)
162
Ldr İle Işık Şiddeti Okuma
#11Başlangıç

Ldr İle Işık Şiddeti Okuma

Odanın ne kadar aydınlık olduğunu sayıyla görmek ister misin? Işığa duyarlı küçük bir parça olan LDR ortam ışığını ölçer ve Arduino bu değeri yarım saniyede bir bilgisayar ekranına yazar. Elinle üstün

4.6(79)
130
Raspberry Pi Pico Buton Debounce Karşılaştırma: IRQ vs Software Polling (GP5 + GP4)
#159Orta
Premium

Raspberry Pi Pico Buton Debounce Karşılaştırma: IRQ vs Software Polling (GP5 + GP4)

Butona bir kere bastığında kod 3-4 kere saydırdıysa nedeni **contact bounce** — buton metal kontakları temas anında mikrosaniyelerde defalarca aç-kapa yapar! 🔁 Bu projede aynı butonu 2 farklı yöntemle sayıp Serial'da yan yana karşılaştırıyoruz: **RAW polling** (bounce'u yakalar, hatalı sayar) vs **IRQ + software debounce** (doğru sayar). Öğrenme: **contact bounce fiziği** (metal titreşim), **software debounce** (`ticks_diff() > 50ms`), **Pin.irq()** interrupt kaydı, **IRQ_FALLING** trigger tipi,

0.0(0)
12
Raspberry Pi Pico PWM ile LED Fade (Nefes Efekti, GP14)
#160Başlangıç
Premium

Raspberry Pi Pico PWM ile LED Fade (Nefes Efekti, GP14)

LED artık sadece yanıp sönmüyor — nefes alıyor! 🌬️ Raspberry Pi Pico'nun **PWM** (Pulse Width Modulation — darbe genişlik modülasyonu) özelliğiyle LED'in parlaklığı yavaş yavaş artar, sonra yavaş yavaş azalır. Uyku modundaki MacBook ışığı gibi sakin bir "nefes" efekti. Öğrenme: **machine.PWM sınıfı** (pini PWM çıkışına çevirme), **duty_u16()** (0–65535 arası 16-bit parlaklık değeri), **PWM frekansı** (`freq(1000)` — saniyede 1000 kez aç-kapa, göz titremeyi görmez), **range() ile adım adım döngü*

0.0(0)
4
ESP32 PWM ile LED Soldurma (Fade)
#110Başlangıç
Premium

ESP32 PWM ile LED Soldurma (Fade)

LED'in parlaklığını yumuşak şekilde 0'dan max'a, max'tan 0'a değiştirme. Arduino'daki gibi analogWrite() ile PWM kontrolü yapıyoruz — ESP32 Arduino Core 3.0+ ile aynı syntax sorunsuz çalışır. Pin tanımı + pinMode + analogWrite yeterli.

4.8(36)
54
WS2812B Kullanımı
#69Orta
Premium

WS2812B Kullanımı

Her ışığı ayrı ayrı renklendirebildiğin akıllı bir LED şeridiyle tanışırsın. Arduino önce şeritteki ilk beş LED'i kırmızı yakar, bir saniye sonra kalan beşini mavi yakar, sonra hepsini söndürür ve baş

4.8(54)
70
LCD Ekran ile Dijital Voltmetre
#56Orta
Premium

LCD Ekran ile Dijital Voltmetre

Pilin ya da adaptörün ne kadar gerilim verdiğini kendi yaptığın ölçü aletiyle öğren. İki dirençten oluşan bir bölücü yüksek gerilimi kartın okuyabileceği seviyeye indirir, Arduino da gerçek değeri hes

4.5(27)
36