Bu laboratuvar çalışması, ayrık transistörlerle çok bitli bir program sayacı geliştirme serisinin ilk aşamasını oluşturur. Amaç, sayacın ilerleme zamanını belirleyecek saat sinyalinin temelini kurmak ve osilasyonun fiziksel devrede nasıl oluştuğunu incelemektir. Çalışma, breadboard üzerinde doğrulanan devrelerin aşamalı olarak birleştirilmesi ve sonunda PCB tasarımına dönüştürülmesi hedefiyle yürütülmektedir.
Devre, 5 V besleme altında çalışan iki BC237 NPN transistörden oluşan bir astable multivibratördür. Transistörlerin kolektörleri, 10 µF kondansatörler üzerinden karşı transistörün bazına çapraz bağlanmıştır. Ayarlanabilir baz kutuplama dirençleri RC zamanlamasını etkilerken, LED’li kolektör yükleri transistörlerin iletim durumlarını görsel olarak gösterir. Transistörlerden biri iletime geçtiğinde kolektör geriliminin düşmesi, çapraz bağlantı üzerinden diğer transistörün baz gerilimini aşağı çeker. Pozitif geri besleme bu değişimi güçlendirerek bir transistörün iletimde, diğerinin kesimde olduğu durumu oluşturur. Kondansatör ve baz dirençlerinden oluşan ağın gerilimi zamanla değiştikçe karşı transistör iletime geçer ve rejeneratif anahtarlama sonucunda durumlar tersine döner. Böylece yavaş RC gerilim değişimleri ile daha hızlı anahtarlama geçişleri birleşerek sürekli osilasyon üretir.

Saat kaynağı için bir 555 timer kullanmak da mümkündür. Bu çalışmada ayrık transistörlü yapı tercih edilerek baz kutuplaması, transistör anahtarlaması, kapasitif çapraz bağlantı ve pozitif geri besleme mekanizmalarının doğrudan incelenmesi amaçlanmıştır. Bu kavramlar, serinin sonraki aşamalarında geliştirilecek bistable bellek devreleri, flip-floplar ve sayaç kademeleri için temel oluşturur.
Devrenin davranışını gözlemlemek amacıyla Q1 ve Q2 kolektör gerilimleri Arduino Uno’nun A0 ve A1 analog girişlerinden sırayla örneklenir. Arduino, osilasyonu üretmez veya transistörleri kontrol etmez; yalnızca devreye besleme sağlar ve veri toplama arayüzü olarak görev yapar. Ölçüm yazılımı, zaman damgası ile iki kanalın 10 bitlik ham ADC değerlerini 115200 baud hızında USB seri bağlantı üzerinden bilgisayara aktarır. Her örnek çifti arasında yaklaşık 30 ms bekleme uygulanır; gerçek örnekleme aralığına ADC dönüşümü ve veri aktarım süreleri de eklenir.
Python ile geliştirilen masaüstü analiz uygulaması, ham ADC değerlerini nominal 5,0 V referans kabulüyle gerilime dönüştürür ve iki kolektörün dalga biçimlerini farklı renklerle gösterir. Uygulama, görüntülenen zaman aralığındaki minimum ve maksimum gerilimleri hesaplar; uyarlanabilir eşikler, yazılımsal histerezis ve eşik geçişleri arasında interpolasyon kullanarak frekans, periyot ve kolektörün yüksek seviyede kalma oranını tahmin eder. Kolektör gerilimi transistör iletimdeyken düşük olduğundan, bu görev döngüsü transistörün veya LED’in açık kalma oranıyla aynı değildir.
Ölçüm sistemi düşük frekanslı davranışı incelemek için hazırlanmıştır. Örnekleme aralığı, hızlı anahtarlama kenarlarının ve dar geçişlerin ayrıntılı olarak gözlenmesini sınırlar; eşik interpolasyonu, örnekler arasında kaçırılan geçişleri geri getirmez. Ayrıca kolektör ölçümleri, kondansatör ve baz gerilimlerinin doğrudan ölçümü değildir. Besleme gerilimi, ADC referansı, bileşen toleransları, LED gerilim düşümleri ve devreye bağlanan yükler hem fiziksel davranışı hem de hesaplanan sonuçları etkileyebilir.
Projenin KiCad devre şeması, Arduino ölçüm kodu, Python analiz uygulaması ve teknik dokümantasyonu GitHub üzerinde paylaşılmıştır. Mevcut donanım tasarımı şema aşamasındadır; PCB yerleşimi henüz oluşturulmamıştır. Sonraki çalışmalarda bir bitlik bellek, saatle tetiklenen flip-floplar ve çok bitli sayaç yapıları geliştirilecektir. Osilatörün bu kademeler için saat kaynağı olarak kullanılmasından önce çıkış seviyeleri, yük sürme kapasitesi ve sinyal şekillendirme gereksinimleri doğrulanacaktır.
Github : https://github.com/Emirsw/bc237-astable-multivibrator
