12f629 Sleep modda 120uA akım çekiyor?

Başlatan dyonizos, 09 Mayıs 2012, 10:04:15

dyonizos

arkadaşlar aşağıdaki programda 12f629 u sleep modda 120uA akım çekiyor oysa datasheet de 1uA yazıyor nerede hata yapıyorum acaba?

Device 12F629
XTAL 20

Config hs_osc, MCLRE_OFF, WDT_OFF, PWRTE_ON,

SET_OSCCAL

GPIO=%00000000
TRISIO=%00000010
CMCON = 7

INTCON=8 'Enables port change interrupt ie GPIE
IOCB=2 'sets GPIO.1 for Interrupt on change
OPTION_REG.6=0 'INT on falling edge
OPTION_REG.7=0 '00000000 WPU enabled,

Dim i As Byte

Symbol LED =GPIO.0

tekrar:
Low LED
INTCON.0=0
DelayMS 100

@ Sleep

For i=0 To 5 
        Toggle LED
        Delayms 10             
Next

GoTo tekrar

End

Veli B.

Osilatörü mümkün olan en küçük frekansa çekin.

bymrz

Akımı tam olarak nereden ölçüyorsun? Ölçtüğün ölçü aleti gerçekten o kadar hassas mı? İşlemcinde pull-uplar var mı? (Bu arada dahili pull-up lar da aktif gözüküyor.) Arkadaşın dediği gibi hangi frekansta çalışıyorsun? Dahili LP osilatör olsa gerek işlemcide.. Onu kullanabilirsin...

dyonizos

En son aşağıdaki aşamaya geldim ancak yinede 0.05mA gösteriyor. data 1nA yazıyor bu değerin yanından bile geçemiyorum. Ölçümü 2mA kademesinde multimetre ile yapıyorum. 0.01mA minimum görebildiğim değer. 1nA değerine yaklaşabilsem en azından 0 değerini görebilmeyi bekliyorum.

Dahili pullup lardan birisi hariç hepsini kapattım. Osilatör frekansını daha aşağı çekemiyorum ve dahili sadece 4mhz osilator var. Osilatörün bu kadar yüksek değerde bir fark yaratacağını sanmıyorum. Datada verdiği değerle benim gördüğüm arasında neredeyse 50.000 kat fark var. ben 50uA ölçüyorum.
Daha başka ne yapılabilir acaba?

Device 12F629
XTAL 20

Config hs_osc, MCLRE_OFF, WDT_OFF, PWRTE_ON,

SET_OSCCAL

GPIO=%00000000
TRISIO=%00000010
CMCON = 7

INTCON=8 'Enables port change interrupt ie GPIE
IOCB=2 'sets GPIO.1 for Interrupt on change
OPTION_REG.6=0 'INT on falling edge
WPU=%00000010

Dim i As Byte

Symbol LED =GPIO.0

tekrar:
Low LED
INTCON.0=0
DelayMS 100

@ Sleep

For i=0 To 5 
        Toggle LED
        Delayms 10             
Next

GoTo tekrar

End

ahmets

Datasheet'te "DC Characteristics" bölümünü incelediniz mi?

Veli B.

Alıntı yapılan: dyonizos - 10 Mayıs 2012, 09:58:48
Osilatör frekansını daha aşağı çekemiyorum ve dahili sadece 4mhz osilator var. Osilatörün bu kadar yüksek değerde bir fark yaratacağını sanmıyorum. Datada verdiği değerle benim gördüğüm arasında neredeyse 50.000 kat fark var. ben 50uA ölçüyorum.
Daha başka ne yapılabilir acaba?

Teknik dökümanlar bir daha ve gerekiyorsa bir daha incelenebilir.

Frekansın güce etkisi konusunda, çalışma vb durumlar için frekanslara ve besleme değerlerine göre güç tüketim değerleri verilmiş olmalı, Electrical characteristic veya DC characteristic gibi bir başlık altındadır.

OptimusPrime

olay osilatörle ilgili değil. zaten sleep komutunun asıl amacı osilatörü durdurmak.

http://ww1.microchip.com/downloads/en/devicedoc/41190c.pdf
9.7 Power-Down Mode (SLEEP)

kısmında bazı uyarılarda bulunmuş bunlara uyuyor musun???

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 ||

dyonizos

verdiğiniz bilgiler için teşekkürler. Dökümandan anladıpım kadarıyla WDT aktif durumda olmalı ve

• WDT will be cleared but keeps running
• PD bit in the STATUS register is cleared
• TO bit is set
• Oscillator driver is turned off
• I/O ports maintain the status they had before

