Thông báo

Collapse
No announcement yet.

hỏi về adc avr

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

  • hỏi về adc avr

    các bác cho em hỏi tai sao mạch của em sử dụng bộ adc của avr hiển thị trên laed lại cứ nháy loạn nên mặc dù em đo diện áp trên chân AREF và AVCC khá ổn định chỉ dao động khoảng +,-0.01 kể cả không có đầu vào thì đầu ra cũng cứ nháy loạn lên.các bác cho e hỏi luôn về cách chống nhiễu đầu vào.vì đầu vào lớn nhất là 5v nên rất dễ bị nhiễu

  • #2
    Bạn nên lấy giá trị của nó nhiều lần rồi chia trung bình ra, như vậy sẽ chính xác hơn và đỡ bị dao động, bạn cũng có thể gắn thêm một con tụ 0.1 hoặc 1uf vào chân của adc với gnd. Nếu không đc nữa thì bạn phải xem lại bộ khuếch đại của cảm biến hoặc tín hiệu từ cảm biến.
    Enjoy!

    0988467839

    Comment


    • #3
      nếu bạn không mắc đầu vào thì nó nhảy loạn là phải rồi. trong môi trường có biết bao là sóng điện từ.. bạn để vậy thì nó sẽ nhảy loạn xạ thôi.
      ko biết bạn cần đọc adc để làm j, có cần đáp ứng về thời gian hay ko.
      nếu bình thường thì nên đọc nhiều lần để lấy giá trị trung bình.
      về phần cứng thì trong datasheet có hướng dẫn cách mắc thêm mấy cái tụ và cuộn dây chống nhiễu đấy. ngoài ra cách đi mạch in cũng cần được quan tâm để giảm nhiễu nữa.(bọc mass).

      thân!

      Comment


      • #4
        Em tìm đc đoạn code về ADC này, đem về biên dịch chạy thử nhưng ko biết sao nó báo lỗi hoài. Em ko hiểu chỗ khai báo register static unsigned char input_index=0; có nghĩa là gì mà nó báo lỗi tại đây. Sửa lại thành unsigned char input_index=0; thì hết lỗi, nhưng ko biết nó khác nhau thế nào cả. Xin các bác chỉ giáo ạ.

        Code:
        interrupt [ADC_INT] void adc_isr(void) 
        { 
        register static unsigned char input_index=0; 
        // Read the 8 most significant bits 
        // of the AD conversion result 
        adc_data[input_index]=ADCH; 
        // Select next ADC input 
        if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT)) 
        input_index=0; 
        ADMUX=(FIRST_ADC_INPUT|ADC_VREF_TYPE)+input_index; 
        // Start the AD conversion 
        ADCSRA|=0x40; 
        }

        Comment


        • #5
          Có ai giúp em với. Vẫn chưa đc các bác ơi

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X