bipolar step motor ccs kod

isoment01

Üye
Katılım
26 Haz 2016
Mesajlar
197
Puanları
1
Yaş
31
arkadaşlar elımde half step 400 adım olarak sürecegım bır motorum var 8 tur atması gerek 3200 adım 60 rpm donus hızına sahıp 2.5ms de bır puls uretmesı gerek 8 tur ılerı ve gerı yapıcak bunu tımer0 kesmesı ıle forumdakı arkadasın yardımıyla olusturdum. Fakat dogrulugundan emın degılım sıze danısmak ıstedım kodlarım burada;
yardımcı olabılırsenız cok sevırım arkadaslar
 

Ekli dosyalar

  • stepmotor.txt
    958 bayt · Görüntüleme: 8
#device PIC18F4680
#include <18f4680.h>
#fuses xt,nowdt,noprotect, nobrownout, nolvp, noput, nowrt, nocpd
#use delay (clock=4000000)
#use fast_io(b)
unsigned int16 sayac = 0, hedef = 0;
#int_timer0
void timer0_interrupts()
{
set_timer0(63036);
output_high(pin_b0);
delay_us(20);
output_low(pin_b0);
sayac++;
if(sayac>=hedef)
disable_interrupts(INT_TIMER0);
}
void main()
{
setup_psp(PSP_DISABLED);
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_8);
setup_timer_1 (T1_DISABLED);
setup_timer_2 (T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_b(0x00);
output_b(0x00);

enable_interrupts(INT_timer0);
enable_interrupts(GLOBAL);
output_high(pin_b3);// motor aktif
delay_ms(100);
output_high(pin_b1);// motor yönü belirlendi
delay_us(50);
hedef=3200; //400*8
sayac=0;
set_timer0(63036);

output_low(pin_b1);
hedef=3200;
sayac=0;
set_timer0(63036);




}
 
yardımcı olabılecek arkadaslar var mı ?
 

Forum istatistikleri

Konular
127,952
Mesajlar
913,879
Kullanıcılar
449,599
Son üye
Gksn

Yeni konular

Geri
Üst