Inilah ide dasarnya:
V1 adalah output PWM yang difilter dan R2 adalah sensor Anda. U1 adalah konverter tegangan ke arus, dengan arus melalui beban R1 adalah I = V1 / R2. Ini berarti bahwa tegangan melintasi R1 tergantung pada kedua input. U2 dan U3 adalah amplifier instrumentasi dengan gain 10, yang menguatkan tegangan melintasi R1.
Dengan R1 = 100 Ohms dan V1 = 0..5V rangkaian bekerja untuk R2 = 50..5000 misalnya di dua urutan besarnya, yang dari apa yang Anda katakan harus cukup.
Apa yang Anda lakukan adalah mengambil dan membandingkannya dengan tegangan referensi (4V akan sesuai di sini untuk rentang dinamis maksimum) dan menggunakan perkiraan berturut-turut pada V1 untuk keluar sedekat mungkin dengan tegangan referensi. Dari V1 dan penurunan tegangan yang diketahui melintasi R1 (misalnya tegangan referensi) Anda sekarang dapat menghitung nilai R2, sensor Anda. Ini tentu saja akan membuat Anda menghasilkan hanya dalam resolusi PWM, tetapi Anda dapat menggunakan amp instrumentasi kedua untuk memperkuat kesalahan (perbedaan antara tegangan keluar dan tegangan referensi) untuk mendapatkannya dalam kisaran ADC mikrokontroler Anda dan ini akan memberi Anda bit tambahan resolusi.
Anda memerlukan dua opamps (U1 dan komparator) dan dua amp instrumentasi. Gunakan yang asli daripada membuatnya dari opamps, karena ketidaktepatan resistor dan opamps akan menimbulkan kesalahan.
Jika dua urutan besarnya tidak cukup, Anda dapat mengganti R1 dengan potensiometer digital untuk mendapatkan derajat kebebasan lain. Saya belum pernah bekerja dengan satu, jadi saya tidak tahu seberapa tepat mereka dan apakah solusi seperti itu perlu kalibrasi atau tidak.
Juga, saya harus menyebutkan bahwa itu adalah JPC yang datang dengan ide itu.
MEMPERBARUI:
Ok, saya harus setuju dengan OP bahwa ini sebenarnya bukan jawaban untuk pertanyaannya (meskipun itu memecahkan masalah secara teknis). Saya membiarkan diri saya terbawa oleh "penguat adaptif" dalam judul sebagai alasan untuk melakukan beberapa desain analog. Lupakan semua yang tertulis di atas, kecuali jika Anda ingin mempelajari sesuatu (sedikit) tentang opamps. Saya harap, inilah jawaban yang lebih baik dan solusi yang lebih sederhana:
Gunakan pembagi resistif yang diaktifkan dari regulator tegangan (untuk memisahkannya dari kebisingan sirkuit lain), dengan resistor atas diatur ke tentang resistansi maksimum yang dapat dimiliki sensor Anda (Rmax), dan dengan resistor yang lebih rendah menjadi sensor.
Atur tegangan referensi untuk ADC Anda menjadi setengah dari output regulator tegangan.
Kemudian Anda mencicipi tegangan pada sensor dengan ADC Anda. Dengan cara ini, Anda hanya perlu satu saluran ujung tunggal per sensor. Saya membuat rekomendasi ADC di pos lain.
Jika Anda menggunakan 10 bit ADC yang terintegrasi dalam mikrokontroler yang Anda sebutkan, Anda tidak akan mendapatkan banyak rentang dinamis. Meningkatkan jangkauan menggunakan sirkuit analog, seperti yang saya posting sebelumnya, akan menambahkan terlalu banyak bagian tambahan, itulah sebabnya saya akan merekomendasikan hanya menggunakan beberapa 24 bit ADC, seperti ADS1256 yang saya rekomendasikan di posting lain, karena akan memberi Anda kebisingan rendah dan rentang dinamis tinggi, dalam satu chip (ditambah referensi, yang kecil, dan pengatur tegangan, yang bisa juga kecil - Anda juga dapat mencoba untuk meninggalkan regulator dan menyalakan pembagi resistif langsung dari referensi - ini akan merampok Anda dari 1 bit resolusi, tetapi ada banyak dari mereka). Anda harus melakukan sejumlah angka ("Kalibrasi otomatis dengan menemukan nilai min dan maks dalam jendela analisis yang diberikan" - adalah ide yang bagus),
Saya harap ini sedikit lebih bermanfaat.
PEMBARUAN 2:
Ini adalah yang terakhir: Saya telah melalui mikrokontroler MSP430 dari TI dan saya telah menemukan bahwa beberapa dari mereka memiliki 16 bit sigma-delta ADC dengan referensi internal. Yaitu MSP430F2003 dan MSP430F20013 . Itu akan menjadi solusi satu chip Anda jika Anda mau menyerah pada Atmels. Daya yang sangat rendah juga. Dan mereka memiliki mikrokontroler antrian dengan 24 ADC, tetapi ini belum berproduksi. Selain itu ada juga mikrokontroler PSoC dari Cypress, yang memiliki 20 bit sigma-delta ADC ( PSoC 3 dan PSoC 5 series), juga dengan referensi. Ini akan lebih baik.