Kristal (kuvars kristali), gerilim uygulandığında belirli bir frekansta titreşen ve mikrodenetleyicilere çok kararlı bir saat sinyali sağlayan bir parçadır. İki bacaklı pasif kristaller mikrodenetleyicinin içindeki osilatör devresiyle ve iki küçük yük kondansatörüyle (genellikle 12-22 pF) çalışır; dört bacaklı aktif osilatörler (OSC) ise beslendiğinde doğrudan saat sinyali üretir. ATmega328P'li Arduino projelerinde 16 MHz, saat (RTC) devrelerinde 32,768 kHz kristaller kullanılır.
Her mikrodenetleyici bir saat sinyaliyle çalışır: komutlar bu sinyalin her vuruşunda yürütülür. Saat ne kadar kararlıysa zamanlama, seri haberleşme ve saat devreleri o kadar doğru çalışır. Bu kararlılığı sağlayan parça çoğu zaman küçük, metal kılıflı bir kuvars kristaldir. Bu rehberde kristalin nasıl çalıştığını ve mikrodenetleyicilerle nasıl kullanıldığını anlatıyoruz.
Kristal osilatör nedir?
Kristal osilatör, kesilip boyutlandırılmış bir kuvars kristalinin piezoelektrik özelliğinden yararlanarak çok kararlı bir frekansta elektriksel salınım üreten devredir. Kuvarsa gerilim uygulandığında kristal mekanik olarak esner; esnediğinde de gerilim üretir. Kristal, boyutuna göre belirlenen tek bir frekansta (rezonans) güçlü şekilde titreşir ve bu frekans sıcaklıkla çok az değişir.
Pasif kristal ile aktif osilatör farkı
| Özellik | Pasif kristal | Aktif osilatör (OSC) |
|---|---|---|
| Bacak sayısı | 2 (SMD'de 2 ya da 4 ped) | 4 (VCC, GND, çıkış, etkinleştirme) |
| Çalışması | Mikrodenetleyicinin osilatör devresiyle | Kendi içindeki devreyle, beslemeyle çalışır |
| Ek parça | 2 yük kondansatörü | Genellikle yalnızca dekuplaj kondansatörü |
| Çıkış | Sinyal üretmez, rezonatördür | Doğrudan kare dalga saat sinyali |
| Örnek | 12 MHz HC-49S, 16 MHz SMD 5032 | 16 MHz OSC SMD 7050 |
Kristal mikrodenetleyiciye nasıl bağlanır?
Pasif kristal, mikrodenetleyicinin iki osilatör pinine (ATmega328P'de XTAL1 ve XTAL2, pin 9 ve 10) bağlanır; her iki pinden GND'ye birer yük kondansatörü konur.
- Kristali osilatör pinlerine olabildiğince yakın yerleştirin; uzun yollar parazit ve kararsızlık yaratır.
- Her bacaktan GND'ye birer seramik kondansatör bağlayın. ATmega328P ve 16 MHz kristalde genellikle 22 pF kullanılır.
- Kondansatörlerin GND bağlantısını kısa tutun ve kristalin altından başka sinyal yolu geçirmeyin.
- Mikrodenetleyicinin sigorta (fuse) ayarlarında harici kristal seçili olmalıdır. Arduino bootloader yüklenirken bu ayar yapılır.
Kendi Arduino kartınızı yapmak için 16 MHz kristal (ör. 16 MHz kristal), iki adet 22 pF kondansatör ve bir ATmega328P yeterlidir. Arduino'nun yapısını Arduino nedir rehberimizde anlattık.
Yük kondansatörü nasıl hesaplanır?
Kristalin veri sayfasında bir yük kapasitesi (CL, ör. 18 pF) verilir; iki kondansatörün seri eşdeğeri ile kart üzerindeki kaçak kapasitenin toplamı bu değere eşit olmalıdır.
CL = (C1 × C2) / (C1 + C2) + Ckaçak
C1 = C2 ise formül CL = C/2 + Ckaçak olur. Kaçak kapasite genellikle 2-5 pF kabul edilir. Örnek: CL = 18 pF, Ckaçak = 5 pF → C = 2 × (18 - 5) = 26 pF; en yakın standart değer olarak 22 ya da 27 pF seçilir. Yanlış kondansatör kristalin frekansını hafifçe kaydırır ya da osilasyonun başlamasını zorlaştırır. Kondansatörleri kondansatör rehberimizde anlattık.
32,768 kHz kristal neden kullanılır?
32,768 kHz, 2 üzeri 15'e eşittir; bu frekans 15 kez ikiye bölündüğünde tam 1 Hz, yani saniyede bir darbe elde edilir. Bu yüzden saatler, gerçek zaman saati (RTC) entegreleri ve düşük güçlü uyku zamanlayıcıları bu kristali kullanır. Örnekler: JU-26 32,768 kHz DIP kristal ve JU-38 32,768 kHz kristal.
Kristal arızası nasıl anlaşılır?
- Mikrodenetleyici hiç çalışmıyor ya da programlanamıyorsa ve sigorta ayarları harici kristali seçiyorsa, kristal ya da yük kondansatörleri ilk şüphelidir.
- Seri haberleşmede bozuk karakterler, saat devresinin geri kalması ya da ileri gitmesi frekans hatasına işaret edebilir.
- Kristaller darbeye ve aşırı ısıya duyarlıdır; düşürülen ya da uzun süre havya ile ısıtılan kristal bozulabilir.
- Multimetre kristalin sağlamlığını göstermez; osiloskop ya da frekans sayıcıyla, prob yükünün osilasyonu etkileyebileceği bilinerek ölçülür.
Sık sorulan sorular
Kristal ne işe yarar?
Kristal, mikrodenetleyicilere, saat devrelerine ve haberleşme devrelerine çok kararlı ve doğru bir frekans sağlar. Zamanlama, seri haberleşme ve saat tutma bu frekansa dayanır.
Kristalin yönü var mı?
İki bacaklı pasif kristallerin yönü yoktur. Dört bacaklı aktif osilatörlerde ise bacakların görevi farklıdır ve doğru yönde takılmaları gerekir.
Kristal yerine rezonatör kullanılır mı?
Seramik rezonatörler daha ucuzdur ve bazı kartlarda kullanılır, ancak frekans doğruluğu kristale göre düşüktür. Hassas zamanlama gerektirmeyen uygulamalar için yeterli olabilir.
Arduino kristalsiz çalışır mı?
ATmega328P dahili 8 MHz osilatörüyle de çalışabilir; bunun için uygun sigorta ayarları ve uyumlu bir bootloader gerekir. Dahili osilatörün doğruluğu kristalden düşüktür.
Yük kondansatörü takılmazsa ne olur?
Kristal hiç salınmayabilir, geç başlayabilir ya da frekansı kayabilir. Mikrodenetleyicinin kararlı çalışması için veri sayfasında önerilen kondansatörler kullanılmalıdır.
Özet
- Kristal, kuvarsın piezoelektrik rezonansıyla kararlı bir frekans sağlar.
- Pasif kristal mikrodenetleyicinin osilatörüyle ve iki yük kondansatörüyle çalışır.
- Aktif osilatör beslenince doğrudan saat sinyali üretir.
- ATmega328P için 16 MHz kristal ve 22 pF kondansatörler yaygındır.
- 32,768 kHz kristal saat devrelerinde 1 Hz elde etmek için kullanılır.