bu işlemlerin olduğundan bahsediyor zaten bunu kendsi yapıp ozilatoru kapatıyor. PD ve TO bitlerini temizliyor WDT yi temizliyor ve portların son konumlarında tutuyor.

Bunlarda sorun yok. Bundan sonrada komparator iptal etmemiz gerektğinden bahsediyor ki CMCON=7 zaten yazılı.

ancak diğer kısımları tam anlamadım yardımcı olabilirmisiniz?

For lowest current consumption in this mode, all I/O
pins should be either at VDD, or VSS, with no external
circuitry drawing current from the I/O pin and the comparators and CVREF should be disabled. I/O pins that
are hi-impedance inputs should be pulled high or low
externally to avoid switching currents caused by floating inputs. The T0CKI input should also be at VDD or
VSS for lowest current consumption. The contribution
from on-chip pull-ups on GPIO should be considered.
The MCLR pin must be at a logic high level (VIHMC).



Device 12F629
XTAL 20

Config hs_osc, MCLRE_OFF, WDT_ON, PWRTE_ON

SET_OSCCAL

GPIO=%00000000
TRISIO=%00000010
CMCON = 7

INTCON=8 'Enables port change interrupt ie GPIE
IOCB=2 'sets GPIO.1 for Interrupt on change
OPTION_REG.6=0 'INT on falling edge
WPU=%00000010

Dim i As Byte

Symbol LED =GPIO.0

tekrar:
Low LED
INTCON.0=0
DelayMS 100

@ Sleep

For i=0 To 5 
        Toggle LED
        Delayms 10             
Next

GoTo tekrar

End

Tagli

Yalnız WDT açık olursa, taştığında uykudan uyandırır.

Ayrıca, alone_lover'ın sorusu önemli. Gözden kaçmış sanırım, ben hatırlatayım tekrardan: Akımı nereden ölçüyorsun? Yani hangi hat üzerindeki akımı ölçüyorsun?
Gökçe Tağlıoğlu

dyonizos

Datasheet te wdt icinbu sekilde yaziyor en azindan ben oyle anladim. Olcum icinyukarida yazdigim gibi multimetre ile ve besleme hattini olcuyorum. Vdd yolu uzerine bagli

bymrz

Devre şemasını ve ölçtüğün noktayı da tam olarak gösterirsen daha faydalı olur, fakat ben yine farklı bir noktada takıldım ! Elindeki multimetrenin o kadar hassas ölçüm yapabildiğine emin misin?

dyonizos

Elimdeki multimetre mA olcuyor 1mA hassasiyette. Ancak bu aksam uA olcebilen bir multimetre ile tekrar olcum yapmayi deniycem. Ayrica semayida eklemeye calisicam. Elimde bulunan ticari bir urunde ( kumanda) ayni olcumu yaptigimda sleep modda oldugunu dusundugum zaman multimetre 0 degerini veriyor. Bende benim devrede ayni sekilde 0 gormeye calisiyordum ancak dedigim gibi daha hassas bir multimetre ile olcum yapip yazicam.

dyonizos



devre şeması bu. Ayrıca uA ölçebilen bir ölçü aleti ilede aynı sonucu aldım. 62 uA akım çekiyor sleep modda.  Kristal uçlarında 22pf kondansatorlerde var gercek devrede şema uzerıne eklemedım.

dyonizos

Bir fikri olan yokmu acaba?
Kullandığınız ve emin olduğunuz bir kod varsa karşılaştırma için yazabilirmisiniz?

OG

#14
WDT OFF yap, yoksa 1 kusur saniyede resetler, resetleyince sleep den çıkmış yani akımın yükselmiş olur. Sen de bu akımların ortalamasını okumuş olursun.

WDT OFF yapmazsan ve Resetlediğini görmek istersen,
tekrar: etiketi  hemen altına
veya 
tekrar: etiketi hemen üstüne şunu ilave et.  (Resetledikçe led yanıp söner, resetlediğini buradan anlarsın.)


High LED
DelayMS 300

Low LED
DelayMS 200


''''''''''

Ayrıca,
Bir osilator çalışacak ve devre 1-2nA çekecek, neredeeee o osilatör?

''''''''''''''
Ayrıca,

Ölçü aletin nA kademelerinde doğru ölçüm yaptığından emin olun.
Mesela 10V'a 1000.000.000 R bağlarsanız 10nA akım gecer.
1V'a 100.000.000 R bağlarsanız 10nA akım gecer.

Benzer şekilde ölçü aletinin doğru ölçme deneyini yapabilirsiniz



FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.