Burada Atmel 328'in timer'ini nasıl yapılandırdım? Bunun için bu işlemcinin datasheet'ini inceledim. Burada kullanılan timer, 16 bitlik bir sayaca sahip. Bu sayacın hangi frekanstaki bir clock ile çalıştıracağımızı belirliyoruz. Sonra sayaç hangi değere ulaştığında kesme üretecek onu...
Öncelikle konsepti kanıtlamak açısından aşağıdaki basit programı yazalım. Bu program, saniyede 100 kere çağırılan bir kesme fonksiyonu tanımlıyor. Tanımlanan kesme fonksiyonu da, arduino'nun 12'nci pininde bir pulse üretiyor:
/* tanimladigimiz kesme fonksiyonunun saniyede kac defa...
Projenin en önemli tarafı, belirlenmiş zaman aralıklarında, aşağıdaki iki işi yapmak:
1) kronometrenin zaman sayaçlarını güncellemek. kronometre çözünürlüğünü daha önce 0.1 saniye olarak belirlemiştik. Yani saniyede 10 defa, kronometrenin zaman sayacını artırmamız lazım.
2) 7 segment...
Yeni adaptör Çin'den ulaştı elime. Aşırı zoom'lu olma durumu düzeldi, netlik de arttı, ama gene de resmin özellikle kenarlarında bulanıklık var. Sanırım bu adaptörün Çin olmayanını bir yerden bulmak lazım :)
Bu bulanıklık, mikroskopun oküler'lerinden bakınca yok, o halde sorun ya kamerada, yada...
Günümüzde, iki sinyalin karşılaştırılması için özel olarak optimize edilmiş opamp entegreleri mevcuttur. Örneğin, içerisinde 4 tane bağımsız karşılaştırıcı bulunan LM339.
Yukarıdaki devreye yüzeysel olarak bakarsanız, sanki kazancı ayarlanmış eviren bir yükselteç gibi görünebilir. Ama bu doğru değil. Burada negatif değil, pozitif geri besleme var, dolayısıyla kazanç gene çok yüksek ve gene opamp'i lineer olmayan bir modda kullanıyoruz.
Bu devrenin eşik...
Şimdi kısaca özel bir opamp karşılaştırıcı devresine daha değinelim. Bu devrenin gerekliliğini de şu örnek ile açıklayalım. Şimdiye kadar deneylerini yaptığımız karşılaştırıcılarda diyelim Vin = Vref yaptık. Ama gerçek bir devrede, hiçbir zaman Vin mükemmel bir şekilde Vref'e eşit olmayacaktır...
Şimdiye kadar, evirmeyen karşılaştırıcı ile deneyler yaptık. Bizim devreyi, eviren bir karşılaştırıcıya dönüştürmek için, tek yapmamız gereken, Vref sinyalini + girişe, Vin sinyalini de - girişe uygulamak. Yani mevcut devrede Vin ve Vref'in yerini değiştirmek. Bunu yaptığımızda, devre gene aynı...
Şimdi aynı deneyi, Vref değerini -2V yaparak tekrarlıyoruz ve şu sonucu görmeyi bekliyoruz:
Üçgen dalga sinyali, -2V un üstüne çıktığı anda, Vout = +Vcc
Üçgen dalga, -2V un altına düştüğü anda, Vout = -Vcc
Beklediğimiz sonucu burada da alıyoruz.
Devrenin gerçek zamanlı olarak çalışmasını görmek için, şöyle bir deney yapıyoruz:
Evirmeyen karşılaştırıcı devremizi +/- 9V ile besliyoruz. Vref değerini potansiyometre ile +2V yapıyoruz. Sonra da girişe, 14Vpp genliğine sahip bir üçgen dalga sinyal uyguluyoruz. Şunu bekliyoruz:
Üçgen dalga...
Devrenin işlevi, Vref referans voltajı ile Vin voltajını karşılaştırmak.
Eğer Vin > Vref ise, Vout = +Vcc olur.
Eğer Vin < Vref ise, Vout = -Vcc olur.
Devredeki RV1 potansiyometresi ile, Vref referans voltajını ayarlıyoruz. Sonra da devreye değişik Vin değerleri veriyoruz ve karşılaştırma...
Opamp'li bir karşılaştırıcı devresi, opamp'in eviren ve evirmeyen girişindeki voltaj seviyelerini karşılaştırır. Bu karşılaştırmanın sonucuna göre, opamp çıkışı ya +Vcc değerine, yada -Vcc değerine yaklaşır. Esasında, opamp karşılaştırıcı devreleri, temelde birer eviren veya evirmeyen...