|
Tài trợ cho PIC Vietnam |
Cơ cấu chấp hành (Actuator) Động cơ DC, AC, động cơ không chổi than, động cơ không cảm biến... |
|
Ðiều Chỉnh | Xếp Bài |
16-04-2009, 12:32 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jun 2008
Bài gửi: 10
: |
Hỏi về mô phỏng DC motor trong Proteus
Chào các bác, em mô phỏng một con motor dc trong proteus, dùng pwm để thay đổi tốc độ, dùng ic l6202 để thay đổi hướng, Nhưng k0 hiểu sao nó cứ chạy loạn lên,mặc dù em xem dạng sóng pwm thấy khá đúng. Cụ thể là:
+khi tốc độ thấp: đảo chiều công tắc nhưng motor ko đổi chiều +khi tốc độ cao: quay một chặp lại đảo chiều, mặc dù công tắc ko đảo Em mới tập làm nên gà lắm,mong các bác chỉ giáo. |
17-04-2009, 12:44 AM | #2 |
Nhập môn đệ tử
Tham gia ngày: Jun 2008
Bài gửi: 10
: |
Còn nữa, khi motor quay nhanh quá thì em nhìn ko ra nó quay theo chiều nào nữa, các bác cho em hỏi có phải dấu + - ở motor là chiều quay ko ạ? Còn chỉ số phía dưới motor là vận tốc hay gia tốc vậy?
|
17-04-2009, 01:24 AM | #3 |
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Con IC bạn dùng là môt con cầu H thôi
Bạn sử dụng nó chưa đúng nguyên lý Để đảo chiều quay thì bạn cần đưa xung vào chấn IN1 hoặc IN2 chứ không phải là đưa thêm một con Fet vào chân SENSE như thế. Để động cơ quay theo chiều thuận thì đưa Enable lên 1 rồi đưa xung vào chân IN1 còn chân IN2 để ở mức logic 0 và ngược lại Còn chân SENSE thì nối trực tiếp xuống đất hoặc qua điện trở sun để đo dòng điện Bạn nên send kèm file hex đã dịch sẵn của chương trình thì mình mới kiểm tra được Còn cái số hiện phái dưới động cơ là tốc độ thôi, đơn vị là kRPM (revolutions per minute) |
17-04-2009, 10:08 AM | #4 |
Đệ tử 1 túi
Tham gia ngày: Dec 2005
Bài gửi: 20
: |
tôi đa sửa lại code va mạch cho bạn chạy binh thường không có vấn đề ji
Code:
#include <16f877a.h> #fuses HS,put,NOWDT #use delay(clock=20000000) //// KHAI BAO TS XUNG LAM VIEC CL 20MHZ #include <def_877a.h> #use fast_io(c) #use fast_io(b) #use fast_io(a) int16 speed=0; ///////////////////////////////////////////////////////// HAM TOC DO ////////////////////////////////////////////////////////////////////////////////////////////// void TOCDO() { delay_ms(200); if(!INPUT(PIN_B0)) SPEED = SPEED + 10; // LU Y KHI VIET THE NAY KHI TANG QUA GIA TRI 1023 NO NHAY VE MO hay giam qua 0 no nhay gia tri cao nhat DELAY_US(20); if(!INPUT(PIN_B1)) SPEED = SPEED - 10; // CHO NEN BAN CAN THUC HIEN THEM bp SO SANH DE DUA VE GIA TRI DUNG TRONG KHOANG TU 0>>> 1023 } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// CTC //////////////////////////////////////////////////////////////////////////////////////////////////// void main() { setup_timer_2(T2_DIV_BY_16,255,1); TRISC=0x00; PORTC=0x00; set_tris_a(0b00000111); //////// TU A0 DEN A3 LA CHAN NHAP DL set_tris_b(0b00000011); ////////////////BO//////B1 ////////////////// while(TRUE) { tocdo(); // goi thang toc do setup_ccp1(CCP_PWM); //GOI hay thiet lap che do dc do rong xung cho chan C2 set_pwm1_duty(speed); // DAT GIA TRI CHO MOT KHOANG CHU KY XUNG XUAT RA if(!input(pin_a0)){ // quay chieu thuan output_high(pin_c0); //// THAY DOI CHIEU TUC IN1----- IN2 DAO CHIEU NHAU output_low(pin_c3); output_high(pin_d0); /// cho them cai led hien thi cho mau output_low(pin_d1); } if(!input(pin_a1)) { /// chieu nguoc output_low(pin_c0); output_high(pin_c3); output_low(pin_d0); /// cho them cai led hien thi cho mau output_high(pin_d1); } if(!input(pin_a2)){ /// cho them nut tat nua vao output_c(0x00); // tat ca port c neu truong hop cac chan khac van lam viec khac thi dung OUTPUT_LOW(PIN_......); setup_ccp1(ccp_off); /// tat con vit nay di output_d(0x00); // tat ca port d cho nhanh //// TRUONG TU TREN SPEED=0; // CHO GIA TRI TOC DO ====== MO } } // DAU NGOAC NHON CUA WHILE } // HAM MAIN /////////////////////////////////////////////////////// KET THUC //////////////////////////////////////////////////////////////////////////////////// |
17-04-2009, 03:43 PM | #5 |
Nhập môn đệ tử
Tham gia ngày: Jun 2008
Bài gửi: 10
: |
Cám ơn các bác, nhưng mà em vẫn chưa hiểu lắm, em xem datasheet của nó thì thấy nguồn nuôi motor cấp từ 2 chân vs và sense nên mới đưa xung đã điều chế vô đó. Còn chân Enable chỉ chophép/ko cho phép hoạt động thôi mà. Các bác giải thích cặn kẽ giùm em xíu nha.
|
17-04-2009, 04:14 PM | #6 |
Đệ tử 1 túi
Tham gia ngày: Dec 2005
Bài gửi: 20
: |
bạn nên nhìn đọc cho kỹ trước khi hỏi . chỉ cần nhin sơ đồ khối đã chân nào làm nhiêm vu gì.. tuy tôi không học chuyên ngành điện tư rõ ràng là in1 int2 la chân cấp nguồn cho cổng logic nếu int1 có điên áp cao thì thằng logic phia cầu trái được cấp nguồn nên cho xung dche di qua tới mạch cầu l vế trái làm việc điên. áp lên cao và ngược lại .. bạn cứ tượng như là dùng 4 cái công tắc cho 1 mô to ban muốn đảo chiều nào mà không đươc,,,,
|
17-04-2009, 06:13 PM | #7 |
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Bạn nên đọc lại nguyên lý hoạt động của cầu H, có thể tìm trên diễn đàn này chắc cũng có mà. Lúc mới bắt đầu mình cũng chẳng hiểu cầu H là cái gì
@vietanh: Mình thấy bộ gõ tiếng Việt của forum hoạt động bình thường mà |
11-11-2009, 12:18 PM | #8 |
Đệ tử 1 túi
Tham gia ngày: Apr 2009
Bài gửi: 18
: |
tại sao không tải file được nhỉ
Ban đầu nhấn save file lại thì hiện ra đuôi .rar nhưng sau đó thì lại hiện ra đuôi .htm để tải trang này... nhiều lần rùi không biết có phải chỉ mình em bị không nhỉ....
|
|
|