Thông báo

Collapse
No announcement yet.

giúp đỡ mạch đo nhiệt độ...!!

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

  • giúp đỡ mạch đo nhiệt độ...!!

    Chào các bác..!!!
    Hiện tại em đang làm cái mạch đo nhiệt độ sử dụng Lm35 và ADC0804, em đã làm ra mạch thật và chạy cũng ok nhưng không hiểu sao giá trị nhiệt độ hiển thj lên led 7thanh lại không ổn định tại một nhiệt độ mà cứ nhảy liên tục???? em nghĩ tại cái delay thấp quá không biết có phải không??(void delay()
    {
    unsigned int i;
    for(i=1;i<=100;i++);
    Bác nào biết vì sao giúp em với??

  • #2
    Nguyên văn bởi vinh_vt Xem bài viết
    Chào các bác..!!!
    Hiện tại em đang làm cái mạch đo nhiệt độ sử dụng Lm35 và ADC0804, em đã làm ra mạch thật và chạy cũng ok nhưng không hiểu sao giá trị nhiệt độ hiển thj lên led 7thanh lại không ổn định tại một nhiệt độ mà cứ nhảy liên tục???? em nghĩ tại cái delay thấp quá không biết có phải không??(void delay()
    {
    unsigned int i;
    for(i=1;i<=100;i++);
    Bác nào biết vì sao giúp em với??
    thông thường người ta đọc giá trị adc nhiều lần rồi so sánh sau đó mới đưa ra giá trị hiển thị .
    thân!
    Cửa hàng LINH KIỆN ĐIỆN TỬ BIÊN HÒA
    Ngã tư Amata -đối diện Bệnh Viện Nhi Đồng Nai đi tiếp 100m
    ĐC: 547/7 tổ 4 kp1 Long bình - Biên Hòa. Tell: 099509.79.68

    Comment


    • #3
      Mình đang thắc mắc là tại sao nó cứ nhảy liên tục như thế ấy....bạn biết tại sao không giúp mình với
      Thân!

      Comment


      • #4
        Nguyên văn bởi vinh_vt Xem bài viết
        Mình đang thắc mắc là tại sao nó cứ nhảy liên tục như thế ấy....bạn biết tại sao không giúp mình với
        Thân!
        mình chỉ phương pháp rồi.vậy mà.....nói tùm lum.
        Cửa hàng LINH KIỆN ĐIỆN TỬ BIÊN HÒA
        Ngã tư Amata -đối diện Bệnh Viện Nhi Đồng Nai đi tiếp 100m
        ĐC: 547/7 tổ 4 kp1 Long bình - Biên Hòa. Tell: 099509.79.68

        Comment


        • #5
          mình không biết mình mới hỏi. bạn nói thế thì ai bết nó sai chỗ nào và sửa chỗ nào được chứ...Bạn nói rõ hơn được không

          Comment


          • #6
            Nguyên văn bởi vinh_vt Xem bài viết
            mình không biết mình mới hỏi. bạn nói thế thì ai bết nó sai chỗ nào và sửa chỗ nào được chứ...Bạn nói rõ hơn được không
            bạn phải đưa code thì mọi người mới giúp được chứ. nếu thấy không tiện thì gửi vào địa chỉ linhkiedientu@gmail.com
            chúc vui !
            Cửa hàng LINH KIỆN ĐIỆN TỬ BIÊN HÒA
            Ngã tư Amata -đối diện Bệnh Viện Nhi Đồng Nai đi tiếp 100m
            ĐC: 547/7 tổ 4 kp1 Long bình - Biên Hòa. Tell: 099509.79.68

            Comment


            • #7
              code mình đây....!!! Bạn xem giúp nha. Thanks
              #include<reg51.h>
              int array[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
              sbit rd=P3^7;
              sbit wr=P3^6;
              sbit intr= P3^5;
              sbit led0=P2^0;
              sbit led1=P2^1;
              sbit led2=P2^2; //dieu khien 4 led 7 doan
              sbit led3=P2^3;
              sbit d1=P2^4;
              sbit d2=P2^5; //dieu khien led vang, xanh, do
              sbit d3=P2^6;
              sbit tang=P3^0;
              sbit giam=P3^1;
              sbit chedo=P3^2;

              unsigned int adc_avg,nhietdo,dc;
              void delay()
              {
              unsigned int i;
              for(i=1;i<=100;i++); //ham tre
              }
              void read()
              {
              wr=0;
              wr=1;
              while(intr); //che do de cho ADC hoat dong
              rd=0;
              adc_avg=P1;
              rd=1;
              }
              void chedo1()
              {
              int a,b;
              a=nhietdo/10;
              b=nhietdo%10;

              led3=1;
              P0=array[a];
              delay();
              led3=0;
              led2=1;
              P0=array[b];
              delay();
              led2=0;
              led1=1;
              P0=0x9c;
              delay();
              led1=0;
              led0=1;
              P0=0xc6;
              delay();
              led0=0;
              }
              void set_dc()
              {
              while (chedo==0){}//cho phim duoc nha
              do
              {
              if (tang==0) //neu phim tang duoc an
              {
              while (tang==0) {}// cho phim duoc nha
              dc++;
              if (dc>100) dc=0;
              }
              if (giam==0) // neu phim giam duoc an
              {
              while (giam==0){}//cho phim nha
              dc--;

              }
              led3=1;
              P0=array[dc/10];
              delay();
              led3=0;
              led2=1;
              P0=array[dc%10];
              delay();
              led2=0;
              led1=1;
              P0=0x9c;
              delay();
              led1=0;
              led0=1;
              P0=0xc6;
              delay();
              led0=0;
              }
              while (chedo==1);
              }


              void set()
              {
              set_dc();
              while(chedo==0){}
              }
              void baoled()
              {
              if (nhietdo<dc)
              {
              d1=0;
              d2=1;
              d3=1;
              }
              else if (nhietdo>dc)
              {
              d2=0;
              d1=1;
              d3=1;
              }
              else if (nhietdo==dc)
              {d3=0;
              d2=1;
              d1=1;
              }
              }
              void main()
              {
              int i;


              led0=led1=led2=led3=0;
              d1=d2=d3=1;

              while(1)
              {

              read(); //cho ADC hoat dong
              for(i=1;i<=100;i++)
              {
              nhietdo=adc_avg*1.953125; //gia tri can hien thi
              chedo1();

              if (chedo==0) {set();}
              baoled();
              }
              }
              }

              Comment


              • #8
                Về phương pháp, để cho nó khỏi nháy thì bạn phải lấy trung bình các giá trị cần hiển thị. Việc này phải dùng thuật toán, ví dụ FFT.
                Đơn giản hơn, bạn cho đọc lấy 1 giá trị rồi lưu và hiển thị qua nhiều chu kỳ cho đến khi đọc 1 giá trị mới. Thời gian lưu khoảng 1-2s thì bạn sẽ không thấy nó nháy lọan xạ nữa.
                Chưa đỗ tú tài, nên vẫn còn phải đi học.

                Comment


                • #9
                  bổ xung thêm
                  nguồn phải ổn định nữa nhé
                  Cửa hàng LINH KIỆN ĐIỆN TỬ BIÊN HÒA
                  Ngã tư Amata -đối diện Bệnh Viện Nhi Đồng Nai đi tiếp 100m
                  ĐC: 547/7 tổ 4 kp1 Long bình - Biên Hòa. Tell: 099509.79.68

                  Comment


                  • #10
                    Bạn HTTTH: mình hiểu ý ban nói nhưng giá trị đọc được từ ADC là adc_avg rồi mình đem nhân với 1.953....rồi mình cho hiển thị, vậy thì mình muốn lưu và hiển thị qua nhiều chu kỳ thì phải sửa code như thế nào vậy bạn....
                    Bạn lkdientubh: mình dùng nguồn xạc điện thoại chắc là ổn định ah
                    thanks hai bạn!!!

                    Comment


                    • #11
                      sao hai bạn không giúp mình tiếp vậy

                      Comment


                      • #12
                        Nguyên văn bởi vinh_vt Xem bài viết
                        Chào các bác..!!!
                        Hiện tại em đang làm cái mạch đo nhiệt độ sử dụng Lm35 và ADC0804, em đã làm ra mạch thật và chạy cũng ok nhưng không hiểu sao giá trị nhiệt độ hiển thj lên led 7thanh lại không ổn định tại một nhiệt độ mà cứ nhảy liên tục???? em nghĩ tại cái delay thấp quá không biết có phải không??(void delay()
                        {
                        unsigned int i;
                        for(i=1;i<=100;i++);
                        Bác nào biết vì sao giúp em với??
                        Chào bạn!

                        Để mạch này chạy tốt cần làm theo 2 hướng sau :
                        1. Phần cứng : Phải chống nhiễu cho mạch tốt thì giá trị adc trả về sẽ không nhảy (Phương sai nhỏ)
                        2. Phần mềm : Sử dụng bộ lọc có nhớ để tính kỳ vọng theo thời gian, có thể áp dụng thêm 1 số thuật toán lọc các giá trị đột biến theo độ lệch chuẩn nhằm đảm bảo độ ổn định tín hiệu.

                        Thông thường chỉ cần làm tốt 1 trong 2 thì giá trị hiển thị của bạn đã khá ổn định. Cần tìm hiểu chi tiết hơn có thể liên hệ mình.

                        Chúc bạn làm tốt!
                        Ngô Đông Y
                        ********
                        Mobile : 0984053088
                        Yahoo :
                        Email :

                        Comment


                        • #13
                          chào bạn lightspy39 mình có gưở gmail cjo bạn mong bạn gúp đỡ mình...thanks

                          Comment

                          Về tác giả

                          Collapse

                          vinh_vt Tìm hiểu thêm về vinh_vt

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

                          Collapse

                          • mèomướp
                            Trả lời cho Sửa bộ nguồn DC 60V 45A
                            bởi mèomướp
                            Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                            Hôm qua, 13:11
                          • tuyennhan
                            Trả lời cho Sửa bộ nguồn DC 60V 45A
                            bởi tuyennhan
                            Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                            Hôm qua, 09:25
                          • tuyennhan
                            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                            bởi tuyennhan
                            Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                            Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                            Hôm qua, 09:10
                          • Ng.Phuong.5
                            Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                            bởi Ng.Phuong.5
                            Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                            Mấy con...
                            09-01-2025, 19:44
                          • viettinh
                            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                            bởi viettinh
                            Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                            Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                            09-01-2025, 18:12
                          • nguyendinhvan
                            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                            bởi nguyendinhvan
                            Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                            Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                            Cách đơn giản...
                            09-01-2025, 00:04
                          • mèomướp
                            Trả lời cho Sửa bộ nguồn DC 60V 45A
                            bởi mèomướp
                            Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                            08-01-2025, 19:02
                          • tuyennhan
                            Trả lời cho Sửa bộ nguồn DC 60V 45A
                            bởi tuyennhan
                            Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                            08-01-2025, 15:43
                          • tuyennhan
                            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                            bởi tuyennhan
                            Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                            08-01-2025, 15:28
                          • mèomướp
                            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                            bởi mèomướp
                            Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                            08-01-2025, 11:44
                          Đang tải...
                          X