JAL2 ve JAL FARKI NEDEN?

Başlatan Erdinçbavaş, 07 Mayıs 2014, 19:46:55

Erdinçbavaş

Arkadaşlar şöyle bir durumla karşılaştım.Jalda 10ms aralıklarla sürdüğüm step motoru jal2de süremiyorum.
Aynı programı jal2de yazıyorum boştayken ledler düzgün yanıyor.Ama ne zaman step motoru bağlasam program sapıtıyor.
Ayrıca jal2 de 2ms ile motoru döndürebiliyorum.Yani ms(zaman) artınca jal2de sapıtmalar olur niyeki.Derdimi anlatabildim mi?Teşekkürler...

ByTEK

kodları ve sigorta ayarlarını görebilirmiyiz ?

Erdinçbavaş

#2
İlgilendiğiniz için sağolun kodlar aşağıdadır.İlki jal2.motor b0-b1-b2-b3 e bağlıdır.
Küçük farklılıklar var ama onlar motor sürümü ile ilgili değil.Acaba gözden kaçırdığım bir yer mi var.
En sade halleri burda hatta şimdi denedim.Yine olmadı


include 16f628a                    -- target PICmicro
pragma target clock 4_000_000 -- Kristal 4 MHZ
pragma target osc INTOSC_NOCLKOUT -- Dahili OSC
pragma target WDT  disabled        -- no watchdog
pragma target LVP  disabled        -- no Low Voltage Programming
pragma target MCLR external        -- reset externally
enable_digital_io()                -- disable analog I/O (if any)
porta_direction = all_input
portb_direction = all_output
porta = 0b00000000
portb = 0b00000000           -- portb baslangic degeri

      forever loop
            portb = 0b00000001
            _usec_delay  (10000)
            portb = 0b00000010
            _usec_delay  (10000)
            portb = 0b00000100
            _usec_delay  (10000)
            portb = 0b00001000
            _usec_delay  (10000)

        end loop
-------------------------------------------------------------------
include 16f628_4i
include jlib
pragma target protection on
pragma target internal_mclr    on
port_a_direction = all_input
port_b_direction = all_output

port_b = 0b00000000

forever loop

            port_b = 0b00000001
             delay_10ms (1)
            port_b = 0b00000010
             delay_10ms (1)
            port_b = 0b00000100
             delay_10ms (1)
            port_b = 0b00001000
             delay_10ms (1)

end loop



ByTEK

#3
gecikme olarak  _usec_delay  (10000) yerine delay_10ms (1) kullan ama kütüphane olarak include delay ilavesi yap.

aşağıdaki gibi

include 16F628A

pragma target clock       4_000_000       -- Kristal 4 MHZ
pragma target osc         INTOSC_NOCLKOUT -- Dahili OSC
pragma target WDT         DISABLED        -- WDT Kapalı
pragma target PWRTE       ENABLED         -- power up timer Açık
pragma target MCLR        INTERNAL        -- mclr pini devre dışı
pragma target LVP         DISABLED        -- Düşük Voltajlı Programalama Kapalı

enable_digital_io()   -- Tüm pinler Digital Giriş Çıkış

include delay

porta_direction = all_input
portb_direction = all_output
porta = 0b00000000
portb = 0b00000000           -- portb baslangic degeri

forever loop

port_b = 0b00000001
delay_10ms(1)
port_b = 0b00000010
delay_10ms(1)
port_b = 0b00000100
delay_10ms(1)
port_b = 0b00001000
delay_10ms(1)

end loop

Erdinçbavaş

Yok olmadı dediğinizi anladım fakat kütüphaneye  delay 10ms yi eklemedi sanırım.
delay 10ms olan satırlar hata veriyor.

ByTEK

https://code.google.com/p/jallib/downloads/detail?name=jallib-pack-bee-jalv24q2-20140309.zip&can=2&q=

buradan son jal lib lerini ve derleyicisini indirin. Jaledit üzerinden lib ve derleyiciyi gösterin. Derleme işlemini gerçekleştirin.

Erdinçbavaş

İndirdim.Fakat jal editten nasıl göstereceğimi bilmiyorum.İndirdiğim dosyadaki Lib-Compiler ve sample dosyalarını
programı yüklediğim yere kopyaladım olmadı.Nasıl yaparım teşekkürler...

Erdinçbavaş

Arkadaşlar şöyle bir durum söz konusu.Benim kartım 28V dc ile besleniyor.Ayrıca 5v gerilim regülatörü 338T nin önünde ısınmaması için 16 V luk zener var.Jal ile 10ms de motoru sürebiliyordum fakat jal2 ile 10ms süremiyordum.jal ve jal2 nin zaman değerleri eşit olmadığından dolayı aynı zaman değerinde motor jal2de daha fazla akım çekiyor.Jal2 jala göre gerçek zamana daha yakın.Ancak jalın 10ms jal2ye göre daha hızlı olduğundan motor daha az akımçektiğinde az bir gerilim düşümü oluyor kart çalışıyor.Örneğin 28 v besleme olduğunda.28-16 zener =12V lm338t ye kalıyor.Motoru jalda sürüncede 2-3 v bir düşüm oluyor ve lm 338tye 9 v kalıyor çalışıyor sorun yok.Jal2 de ise aynı zaman biraz daha yavaş ilerleyince motor daha fazla akım çekiyor ve daha fazla geilim düşümüne sebep oluyor.Böylece lm 338t üzerine 6V veya daha aşağı V kalıyor devre çalışmıyor.Motora ilk 1-2. palsler verilince pic beslenemiyor.Umarım okuyanlara faydam olmuştur.Yanlışım varsa düzeltelim değerli dostlar, yardımcı olan arkadaşlara teşekkürler. Saygılar...

ByTEK

İndirdiğin jalv2 kütüphane dosyalarını aşağıdaki şekilde tanıt.

Öncelikle jaledit açıkken tools->Environment Options tıkla ve resimdeki şekilde gerekli düzenlemeni yap.