Đây là ý tưởng cơ bản:
V1 là đầu ra PWM được lọc và R2 là cảm biến của bạn. U1 là điện áp cho bộ biến đổi hiện tại, với dòng điện qua tải R1 là I = V1 / R2. Điều này có nghĩa là điện áp trên R1 phụ thuộc vào cả hai đầu vào. U2 và U3 là một bộ khuếch đại thiết bị có mức tăng 10, khuếch đại điện áp trên R 1.
Với R1 = 100 Ohms và V1 = 0..5V, mạch hoạt động với R2 = 50..5000, ví dụ: qua hai bậc độ lớn, từ những gì bạn nói là đủ.
Những gì bạn làm là lấy ra và so sánh nó với điện áp tham chiếu (4V sẽ phù hợp ở đây cho dải động tối đa) và sử dụng xấp xỉ liên tiếp trên V1 để lấy ra càng gần với điện áp tham chiếu. Từ V1 và điện áp giảm trên R1 (ví dụ điện áp tham chiếu), giờ đây bạn có thể tính giá trị của R2, cảm biến của bạn. Điều này tất nhiên sẽ giúp bạn có kết quả chỉ trong độ phân giải của PWM, nhưng bạn có thể sử dụng amp thiết bị thứ hai để khuếch đại lỗi (chênh lệch giữa điện áp ra và điện áp tham chiếu) để đưa nó vào trong phạm vi của ADC của vi điều khiển của bạn và điều này sẽ giúp bạn có thêm bit của nghị quyết.
Bạn cần hai opamp (U1 và bộ so sánh) và hai ampe kế. Sử dụng những người thực sự thay vì làm cho họ từ opamp, bởi vì sự thiếu chính xác của điện trở và opamp sẽ gây ra lỗi.
Nếu hai đơn đặt hàng cường độ không đủ, bạn có thể thay thế R1 bằng chiết áp kỹ thuật số để có được một mức độ tự do khác. Tôi chưa bao giờ làm việc với một người, vì vậy tôi không biết chính xác họ như thế nào và liệu giải pháp đó có cần hiệu chuẩn hay không.
Ngoài ra, tôi nên đề cập rằng chính jpc đã đưa ra ý tưởng.
CẬP NHẬT:
Ok, tôi phải đồng ý với OP rằng đây không thực sự là câu trả lời cho câu hỏi của anh ấy (mặc dù nó giải quyết vấn đề về mặt kỹ thuật). Tôi đã cho phép bản thân được mang đi bởi "bộ khuếch đại thích ứng" trong tiêu đề như một cái cớ để thực hiện một số thiết kế tương tự. Hãy quên mọi thứ đã viết ở trên, trừ khi bạn muốn tìm hiểu điều gì đó (ít) về opamp. Đây là, tôi hy vọng, câu trả lời tốt hơn và giải pháp đơn giản hơn nhiều:
Sử dụng bộ chia điện trở được cấp nguồn từ bộ điều chỉnh điện áp (để tách nó khỏi nhiễu của mạch khác), với điện trở trên được đặt thành khoảng điện trở tối đa mà cảm biến của bạn có thể có (Rmax) và với điện trở thấp hơn là cảm biến.
Đặt điện áp tham chiếu cho ADC của bạn bằng một nửa đầu ra của bộ điều chỉnh điện áp.
Sau đó, bạn lấy mẫu điện áp trên cảm biến với ADC của bạn. Bằng cách này, bạn chỉ cần một kênh kết thúc duy nhất cho mỗi cảm biến. Tôi đã thực hiện khuyến nghị ADC trong bài khác.
Nếu bạn sử dụng ADC 10 bit được tích hợp trong các bộ vi điều khiển mà bạn đã đề cập, bạn sẽ không nhận được nhiều phạm vi động. Tăng cường phạm vi sử dụng mạch tương tự, như bản gốc tôi đã đăng, sẽ thêm quá nhiều phần bổ sung, đó là lý do tại sao tôi khuyên bạn chỉ nên sử dụng một số ADC 24 bit, như ADS1256 tôi đã đề xuất trong bài đăng khác, vì nó sẽ cung cấp cho bạn độ ồn thấp và dải động cao, trong một chip đơn (cộng với tham chiếu, rất nhỏ và bộ điều chỉnh điện áp, cũng có thể rất nhỏ - bạn cũng có thể thử bỏ bộ điều chỉnh ra và cấp nguồn cho bộ chia điện trở trực tiếp từ tham chiếu - điều này sẽ cướp đi của bạn 1 bit độ phân giải, nhưng dù sao cũng có rất nhiều trong số chúng). Bạn sẽ phải thực hiện một số thao tác bấm số ("Tự động hiệu chỉnh bằng cách tìm các giá trị tối thiểu và tối đa trong một cửa sổ phân tích nhất định" - là một ý tưởng hay),
Tôi hy vọng điều này là ít hữu ích hơn.
CẬP NHẬT 2:
Đây là cái cuối cùng: Tôi đã trải qua các bộ vi điều khiển MSP430 từ TI và tôi đã phát hiện ra rằng một số trong số chúng có ADC sigma-delta 16 bit với tham chiếu bên trong. Cụ thể là MSP430F2003 và MSP430F20013 . Đó sẽ là giải pháp một chip của bạn nếu bạn sẵn sàng từ bỏ Atmels. Công suất rất thấp. Và họ có hàng vi điều khiển xếp hàng với 24 ADC, nhưng chúng chưa được sản xuất. Ngoài ra còn có các bộ vi điều khiển PSoC từ Cypress, có ADC sigma-delta 20 bit (sê-ri PSoC 3 và PSoC 5 ), cũng có tham khảo. Những điều này sẽ còn tốt hơn.