ADC độ phân giải cao cho các cảm biến nhiễu trong điều kiện thay đổi


9

Giới thiệu

Để trả lời cho câu hỏi này về các bộ khuếch đại thích ứng , khuyến nghị rằng để xử lý các điều kiện khác nhau, có thể kinh tế hơn khi chỉ cần sử dụng một ADC với độ phân giải cao hơn để tôi không phải lo lắng về khuếch đại và tôi có thể mở rộng quy mô trong phần mềm.

Tổng quat

Tôi đang cố gắng thiết kế một mạch thu thập dữ liệu cho các cảm biến căng dựa trên cơ thể. Dệt may thay đổi sức đề kháng khi nó được kéo dài (khoảng 1 bậc độ lớn, 10k -100k với độ giãn 30%). Phạm vi chính xác sẽ thay đổi tùy thuộc vào cách cắt vải, liệu nó ướt đẫm mồ hôi, nhiệt độ, vật liệu bao nhiêu tuổi, cách gắn kết, v.v. Toàn bộ mọi thứ cần phải nhỏ nhất có thể vì nó được gắn trên tay , vì vậy giảm thiểu số lượng thành phần là một điểm cộng lớn.ΩΩ

Hơn nữa, tôi muốn mạch có thể được sử dụng lại cho các ứng dụng khác có thể có hiệu suất kém hơn. Chẳng hạn, nếu tôi sử dụng phiên bản dệt rẻ hơn, phạm vi kháng của tôi có thể tệ từ 100 đến 300 .ΩΩΩ

Đường dẫn tín hiệu

[dệt] -> [cầu Wheatstone] -> [lowpass] -> [amp thiết bị] -> [ADC] -> [AVR]

Yêu cầu

Vì vậy, tôi đang tìm kiếm một ADC sẽ đáp ứng yêu cầu của tôi. ADC phải là:

  1. 16 bit +
  2. Dễ sử dụng nhất có thể: tốt hơn nhiều nếu đã có mã giao diện được viết cho AVR / Arduino ...
  3. ... nhưng đồng thời toàn diện nhất có thể: Tôi đã thấy một số ADC có bộ lọc thông thấp và tích hợp sẵn PGA - tất cả đều tốt hơn miễn là nó không làm cho cấu hình trở nên khó khăn
  4. Hơn 8 kênh hoặc nếu nó đủ dễ thực hiện, gấp 2 4 kênh. EDIT: Nếu tôi đang sử dụng cầu Wheatstone, có lẽ tôi muốn 8 kênh đầu vào khác biệt (16 kênh) ...
  5. Tôi không nghĩ vấn đề điện áp hoạt động ... (tốt nhất nếu không vượt quá 5V)
  6. Bề mặt gắn kết
  7. Không cần phải rẻ (đó là một lần)
  8. SPI so với I2C không quan trọng tôi nghĩ ...
  9. Hơn 100 Hz

Nghiên cứu

Cho đến nay thông qua Googling, tôi đã tìm thấy các chip sau:

và các hướng dẫn sau:

Tham chiếu điện áp?

Cuối cùng, một số người đã khuyến nghị tham chiếu điện áp chính xác, chẳng hạn như dòng REF19x của Thiết bị analog . Bạn có nghĩ rằng điều này là cần thiết? Nghị quyết chắc chắn là quan trọng đối với tôi.

Phần kết luận

Hãy cho tôi biết nếu bạn có bất kỳ khuyến nghị! Tôi cũng không chắc chắn chính xác những gì tôi đang tìm kiếm, vì vậy các mẹo về cách quyết định cũng được đánh giá cao.


Tôi hy vọng sẽ tránh được loại câu chuyện này: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264346368
sân thượng

@msutherl - Sẽ là một vấn đề lớn nếu bạn phải sử dụng mux để kết nối với ADC này? Bạn sẽ gặp khó khăn khi tìm kiếm ADC 16 kênh, 16+ bit, nhưng các bộ phận 1 kênh hoặc 2 kênh khá dễ dàng ...
Kevin Vermeer

1
Một mình bit không xác định phạm vi động. Về mặt lý thuyết, bộ chuyển đổi 24 bit có thể có dải động 144 dB, nhưng bộ biến đổi thực là 100-120 dB hoặc hơn. Bạn có chắc chắn bạn cần độ phân giải nhiều này cho một cảm biến căng? Bạn đang cố gắng xử lý nhiều cảm biến căng khác nhau của các giá trị khác nhau? Tôi nghĩ sẽ tốt hơn nếu chỉ sử dụng một bộ khuếch đại khuếch đại biến đổi, tôi nghĩ và điều chỉnh nó cho từng bộ khuếch đại. Dù sao bạn cũng sẽ phải thực hiện việc hiệu chuẩn đó.
endolith

1
Bạn có cần 100Hz + cho mỗi cảm biến hoặc cho tất cả chúng không? Với ADC đa kênh, bạn thường xuyên nhận được 1 ADC và mux, do đó bạn sẽ phải chia SPS cho số kênh (hoặc nhiều hơn nếu cặp mux / adc không thể chuyển kênh rất nhanh).
jpc

1
@msutherl Có, nồi khuếch đại thủ công hoặc bộ khuếch đại khuếch đại có thể lập trình. Một cái gì đó giống như PGA116 có thể xử lý việc lấy mẫu tất cả các cảm biến của bạn theo kiểu vòng tròn với mức tăng khác nhau cho mỗi loại, với mọi thứ được thực hiện trong phần mềm?
endolith

Câu trả lời:


7

ADS1256 từ TI có tám kênh 24 bit một đầu với bộ đệm đầu vào có trở kháng cao và PGA. Dự án OpenEXG có mã PIC để giao diện với nó (họ sử dụng hai phiên bản kênh ADS1255, nhưng nó phải giống nhau).

Nếu bạn muốn đầu vào vi sai, thì có ADS1298 , với 8 kênh, PGA và A / D, tham chiếu nội bộ, cộng với mạch ECG / EEG mà bạn có thể bỏ qua. Tôi không chắc chắn bạn có thể tìm thấy bất kỳ mã ví dụ cho cái này, mặc dù.

Nếu bạn đang tìm kiếm độ phân giải, thì chính xác, tham chiếu tiếng ồn thấp là phải.


5

Một ý tưởng có thể độc đáo, tôi tò mò các bạn nghĩ gì về nó:

Một bậc độ lớn dường như là một thay đổi đủ lớn để đo trực tiếp trong mạch phân chia điện áp.

Sau đó, bạn có thể sử dụng một ADC nhỏ hơn và thay đổi dòng điện thông qua cảm biến. Một nguồn điện áp PWM được lọc + một tín hiệu điện áp (có thể là một bóng bán dẫn NPN nếu bạn ở trên không gian) có thể cải thiện đáng kể phạm vi động của bạn.

Bạn có thể sử dụng một hoặc hai trong số này và chuyển đổi điện áp khi đo các cảm biến khác nhau.


Không độc đáo chút nào. Trong thực tế, nếu anh ta muốn sử dụng vi điều khiển 8 bit nhỏ, cách này anh ta có thể tránh việc xử lý các giá trị 24 bit và độ phức tạp có thể nhỏ hơn so với việc can thiệp vào các ADC tinh vi này. Phạm vi động có thể là tổng của các phạm vi động của ADC và PWM trong trường hợp lý tưởng. Mặt khác, dường như đối với nhiều người, thiết kế analog khó hơn kỹ thuật số, vì vậy chỉ cần sử dụng ADC 24 bit có thể đơn giản hơn. Ngoài ra, phạm vi động của ADC có thể được tăng lên bằng cách ghép quá mức và lọc kỹ thuật số ... tốt, không còn đơn giản nữa.
Jaroslav Cmunt

@Jar Tư Cảm ơn. 1. Anh ấy đã có một cây cầu Wheatstone nên tôi đoán anh ấy không hoàn toàn sợ phần tương tự. :) 2. Có thể đạt được 1 hoặc 2 bit độ phân giải bổ sung bằng bộ lọc tổng chạy đơn giản.
jpc

1
Thật! Đây là một liên kết cho OP: http://www.dspguide.com/ch15.htm
Jaroslav Cmunt

3

Nếu lo lắng chính của bạn là có dải động rộng cho bất kỳ "cảm biến" cụ thể nào, bạn có thể cân nhắc sử dụng các nguồn điện áp được điều khiển bởi chân MPU (hoặc thậm chí chỉ là chân MPU) để điều chỉnh bù / khuếch đại khuếch đại để thay đổi hiệu suất hệ thống cho các vật liệu khác nhau.

Bạn cũng có thể theo dõi giai đoạn khuếch đại biến đổi này với mạch tích hợp điện tích để bạn có thể đạt được độ nhạy tín hiệu tinh chỉnh bằng cách điều chỉnh thời gian "phơi sáng".


0

Nếu bạn có đủ sức mạnh tính toán cho tốc độ mẫu bạn cần, hãy xem xét lọc kỹ thuật số. Một Savitzky-Golay lọc, f / ex.

  • Bạn có thể thay đổi thuật toán dễ dàng hơn bạn có thể thay đổi các bộ phận;
  • Bằng cách đẩy một số bộ lọc lên phần mềm, bạn có thể có thể sử dụng phần thông số kỹ thuật thấp hơn so với việc phần đó phải có khả năng chống ồn hơn hoặc thực hiện tất cả quá trình lọc;
  • Bạn sẽ tìm hiểu nhiều hơn về đầu vào của bạn và những gì bạn cần từ họ và có thể đưa ra lựa chọn các bộ phận có thông tin tốt hơn, trên thực tế, nếu bạn thực sự cần một phần thông số kỹ thuật cao hơn.
  • Phần mềm và kỹ năng dễ dàng được chuyển sang các ứng dụng khác của bạn!

tất cả quá trình lọc sẽ được thực hiện trên PC trong môi trường xử lý tín hiệu thời gian thực.
sân thượng

0

Tại sao không biến nó lên 11, và chỉ sử dụng TI ADS1262 . Đó là ADC 32 bit, với 11 đầu vào và PGA!

ADS1262

Với 32-bit, bạn có thể lấy mẫu khá nhiều thứ. Và nó thậm chí không đắt. Hơn thế nữa, nếu bạn chỉ làm một trong số này, chỉ cần lấy một mẫu miễn phí .


Một lựa chọn khác là sử dụng PSoC. Đây là những bộ vi điều khiển chứa các khối tương tự và kỹ thuật số có thể cấu hình lại, mà bạn có thể sử dụng để tạo nên tất cả các loại chức năng. Bạn có thể chọn một bộ có ADC 16 bit, PGA, bộ giải mã và bộ lọc kỹ thuật số, để tự tạo phạm vi tự động, tự động cắt, lấy mẫu quá mức, lọc kỹ thuật số, ADC!

PSoC38xx

Lập trình những thứ này là một sự né tránh, vì bạn chỉ cần vẽ sơ đồ bạn muốn, chọn các hàm được xác định trước từ một danh sách. Sau đó viết một số mã C, và bạn đi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.