Thông báo

Collapse
No announcement yet.

Hạn chế dao động của ADC

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

  • Hạn chế dao động của ADC

    Tôi cần tìm hiểu tại sao thỉnh thoảng ADC của PSoC có giá trị dao động mạnh quá +/-150 trên giá trị đo 0 -4096 (ADCINC12). Có dùng thêm phần dồn 8 kênh trước khi về ADC. Lấy trung bình cũng ko ăn thua.
    Còn một vấn đề khác: sử dụng ext ref từ TL431 2,5V, đưa GND =0 Volts vào ADC nhưng giá trị đọc luôn là 23 đến 28 .Theo lý thuyết phải gần 0 (sau khi cộng 2048)
    Hỏi tiếp cái hàm
    void ADCINC12_GetSamples (BYTE bNumSamples)
    Giả sử bNumSamples =10 thì mục đích của nó là lấy 10 mẫu điện thế rồi mới lấy ADC hay lấy 10 lần ADC luôn rồi lần thứ 10 mới xuất giá trị. Cần chọn số như thế nào để kết quả chính xác nhất, tốc độ chậm một chút cũng được (Ko lấy mẫu liên tục)
    Con PSoC nghe thấy ADC thì rất hay ho nhưng bắt tay vô làm thì ko thấy độ chính xác cao. Như ADCINC12 có offset error = 9mV. Ko biết có module nào có độ chính xác cao hơn nữa ko?

  • #2
    Nguyên văn bởi kong Xem bài viết
    Tôi cần tìm hiểu tại sao thỉnh thoảng ADC của PSoC có giá trị dao động mạnh quá +/-150 trên giá trị đo 0 -4096 (ADCINC12). Có dùng thêm phần dồn 8 kênh trước khi về ADC. Lấy trung bình cũng ko ăn thua.
    Còn một vấn đề khác: sử dụng ext ref từ TL431 2,5V, đưa GND =0 Volts vào ADC nhưng giá trị đọc luôn là 23 đến 28 .Theo lý thuyết phải gần 0 (sau khi cộng 2048)
    Hỏi tiếp cái hàm
    void ADCINC12_GetSamples (BYTE bNumSamples)
    Giả sử bNumSamples =10 thì mục đích của nó là lấy 10 mẫu điện thế rồi mới lấy ADC hay lấy 10 lần ADC luôn rồi lần thứ 10 mới xuất giá trị. Cần chọn số như thế nào để kết quả chính xác nhất, tốc độ chậm một chút cũng được (Ko lấy mẫu liên tục)
    Con PSoC nghe thấy ADC thì rất hay ho nhưng bắt tay vô làm thì ko thấy độ chính xác cao. Như ADCINC12 có offset error = 9mV. Ko biết có module nào có độ chính xác cao hơn nữa ko?
    Bạn nâng lên dùng ADCINC14 dùng unsigned cho độ phân giải cao hơn, kết hợp lọc số (cộng trung bình) và loại trừ offset nữa sẽ ổn định.
    CUNG CẤP PSOC, MẠCH NẠP
    CHUYỂN ĐỔI USB <-> RS485 AutoBaud
    RS232 <-> RS485 MultiBaud
    MẠCH NẠP USBPPI S7-200
    Mobile: 0906076116
    Email:

    Comment


    • #3
      Bạn nói cụ thể hơn cho mọi người hiểu đi!
      Technical Institutes
      Mobile: 0983278725
      Email:

      Comment


      • #4
        Tìm ra một phần nguyên nhân

        Nâng cấp lên ADCINC14 ko giúp ích gì. Lấy trung bình cũng ko ích gì. Sau cùng tìm ra một phần nguyên nhân là vẫn để mạch nạp Type 3 chạy cùng PSoC nên điện thế vào VCC (chân 28) dao động theo tải PC chạy, ảnh hưởng đến điện thế chân LPT1, mặc dù nguồn DC cấp PSoC vẫn ổn định 5V, dẫn đến ADC có sai số lớn.

        Tháo mạch nạp ra, thì ADC ổn định hơn nhưng thỉnh thoảng, khoảng 25 -30 giây mới có 1 chu kỳ sai theo đồ thị hiển thị trên PC, có thể do chương trình sai một chỗ nào trong một chu kỳ.

        Comment


        • #5
          Sau rất nhiều năm vật vã với phần mềm cuối cùng mình thấy phần cứng là khâu quyết định, thêm mạch lọc LOW PASS vào đầu vào ADC-->excilent...
          Technical Institutes
          Mobile: 0983278725
          Email:

          Comment


          • #6
            Đấy gần như là nguyên tắc rồi, có cái bạn quên thôi

            Comment


            • #7
              Ko có gì gọi là nguyên tắc cả, tuỳ từng ứng dụng thôi, ví như trong adc ứng dụng trong radar sẽ ko có các mạch này.
              Technical Institutes
              Mobile: 0983278725
              Email:

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X