Çoğumuzun bir bilgisayarı vardır. Çoğu kişinin de bu bilgisayarın yanında bir hoparlörü, belki bazıları için hoparlör demek belki biraz hakaret olabilir. Bu bilgisayarın ses sistemini kontrol eden bir uzaktan kumandası yoksa, müzik dinlenirken veya film izlerken ses seviyesini ayarlamak için bilgisayarın yanına kadar gitmek gerekebilir. Hani şöyle rahat bir koltukta oturur veya yatakta sere serpe uzanırken bilgisayarın sesini ayarlamak için sen kalk ta bilgisayarın başına git. Olur mu olur. Peki buna bir çözüm sunarsak, mesela bir RS485 iletişimi ile ses seviyesini ayarlama olanağına ne dersiniz?
Şu ana kadarki çoğu projede kullanılan RS485 iletişimini kullanan Atmega8 işlemcisi ile bir ses kontrol sistemi oluşturacağız.
Normalde bilgisayar üzerindeki ses sistemi bir ses işlemcisi (kontrol) üzerinden bilgisayar yazılımlımları ile kontrol edilir. Tabii ki işletim sisteminin kontrolu altında. Eskiden ek bir kart olarak takılan bu sistem artık günümüzde ana karta tümleşik olarak gelmekte, hatta özel kartlarda dudak uçuklatacak ses sistemleri ile gelmekte.
Bu ses sistemleri bir hoparlör sistemi ile desteklenerek bilgisayar programları ile kullanıcı arasında ses arayüzünü rahatlıkla ulaşabilir. Ayrıntılı bilgi için internet üzerinde araştırma yapabilirsiniz.
Sistem aslında bir potansiyometre üzerine kurulu. Potansiyometrenin bir ucu Vcc, yani beslemeye, diğer ucu GND ve ortadaki ucunda ki ayar ucu oluyor, işlemciye bağlanıyor. Bu elemanın direnç değeri değiştiğinde işlemcinin ADC5 üzerinde bir gerilim değişimini sağlıyor. Bu noktada zaten iş işlemciye devrediliyor. İşlemci bu değeri okuyup RS485 üzerinden bilgisayara gönderiyor. Çok mu basit oldu? Zaten öyle. İşlemcinin tek yaptığı belirli aralıklarla potansiyometre üzerindeki gerilim değerini okuyup, bu değeri RS232 portu üzerinden RS485 iletişimi için kullanılan elemana iletmektir. (Şu hali ile 8 bitlik kontrol sağlıyor. Unutmamak gerekir ki ses kontrolu 16 bitliktir- en azından XP sistemi üzerinde öyle.)
RS485 elemanı kendi üzerine düşeni yaparak bunu bilgisayara bağlı RS485 dönüştürücü kartına bilgiyi iletmektir. RS485 hakkında ayrıntılı bilgi için internet iyi bir bilgi kaynağı olabilir.
Aref ve GND arasına bağlı olan kondansatör bu işlemci için iç referans kaynağı kullanılabileceği anlamını taşımakta. AVCC üzerindeki kondansatör ve bobin ise besleme hatları üzerinde oluşabilecek olası parazitleri süzecektir.
Besleme artık her projede kullanılan köprü, 7805 ve kondansatörlerden oluşuyor.
Şekil-3 üzerinde potansiyometre bağlantısı görülmektedir.Kenarlardaki VCC ve GND yeri değiştirildiğinde sadece potansiyometre dönüş yönüne göre ses seviyesi ayarı tersine döner.
Çalışmasını basitçe şöyle özetleyebiliriz:
Potansiyometre üzerindeki konum orta ucundan VCC ve GND' göre bir gerilim bölücü olarak bir gerilim olarak alınır
Bu değer işlemcinin ADC ucuna uygulanır (ADC ayarı; Referans Gerilimi VCC olmak üzere atanmıştır)
İşlemcinin iç zamanlayıcı belirli aralıklarla bir tetikleme oluşturarak, ADC'nin (Potansiyometrenin bağlandığı bacağın) okunmasını sağlar.
Okunan değer 10 bitliktir. Bu iki 8 bitlik veri halinde gönderilir
Alt baytın 7. biti Üst baytın 0.biti olarak düzenlenir ve alt baytın 7.biti=0 Üst baytın 7.biti=1 olarak atanır(bilgisayara gelen verinin ne olduğu anlaşılması için)
RS485 üzerinden bilgisayara bağlı RS485/RS232 dönüştürücü yardımıyla bilgisayara gelir.
Bilgisayara gelen veri konunu çözer ve ses kartı 16 bitlik olduğundan
Ses kartı bilgisi=(((Veri(üst)-128)*128)+Veri(alt))*64 şeklinde bir ifade ile hesaplanır
Ve bu bilgi yardımıyla ses seviyesi ayarlanır
Sistemin kalbi IC1 Atmega8 oluşturuyor. Bu işlemcinin bilgisayar ile iletişimini RS485-RS232 dönüştürücü IC2 üstlenmiş durumda. İşlemcinin çalışması D2,R2'den oluşan LED direnç grubu ile izleniyor. L1,C10 grubu işlemcinin ADC beslemesi için filtre görevini yerine getiriyor. C5,C6 ve XTL1 işlemci için gereken saat frekansını üretiyor. IC2 bacaklarına bağlı R1 direnci aslında bir sonlandırıcı olarak görev yapıyor. D1,IC3,C2, C3,C7 ve C8 besleme devresi grubunu oluşturuyor. Nede olsa işlemci besleme gerekiyor. (+5V) Pot1 Şu anda devre için bir yerde algılayıcı olarak işlem görüyor. Çünkü sistem bu elemanın orta ucundaki gerilimi ölçüyor. Geriye kalan kondansatörler aslında sadece filtreleme yani hatlarda olabilecek elektriksel parazitik etkileri ortadan kaldırmaya yaramakta.
Not: RS232/RS485 dönüştürücü sistemi çalışması zaten "RS232/RS485 dönüştürücü arabirim" bölümü altında anlatıldı.
Devre yapımında kritik bir eleman yok. Baskı devre kartı üzerinde geçekleştirildiğinde standart eleman yerleşimi göz önüne alınarak devre kurulabilir. Bu noktada diğer devre montaj teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Devrede 7805 5V gerilim regülatörü üzerinden geçen akım göreceli olarak küçük olduğu için ek bir soğutucu kullanımına gerek duyulmamamıştır.
Tüm dirençler çeyrek wattır.
Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız). Bacak bağlantıları uyan başka bir LED kullanılabilir. Entegreler için soket kullanılması sonradan oluşabilecek sorunların çözümünde size yardımcı olabilecektir. Belki daha sonra tümdevreleri başka bir devre üzerinde kullanmak isteyebilirsiniz. Sizin imkan ve tercihlerinize kalmış bir durum...
10µH | L1 |
120R | R1 |
1K | R2 |
27pF | C5,C6 |
100nF | C1,C3,C4,C7,C9,C10,C11 |
10µF | C2,C8 |
B125C1500 veya benzeri | D1 |
3mm Kırmızı LED | D2 |
ATMEGA8 | IC1 |
MST485 | IC2 |
7805 | IC3 |
3,6864Mhz kristal | XT1 |
6p2c RJ12 priz | P1 |
6 Header (ISP6) | ISP |
4K7 potansiyometre | Pot1 |
Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 8 ve 28 bacaklı soketler oluşabilecek problemlerin önüne geçecektir.
Burada RS232/RS485 dönüştürücü malzeme listesi "RS232/RS485 dönüştürücü arabirim" proje bölümünden erişilebilir
Bilgisayar üzerinde kullanılan program Delphi 7 ile yazıldı.Aslında ses kontrol bölümü ile ilgili temel kodları başka yerden aldım ama tam yerini hatırlamıyorum. Sadece RS485 ile ilgili erişim ve projeye uyarlamayı yaptım.
Program penceresi ilk açıldığında ses kontrol bölümü ve bir seri port seçme açılır kutusu görülür. Ses kontrolu bu pencere üzerinden de yapılabilir. Kaydırma çubuğu kullanılarak istenen ses seviyesi ayarlanabilir.
Sistem çalışması gerekli bağlantılar yapıldığında sistem sadece potansiyometre konumu değiştirilerek ses şiddetinin değiştiği görülür..
Film izlenirken görüleceği üzere kırmızı led yanıp sönmektedir. Bu yanma anlarında sistem ölçüm yapıp bilgiyi gönderir. Film üç bölümden oluşuyor: Potansiyometre ayarı, ayarın kontrol programı üzerindeki değişimi ve TV programı üzerindeki ses seviyesindeki değişimi.
Ekler:
ATMEGA8 hakkında bilgi
Atmega8 ile Seri Port üzerinden Bilgisayar Ses Kontrol için dosyalar- birleşik
Devreye potansiyometre bağlantısı
Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A...
Hiç yorum yok:
Yorum Gönder