View Single Post
Old 26-05-2008, 10:31 PM   #27
tamrua
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 22
:
chào mọi người, mấy hôm nay, em làm xong mạch test rôi, Pickit2 cug chạy rồi, em cũng đang bắt đầu làm 18f4431 điều khiển động cơ đây,
code: power_pwm đây, nạp xong nó im re, các bác giúp e với,
==================================================
Code:
int16 duty1=2000;
int16 ref=0,out=0;
signed int16 udk=0,  error=0;


void main()
{
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL );
delay_ms(1000);
setup_power_pwm_pins(PWM_OFF,PWM_OFF, PWM_OFF,PWM_OFF);
setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY, PWM_COMPLEMENTARY,PWM_COMPLEMENTARY);
setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN|PWM_DEAD_CLOCK_DIV_4,1,10000,1000,0,1,10);
set_power_pwm0_duty(2000);
//set_power_pwm2_duty(2000);

while(1)
  {
       set_adc_channel(0);
       delay_us(10);
       ref=read_adc();
       set_adc_channel(1);
       delay_us(10);
       out=read_adc();
       error=ref-out;
       udk=5*error;
       if (udk>2000)
       {
            udk=2000;
       }
       if (udk<-2000)
       {
            udk=-2000;
       }
       duty1=2000+udk;
       set_power_pwm0_duty(duty1);

  }

}
======================================

anh nào giúp em với, còn đọc encoder nữa. em chưa viết được.
chân thành cảm ơn các huynh.

thay đổi nội dung bởi: namqn, 26-05-2008 lúc 10:40 PM.
tamrua vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn