Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Güç Elektroniği => Konuyu başlatan: erkan614 - 18 Mayıs 2007, 16:31:59

Başlık: internal osc ?
Gönderen: erkan614 - 18 Mayıs 2007, 16:31:59
arkadaşlar sorum şu; bazı pic modellerinde bulunan internal osc'leri sorunsuz olarak nasıl kullanabilirim?

kullandığım entegre: pic 12f675  bu entegrenin internal osilatörü var 4MHz.
osc olarak "int osc" yi seçtiğimde pic te takılmalar oluşuyor ve tam değerde çalışmıyor.

xt osc li ve int osc li iki pic'i aynı anda çalıştırdım, xt osc kullanan pic tam hesapladığım zamanda çıkış verdi int oscli olan daha erken çıkış verdi oran olarak %28 daha hızlı
Başlık: internal osc ?
Gönderen: files - 18 Mayıs 2007, 16:57:19
pici programlamadan önce kalibrasyon değerini okumalısın.  osccal register ile ince ayar yapıyorsun tam 4Mhz de çalışıyor. %1 hassasiyet olması lazım.

boş pici programlamadan önce  okumadıysan, bunu ayarlamak için ufak bir program yazabilir ve bir test devresiyle picin bacağından çıkan frekansı ölçebilirsin. bir modta tam 1.00Mhz çıkması lazım. (dahili osc/4 frekans dışarı veriliyor)

bu 4Mhz hassas dahili osilatör ile çalışan pici birçok uygulamada gönül rahatlığıyla kullanabilirsin. sorun olmaz
Başlık: internal osc ?
Gönderen: erkan614 - 18 Mayıs 2007, 17:05:01
ben tam anlamadım
şimdi ben programda oscal registerini 'FF'H yüküyorum bu durumda 1us bir adım olması lazım ama olmuyo
ya sana zahmet biraz daha açıklarmısın?
Başlık: internal osc ?
Gönderen: aslan_korhan - 18 Mayıs 2007, 17:08:29
Hassas zamanlama istiyorsan kesinlikle kristal kullanmalısın.
Dahili osilatör hiç bir zaman kristal kadar kararlı olmaz.
Havanın sıçaklığından bile frekansın kayaçaktır INT Osc. ile...
Başlık: internal osc ?
Gönderen: OG - 18 Mayıs 2007, 17:12:05
Yanlış hatırlamıyorsam microchip INT_OSC ye %1 doğruluk garantisi veriyordu. Datasheet den bakabilirsiniz. %28 hız farkından başka bir problem olduğu anlaşılıyor. INT_OSC ile 1200baud hızında data alışverişini sağlıklı olarak yapabiliyorum. Bu da dahili osc nin yeterince hassas olduğunu gösteriyor.

PBP kullanıyorsanız declarasyon için baş tarafta
DEFINE OSCCAL_1K 1 yazmanız gerekir. ASM de de böyle bir atama var ama şu an hatırlayamadım. Ayrıca erkan614'un bahsettiği imalatda ayarlanmış olan ve pic i okuyunca 3FF adresinde göreceğiniz set degerini korumanız gerekir. Yani bunu bir yere not edin. Kullanacağınız hex i programlayıcıya açtıktan sonra bu değeri manuel olarak 3FF adresine yazın.

K128 gibi bazı programlayıcılar bu değeri kendisi okur, ve yazdığınız hex ile gelen dataları üzerine yazayımmı diye sorar. Hayır cevabı verirseniz bu değeri korur.
Başlık: internal osc ?
Gönderen: files - 18 Mayıs 2007, 17:55:14
pbp de DEFINE OSCCAL_1K 1
galiba 12f675 için geçerli olmuyordu.

