Chào mọi người,
Tình hình la mình chưa bao giờ đk động cơ bước cả! Nay mình làm ,có tham khảo một số tài liệu nhưng gặp chút khó khăn! Mình chạy mô phỏng
trên proteus thì chạy ok,động cơ quay bình thường! Nhưng khi gắn mạch vào,phần cứng đơn giản chỉ có con unl2803 với mấy con diode thôi! Hiện tượng của nó là động cơ đứng im một chỗ,nó giựt giựt ây! Mình đã đấu dây theo nhà sản xuất cũng thử đảo các đầu dây mà không được!
Thỉnh thoảng no quay nhưng mà không được trơn,cứ như kiểu thiếu bước ấy! Mình đã thử với các khoảng delay khác nhau đề phòng trượt bước! Nhưng kết quả không khá hơn!
Mong mợi người giúp đỡ!
doan code de dua tín hiệu đk ra:
trang thái:
Tình hình la mình chưa bao giờ đk động cơ bước cả! Nay mình làm ,có tham khảo một số tài liệu nhưng gặp chút khó khăn! Mình chạy mô phỏng
trên proteus thì chạy ok,động cơ quay bình thường! Nhưng khi gắn mạch vào,phần cứng đơn giản chỉ có con unl2803 với mấy con diode thôi! Hiện tượng của nó là động cơ đứng im một chỗ,nó giựt giựt ây! Mình đã đấu dây theo nhà sản xuất cũng thử đảo các đầu dây mà không được!
Thỉnh thoảng no quay nhưng mà không được trơn,cứ như kiểu thiếu bước ấy! Mình đã thử với các khoảng delay khác nhau đề phòng trượt bước! Nhưng kết quả không khá hơn!
Mong mợi người giúp đỡ!
doan code de dua tín hiệu đk ra:
Code:
void AK_630T_quay_nguoc(){ vi_tri_y=(vi_tri_y-1)&(sizeof(POSITIONS)-1); dem_y = POSITIONS[ vi_tri_y ]; output_bit (PIN_D4, (bit_test (dem_y, 0))); output_bit (PIN_D5, (bit_test (dem_y, 1))); output_bit (PIN_D6, (bit_test (dem_y, 2))); output_bit (PIN_D7, (bit_test (dem_y, 3))); delay_ms(10); // counter_630T_N++; }
Code:
BYTE const POSITIONS[8] ={ 0b0001, 0b0011, 0b0010, 0b0110, 0b0100, 0b1100, 0b1000, 0b1001};
Comment