merhaba arkadaşlar
benim bir problemim var ve kafayı yemek üzereyim 877 ile pwm kontrolü yapmak istiyorum isiste pic c kullanarak mantık olarak çalışması gerekiyor ama beceremiyorum ve buna sadece benm bilgisayarımdaki bi hatann sebep olduğuna inanıyorum hata olarak birşey yazıyor ama tam olarak anlamadım pwm similasyonunda bakıyorum hiçbir değişiklik yok motor dönmüyor ve sinir hat safhada işte hata yazısı
pic16adc pc_0x01cd adc version clock period 5e-07 is than min Tad_1 6us, and is possibly invalid for device clock frequency
bu yazı çıkıyor devamlı ama nalamadım bir yardımcı olursanız sevinirim
öncelikle proteusun bazı versiyonlarında pwm çıkış alamıyorsun. EN başta buna bak. Bende çok uğraşmıştım. İnternetten çalışan kodlar bulup denemistim yine olmamıştı. Proteusu değiştirdim düzeldi.
öyle bir problem olabilir bnde netten çalışan örnekte deniyorum adaam koymuş dosyaları çalışmıyor deli oldum arkadaş bende proteus 7.6 var acep kaç lazım bir yardımcı olurmusun
hata adc cevirme hizin sistem frekansina gore hizli diyo programini verirsen hatani bulabiliriz..
hocam buyur kodlar burada yalnız sistemde lcdde var ama problemle bi ilgisi yok sanırım
#include <16f877A.h>
#device ADC=8
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#use fast_io(b)
#use fast_io(c)
#use fast_io(e)
#define use_portb_lcd TRUE
#include <lcd.c>
unsigned int deger;
void main ( )
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_16,255,1);
setup_CCP1(CCP_PWM);
setup_CCP2(CCP_OFF);
setup_adc(adc_clock_div_2);
setup_adc_ports(ALL_ANALOG);
set_tris_c(0x00);
set_tris_b(0x00);
set_tris_e(0xFF);
output_c(0x00);
set_adc_channel(5);
delay_us(20);
lcd_init();
output_high(pin_c0);
delay_ms(1000);
output_low(pin_c0);
delay_ms(1000);
output_high(pin_c0);
printf(lcd_putc,"\f yusuf kaya ");
delay_ms(1500);
printf(lcd_putc,"\f ADC ile PWM \n Kontrolu ");
delay_ms(1500);
set_pwm1_duty(0);
while(1)
{
deger=read_adc();
delay_us(20);
output_high(pin_c4);
output_low(pin_c3);
if(deger>250)
{deger=250;
}
if(deger<10)
{
deger=1;
}
set_pwm1_duty(deger);
printf(lcd_putc,"\f Dijital=%u", deger);
delay_ms(20);
}
}
kodlarini denedim bende calisti hata vermeden sen sanirim su asagidaki uyariyi diyosun...
[IMG]http://img695.imageshack.us/img695/1584/qwe132.th.jpg[/img] (http://imageshack.us/photo/my-images/695/qwe132.jpg/)
Uploaded with ImageShack.us (http://imageshack.us)
dedigim gibi o sadece uyari programi etkilemiyo yani gormezden gelinebilir yani...
hocam iyi güzel de ne frekansı görüntüleyebiliyorum ne motorun döndüğünü görebiliyorum ne de motor uçlarında voltaj veya akım görebiliyorum ben bunu geliştirmek istiyorum bunları göremeden geliştirememki ben bende neden çalışmadığının o hatanın ne olduğunun peşindeyim
valla hocam ben de sorunsuz calisiyo proteusunun versiyonu ne peki?
proteus 7.6 benimki sende soorunsuz çalışan sürüm nedir peki
bende 7.8 de sorunsuz calisti...
Not: LCD ile ilgili kod satirlarini kaldirip programini tekrar denermisiniz...
full olrak indirebilir miyim 7.8i netten zira lcd kodlarını silip denediğimdede hiçbir fark göremedimde
https://rapidshare.com/files/1299308764/7.8_SP2.rar
buyrun sizin icin yukledim kolay gelsin...
çok teşekkürler eskisini silip bunu yükleyince halloldu sorun artık sorunsuz çalışıyor tekrardan teşküürler çok sağolun
@justice_for_all
Program trojan uyarısı verdirdi.
ben yukledim bazi antivirusler trojan uyarisi veriyo gormezden gelin, guvenilir merak etmeyin...
http://www.ys-labo.com/index.htm