Thông báo

Collapse
No announcement yet.

Thắc mắc về project mẫu ADC_UART_LCD của Cypress?

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

  • Thắc mắc về project mẫu ADC_UART_LCD của Cypress?

    Em đã thử project mẫu C_Example_ADC_UART_LCD của Cypress trong thư mục cài đặt PSOC. Nhưng không hiểu tại sao khi điện áp đầu vào là 0V mà ADC lại cho giá trị khác 0, cụ thể là 7. Em cũng từng làm một project tương tự như vậy nhưng kết quả cũng không thay đổi. Đặc biệt là khi làm với ADC 14 bit thì sai số đó càng lớn. Tức là khi điện áp đầu vào là 0V thì giá trị ADC chỉ còn lớn hơn 7 tầm vài chục. Khi dùng projet mẫu về ADC 14 bit trong App note thì kết quả cũng vậy.
    Vậy có bác nào biết tại sao và cách khắc phụ như thế nào không?
    Thanks!

  • #2
    do la sai lech diem 0 (zero offset).
    Khi muốn đo một giá trị điện áp nào đó, để có kết quả đo chính xác:
    Lấy giá trị đo được - zero offset = giá trị cần đo.
    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
      Em vẫn chưa hiểu, ý của anh encoder thì "zero offset" có phải là điện áp tham chiếu Vref. Khi đặt Ref Mux=Vdd/2 ± Vdd/2 thì Vref(AGND)=2.5V. Nhưng theo công thức trong datasheet thì: Vinn-2048)/2048)*Vref. Vậy theo như anh encoder bảo thì có phải: giá trị cần đo=Vin-Vref. Như vậy thì hình như vẫn không ổn. Anh có thể giải thích cụ thể hơn được không. Ví dụ như bây giời đầu ra của ADC cho em một giá trị là n, ADC cấu hình như sau:Ref Mux=Vdd/2 ± Vdd/2, Vcc=5V. thì điện áp đo được là bao nhiêu?
      Cám ơn anh nhiều

      Comment


      • #4
        Zero offset mà mình nói đến tức là độ sai lệch của ADC so với điểm không. Tức là khi đo giá trị điện áp 0V chuẩn thì ADC vẫn có giá trị đọc được khác 0. Giá trị đó gọi là Zero offset. Đơn giản chỉ có vậy thôi.
        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


        • #5
          Vậy có cách nào giảm cái zero offset này không? hay là mình chất nhận nó vì khi đo ta ít khi đo giá trị gần 0V hả các anh?

          Comment


          • #6
            hì hì. Tôi dùng 1 bộ Insamp 3, cấu hình cho 2 đầu vào insamp là chung nhau (suy ra Vdiff = 0) rồi dùng ADC đọc vẫn có sai lệch. Qua đó thấy rằng không thể làm mất được điểm sai lệch không - không thể tránh khỏi (đa phần các hệ thống đo đều có điểm sai lệch zero), Tuy nhiên ta vẫn có thể khắc phục được sai lệch đó. Phương pháp đo Zero offset thường tùy thuộc vào từng bài toán mà set giá trị các thanh ghi cho phù hợp. Ví dụ với trường hợp bạn dùng INSAMP3 và ADC.
            bước 1: đặt tín hiệu cần đo vào 2 đầu vào INSAMP rồi đọc ADC cho kết quả ADC_Code
            bước 2: sau đó ngắn mạch đầu vào INSAMP thông qua thanh ghi MUX_INx (để về tra lại có đúng không ) rồi đọc ADC để có được ADC_offset
            từ đó ta suy ra giá trị đo chính xác:
            ADC_code = ADC_code - ADC_offset
            Last edited by encoder; 15-03-2007, 17:34.
            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


            • #7
              Thanks you nha!

              Comment


              • #8
                Cho minh hỏi, cái command terminator của UART đc đặt default =13. Đó là kí tự gì vậy ?
                AC

                Comment


                • #9
                  13=0x0D (CR) đó chính là ký tự Carrier Return. Một ký tự được dùng nhiều trong các frame truyền thông ví dụ như Modbus-ASCII

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X