View Single Post
Old 16-09-2015, 09:03 AM   #1
teemo
Nhập môn đệ tử
 
Tham gia ngày: Nov 2014
Bài gửi: 9
:
Angry pic16f877a và động cơ bước 2 phase unbipolar

Chào anh em. anh em cho hỏi code mình như vầy tại sao motor vẫn bị rung/ trượt mình đã mô phỏng và chạy thực tế điều cho kết quả như nhau nếu thây đổi delay_ms() lớn quá thì nó lại chạy chậm mặc dù motor đó có thể chạy nhanh được mà không bị rung, với lại còn một hiện tượng nữa là xung vuông xuất ra không ở mức 0-5v tương ứng với logic 0-1 mà nó chỉ ở với mức -1 đến 4v mà thôi, cái thứ hai là cạnh lên của xung nó không lên hết mà một nữa thì nó lên hết một nữa thì nó lên mấp mé, cạnh xuống cũng vậy. Đã kiểm tra trong mô phỏng và trong thực tế mình đo bằng oscillocope thì nó vẫn có các hiện tượng như vậy. Dưới đây là code của mình, chạy nữa bước, sử dụng module L298N để điều khiển.

#include <16f877a.h>
#device *=16 adc=10
#fuses hs, nowdt,nobrownout
#use delay(clock=20000000)
#use fast_io(b)
#byte portb=0x06

void main(){
set_tris_b(0);
while(true){
output_b(0b00000001);
delay_ms(22);
output_b(0b00000011);
delay_ms(22);
output_b(0b00000010);
delay_ms(22);
output_b(0b00000110);
delay_ms(22);
output_b(0b00000100);
delay_ms(22);
output_b(0b00001100);
delay_ms(22);
output_b(0b00001000);
delay_ms(22);
output_b(0b00001001);
delay_ms(22);
}
}
teemo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn