Arduino aio (all in one) RDSPLL protatip devrenin avantajları
1 - TSA5511, çok geniş bir frekans aralığına (60 MHz'den 1300 MHz'e) ve iyi hassasiyete sahip tek çipli bir PLL' entegresidir. İnternette birçok kaynak mevcut. Arduino programı da bu varyantlardan faydalanılarak çevresel i2c donanımları da (I2c LCD, RTC DS1307, Seri çikiş For Monrds) yazılıma dahil edilerek işlevsel hale getirildi .
2 - Bu devre, internette bulunan herhangi bir programla da gereken degişilikleri ekleyebilmeniz (i2c LCD vb) duruminda çalışabilir, ancak öncelikle devrenin aşağıdaki özelliklerinin kullanılan program TSA5511 için uygun olduğundan emin olmalısınız , mikrodenetleyicide (pic,atmel) harici Osilatörünün bir türü kullanılıyorsa LCD Ekranın da dahil 4, 5 ve 6 numaralı pinlerinin bağlantıları dikkat edilmeli. Tıpkı I2C SDA hattında pulpUP direncinin bulunması gibi, LCD SCL hattından +5V'a bir 3K3 direnci eklemek ve her kabloyu ekranlı kullanmak faydalı olacaktır.
3 - Arduino kullanılarak Hazır RTC DS1307 modülden tarih bilgileri kolayca alınarak, monRDS'ye 9600baut TTL seviyesinde serial TX den RX e anlık saat ve tarih girişi sağlanmiştir (CT ,TI time function) Bu fonksiyon monRDS için hesaplama Julien Date ile matematiksel işlemler sonucunda hesaplanir ve gönderilir . Böylece bir bilgisayar kullanmaya gerek kalmamiştır. Arduino ya program güncellemeri de kolayca yüklenebilmektedir . Test yazılimları denemeleri yapılabilir.
4 - MonRDS ye gönderilecek olan
PS(program service name) 16 byte
DS(dynamic PS)
DI(stereo-mono)
MS (music-speech)
TI(time function CT)
Otomatik olarak ayarlanarak anlık olarak her 20sn de bi Arduino uno tarafindan MonRDS ye gönderilir.
5- Referans kristali 6.4mhz kullanılarak 100khz lik step hassasiyetleri ayarlanmiştir. ihtiyaca göre 3.2mhz ile 50khz step ve 1.6mhz ile 25khz step, adımlar ayarlanabilir.
6 - Kullanıcı isterse arduino ile MonRDS arası serial bağlantı sökülebilir. MonRDS sadece bilgisayara bağlı olarak da kullanabilir.
7- Devre bu haliyle bile hiçbir değişiklik yapmadan stabil olarak çok güzel (all in one) çalişmaktadır. Radyo ismini ,frekansını ,gerçek güncel tarih saati, stereo , müzik oldugunu RDS den otomatik olarak yazmaktadır. Tuş setinden Bir degişiklik yapildiğinda ise hemen güncellenerek değişmektedir.
Arduino RDSPLL 'in dezavantajları
1 - Arduino RDSPLL çevre birimlerine (LCD, RTC, TSA5511, Vb) okunmasına ve yazilmasina olanak tanıyan çift yönlü bir I2C veri yoluna sahiptir. Ancak bu çevre birimleri ile haberleşirken TSA5511'in, I2C veri yolu ile varikaplara giden kontrol voltajı çıkışı arasında " çapraz konuşma " anında minimal düzeyde dip ses oluşur . Buda , I2C veri aktarırken VCO taşıyıcımızın az miktarda dip ses ve gürültülü olacağı anlamına gelir .
Bu, Rx alıcılarda normal kullanım için bir sorun değildir, çünkü programlama bitlerinin aktarımı birkaç milisaniye sürer ve ardından I2C boşta kalır. Bu PLL'yi bir Tx vericide kullandığımızda sorun ortaya çıkar , çünkü PLL'nin herhangi bir nedenle kilitlenmesi durumunda vericimizin otomatik olarak RF gücü devreye alabilmek için TSA5511'in Bit Kilidi durumunu tekrar tekrar (sürekli) okumamız gerekir. Fakat bunu yaparsak, I2C veri yolu sürekli çalıştığı için VCO taşıyıcımız gürültüyle modüle olur ve vericiyi çok profesyonel bir ses kalitesi bekleyenler için pek işe yaramaz hale getirebilir. Amatör kullanım için referanslar dahilindedir. Aşagidaki olası çözüm yollarını okuyunuz.
2 - RTC modül saat tarih ayarları mevcut yazılimda bu ayarlar şimdilik maalesef yok. Bu nedenle üç kere arduinoya yazlılım yüklemek gerekli önce arduinoya RTC stop firmwere yüklenmekte ,ardından RTC real time günceleme yazılimi yüklenip tarih ve saatin düzeltilmesi sağlanmakta .ardından ise Ana firmwere yüklenerek sistemin çalışması sağlanmaktadır.
3-Arduino yazılımı , RTC ve RDS ayarları yapabilecek duruma gelinceye kadar menülerin geliştirilmesi gereklidir. Lütfen firmwere isteğinde bulunmayınız
I2c veri hatti sesleri için olası Çözüm Yolları
1- Alım durumundan iletim durumuna (ve tersi) geçerken TSA5511'in Durum Baytını sürekli olarak okumak ve Kilit Tamam algılanır algılanmaz okumayı durdurmak.
2 - I2C Veriyolunu uyku moduna geçirmek ve verici güçü devreye almaktır. Ancak bu "çözüm", iletim sırasında PLL devre dışı kalırsa,verici güç katını kapatmak için PLL'nin algılanamaması riskini taşır. Bence bu yöntem pek uygulanabilir değildir.
3- TSA5511 'in 1 ve 18 . pinleri çikişina farklı alternatif FM loopfilter uygulamaları ile denenebilir.
İlerleyen zamanlarda Olası yapılmasi planlanan iyileştirmeler ve gelişmeye açik uygulama varyantları
1 - Arduino kullanilarak birçok ilave özellik için yeterli hafiza alanı atmega328 de mevcuttur
2- Renkli ekranlar çeşitli LCD ler kolaylikla kullanilabilir (nextion vb)
3- RF çikiş katı sicaklik bilgisi ve kontrolü eklenebilir. Ayrica SWR gidiş ve dönüş güçleri ilave edilebilir.
4-RTC modül üzerindeki hafiza kartı kullanıma alınabilir RDS ile ilgili veriler bu karttan çekilecek hale getirilebilir.
5-Arduino da bulunan digital çıkişların Fan ve röleleri de çalıştıracak şekilde optimum kontrol sağlanabilir.
6-Bluetooth, ESP32 ve esp8266 ileve donanımlar ilave edilerek internet destekli halede getirilebilir yada işlemcisi matematiksel işlemleri tam olarak desteklerse direk ESP işlemciye yazılim taşınabilir. Böylece RTC modül kullanmak yerine Rds TI(CT) internetten alıp güncellenebilir.
7- Çilgınca geliyor fakat belkide sadece bir arduino ile PLL entegresine ihtiyaç kalmadan RX ,TX VCO ları direk sürmek ve tüm karmaşık işlevleri yaptırmak mümkün olabilir mi? Neden olmasın hayal etmek işin %90 'dir.
Bu yazılımı geliştirmemde kaynak sağlayan birçok internet sitesi ve fikirlerini paylaşmaktan çekinmeyen yazarlara ayrıca teşekkürler.
Umarım sizlerinde düşüncelerinizin yeni ufuklar çizmesine yardımcı olabilmiştir. 73, iyi dileklerimle.
I wish you good luck






