Thông báo

Collapse
No announcement yet.

GiÚp ĐỠ mẠch Đo nhiỆt ĐỘ dÙng lm35 vÀ adc0804

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • GiÚp ĐỠ mẠch Đo nhiỆt ĐỘ dÙng lm35 vÀ adc0804

    mạch em mô phỏng proteus ngon lành cành đào lắm rồi. em đã làm mạch thực tế nhưng trời ơi hiển thị sai linh tinh hết cả! led7 cứ nháy liên tục các vạch ko cố định ở số nào cả! mong các bác chỉ giúp em hoàn thành với
    cảm ơn nhiều!
    đây là mạch, file mô phỏng code! mong các bác xem giúp
    ở dưới là hình mạch em đã làm xong hi nhưng ko chạy đúng
    Attached Files

  • #2
    Lại mô phỏng_Cái này mà bác duong_act nghe thấy thì lại kêu ka lắm đấy. Mình chỉ nói là ADC thì nên nhìn vào cái nhiễu 1 tí_ko nên đọc có 1 lần rối xuất ngay.Bây giờ bạn tạm bỏ cái con LM35 kia ra, dùng trở hay diode ổn áp phang hẳn vào cái đầu vào con ADC kia xem phần hiển thị có bị nhảy ko? nếu vẫn nhảy như cào cào châu chấu thì check lại code xem có sai xót đâu ko. Nếu ko có vấn đề gì thì khi làm như mình vừa nói thì số hiển thị ko nhảy loạn lên đâu_chỉ thay đổi xíu thôi. À mà bạn cũng cần để ý tới cái tốc độ lấy mẫu, Vref...Hình mờ quá.


    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
    Tel: 031 518648 Phone: 0904 283 505

    Comment


    • #3
      Bạn xem lại VREF của ADC trước mình cũng làm nó cứ nhảy loạn xạ,,,chân VREF nên xài cho nó 1 nguồn riêng biệt và phải có ổn áp rồi dùng biến trở để tăng giảm Vol.. Trong mạch thấy bạn xài chung nguồn với mạch khi Led nhảy lên xuống có nghĩa là nguộn cấp thay đổi tí xíu làm cho VREF cũng thay đổi theo,,mà VREF thay đổi 0,1v là cho kq khác liền
      |

      Comment


      • #4
        cảm ơn các bạn!
        bạn Hoangdai: mình đã phang hẳn con biến trở vi chỉnh điều chỉnh điện áp trong khoảng 1v vào rồi mà vẫn thế!cứ nhảy như ngựa, mình cũng đã thử ngắt bỏ chân Vref (để hở) và VIN+ dùng biến trở điều chỉnh điện áp 0 - 5v rất nhẹ nhàng tình cảm nhưng vẫn ko ăn thua! còn code của mình thì chắc ko có vấn đề gì rồi
        bạn tdakvn: mình sẽ thử cho con zenner 3.6v vào xem thế nào
        mình đưa code của mình mong các bạn xem qua nếu có vấn đề xin góp ý cho mình sửa với!
        link đầy đủ code+Mạch+hình ảnh... hy`: http://www.mediafire.com/?93o11h1w7a3f16h
        LED EQU P0
        DATA_ADC EQU P1
        ;CAC BIT GIAO TIEP ADC
        INTR BIT P3.7
        WR_ADC BIT P3.5
        RD_ADC BIT P3.6
        ;VUNG NHO NHIET DO
        DONVI EQU 40H
        CHUC EQU 41H
        TRAM EQU 42H
        ;CAC BIT QUET LED
        L1 BIT P2.4
        L2 BIT P2.3
        L3 BIT P2.2
        L4 BIT P2.1
        L5 BIT P2.0

        ORG 0000H
        MOV DATA_ADC,#0FFH ;P1 DAU VAO DU LIEU
        MOV DPTR,#MALED7
        MOV LED,#00H
        MOV DONVI,#00H
        MOV CHUC,#00H
        MOV TRAM,#00H
        MAIN:
        lcall READ_ADC
        CALL DISPLAY
        JMP MAIN
        READ_ADC:
        CLR WR_ADC ;BAT DAU CHUYEN DOI
        SETB WR_ADC
        HERE: JB INTR,HERE ;CHO CHUYEN DOI XONG
        CLR RD_ADC
        SETB RD_ADC
        MOV A,DATA_ADC

        CALL BIN2BCD
        RET
        BIN2BCD:
        MOV B,#10
        DIV AB
        MOV DONVI,B
        MOV B,#10
        DIV AB
        MOV CHUC,B
        MOV TRAM,A
        RET

        DISPLAY:
        MOV LED,#0C6H ;DUA KY HIEU 'C' RA LED7
        SETB L5 ;CHO LED 5 SANG
        CALL DELAY ;TRE
        CLR L5 ;TAT LED 5

        MOV LED,#9CH ;DUA KY HIEU 'DO' RA LED7
        SETB L4 ;CHO LED 4 SANG
        CALL DELAY
        CLR L4

        MOV A,DONVI ;DUA SO HANG DON VI RA
        MOVC A,@A+DPTR ;LAY MA LED7 TUONG UNG CUA HANG DON VI
        MOV LED,A ;XUAT RA LED7
        SETB L3 ;CHO LED 3 SANG
        CALL DELAY
        CLR L3

        MOV A,CHUC ;DUA SO HANG DON VI RA
        MOVC A,@A+DPTR ;LAY MA LED7 TUONG UNG CUA HANG CHUC
        MOV LED,A ;XUAT RA LED7
        SETB L2 ;CHO LED 2 SANG
        CALL DELAY
        CLR L2

        MOV A,TRAM ;DUA SO HANG DON VI RA
        MOVC A,@A+DPTR ;LAY MA LED7 TUONG UNG CUA HANG TRAM
        MOV LED,A ;XUAT RA LED7
        SETB L1 ;CHO LED 1 SANG
        CALL DELAY
        CLR L1
        RET

        DELAY:
        MOV R7,#50
        DJNZ R7,$
        RET

        delay_120us:
        mov R6,60
        loop3: djnz R6,loop3 ; 2us x 60 = 120uS
        ret
        MALED7:
        DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        ; KY HIEU 'D0' KY HIEU 'C'
        ;DB 9CH 0C6H
        END
        Last edited by mr.ngoc; 19-10-2010, 11:30.

        Comment


        • #5
          http://www.youtube.com/watch?v=xLHXxC7JlR0
          đây là video em quay mạch của em chạy khi em sủa code thành như vậy các bác! em nghĩ là do con ADC của em có vấn đề ko ổn định
          chân Vref em để hở, chân VIN+ em đưa điện áp vào là 2.5V
          code sửa thành như vậy!
          MAIN:
          lcall READ_ADC
          MOV R0,#150
          LAP:
          LCALL DISPLAY
          DJNZ R0,LAP
          JMP MAIN

          Comment


          • #6
            Để kiểm tra ADC0804 có chạy ổn định hay không thì thử đưa đầu vào một điện áp cố định. 5V chẳng hạn. Sau đó bạn hiển thị số đọc được từ hàm READ_ADC và xem nó có bị nháy hay không? Nếu bị nháy thì do nguồn không ổn hoặc ADC không tốt. Nếu do nguồn bạn có thể tăng tụ hóa lọc nguồn sau 7805 lên và Lắp thêm 1 con tụ 100nF ngay sát chân VCC của ADC xem có cải thiện được gì không? Về chương trình của bạn mình xem không thấy có vấn đề gì sai cả.

            Comment


            • #7
              Nguyên văn bởi mr.ngoc Xem bài viết
              mạch em mô phỏng proteus ngon lành cành đào lắm rồi. em đã làm mạch thực tế nhưng trời ơi hiển thị sai linh tinh hết cả! led7 cứ nháy liên tục các vạch ko cố định ở số nào cả! mong các bác chỉ giúp em hoàn thành với
              cảm ơn nhiều!
              đây là mạch, file mô phỏng code! mong các bác xem giúp
              ở dưới là hình mạch em đã làm xong hi nhưng ko chạy đúng
              Mạch của bạn đã bỏ con 741 đi thì hợp lý rồi.

              - Để giải quyết vấn đề nhiễu nguồn bạn nên lọc cho LM35 bằng mạch RC với R=100ohm C=100uF tụ C này bạn để càng gần LM35 càng tốt. Nguồn sau bộ lọc RC này cũng dùng để cấp cho biến trở chỉnh VREF của adc0804.

              - Ở đầu ra LM35 bạn nên gắn thêm R = 10k nối giữa nó và đầu vào của adc0804, ở đầu vào của adc0804 bạn gắn thêm tụ C = 10uF xuống mass.

              - Trong Code bạn cho phép lấy mẫu cách nhau 1/4 giây 1 lần.

              Chúc Thành công.
              PCT COMPUTER
              (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

              Comment


              • #8
                hic tối qua đang viết bài thì mất mạng xy`
                bạn hungnp:
                http://www.youtube.com/watch?v=Pv_de...nTo&feature=BF
                đây là video mình test mạch! mình đã thêm tụ là 104 vào nguồn ngay chân VCC con ADC, và mình tăng tụ nguồn lên 1000uF + tụ 104 thì mạch có cải thiện đôi chút nhưng tại sao lại ko cố định một số mà cứ nhảy ( mình dùng cầu trở 5v-1k-1k-1k-mass để phân áp lấy áp 3.3V và 1.7V thì mạch nhảy 170, 171.... kô cố định bạn ah!mình đang tính ra tiệm thử con ADC khác xem thế nào
                bạn pctcom: cảm ơn bạn mình tiếp tục thực hiện những biện pháp chống nhiễu cho mạch hii! nhưng bạn cho mình hỏi mắc trở 10k nối tiếp từ Vout của LM35 vào chân Vin+ của ADC để làm chi vậy bạn!

                Comment


                • #9
                  Nguyên văn bởi mr.ngoc Xem bài viết
                  hic tối qua đang viết bài thì mất mạng xy`
                  bạn hungnp:
                  http://www.youtube.com/watch?v=Pv_de...nTo&feature=BF
                  đây là video mình test mạch! mình đã thêm tụ là 104 vào nguồn ngay chân VCC con ADC, và mình tăng tụ nguồn lên 1000uF + tụ 104 thì mạch có cải thiện đôi chút nhưng tại sao lại ko cố định một số mà cứ nhảy ( mình dùng cầu trở 5v-1k-1k-1k-mass để phân áp lấy áp 3.3V và 1.7V thì mạch nhảy 170, 171.... kô cố định bạn ah!mình đang tính ra tiệm thử con ADC khác xem thế nào
                  bạn pctcom: cảm ơn bạn mình tiếp tục thực hiện những biện pháp chống nhiễu cho mạch hii! nhưng bạn cho mình hỏi mắc trở 10k nối tiếp từ Vout của LM35 vào chân Vin+ của ADC để làm chi vậy bạn!
                  Chính xác là điện trở 10k và tụ 10uF. Mạch lọc RC này dùng để lọc nhiễu đầu ra của LM35, mà hậu quả của nhiễu thì bạn đã thấy rõ ở trên mạch thật của bạn rồi phải không.

                  Nếu không sử dụng 741, điện áp ở chân VREF bạn phải để khoảng 1.25V tương ứng với nhiệt độ từ 0-125
                  PCT COMPUTER
                  (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                  Comment


                  • #10
                    Nguyên văn bởi hoangdai Xem bài viết
                    Lại mô phỏng_Cái này mà bác duong_act nghe thấy thì lại kêu ka lắm đấy.
                    Hí hí bác chỉ dc cái hiểu anh em Proteus đúng là giúp t khá nhiều nhưng nếu quá lệ thuộc vào nó mà thiếu tính thực tế thì đôi lúc cũng hỏng việc. Bởi vì nó chỉ là mô phỏng mà thôi. Cái ta cần là tính thực tế, sản phẩm thực tế
                    Nguyên văn bởi mr.ngoc Xem bài viết
                    mạch em mô phỏng proteus ngon lành cành đào lắm rồi. em đã làm mạch thực tế nhưng trời ơi hiển thị sai linh tinh hết cả! led7 cứ nháy liên tục các vạch ko cố định ở số nào cả! mong các bác chỉ giúp em hoàn thành với
                    cảm ơn nhiều!
                    đây là mạch, file mô phỏng code! mong các bác xem giúp
                    ở dưới là hình mạch em đã làm xong hi nhưng ko chạy đúng
                    Còn project của bạn mình có đọc qua code thì thấy hình như thời gian load giá trị ADC quá nhanh dẫn tới hiển thị quá nhiều kết quả trong 1 thời gian ngắn và do tính chất lưu ảnh của mắt nên ko đọc dc gì vì đó là sự chồng chất rất nhiều ảnh khác nhau. Hãy giảm thời gian load ADC xuống 1 s xem sao nhé
                    Last edited by duong_act; 05-11-2010, 14:28.

                    Comment


                    • #11
                      lỗi này mình cũng bị, chưa biết cách khắc phục
                      Cuộc đời như bánh omi, không biết rồi sẽ về đâu?

                      Comment


                      • #12
                        sao mạch này nhiều led thế, nó đo được cả số thập phân cơ à vd:35,2 độ C ADC0804 độ phân giải 8 bít của nó làm sao mà đo được giá độ lẻ mà làm 5 led vậy. tôi làm mạch này bằng PIC16F877A sử dụng ADC10 có sẵn của nó thì không có hiện tượng như bạn nói.
                        mà cho mình hỏi thêm là led nó nhảy không cố định vậy các thanh led thay đổi ở led đơn vị, 2 số thập phân hay là cả 5 led nó đều thay đổi liên tục.

                        Comment


                        • #13
                          mình dùng 5 led vì mình tính có hiển thị cả số thập phân lẻ chính xác 0.5 độ! nhưng mình test số chẵn trc!
                          đc sự chỉ giáo của các bạn trên diễn đàn nay mạch mình đã chạy nhưng vẫn còn 1 hiện tượng! tức là ví dụ đang ở 23 độ C nhưng khi có sự thay đổi nhiệt độ thì mạch hay nháy giữa số 23 và 24 và nếu nhiệt độ tiếp tục tăng thì nó sẽ giữ ở mức 24 độ!
                          mình ko biết do code hay mạch nữa mà có hiện tượng vậy! nếu nhiệt độ tăng thì nó phải nhảy ngay lên chứ!
                          code mình đã để 1/4s lấy mẫu 1 lần!
                          mà cho mình hỏi thêm là led nó nhảy không cố định vậy các thanh led thay đổi ở led đơn vị, 2 số thập phân hay là cả 5 led nó đều thay đổi liên tục.
                          mạch ngày trc chạy sai mình nghĩ là do con ADC. mình đã thay con mới và mạch ổn định hơn chút nhưng vẫn còn hiện tương trên! nhưng lại là con ADC của mình lắp vào mạch khác cũng chạy ngon lành luôn! còn ngày trc mạch nháy cả số chục và đơn vị luôn!

                          Comment


                          • #14
                            .^^
                            Cái đó chắc là do nhiễu thôi, mình làm mạch thật đo qua lpt dùng VB mà phải tính trung bình cộng của 30 giá trị nó bớt nhảy ^^!

                            Comment


                            • #15
                              các bác làm ơn gữi cho em sơ đồ nguyen li của mạch đo nhiệt độ dùng lm35 nhen , thanks các bác nhiều

                              Comment

                              Về tác giả

                              Collapse

                              mr.ngoc Tìm hiểu thêm về mr.ngoc

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X