22 Kasım 2025 Cumartesi

ARDUINO aio RDSPLL test ve analiz Makalesi


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 








 


28 Mayıs 2022 Cumartesi

TBA120 ,uPC1026C TSA5511 FM PLL stereo Receiver

 Merhaba ,

Eski ekipmaları temizlerken elime VCO (varicap kontrollü osilatör)  kontrollü FM radyo alıcı katı geçti (tahminen 1985 yada 1990 model) . Bu alıcıyı TSA5511 gibi bir PLL ile sürmek güzel olacağı fikrine kapılarak. Yeni bir pcb hazirlayıp devreyi kurdum. Birkaç modifiye sonunda bağlantıları yapinca yüksek hassasiyetle çalısan bir FM radyo alıcısına sahip oldum. Fakat TSA5511 PLL yi  , PIC16F628 de RDVV verici için  firmware olduğundan frekans 10.7 mhz fazla gösterdi. Bunuda pic içine yeni bir yazilim derleyip ara frekans 10.7mhz  düşük gösterecek sekilde yeniden derleyince ekranda gerçek frekans değeri gözükmüş oldu , sonuç harika ses çıkış kalitesi ile  çalışan bir FM radyo alıcisina dönüştü. Küçük bir not uPC1026c stereo decoder entegresi yerine MC1310P de sorunsuzca çalısıyor.Bu entegrelerin 10. Pinleri bir osilaskop ile 19khz gösterene  kadar potansiyometre ayarlanırsa tam olarak stereo ayrımı yapmaktalar.

Selamlar...



18 Şubat 2022 Cuma

Veronica PLL display

 Tekrardan merhaba

Yine heyecan verici bir proje ile buradayım, eskilerden olan ama ses kalitesinden dolayı günümuzde bile kullanımından vazgeçilemeyen bir pll ye nasil display eklenebileceğinden bahsetmek istiyorum.



Bildiğiniz üzere buradaki dipsiwicler frekans ayarlamak için kullanmaktayiz. Bu dip sw lerin direnç ile birlestiği ayaklarına bir kablo lehimleyerek binary bilgisini okumamiz ve bunları 2 adet  74HC165 entegresinden Arduinoya göndererek gelen binary sayıyı desilmal sayıya çevirmemiz gerekiyor. Çevirdigimiz sayiyida artik istedigimiz modüle (i2c, seri, paralel, TM1637, 74hc595 , VFD  vb ) göndererek dip sw ile ayarladığımız frekansı görebiliriz. Tabi bu bağlantıların hatalı yapılması veya kısadevre olması halınde pll devrenizin hasar görmesi kaçinilmaz olacaktir. Fikir vermesi açısından ilgili çalismalarin çizimleri aşağidadir. Arduino yazilimları ise internetteki örneklerde incelerseniz  birkaç düzeltme yaparak bu hale kolayca getirilebilir.





Görüşmek üzere...

23 Ocak 2022 Pazar

Arduino LM7001 PLL

 

Arduino ile PLL entegreleri sürmek gerçekten çok hoş oluyor . Kolay bir sekilde yazılım değistirebiliyorsunuz yada güncelleme yapılabiliyor. Kısacası ayrica bir pic programciya ihtiyaciniz kalmiyor tavsiye ederim. Önümüzdeki günlerde LC72131 içinde test yapmayi planlıyorum . Umarim ondada sonuç bu kadar iyi ve güzel olur. ;)

6 Ocak 2022 Perşembe

Arduino TSA5511 RDVV PLL

 Arduino ile TSA5511 iletisim kurularak i2c ile senkronize edildi. Testlerde arduino ile tsa5511 mükemmel bir uyum sağladi ayrica orginal pic16F serisinde olan dip sesler şasirtici bir sekilde  Arduino ile TSA5511 sürülduğünde olmadiğıni farkettim böylece proje mükemmel bir ses kalitesine ulaşti. Fırsat oldukça farklı versiyonlarlar ile denemelere devam edeceğim, örneğin LM7001 vb  .Sorunuz olursa  mail adresimden ulasabilirsiniz en kisa zamanda cevaplamaya çalişırım.




8 Ekim 2018 Pazartesi

SMART PLL = RDVV PLL , NEXTION LCD , MONRDS

Tekrar merhaba uzun uğraşılar sonunda bu mükemmel üçlüyü bir araya getirmeyi başardım.Bu arada nextion rtc modeli kullanarak tarih ve zaman kavramını monrds ye göndererek pll vericiye işlenmesini aynı zamanda lcd nin dokumatik olarak rdvv pll kontrol ederek gereken her işlemin dokunmatik olarak yapılmasını sağladım. Tabiki RDS verilerinin de dokunmatık olarak LCD panelden rahatlıkla giriliyor olması çok güzel bir ergonomi sağladı. Aynı zamanda LCD monrds ye JDate modunda zamanı anlık olarak göndererek RDS alıcılarda CT( tarih ve zaman ) gözükmesine de olanak sağlanmış oldu.Ayrıca RDVV ye 18B20 ısı sensoru ekleyerek çıkış katının ısınmaya karşı korunmasını ve bu ayarlarında LCD den yapılması ,ayarlarınıza göre fanı devreye sokarak çıkış katını soğutması da mükemmel oldu.Ama kodun büyümesi nedeniyle RDVV pll de artık 16F628A yerine 16F88 kullanmak zorundan kaldım.Bu mükemmel üçlüyü Pbus ile birbiriyle haberleşmesini sağladım.Proğramsal ufak tefek düzeltmeler haricinde %98 bitti. kullanılabilir durumdadır.Vakit buldukca uğraşılara devam...



28 Ocak 2018 Pazar

RDVV PLL ve NEXTION LCD

Güzel bir kombinasyon oldu. Dokunmatiği kırılan LCD yi bununla değerlendirmiş oldum. Bir sonraki hali ise tamamen LCD den kontrol edilecek olması :)