Ceritanya panjang, tapi saya membongkar mobil RC dan ingin menggunakan Arduino analogRead()
untuk mendapatkan nilai motor dan kemudi saya. Saya telah mengukur dengan multimeter saya bahwa tegangan pada mobil yang dikendalikan dari jarak jauh saya berkisar dari -6v hingga 6v.
Namun, Arduino hanya mendukung pembacaan dari 0v hingga 5v maksimum. Apakah ada cara untuk mengubah -6v dan + 6v ke 0v dan 5v? Saya telah mendengar bahwa itu dapat dilakukan menggunakan Op Amp. Beberapa orang juga mengatakan kepada saya untuk menggunakan pembagi tegangan. Dengan kata lain, jika saya tidak mengendalikan mobil RC, Arduino akan melihat 2,5 volt.
Bagaimanapun, saya tidak begitu jelas tentang bagaimana saya akan melakukan ini. Dapatkah seseorang tolong beri saya Op Amp yang sesuai dengan rangkaian untuk skenario khusus ini?
ATAU, jika mungkin, dapatkah seseorang menunjukkan kepada saya cara membaca tegangan negatif dan positif menggunakan dua pin Arduino? Misalnya, jika ada -6v yang diberikan, maka Pin Analog 0 akan mengembalikan 1023. Jika ada 0v yang diberikan, maka kedua Pin Analog 0 dan 1 akan mengatakan 0. Dan jika ada +6v yang diberikan, maka Pin Analog 1 akan mengembalikan 1023 Bagaimana saya bisa membuat sirkuit yang akan bekerja seperti ini?
Saya menghargai jika Anda memiliki diagram rangkaian untuk ini. Terima kasih!
sumber
Jawaban:
Tiga resistor standar melakukan pekerjaan, asalkan motor melihat -6V dirujuk ke ground dan tidak dirujuk ke terminal motor lainnya.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Ketika memvariasikan Vm dari -6 ke 6V, output akan bervariasi dari 0 hingga 4.9V.
sumber
Ketika motor digerakkan dari jembatan-H penuh dan Anda ingin Arduino Anda pada referensi tanah yang sama dengan bagian mobil yang lain, maka Anda dapat menggunakan yang berikut ini:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Kedua output berkisar 0 .. 2V4, dan Anda harus mengatur tegangan referensi internal Arduino menjadi 2V56. Dengan melampirkan kedua output ke input analognya sendiri, Anda dapat menghitung tegangan motor dengan menguranginya. Kapasitor ada di sana untuk sinyal PWM rata-rata sehingga dapat diukur oleh ADC.
sumber
Ini solusi tanpa op-amp. Anda akan membutuhkan pin input tambahan di Arduino untuk yang ini.
Jika pin input berbunyi 0 maka tegangan dari ADC positif. Selain itu tegangannya negatif.
Karena penurunan tegangan di penyearah jembatan Anda memecahkan masalah menurunkan 6V ke 5V. Anda sekarang akan memiliki 6 - 2 * 0,7 = 4,6 V maksimum. D5 adalah opsional, dan hanya ada untuk alasan keamanan.
Kerugiannya adalah bahwa tegangan harus lebih besar dari + 1.4V atau lebih kecil dari -1.4V untuk diukur.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
sumber