PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   không hiểu lỗi do đâu(mong các huynh đi trước giúp em) (http://www.picvietnam.com/forum/showthread.php?t=2152)

picbegin 20-03-2008 01:41 AM

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


namqn 20-03-2008 02:13 AM

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,

picbegin 20-03-2008 09:56 AM

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.

namqn 20-03-2008 06:53 PM

Trích:

Nguyên văn bởi picbegin (Post 15036)
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.

L293D chính là mạch công suất của bạn (mạch công suất dùng để xử lý công suất, không nhất thiết nó phải có điện áp và/hoặc dòng điện lớn hơn một giá trị nào đó thì mới gọi là mạch công suất), lẽ đương nhiên bạn có thể dùng nó để điều khiển động cơ. Tất nhiên bạn có thể dùng bất kỳ loại pin hay ắc-quy nào, nếu bạn không quan tâm đến thời gian làm việc của nó. Ngay cả pin nút áo 3V cũng có thể dùng được, nếu bạn cho rằng thời gian làm việc tính bằng giây của nó là không quan trọng.

Thân,


Múi giờ GMT. Hiện tại là 05:45 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam