![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 7
: |
không hiểu lỗi do đâu(mong các huynh đi trước giúp em)
Thành viên mới mong các anh em giúp đỡ .
em dang lập trình cho con pic16f873A. em có viết 1 chuong trình nhỏ để nhấp nháy 2 led. em dã chạy mô phỏng và chuong trình chạy rất ổn. nhung ko hiểu vì sao khi đưa ra mạch thât thì điện áp xuất ra 2 chân led chỉ dc 2.5V. em đã lắp lại mạch nhiều lần mong các anh tìm giúp em nguyên nhân tai sao điện áp xuất ra lai thấp vậy. em dang định dung con này điều khiển motor mà tình hình điện áp thấp thế này thì làm sao mà điều khiền motor dc. Mà em dùng thạch anh 4Mhz;tụ 22p;nguồn chỉnh luu từ 15V-1A xoay chiều rồi ổn áp xuống 5V 1vấn đề nữa em muốn hỏi là em đang định dùng con này làm robot do duong và hiển em có 2 động co DC 12V và định dùng nguồn acquy 12V-1A ; chỉ dùng 1 nguổn nuôi cả khối cảm biến 7 cặp led ;cả khối điều khiển động cơ ;nuôi cả vi diều khiển mà em cung ko có mạch công suất thì liệu có chạy dc không ;có ảnh hưởng đến vi điều khiển hay ko Mong các huynh chi giùm Ðây là đoạn code điều khiển led của em Code:
************************************************************************************************* list p=16f873a #include <p16f873a.inc> __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF ;*****************KHAI BAO BIEN*********************************** CBLOCK 0X20 DELAY_TIME COUNTA COUNTB ENDC ;**************************************************************** ORG 0X00 GOTO START ORG 0X05 START BCF STATUS,RP1 BSF STATUS,RP0 ;CHON BANK 1 CLRF TRISA ;SET CONG A LA CONG RA BCF STATUS,RP0 ;CHON BANK 0 CLRF PORTA LOOP MOVLW B'00000011' MOVWF PORTA CALL DELAY_100MS CLRF PORTA CALL DELAY_100MS GOTO LOOP ;*****************CHUONG TRINH CON TRE 100MS******************************* DELAY_100MS: MOVLW D'100' MOVWF DELAY_TIME GOTO D1 D1 MOVLW D'199' MOVWF COUNTA MOVLW D'1' MOVWF COUNTB DELAY_O DECFSZ COUNTA,1 GOTO $+2 DECFSZ COUNTB,1 GOTO DELAY_O DECFSZ DELAY_TIME,1 GOTO D1 RETURN END thay đổi nội dung bởi: namqn, 20-03-2008 lúc 02:00 AM. |
![]() |
![]() |
![]() |
#2 |
Trưởng lão PIC bang
|
Hiện tượng bạn đã mô tả cho thấy PIC của bạn không ở trong trạng thái thực thi chương trình. Việc mô phỏng chỉ giúp bạn xác định xem thuật toán của chương trình có ổn hay không, chứ không thể giúp bạn kiểm tra xem phần cứng của bạn có làm việc tốt hay không. Ngay cả khi phần cứng và chương trình của bạn đều ổn, nhưng bạn cấu hình cho chip sai với điều kiện làm việc thực tế của phần cứng, thì chip cũng sẽ không thực thi chương trình đúng ý đồ thiết kế.
Xem qua code của bạn, tôi nhận thấy bạn đã dùng _LVP_ON, tức là cho phép chế độ nạp chương trình vào PIC ở điện áp thấp (5 V). Vậy, mạch phần cứng thực tế của bạn có nối gì vào chân RB3/PGM hay không? Nếu câu trả lời của bạn là 'không', hiện tượng đã xảy ra là dễ hiểu (rất có khả năng nhiễu bên ngoài đã kích hoạt chế độ lập trình điện áp thấp vì chân RB3/PGM bị thả nổi, như vậy PIC sẽ ở trạng thái chờ thông tin từ các chân RB7/PGD, và RB6/PGC để nạp vào bộ nhớ chương trình của PIC, chứ không thực thi các lệnh đã nằm trong bộ nhớ chương trình). Về vấn đề nguồn cung cấp cho mạch mà bạn đã hỏi, nếu tổng dòng điện tiêu thụ của các phần mạch, kể cả 2 động cơ không vượt quá vài ampe, thì ắc-quy vẫn có thể cung cấp đủ năng lượng cho mạch làm việc trong khoảng từ vài chục phút đến vài phút, tùy vào mức tiêu thụ dòng điện tổng cộng là thấp hay cao. Cụ thể, nếu tổng dòng điện tiêu thụ là 1 A, bạn có thể dùng ắc-quy trong khoảng gần 1 h, nếu tổng dòng điện tiêu thụ là 2 A, bạn còn khoảng gần 1/2 h, với giả thiết là ắc-quy còn mới nguyên và đã được nạp đầy. Việc ảnh hưởng đến vi điều khiển hay không còn tùy vào thiết kế phần cứng và phần mềm của bạn. Không có mạch công suất thì tôi không rõ bạn sẽ điều khiển các động cơ như thế nào. 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 |
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Mar 2008
Bài gửi: 7
: |
Anh ơi em sửa được lỗi rồi.Cảm ơn anh nhiều !
Còn vấn đề điều khiển động cơ thì em dùng con điều khiển động cơ L293D lấy các tín hiệu điều khiển trực tiếp từ vi điều khiển;như vậy có được ko anh.Ý em chỉ muốn làm 1 con dò đường loại nhỏ thôi mà động cơ của em nguồn 5V nó cũng chạy ; vậy em có thể dùng pin 9V thay cho acquy dc ko.Vì nếu dùng acquy thì ROBOT sẽ rất nặng;trong khi thiết kế của em thì càng đơn giản càng tốt chỉ cần dò đường tốt thế là ổn. thay đổi nội dung bởi: picbegin, 20-03-2008 lúc 12:53 PM. |
![]() |
![]() |
![]() |
#4 | |
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 |
|
![]() |
![]() |
![]() |
|
|