Thông báo

Collapse
No announcement yet.

AVR có thể dùng 2 ngõ vào ADC cùng lúc đc ko?

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

  • AVR có thể dùng 2 ngõ vào ADC cùng lúc đc ko?

    Mình đang làm mạch điều khiển nhiệt độ phòng, các bạn cho mình hỏi mình có thể sử dụng cùng lúc 2 ngõ vào ADC của con AT 16 cho 2 mục đích khác nhau ko? Cụ thể là hai chân 39 và 40.
    KO hỉu sao khi mình vẽ trên protues, lúc chạy thì nó báo lỗi là "real time can not start"
    Bỏ đi ngõ vào 39 thì lại chạy đc.

  • #2
    Dùng một lúc được cả 8 ngõ vào ADC còn được nữa là, có 2 ngõ vào thì nhằm nhò gì. Bạn kiểm tra lại mạch và chương trình xem thế nào!!!

    Comment


    • #3
      Atemega16 chỉ hỗ trợ một bộ chuyển đổi ADC ứng với 8 đầu vào analog tùy chọn. Tức là tại một thời điểm bạn chỉ có 1 bộ ADC thui.

      Comment


      • #4
        vậy cho mình hỏi, At mấy thì hỗ trợ cho nhìu ngõ vào cùng 1 lúc?

        Comment


        • #5
          hình như không có hay sao ý. Atmel sao lại tích hợp nhiều ADC vào trong avr làm gì nhỉ, thay vì nhiều bộ sao không tăng độ phân giải nhỉ. bạn có thể dùng một bộ mà vẫn lấy đc nhiều mẫu mà

          Comment


          • #6
            Điều này có nghĩa là mình ko thể dùng chân 40 đo nhiệt độ, chân 39 đo khoảng cách trên cùng 1 lúc đc đúng ko?

            Comment


            • #7
              Atmega có đến 8 ngõ vào Analog. chúng ta có thể sử dụng một hay nhiều ngõ vào tùy ý. Trong ATmega có một bộ chuyển đổi ADC, sẽ chuyển đổi lần lượt các ngõ vào mà ta đã chọn. Độ phân giải ở đây không phụ thuộc vào số ngõ vào analog.

              Comment


              • #8
                hơ....như vậy là sao mấy huynh? Người nói đc, người nói hok...thế tui phải làm sao nhỉ?
                Mấy bác pro hãy cho em 1 lời khuyên .

                Tui tự nghĩ, nếu atmel chỉ cho phép dùng 1 trong 8 ngõ thì tại sao lại cho 8 ngõ analog để làm gì? Mún đố người xài à?
                Ôi đau đầu thiệt!

                Comment


                • #9
                  Cái này mình đã từng làm rồi, cũng bình thường thôi mà, theo tôi thì cách giải quyết bài toán của bạn rất đơn giản như sau bạn phân chia thời gian lấy mẫu ra, lần đầu lấy mẫu ADC trên chân 39, lần sau lấy mẫu trên chân 40. Tất nhiên là không phải lấy mẫu cùng một lúc, nhưng thời gian mỗi lần lấy mẫu trên các chân khác nhau là rất nhỏ thì cũng coi như là đồng thời phải không.
                  Chúc thành công.

                  Comment


                  • #10
                    Nguyên văn bởi power_hf Xem bài viết
                    Mình đang làm mạch điều khiển nhiệt độ phòng, các bạn cho mình hỏi mình có thể sử dụng cùng lúc 2 ngõ vào ADC của con AT 16 cho 2 mục đích khác nhau ko? Cụ thể là hai chân 39 và 40.
                    KO hỉu sao khi mình vẽ trên protues, lúc chạy thì nó báo lỗi là "real time can not start"
                    Bỏ đi ngõ vào 39 thì lại chạy đc.
                    Vấn đề nằm ở câu hỏi của bạn, những người hiểu sâu vấn đề sẽ trả lời khác, những người chỉ biết sơ qua lại có câu trả lời khác.

                    Câu hỏi của bạn ở đây là: AVR có thể dùng 2 ngõ vào ADC cùng lúc đc ko?
                    Nếu chiếu theo đúng câu hỏi, thì câu trả lời là KHÔNG.
                    Lý do:
                    Trong chíp AVR (tất cả các dòng AVR 8 bít thông thường, không tính dòng XMEGA mới ra đời) đều chỉ có một khối chuyển đổi AD (Analog - Digital). Tuy nhiên, để thuận tiện cho người dùng, Atmel thêm vào một khối MUX, cho phép nối lần lượt từng chân của AVR với khối AD (có thể là 5 hoặc 8 chân, tùy từng dòng AVR). Tại mỗi thời điểm chỉ có một chân của AVR được nối với khối AD, chân nào là do chương trình tùy chọn, lấy mẫu xong ở chân này ta có thể chuyển sang chân khác lấy mẫu tiếp.
                    Ví dụ như chip ATMEGA16, có 8 kênh vào AD, bạn có thể lần lượt (chứ không phải cùng một lúc) lấy mẫu điện áp trên cả 8 chân này.

                    Như thế thì xét về mặt thời gian, bạn không thể lấy 2 mẫu tín hiệu ở 2 chân cùng một lúc, mà phải lấy mẫu ở chân này rồi mới đến chân kia. Với AVR, thời gian trễ này bằng với thời gian chuyển đổi, tức là cần khoảng 14-15 xung nhịp ADC.

                    Tuy nhiên ở phần lớn ứng dụng, độ lệch về thời gian giữa các mẫu là không ảnh hưởng gì. Chẳng hạn như bạn dùng 1 chân AD để đo nhiệt độ, 1 chân để lấy mẫu giá trị của biến trở.

                    Trong trường hợp của bạn, tiêu đề của luồng và nội dung phía trong không ăn khớp với nhau, bạn hỏi "AVR có thể dùng 2 ngõ vào ADC cùng lúc đc ko?", nhưng nội dung trình bày thì lại đưa ra một bài toán bình thường sử dụng 2 kênh vào ADC. Đáng nhẽ câu hỏi phải là "AVR có thể dùng nhiều ngõ vào ADC được không?" thì chính xác hơn.
                    PNLab
                    Mạch nạp/debug ULink2, Jlink ARM USB
                    Mạch nạp AVR, PIC, 8051, MSP430 USB
                    Mạch phát triển STM32, ARM9, ARM11
                    more...www.pnlabvn.com

                    Comment


                    • #11
                      Vấn đề này mình cũng đã từng làm với 2 kênh ADC của ATmega(16,32...) để điều khiển một robot bằng tay dùng hai biến trở tuyến tính. Yêu cầu của robot là phải điều khiển tốc độ hai động cơ độc lập nhau dựa vào sự thay đổi điện thế từ hai biến trở. Như vậy cũng yêu cầu hai kênh ADC phải hoạt động dường như cùng lúc(về thời gian lấy mẫu). Nhưng ATmega16 thì chỉ lấy mẫu mỗi kênh tại một thời điểm mà thôi . Nhưng tần số lấy mẫu cũng rất nhanh (tùy vào bạn chọn trong CodeVision và tần số thạch anh của bạn có cao hay không) thì phản ứng của phần cứng đối với con người chúng ta xem như cùng lúc rùi. Ở đây chỉ mới có 2 kênh thôi đó, mấy người chơi Robocon còn làm mấy cái sensor dò đường đến 8 kênnh ADC mà tốc độ đáp ứng của robot cũng thõa mãn yêu cầu rùi còn gì.
                      Yên tâm mà dùng, con người chậm chạp lắm đó....
                      Tự động hóa hôm nay cho một thế hệ robot mai sau

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X