Mình điều khiển một động cơ DC bằng PWM. Động cơ đã chạy!
Vấn đề của mình là: Mình điều khiển chiều động cơ = chân C5 của PIC16F877A.
Chân C5 mức cao thì "quay thuận", chân C5 mức thấp thì "quay nghịch".
Vấn đề là chân C5 nối với led thì có thể điều khiển được led chớp tắt bình thường 0V-5V.
Nhưng khi nối với chân điều khiển chiều quay động cơ thì chân C5 luôn có điện áp trôi là 1,5V. Và động cơ chỉ quay theo 1 chiều.
Mong mọi người giúp đỡ! Mình đang cần gắp, cảm ơn rất nhiều!
Code của mình:
#include <main.h>
#use fast_io (B)
#use fast_io (C)
#byte portb=0x06
#byte portc=0x07
#byte trisc=0x87
#USE delay (clock=8000000)
#use i2c(master, sda=PIN_C4, scl=PIN_C3, force_hw)
void pwm (var)
{
set_pwm1_duty(var);
}
void main()
{
int8 var;
set_tris_b(0b00011000); //0xf0 = 11110000
trisc=0x00;
portc=0x00;
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,255,1);
enable_interrupts(global);
enable_interrupts(INT_EXT);
enable_interrupts(INT_RB);
ext_int_edge(H_TO_L);
while(true)
{
output_high(pin_C5);
delay_ms(3000);
output_low(pin_C5);
delay_ms(3000);
}
}
Vấn đề của mình là: Mình điều khiển chiều động cơ = chân C5 của PIC16F877A.
Chân C5 mức cao thì "quay thuận", chân C5 mức thấp thì "quay nghịch".
Vấn đề là chân C5 nối với led thì có thể điều khiển được led chớp tắt bình thường 0V-5V.
Nhưng khi nối với chân điều khiển chiều quay động cơ thì chân C5 luôn có điện áp trôi là 1,5V. Và động cơ chỉ quay theo 1 chiều.
Mong mọi người giúp đỡ! Mình đang cần gắp, cảm ơn rất nhiều!
Code của mình:
#include <main.h>
#use fast_io (B)
#use fast_io (C)
#byte portb=0x06
#byte portc=0x07
#byte trisc=0x87
#USE delay (clock=8000000)
#use i2c(master, sda=PIN_C4, scl=PIN_C3, force_hw)
void pwm (var)
{
set_pwm1_duty(var);
}
void main()
{
int8 var;
set_tris_b(0b00011000); //0xf0 = 11110000
trisc=0x00;
portc=0x00;
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,255,1);
enable_interrupts(global);
enable_interrupts(INT_EXT);
enable_interrupts(INT_RB);
ext_int_edge(H_TO_L);
while(true)
{
output_high(pin_C5);
delay_ms(3000);
output_low(pin_C5);
delay_ms(3000);
}
}
Comment