Baca Tegangan Positif dan Negatif di Arduino [ditutup]

11

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!

pemburu solusi
sumber
1
Ketika Anda mengatakan sinyal output mobil RC berkisar dari +6 hingga -6 Volt, bacaan apa ini? Untuk apa Anda menggunakan ground probe multimeter?
Anindo Ghosh
@AnindoGhosh Saya baru saja mengambil kedua ujung multimeter dan menyentuh probe ke setiap kawat motor.
solutionhacker
2
Memilih untuk menutup sebagai premis dari pertanyaan ini pada dasarnya salah. Apa yang harus dibaca bukan analog; paling-paling itu mungkin digital-lebar-pulsa, tapi benar-benar ada gunanya menggunakan Arduino untuk membaca sistem RC warisan lama ketika Anda dapat dengan mudah membuat yang digital modern menggunakan modul tipe nRF24L01 $ 1.
Chris Stratton
Selamat datang di EE.SE! Ini tampaknya merupakan pertanyaan rekayasa terbalik, modifikasi, atau perbaikan. Perlu diketahui bahwa pertanyaan seperti itu harus melibatkan langkah pemecahan masalah khusus dan menunjukkan pemahaman yang baik tentang desain perangkat yang sedang dibahas, sehingga Anda dapat mengajukan pertanyaan spesifik dan terfokus yang dapat dijawab secara ringkas. Kalau tidak, pertanyaannya terlalu luas. Informasi lebih lanjut dapat ditemukan di sini: Apakah menanyakan cara memperbaiki sirkuit yang salah pada topik? .
Dave Tweed

Jawaban:

18

Tiga resistor standar melakukan pekerjaan, asalkan motor melihat -6V dirujuk ke ground dan tidak dirujuk ke terminal motor lainnya.

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Ketika memvariasikan Vm dari -6 ke 6V, output akan bervariasi dari 0 hingga 4.9V.

jippie
sumber
@AnindoGhosh oh dan saya tidak akan terkejut jika tegangan motor diukur di motor daripada direferensikan ke ground, sehingga meninggalkan Anda ruang untuk jawaban yang bagus juga. Juga saya tidak memperhitungkan PWM ...
jippie
Bagaimana saya bisa menghitung nilai-nilai resistor, mengingat tegangan input yang dikenal? Sebagai contoh, saya memiliki situasi yang serupa, tetapi sinyal input saya adalah -2 hingga +2 volt. Ini adalah topologi yang menarik, tetapi saya ingin memahami teori di baliknya sehingga saya dapat memodifikasinya, bukan hanya menyalin.
Robm
@robm Saya menetapkan rasio untuk resistor terlebih dahulu, lalu menggunakan beberapa perhitungan dalam tabel spreadsheet besar untuk memilih resistor yang paling cocok. Itu adalah penggunaan formula dalam spreadsheet mengapa saya tidak menguraikan metode yang tepat yang mungkin harus saya miliki. Saya kira itu layak pertanyaan sendiri: Metode standar untuk memilih nilai-nilai resistor untuk kasus penggunaan khusus ini.
jippie
Saya kira Anda menganalisis rangkaian dan nilai-nilai yang dipilih seperti ini? electronics.stackexchange.com/a/252473/36877 Masih saya tidak begitu mengerti bagaimana seseorang menganalisis rangkaian ketika input 6V untuk mendapatkan 4.887V sebagai output.
genericpurpleturtle
4

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:

skema

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.

jippie
sumber
-1

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.

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Cornelius
sumber
2
Anda juga harus mengisolasi tanah Arduino dari sirkuit RC. Ini berarti mereka membutuhkan catu daya terpisah.
DoxyLover