View Single Post
Old 17-09-2007, 12:54 AM   #63
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Sau nhiều lần test với các tụ khác nhau thì chỉ có tần số <1khz là chạy ổn định. Các tần số lớn hơn áp 2 đầu động cơ dao dộng và đảo chiều động cơ khi sau khi vận tốc về 0 thì random có lúc được lúc ko.
Mạch IR thiết kế để kích FET tần số cao có thể >100Khz. Ko biết mạch em làm sai chổ nào, Cb=0.47uF Rgate 10ohm Db 4148

Chương trình test mạch như sau: D1 D0 đk 2 FET thấp, 2 chân PWM 0 1 đk 2 FET cao, duty max 4095, tần số 500hz

Code:
output_high(pin_D0);
output_high(pin_D1);
while(1)
{
      delay_ms(10);
      
      output_low(pin_D1);
      delay_ms(5);
      setmotorsspeed(3000);
      delay_ms(5000);
   
      setmotorsspeed(0); <= cú pháp của hàm chỉ có 1 đối số!?
      output_high(pin_D1);
      output_high(pin_D0); <= những lệnh thao tác ngõ ra này nên nằm trong hàm setmotorsspeed()
      delay_ms(10);
   
      output_low(pin_D0);
      delay_ms(5);
      setmotorsspeed(-3000);
      delay_ms(5000);
      setmotorsspeed(0); <= cú pháp của hàm chỉ có 1 đối số!?

      output_high(pin_D1);
      output_high(pin_D0);
}

setmotorsspeed (signed long duty)
{
	if(duty==0){
		set_power_pwm_override(1, true, 0);
		set_power_pwm_override(0, true, 0);
	}else if(duty<0){ <= if cái gì < 0?!
		set_power_pwm_override(1, true, 0);
		set_power_pwm_override(0, false, 0);
		set_power_pwm0_duty(-Duty);
	}else{
		set_power_pwm_override(0, true, 0);
		set_power_pwm_override(1, false, 0);
		set_power_pwm0_duty(Duty);
	}
}

thay đổi nội dung bởi: scentoflove, 18-09-2007 lúc 12:16 AM.
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn