armanct
Üye
- Katılım
- 3 Kas 2017
- Mesajlar
- 7
- Puanları
- 1
- Yaş
- 28
PIC16F877 Mikrokontrolör İle motor hızını lcd de gösteren encoder devresi
Bu projeyle internette karşılaştım ve bununla ilgili proje ödevim var yapmayı düşünüyorum fakat aklıma takınlan sorular var.Projede hangi malzemeler kullanılmış anlayamadım sensor olması gerekiyor devrede galiba.Devreye bağlı bir kare dalga var pwm sinyali galiba tam emin değilim bunu ben nasıl verebilirim.Bu sinyali encoder yardımı ile mi veriyoruz.Motoru encoderli mi kullanmış acaba ? Yardımcı olursanız sevinirim
Projenin Kodlarıda bunlar
Bunlarda kurulmuş devrenin görüntüsü ama ben bir şey anlamadım
Bu projeyle internette karşılaştım ve bununla ilgili proje ödevim var yapmayı düşünüyorum fakat aklıma takınlan sorular var.Projede hangi malzemeler kullanılmış anlayamadım sensor olması gerekiyor devrede galiba.Devreye bağlı bir kare dalga var pwm sinyali galiba tam emin değilim bunu ben nasıl verebilirim.Bu sinyali encoder yardımı ile mi veriyoruz.Motoru encoderli mi kullanmış acaba ? Yardımcı olursanız sevinirim
Projenin Kodlarıda bunlar
Kod:
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#include
#include
#BIT T0IF = 0x0B.2
int sayac,artan;
long hiz,konum;
int16 value;
#INT_rtcc
clock_isr()
{
if(T0IF)
{
artan=0;
sayac=sayac+1;
if(sayac==15)
{
hiz=get_timer1();
hiz=hiz*1.4;
lcd_gotoxy(0,1);
printf(lcd_putc," HIZ :%4LU d/d ",hiz);
sayac=0;
artan=get_timer1()%15;
set_timer1(0);
}
}
}
void main()
{
konum=0;
artan=0;
hiz=0;
sayac=0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_RTCC);
set_timer0(0);
setup_timer_0(RTCC_DIV_256);
set_timer1(0);
setup_timer_1(T1_EXTERNAL);
ext_int_edge( 1,H_TO_L );
lcd_init();
setup_timer_2(T2_DIV_BY_4, 1023, 1);
setup_ccp1(CCP_PWM);
setup_port_a(ALL_ANALOG);
setup_adc(adc_clock_internal);
set_adc_channel(0);
for(;; )
{
value=read_adc();
value=value*4;
set_pwm1_duty(value);
konum=(artan+get_timer1())%15;
konum=24*konum;
lcd_gotoxy(0,0);
printf(lcd_putc," KONUM : %3LU der ",konum);
}
}
Moderatör tarafında düzenlendi: