Thông báo

Collapse
No announcement yet.

ADC trong PSOC (CY8C29466)?!!!

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

  • ADC trong PSOC (CY8C29466)?!!!

    Mình đã tiếp xúc với PSoC hơn một năm nay rồi.
    PSoC của CyPress có đặc điểm là các user module số hoạt động rất tốt, còn các module tương tự thì hoạt động chưa được như ý muốn lắm.
    Mình đã từng làm một đồ án với PSoC rồi, nội dung của đồ án mình là đo và điều khiển nhiệt độ với phuơng pháp PID sử dụng PSoC, có giao tiếp với máy tính qua cổng com (để hiển thị nhiệt độ lên máy tính).
    Mình post lên coi như là một ví dụ để các bạn tham khảo, tuy nhiên còn có nhiều điểm chưa tốt, mong các bác cao thủ chỉ giáo thêm.
    Mạch sử dụng các linh kiện chính sau:
    + chip CY8C29466
    + Cảm biến nhiệt độ LM35
    + một bóng đèn 12V và phần giao tiếp công suất (Sử dụng TIP122).
    + 1 máy vi tính.
    + bộ phím nhấn điều khiển và 4 LED7 đoạn để hiển thị.
    Minh có đính kèm sơ đồ mạch, chuơng trình cho PSoC và cho máy tính.

    Tuy đã hoàn thành đồ án nhưng mình còn có một số điểm thắc mắc:
    + Không biết có ai đã làm thành công module INSAMP loại 3 opamp và mạch lọc lowpass chưa? Mình hỏi câu này vì mình đã thử dùng 2 module này nhưng đều không thành công, kết quả xuất ra không như mong đợi (đều thấp hơn giá trị thực tế).
    + Trong khi thí nghiệm với chuyển đổi ADC từ tín hiệu điện áp V, mình không bao giờ nhận được giá trị chuyển đổi D=0 khi đã cho V=0. Mình nghĩ có thể là do offset của opam trong module INSAMP.
    + Làm thế nào để tối ưu hóa việc truyền dữ liệu giữa PSoC và máy tính (hiện tại mình phải đổi các giá trị đo được thành các chuỗi rồi mới truyền đi).

    Nếu có cao thủ nào biết, xin chỉ giáo cho em (địa chỉ email: tien.nguyen.py@gmail.com).

    Xin được cảm ơn bạn hoanglongu đã có một bài hướng dẫn hay về vẽ đồ thị.
    http://dientuvietnam.net/forums/showthread.php?p=89019
    Attached Files
    Last edited by tiennguyenpy; 10-11-2008, 03:17. Lý do: sửa lại file đính kèm

  • #2
    Nguyên văn bởi tiennguyenpy Xem bài viết
    Tuy đã hoàn thành đồ án nhưng mình còn có một số điểm thắc mắc:
    + Không biết có ai đã làm thành công module INSAMP loại 3 opamp và mạch lọc lowpass chưa? Mình hỏi câu này vì mình đã thử dùng 2 module này nhưng đều không thành công, kết quả xuất ra không như mong đợi (đều thấp hơn giá trị thực tế).
    + Trong khi thí nghiệm với chuyển đổi ADC từ tín hiệu điện áp V, mình không bao giờ nhận được giá trị chuyển đổi D=0 khi đã cho V=0. Mình nghĩ có thể là do offset của opam trong module INSAMP.
    + Làm thế nào để tối ưu hóa việc truyền dữ liệu giữa PSoC và máy tính (hiện tại mình phải đổi các giá trị đo được thành các chuỗi rồi mới truyền đi).
    + bạn bỏ cái lowpass đi, vì theo tôi làm thì đúng là mỗi khi dùng nó thường điện áp đo được thấp hơn giá trị thực tế (Cũng có thể do mình chưa biết cách dùng nó hiệu quả)
    + nếu nó có offset của OPAM hoặc ADC thì loại trừ offset đó bằng cách ngắn mạch mềm 2 đầu vào của ISAMP rồi đọc ADC. đây là giá trị offset mà mối lần đo mình phải trừ đi giá trị này.
    + việc truyền dữ liệu từ PSoC lên PC để tối ưu thì không nên sử dụng High level. Bạn nên dùng Low level và truyền dữ liệu dạng binary chứ không nên truyền kiểu TEXT. vì như vậy mất công chuyển đổi thành các chuỗi -> tốn tài nguyên PSoc
    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
      Nguyên văn bởi encoder Xem bài viết
      + bạn bỏ cái lowpass đi, vì theo tôi làm thì đúng là mỗi khi dùng nó thường điện áp đo được thấp hơn giá trị thực tế (Cũng có thể do mình chưa biết cách dùng nó hiệu quả)
      + nếu nó có offset của OPAM hoặc ADC thì loại trừ offset đó bằng cách ngắn mạch mềm 2 đầu vào của ISAMP rồi đọc ADC. đây là giá trị offset mà mối lần đo mình phải trừ đi giá trị này.
      + việc truyền dữ liệu từ PSoC lên PC để tối ưu thì không nên sử dụng High level. Bạn nên dùng Low level và truyền dữ liệu dạng binary chứ không nên truyền kiểu TEXT. vì như vậy mất công chuyển đổi thành các chuỗi -> tốn tài nguyên PSoc
      Như vậy là lowpass của nó có vấn đề. Tín hiệu của mình đưa vào tần số rất thấp (từ cảm biến nhiệt độ mà), mình nghĩ nó chỉ chặn tần số cao thôi chứ (mà biên độ của các tần số này rất thấp). Mà như vậy cai lowpass đó chỉ có cho vui thôi chứ chẳng làm được tích sự gì nhỉ.

      Một cái dở nữa là Khối INSAMP. nó chỉ có 2 cấu hình (2 opamp và 3opamp). Cấu hình 2 opamp thì chạy rất ổn, không có gì bàn cãi, nhưng nhược điểm của nó là dải độ khuếch đại rất thấp (từ 2 đến 16). Trong một số ứng dụng có điện áp đưa vào quá nhỏ (cỡ mV)hoặc quá lớn (cỡ 2.5V trở lên) thì không cho kết quả tôi ưu được vì điện áp đưa vào ADC sẽ không lấp đầy dải đo (VrefLow-->VrefHigh) hoặc vượt quá dải đo, (ví dụ như với PT100 chẳng hạn, điện áp đưa vào khuếch đại rất thấp --> cần hệ số khuếch đại cao)

      Còn cái INSAMP 3 opamp thì có hệ số khuếch đại rất rộng, từ (0.0313 đến 93.0). Nhưng khi làm mình mới thấy nó chạy rất tệ, mình làm mà chẳng khi nào thấy nó đúng cả, thường thì nó thấp hơn giá trị thực (với độ khuếch đại G=độ khuếch đại tầng 1 * độ khuếch đại tầng 2). Ai có giả thuyết gì giải thích được hiện tượng này không?

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X