Dahili osc nin sıcaklıkla değişim yüzdesine bakılır saç kurutma makinası ve klima ortamında test edilerek durum görülür. Projeniz bukadar hasssasiyet gerektirmiyorsa rahatlıkla kullanılır. Örneğindüşük hızda software -seri iletişim için kullanıyor olabilirsiniz. toleransı kabul edilebilir , iletişimde sorun çıkmaz.
Başlık: internal osc ?
Gönderen: erkan614 - 18 Mayıs 2007, 18:02:43
ben ASM kullanıyorum ve k128 de programlıyorum.
pdf den baktım pic'i silince ön programlamada fabrikada yazılan int osc nin calibrasyon  değeri siliniyomuş.
şimdi bu değer 3FF adresinde anladığım kadarıyla.
bitane okuttum 345C  digerinde 3448 yazıyor bahsi geçen bu galiba
simdi bu değeri ben ne yapıcam osccal içinemi yazdırcam verilan ornek
Alıntı Yap
bsf        status,rp0
call       3FFh
movwf  osccal
bcf       status,rp0

bu durumda maximum veya center frekansa nasıl ayarlıycaz int osc i

yukardaki şartlama ile  bi 60 sn lik bekleme yaptım 47 sn de çıkış verdi ayrıca takılmalara devam ediyor bunu önlemek için WDT yeterlimi?
Başlık: internal osc ?
Gönderen: files - 18 Mayıs 2007, 18:32:25
16f628 kullanırsın. ayar gerekmez. Factory set!
Başlık: internal osc ?
Gönderen: erkan614 - 18 Mayıs 2007, 18:37:58
ya bi oda şartlarında salam saniye tuttursam sıcak ve soğuk durumlara bakacam
0.01 sn hassasiyet lazım
Başlık: internal osc ?
Gönderen: OG - 18 Mayıs 2007, 18:50:29
Alıntı Yappbp de DEFINE OSCCAL_1K 1
galiba 12f675 için geçerli olmuyordu.
12f675 için geçerli.
Başlık: internal osc ?
Gönderen: erkan614 - 18 Mayıs 2007, 19:05:09
arkadaşlar define osccal 1k 1
in asm karşılığı nedir. nasıl yapıcaz hala hızı tutturamıyorum
Başlık: internal osc ?
Gönderen: erkan614 - 19 Mayıs 2007, 17:05:56
vdd ve vss arasını cuplajlayınca zaman sorunu çözüldü fakat takılmalar devam ediyor; ki enerjinin kesilip tekrar gelmesi ile işem yaptığından takılmaması lazım busorunu WDT ile çözebilirimiyim?
Başlık: internal osc ?
Gönderen: hademe - 19 Mayıs 2007, 21:38:38
Alıntı yapılan: "erkan614"arkadaşlar define osccal 1k 1
in asm karşılığı nedir. nasıl yapıcaz hala hızı tutturamıyorum


call 1023
bsf 3,5
movwf OSCCAL
bcf 3,5
Başlık: internal osc ?
Gönderen: erkan614 - 05 Haziran 2007, 19:39:18
arkadaslar int osc ve 2 tane xt osc li 3 pic 12f675 i ayni anda calıştırdım 128 sn beklemesi lazım gelen (isiste sim yapıldı) bu picler saldım çayıra mevlam kayıra şeklinde çalışıyor ayrıca hızlı yavaş sıralaması değişik saniye değerlerinde de değişiyor işin garibi xt li piclerde kafasınagöre birbirinden alakasız saniyelerde çıkış verior  ama 3 sn den fazla bi fark yok aralarında. :(
yarın birkaç deney daha yapiciim bakalım sonumuz hayrola  :?
Başlık: internal osc ?
Gönderen: aslan_korhan - 05 Haziran 2007, 19:49:03
3 picede bir tane osilatör bağlasan bir sorun olmaz...
Başlık: internal osc ?
Gönderen: sertac2003 - 05 Haziran 2007, 20:01:43
isis 12f675 icin osccal registerini simule etme özelliğine sağip değil. yani 0x3FF adresindeki değer ne olursa olsun bunu kaale almıyo. gerçek dünyada deneme yapılarak sonuç görülebilir. tabi her pic için bu değer farklı olacaktır.
zaten simulasyon çalıştırıldığında uyarılar ekranını açarakta "osccal register not modelled" gibi bir uyarının olduğu görülebilir.
Başlık: internal osc ?
Gönderen: erkan614 - 06 Haziran 2007, 17:49:31
Alıntı yapılan: "sertac2003 "isis 12f675 icin osccal registerini simule etme özelliğine sağip değil. yani 0x3FF adresindeki değer ne olursa olsun bunu kaale almıyo. gerçek dünyada deneme yapılarak sonuç görülebilir. tabi her pic için bu değer farklı olacaktır.
zaten simulasyon çalıştırıldığında uyarılar ekranını açarakta "osccal register not modelled" gibi bir uyarının olduğu görülebilir.

bendeki isiste problem var o zaman çatır çatır sim yapio :)
BSF STATUS,RP0
CALL 03FFH
MOVWF OSCCAL

