avatar_elektro77

4051 Kullanımı

Başlatan elektro77, 08 Mayıs 2021, 16:21:30

elektro77

Alıntı yapılan: ete - 11 Mayıs 2021, 11:16:59Aşırı peakleri anında söndürmek için olsa gerek.

Ete
Yani diyodun kırpma noktası olan 0.7Vac den sonra değil mi hocam?
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

#16
aslında pic adc ile bahsettiğimiz kadar hatta daha azını(100mVAC) ölçmeyi başardım. Fakat baştan beri devredeki sinyal ledinin bozuk olduğunu bende çok geç farkettim. Özür dilerim.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

#17
Hocam.
Aşağıdaki kodlarda peak on durumuna yaklaşık 10 saniye bakabiliyorum. Fakat peak off olduğunda yani 4.8 voltun altına indiğinde bile sayma devam ediyor ve rolelow her halukarda 0 oluyor.
Sayma devam ederken 4.8 voltun altına inerse saymayı bırakıp roleye dokunmaması gerekli.
Nerede mantık hatası yaptığıma bakabilir misiniz?

c=0:b=1:a=1        'x3 kanal 3 (PEAK ON)
ADCIN 0,x          'burada normalde 10mVDC var. Peak on olursa +5 volt oluyor
    if x>983 then  'x3 adresinde x değeri +4.8VDC volttan büyükse
    while x>983
    say=say+1
    if say=65500 then
    relaylow=0
    endif
    wend 
endif 
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

Zamanlama döngüsünü aşağıdaki şekilde çalıştırdım hocam. Bi bakarmısınız bir mantıksızlık var mı?
PORTA=%0110
'c=0:b=1:a=1       'x3 kanal 3 (PEAK ON)
ADCIN 0,x          
while x>983:ADCIN 0,x 'x' e sürekli bak ve 'x' +4.8 volttan büyükse 2000 e kadar say 
say=say+1
        if say=2000 then
           relaylow=0    'x hala +4.8v tan büyükse relaylow u kapat
           statusled=1
        endif
        if x<983 then    'x +4.8 volttan küçükse(normalse) saymayı bitir ve sıfırla ve başlaya git
           say=0
           relaylow=1    'x +4.8 volttan küçükse(normalse) relaylow u tekrar aç
           statusled=0   'x +4.8 volttan küçükse(normalse) satatusled i kapat
           goto basla
        endif
wend
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Mantıksal bir sıkıntı görmedim. Bence olması gerektiği gibi. Tabiiki kodun bütününe hakim olmayınca insan kısmi değerlendirme yapmasıda zor oluyor.
Bir önceki mesajında sayma 4,8V un altına düşüncede devam ediyor demişsin.
Ben olsam simulasyonda değişken takibi yaaprak saymayı gözlemlerdim. Zira o program parçasında bir gecikme olmadığından saayc değerinin 65535 e ulaşması anlık meseledir ve sayma sürekli yeniden başlar gibi geliyor bana. Sende devam ettiğini sanıyorsun diye düşünüyorum.

Ete

Powered by EzPortal