|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
|
23-03-2007, 10:08 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Mar 2007
Bài gửi: 2
: |
Yêu cầu của e là điều chỉnh độ rộng xung để thay đổi vận tốc của động cơ (trong để tài của e là động cơ của bơm cánh dẫn)
Cảm ơn các trưởng lão namqn! Rất mong nhận được sự giúp đỡ của bạn! |
23-03-2007, 11:06 PM | #2 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
08-05-2008, 11:53 PM | #3 |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 7
: |
Chào anh namqn. Em cũng đang làm đề tài về điều khiển tốc độ động cơ DC bằng cách điều xung dùng PIC6F876A ghép với con IC điều khiển động cơ L298N.
Với con PIC6F876A thì : tín hiệu enable cho con L298 là chân RC0, động cơ quay thuận dùng chân RC1, và quay ngược là RC2. Còn con L298 thì : enable dùng chân 6, động cơ quay thuận dùng chân 5 vf động cơ quay ngược dùng chân 7. Em viết chương trinh như sau mà không thấy tốc độ động cơ thay đổi: Code:
#include <16F876A.h> #fuses HS,NOPROTECT,NOWDT,BROWNOUT,PUT,NOLVP #use delay(clock=20000000) #define EN2 PIN_B0 #define D21 PIN_B1 #define D22 PIN_B2 void main() { static int value=11; SETUP_CCP1(CCP_PWM); setup_timer_2(T2_DIV_BY_1, 127, 1); set_tris_c(0x00); //output_c(0x00); while(1) { set_pwm1_duty(value); output_bit(EN2,1); output_bit(D21,1); output_bit(D22,0); } } thay đổi nội dung bởi: namqn, 09-05-2008 lúc 12:04 AM. |
09-05-2008, 12:24 AM | #4 |
Trưởng lão PIC bang
|
Code của bạn dùng các chân RB0, RB1, và RB2 chứ không phải các chân RC0, RC1, và RC2 như bạn đã mô tả.
Bạn chưa cho biết phần cứng của bạn kết nối ra sao, đọc vào tôi có cảm giác lộn xộn thế nào đó. Trước khi viết code, bạn phải hiểu được nguyên tắc điều khiển và đổi chiều cho động cơ khi dùng L298. L298 gồm 2 mạch cầu H, giả sử bạn dùng một mạch cầu H thì bạn có 2 tín hiệu điều khiển cho 2 nửa cầu. Nguyên tắc điều khiển sẽ là: đặt logic cố định cho 1 nửa cầu và điều rộng xung cho nửa cầu kia. Khi đổi chiều thì đổi vai trò của hai nửa cầu. Nếu bạn chỉ dùng ngõ ra của CCP1 để điều rộng xung thì bạn phải có mạch logic để phân phối tín hiệu PWM đến nửa cầu cần thiết. Bạn chưa cho biết những phần này thì code của bạn vô nghĩa. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 09-05-2008 lúc 12:33 AM. |
09-05-2008, 10:29 AM | #5 |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 7
: |
Gửi bác namqn
Em có gửi file đỉnh kèm.
Hai con slave pic điều khiển 4 động cơ, mỗi con điều khiển 2 động cơ (có đảo chiều). Anh xem có cách nào không vậy. |
|
|