ile osccal sartlaması yaptim

gerçek dünyada xt'li piclerin osccal regini de aşşağıdaki gibi şartladım
BSF STATUS,RP0
MOVWF 03FH
MOVWF OSCCAL


velhasıl xtli ve intosc li picler şöyle bi çıkış grefiği verdi



hesaplanan intosc xt pot voltajı
31sn 32sn 32sn 1,25v
42sn 42sn 42sn 1,66v
64sn 64sn 63sn 2,50v
85sn 85sn 84sn 3,33v
96sn 96sn 95sn 3,75v
127sn 127sn 127sn 5,00v


arkadaşlar sizce intoscyi kullansam başıma dert olurmu?

@aslan_korhan piclerin farklı tip osclerde basit programlar için ne kadar sapma yaptıklarını hesaplamaya çalışıom o sebepten
ayrıca xt oscli iki pic arasındaki fark birinin osccal degeri 080h digerininki de 03fh olmasındanmış.
Başlık: internal osc ?
Gönderen: sertac2003 - 07 Haziran 2007, 01:54:45
@erkan614

söylemek istediğim osccal sartlaması vs değil, 3ff teki degeri değiştirdiğinde bunu simulasyona yansıtmaz onu diyodum. sen değeri değiştirmiyosun mevcut değeri okuyosun böyle olunca elbette sim de yapar gerçek dünyada da sorun olmaz ama 0x3ff degeri değiştirildiğinde isiste canavar gibi çalışan devren, gerçek dünyada seni üzer. demek istediğim buydu. int osc  0x3ff teki degeri kaybetmediğin sürece(yada kaybetsende olması gereken değeri bir şekilde tekrar yazdığın taktirde) başa bela olmayacaktır. tabi aşırı hassasiyet gerekmeyen uygulamalar için...

(http://img295.imageshack.us/img295/1599/675io8.jpg) (http://imageshack.us)
Başlık: internal osc ?
Gönderen: erkan614 - 07 Haziran 2007, 10:37:07
ok ben 03ffh deki değeri pratik yaparken programa ekliorum zaten  k128 var o kendisi yazıo programa.
sistemde çok aşırıda hassasiyet yok yani %1 yeterli olurmu zaman rölesi için?
yalnız intoscyi kullanırken enerji kesilip tekrar verildiinde (sistem enerji geldiginde çalışıo) pic bazan takılıo bu nedendir? wdt ile bunu önleyebilirmiyim?
Başlık: internal osc ?
Gönderen: e3 - 07 Haziran 2007, 15:10:34
Power Up Timer veya Brown Out Reset ile önleyebilirsin.(Sadece bir düşünce...) İyi çalışmalar.İyi günler.
Başlık: internal osc ?
Gönderen: erkan614 - 07 Haziran 2007, 16:27:13
power up timer ı kullanıorum ama çözüm olmadı bor ve wdtyi de daden deneyemedim bakalım nolcak