Thông báo

Collapse
No announcement yet.

tần số clock của ADC

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

  • tần số clock của ADC

    các bác cho em hỏi chọn tần số của ADC thế nào lả phù hợp
    em làm mạch đo nhiệt độ nhưng khi chọn clock của ADCINC12 khác nhau thi kết quả ra LCD lại khác nhau
    cụ thể là nếu em chọn clock của ADC là sysclk/8 thì nhiệt độ có vẻ hợp lý
    nhưng khi chọn là sysclk/2 thì kết quả hơn khoảng 10 độ C
    các bác giúp em với nhé,em đang cần gấp
    thanks các bác!

  • #2
    Mình cũng chưa biết rõ là nguyên nhân do đâu. tuy nhiên theo mình thì kết quả đọc như vậy là không hợp lý. thường thì do bạn thiết lập các tham số hệ thống sai. Bạn thử xem lại phần thiết lập điện áp tham chiếu. Còn clock thì theo như datasheet thì bạn có thể chọn clock khoảng vài Mhz là ổn rồi. clock này thường được chọn từ nguồn clk1,2 hoặc 3. bạn nên chọn clock của các khối trong module adc là như nhau, cả cho pga nữa. bạn đọc kỹ datasheet của module ADC bạn dùng nó sẽ chỉ dẫn cho bạn rõ ràng. nếu vẫn không được bạn up code nên mọi người có thể giúp bạn.

    chúc vui,

    Comment


    • #3
      clock ADC =sysclk/8, thế sysclk bạn để bằng bao nhiêu. Nếu sysclk là 24MH thì tần số lấy mẫu AD của bạn là 3MH rồi, làm j có AD biến đổi nhanh như vậy được, bạn chỉ nên để tần số khoảng 1KH thôi vì nhiệt độ cũng không thay đổi nhanh. Hơn nữa để chu kì lấy mẫu đều đặn bạn nên dùng ngắt timer, cứ sau 1 khoảng thời gian ngắt này được gọi và thực hiện lấy AD, bạn sẽ vừa kiểm soát được chu kì lấy mẫu và không tốn thời gian cho vòng quét vì thời gian lấy AD lâu hơn rất nhiều so với các lệnh khác.
      Cty tnhh thiết bị điện - điện tử công nghiệp: 0437821690 / 0988.775.900
      Thiết kế hệ thống điện điều khiển
      Sửa chữa INVERTER, DRIVER , PLC, UPS ...!

      Comment


      • #4
        chọn được tần số lấy mẫu là 1kHz bằng cách nào hả bạn. theo mình tần số lấy mẫu có thể chọn từ VC1,VC2 hoặc VC3 nên tần số lấy mẫu tối thiểu cũng là 24kHz rồi(nếu tần số sysclk là 6MHz). Có thể do tần số clock của ADC phải nhỏ hơn CPU_clock. mình chọn CPU_clock=sysclk/8. Không biết thế có đúng không?

        Comment


        • #5
          Nguyên văn bởi bkhn Xem bài viết
          chọn được tần số lấy mẫu là 1kHz bằng cách nào hả bạn. theo mình tần số lấy mẫu có thể chọn từ VC1,VC2 hoặc VC3 nên tần số lấy mẫu tối thiểu cũng là 24kHz rồi(nếu tần số sysclk là 6MHz). Có thể do tần số clock của ADC phải nhỏ hơn CPU_clock. mình chọn CPU_clock=sysclk/8. Không biết thế có đúng không?
          bạn tính thế này nhé:
          sysclk chọn 24MH.
          vc1 = sysclk/4 = 6MH
          vc2 = vc1/6 = 1MH
          vc3source = vc2 = 1MH
          vc3 divider = vc3source/10 = 100KH

          bạn có thể chọn vc2 hoặc vc3 làm clock cho AD, lưu ý đây chỉ là clock chứ không phải chu kì lấy mẫu. nếu chọn vc2 thì nên để SC On/ Ref high cho chắc ăn, nếu chọn vc3 thì để SC On/ Ref Med cũng được.
          Vì sau nhiều clock AD mới chuyển đổi xong dữ liệu nên tần số lấy mẫu phải nhỏ hơn rất nhiều clock của AD, vd muốn f_mẫu = 1kh mình dùng ngắt của timer8_1 để lấy mẫu.
          chọn clock timer8_1 = vc3 = 100KH
          period = 100
          compare_value =0
          như vậy tần số ngắt timer8_1 là 100KH/100 = 1KH
          đoạn ctrình lấy AD để trong ngắt timer mỗi khi vào ngắt sẽ lấy được 1 mẫu.

          khi cấu hình khối AD lưu ý rằng clock của khối số(phía trên) và khối tương tự(phía dưới) phải giống nhau nếu không giá trị đo được sẽ bị sai lệch.
          Cty tnhh thiết bị điện - điện tử công nghiệp: 0437821690 / 0988.775.900
          Thiết kế hệ thống điện điều khiển
          Sửa chữa INVERTER, DRIVER , PLC, UPS ...!

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X