18f45k22 pwm kapamasında pin hıgh kalıyor.

Başlatan F®T, 07 Haziran 2013, 21:00:42

F®T

arkadaşlar proteuse simülasyonunda RC1 ve RE0 pinlerinden pwm çıkışı alıyorum.istediğim zaman açıyom istediğim zaman kapatıyorum fakat pin çıkışları rastgele ya low yada hıgh ta kalıyor.kapamadan sonra pinleri komutla sıfıra çekiyorum ama yine farkeden birşey olmuyor.sebep proteusemu yoksa farklı ne olabilir.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

est32

#1
hayır proteus değil,derleyici. Benim gerçek devrede başıma geldi.
Aynı sıkıntıyı tasarladığım bir saat devresinde yaşadım. Devrede sound komutu ile melodi üretiliyordu ve hoparlöre bağlı transistör aşırı ısınıyor ve çalan melodiyi bozuyordu. ben de mecburen melodi bitişinde çıkış pinini sıfırlayıp çözdüm olayı.
Ben böyle fark etmiştim bu durumu.
Sen yine iyi fark etmişsin...

F®T

hocam saat olayında bende yaşadım pin low ile çözdüm ama bu pwm olayında aynı mantık ile çözemedim.pwm çıkışını scop ta gözlemliyorum.pwm off yapınca scopta ve entegre pin çıkışında bazen hıgh bazen low oluyor.rastgele değerde kalıyor buda motor kontrolünde risk.sorun neyden kaynaklanıyor çözemedim.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

est32

rastgele değer aldığına göre derleyiciden olsa gerek.
Bana göre doğrusu ne high ne de low.
Neden dersen, yaptığım devrede bir cihazı ben genelde high ile sürerim ama bir başkası da low ile sürmüş olabilir.
Bu durumda haigh'ta kalınca ben sorun yaşarım, low'da kalınca başka bir kişi.
Sanırım pwm sinyali kesilince pinin o anki durumu ne ise o şekilde kalıyor ve yukarıda bahsettiğim durumdan dolayı da derleyici tasarımcıları bu durumu kullanıcıya bırakıyor olabilir.

F®T

Hocam surekli sabit degilki.derleyici olsa sabit cikis vermesi gerekmezmi
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

İlyas KAYA

Sayın F.T;

CCP modülü nasıl kapatıyorsunuz ? Komutunuzu görebilirmiyim mümkünse.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

F®T

start için

T2CON.2=1
CCPR2L=125
CCPRH=0

stop için

T2CON.2=0
CCPR2L=0
CCPR2H=0

BU ŞEKİLDE KULLANIYORUM.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

İlyas KAYA

Birde
CCP1CON = 0
yada
CCP2CON=0

deneyin.

ccpcon registerinde

0000 = Capture/Compare/PWM off (resets the module)

Yazılı. Datasheet'ini tekrar incelemeyi deneyin.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

F®T

#8
hiç aklıma gelmedi o registerı kapatmak.sadece pwm modu ayarlanır diye anlamışım.ama bakınca dediğiniz gibi tam isabet.

CCP3CON = %00001100 ile pwm modu açılıyor

CCP3CON = %00000000 ilede tüm modlar kapatılıyor.

sorun çözülmüştür.

NOT:

CCP2 bu komut sonrası yine saçmalamaya devam ediyordu.bu komut sonrasına portc.1=0 verince low oluyor.

CCP3 komut sonrası sürekli low oluyor.normale döndü.

hocam allah razı olsun.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

İlyas KAYA

cümlemizden inşaAllah. Çözüldüğüne sevindim :)
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal