STM32 Dahili RTC sürekli geri kalıyor..

Başlatan quarko, 11 Ocak 2018, 15:21:51

quarko

STM32F2 serisinden bir mcu ile tasarladığımız bir cihazımızda stm32nin dahili rtc sini kullanıyorum. RTC nin clock girişini harici 32.768kHZ kristal den alıyorum. Kristal in bacaklarına 6.8pF kondansatörler mevcut. Buna rağmen bir günde 5dk geri kaldığı durumlar oluyor. Bu tarz bir sorunu nasıl çözebilirim. SMD dizgi esnasında kristal ler bozuluyor olabilir mi? (Kullandığım kristali özdisan dan temin ettim.) Fikri olan var mı acaba...

https://www.ozdisan.com/pasif-komponentler/kristaller-osilatorler-rezanatorler/kristal/RSM200S-32-768-12-5-TR-N
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

fide

Merhaba.
Stm32f4 ile değil ama ds1307 ile kristal günde 1dk civarı geri kaldığını gördüm. Pcb layout tasarımında kaçak kapasite, lehim pastası artığı vb ile oluşan pislik sebepli de olabilir.
Birincisi stm32f4 Datasheette pcb layout ile ilgili detaylı anlatım vardır, layout yeniden tasarlamanız gerekebilir.
İkincisi skorla frekansı ölçün. 6.8pf kapasiteleri değiştirmeniz gerekebilir.
Kolay gelsin.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

mg1980

Kristal işi uğraştırıyor.Kondansatörlerle biraz düzene girer belki.DS1302 kullanmıştım. İki ayda 30 dakika geri kaldı.Mümkünse DS3231 kullanın .Çok istikrarlı diyebilirim.Dahili termometresi de var.

Erol YILMAZ

Bence kristalin, Mcu'nun ve kapasitelerin doğruluğundan emin olun :)

Çünkü 0 derecede bile saklasan günde 3-4 sn'den fazla geri kalmaması lazım.
Kapasiteyi çıkartarak dener misin ?

Tekrarlıyorum, doğruluğundan emin olduğunuz malzemeyi kullanarak deneyin.


OptimusPrime

gunde 5 dakika pek normal bir sonuc degil. Programda bir yerlerde bir hata yapiyor olabilir misin? xtal i asiri yukluyor da olabilirsin. MCU nun datasindaki pcb tavsiyesine uymuyor olabilirsin. xtal dandik olabilir.

ayda bir kac saniyelik kayma normal karsilanir ve xtal e bagli kapasitelerle oynanarak bu kayma en aza indirilir.

su sekilde kalibre edebilirsin:

1Hz cikisini mcu nun bir pinine verirsin. frekansmetre ile 1 Hz elde edecek sekilde pf lik kapasitelerle oynarsin (trimmer kapasite isine yarar bu noktada sok tak yapmazsin). Tahminen virgulden sonraki 6 hane de 0 yakalarsan aylik sapman arti eksi 2sn civarinda olacaktir.

https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

quarko

Maalesef mevcut donanım üzerinde harici bir rtc kullanmak mümkün değil. Dahili rtc ile çözmem gerekiyor. Birde geri kalma miktarı sürekli aynı değil. Bir günde 5 dk geri kaldığı da oluyor, 1 ayda 2dk geri kaldığı da, 1 haftada 12 dk da. Garip bir durum yani.

Yazılımda bir yerlerde hata yapıyor olamam. Çünkü sadece ilk yazılım yükledikten sonra pc üzerinden rtc ayarı yapılıyor. Sonrasında hiç dokunmuyorum. Sadece tarih-zaman bilgisi ihtiyacım olduğunda dahili rtc den bilgileri okuyorum.
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

kantirici

Sıcaklık kompanzasyonu yapmalısınız. @Allegro nun verdiği grafik sizin rtc nizin datasheet inde vardır. Oradan hangi sıcaklıkta kaç ppm sapma olacağını hesaplayacaksınız.
Bu hesabı yapmak için dikkat ederseniz sıcaklık bilgisine de ihtiyacınız olacak. Bu durumda ya harici bir kaynaktan sıcaklık ölçecek yada varsa mcu içinde dahili sıcaklık sensöründen bu bilgiyi alabilirsiniz.

Burada kritik nokta kristalin 25 derece deki (turn over temp) sapmasını da bilmeniz gerekmektedir. Bunu da devre üzerinde kapasiteler bağlı şekilde bir frekansmetre ile ölçmeniz gerekmekte. Eğer seri üretim yoksa (veya adet azsa) kapasite değerleri ile oynayarak ppm sapmasını sıfırlayabilirsiniz.

Bunlarla uğraşamam derseniz dahili kompanzasyonu olan bir rtc veya osilatör kullanabilirsiniz.

OptimusPrime

@quarko
stabil bir sey yok ortadaki kompanze edesin. yerinde olsan bir pinden 1 Hz cikartirim sonra kartla oynarim. takilip cikarilan birseyler varsa onlari takar cikaririm, bilgisayar uzerinden cihaza ulasirim, karti sogutur isitirim, rtc devresini parmaklarim vs vs. bunlardan birinde 1Hz cikisinin ciddi bir sekilde sapitmasi lazim. buradan yola cikip derdi neymis anlayabilirsin.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||