Menerapkan I2C ke analog

8

Bagaimana saya bisa mengimplementasikan (atau mungkin ada IC yang sudah melakukan itu) sebuah papan yang inputnya akan I2C dan output akan menjadi tegangan analog (0V - 5V)?

Akhirnya saya ingin menghubungkan beberapa dari mereka ke pin IO arduino yang secara efektif menciptakan keluaran digital ke analog.

mjh2007
sumber

Jawaban:

11

Pertimbangkan Microchip TC1321 ini adalah I2C digital to analog converter (DAC) dengan resolusi 10 bit (4.88mV / step), tersedia dalam SOIC8 (Anda akan memerlukan papan adaptor solder yang mudah [misalnya sparkfun's atau futurlec's ) dan beroperasi dari 5 volt. Jika Anda OK dengan hanya 8 bit (19.5mV / langkah) pertimbangkan TC1320 .

Kedua chip tersedia dari Mouser atau Microchip Direct dengan harga sekitar $ 2.

Jika Anda dapat menggunakan SPI daripada I2C, opsi Anda lebih mudah, MCP4821 dan MCP4822 adalah chip DAC tunggal dan ganda yang datang dalam paket PDIP8 yang bagus. Lagi-lagi harganya sekitar $ 2 dari tempat-tempat biasa (mouser, digikey, microchip direct, farnell).

jengkel
sumber
Mengapa tidak meletakkan url aktual di bawahnya, teks utama dalam gaya catatan kaki?
Amos
@Amos, karena pemformat melakukan pekerjaan yang baik untuk mengenali URL dalam banyak format, dan filter 'pengguna baru' mencapai hitungan (tautan)> 1, terlepas dari pemformatannya. Saya kehilangan jawaban yang luas pada hari pertama karena alasan yang sama (saya mempostingnya dan tidak melihat pesan kesalahan).
Craig Trader
Benar, saya tidak menyadarinya.
Amos
Ini adalah konverter digital-ke-analog, bukan analog-ke-digital.
endolith
Dan Anda harus dapat mengedit posting Anda dan menambahkan tautan sekarang setelah Anda memiliki reputasi.
endolith
7

Bergantung pada apa yang Anda kendarai, jika Anda memiliki Arduino, Anda sudah memiliki tiga hingga enam keluaran Analog, karena Anda dapat menggunakan fungsi AnalogWrite untuk mengatur siklus tugas pin PWM. Frekuensi kira-kira 490 Hz, lebih dari cukup untuk LED (sekali lagi, tergantung pada aplikasi Anda). Anda dapat mengatur nilai dari 0 hingga 255, memberi Anda resolusi (5v / 256 =) .020V.

Anda perlu menentukan apakah 490 Hz adalah tingkat yang cukup, tetapi PWM digunakan untuk mensimulasikan tegangan analog untuk banyak aplikasi, dan mungkin cocok dengan Anda tanpa bagian tambahan atau pemrograman.

Anda juga dapat mempertimbangkan untuk menggunakan filter (jaringan kapasitor-resistor) untuk memuluskan gelombang persegi. Ini akan memberi Anda lebih banyak kelonggaran dalam aplikasi yang dapat Anda kontrol, dan pasif murah, tetapi tergantung pada aplikasi Anda, itu bahkan mungkin tidak diperlukan.

http://www.arduino.cc/en/Reference/AnalogWrite

Lou
sumber
3

Asal tahu saja, AVR (chip yang digunakan dalam Arduino) sudah dapat menghasilkan tegangan 'analog' melalui penggunaan PWM + kapasitor untuk menghaluskan bentuk gelombang (kapasitor bahkan tidak diperlukan dalam beberapa kasus). Ini tidak cukup sebagai resolusi tinggi sebagai chip DAC khusus, tetapi cukup baik untuk banyak kebutuhan.

davr
sumber
1

Ini adalah entri Wikipedia tentang Potensiometer digital. Panci digital ini dapat bertindak sebagai output analog pada Arduino. Ini akan bertindak sebagai potensiometer biasa menyapu semua tegangan dari 0 - 5V melalui perintah serial (semacam). Jika Anda tidak harus memiliki I2C maka Anda dapat menggunakan pot digital ini dari Parralax atau chip ini dari Jameco. Satu-satunya chip I2C yang saya lihat semuanya permukaan mount bukan melalui lubang, ini membuat mereka lebih sulit untuk bekerja dengan dan. Berikut ini tautan ke semua potensiometer digital I2C Jameco. Saya harap ini bermanfaat dan keberuntungan yang terbaik!

Hristos
sumber
2
Panci digital umumnya digunakan untuk mengatur penguatan atau pelemahan sirkuit eksternal dalam beberapa langkah terpisah (256). Untuk mengeluarkan tegangan DC, Anda harus menghubungkannya ke sumber tegangan, tetapi sebenarnya ini bukan aplikasi yang dimaksudkan. DAC, di sisi lain, mengeluarkan tegangan secara langsung, dan umumnya akan memiliki lebih banyak langkah dan lebih akurat. DAC adalah apa yang dicari poster ini.
endolith