Pembagi tegangan nol atau arus rendah untuk identifikasi sakelar

8

Apakah mungkin untuk merancang rangkaian pembagi tegangan dengan sakelar yang menggunakan arus nol, atau arus sangat rendah? Apakah akan berhasil menggunakan transistor untuk menghubungkan / memutuskan ujung string resistor dari ground?

Latar Belakang

Sirkuit akan melakukan dua hal. Setiap saklar dalam rangkaian akan membangun IC (ATMEGA328P) dengan menggunakan transistor untuk mengirim pin interupsi RENDAH. Setelah IC bangun, ADC akan mengambil sampel tegangan yang berasal dari sirkuit, memungkinkan IC untuk mengetahui tombol mana yang ditekan.

Seluruh proyek akan dioperasikan dengan baterai, dan memiliki pembagi tegangan ini dapat secara signifikan mempengaruhi masa pakai baterai.

Proyek akan 1) membaca file dari kartu SD, 2) tidur, 3) membangunkan dan memutar suara ketika salah satu dari 16 tombol ditekan, dan 4) pergi tidur dan ulangi proses mulai dari # 3 pada tombol tekan. Saya mengantisipasi bahwa ketika sedang berjalan itu memiliki hasil imbang yang signifikan saat ini.

Sirkuit Divider Tegangan Yang Ada

masukkan deskripsi gambar di sini

Kemungkinan Solusi Transistor

Menempatkan transistor di antara ujung string resistor dan ground, dan dengan menekan tombol mengaktifkan transistor, menghubungkan ujung string tegangan ke ground. Ini akan menghasilkan pembacaan tegangan awal 5V, dan begitu transistor menyala, tegangan bacaan yang sebenarnya akan menjadi tegangan yang dimaksud. Saya tidak tahu apakah ini akan berhasil.

mungkin rangkaian pembagi tegangan dengan transistor

Solusi Lain

Per pertanyaan 28.897 saya bisa menggunakan nilai resistor tinggi seperti 10 MOhm. Tetapi ini masih akan memiliki undian ratusan nA saat ini. Saya lebih suka nol.

LucasMcGraw
sumber
3
Jika Anda menggunakan baterai 1000mAh dengan 5V di 10 MOhm, baterai akan bertahan 228 tahun, atau 6 tahun dengan sel lithium tombol kecil 30 mAh. Setiap sampel yang Anda ambil dengan ADC juga akan membebani atau melepaskan topi. Selain itu, impedansi input ADC pada pengontrol cenderung berada dalam kisaran 10K, dan Anda akan mengisi baterainya melalui setiap sampel. Karena itu, apakah Anda yakin bahwa solusi nA Anda akan benar-benar berdampak nyata pada usia baterai?
Scott Seidman
Anda benar, mengingat bahwa jumlah arus diam dari regulator tegangan dan MCU itu sendiri (ketika tidur) kemungkinan setidaknya 10 uA. Saya hanya mencoba untuk mengurangi saluran yang tidak perlu saat ini.
LucasMcGraw
@ n.taco Beberapa data tambahan akan membantu. Berapa voltase baterai maks Anda? Berapa tegangan Vcc Anda? Bagaimana daya UC (melalui regulator linier, atau beralih mode, atau langsung dari baterai)?
Nick Alexeev
Sumber baterai kemungkinan adalah 4 sel D. Regulator tegangan adalah Maxim MAX667 (regulator tegangan linier) yang akan memasok daya ke semua perangkat (tidak ada perangkat yang akan melihat tegangan baterai, kecuali regulator). Vcc adalah 5V.
LucasMcGraw
@ n.taco BTW, tulis perancang komponen dalam skema Anda. Jauh lebih mudah untuk mengatakan "Q23" daripada "BJT ke-3 dari kanan". Baca ini . Risiko hipertensi Anda meningkat pesat, jika Anda tidak mengikuti panduan ini di EE.SE. Peringatan yang adil.
Nick Alexeev

Jawaban:

5

Jawaban baru

Pendekatan Anda bisa berhasil. Tapi, skematis ke-2 Anda memiliki bug, saya pikir. ADC akan selalu melihat V menjadi transistor, yang selalu 0,7V atau lebih.

Variasi ini seharusnya tidak memiliki masalah ini, karena ada resistor R39 antara basis dan ADC.

masukkan deskripsi gambar di sini

Jawaban lama, yang bukan jawaban

Pembagi dapat diaktifkan dengan transistor untuk menghemat baterai. Namun, itu harus menjadi saklar sisi yang tinggi. Jika Anda beralih di arde, maka tegangan baterai akan muncul pada pin A / D, yang dapat merusak input.

(Awalnya, skematis telah diposting di utas ini .)

Nick Alexeev
sumber
Bagaimana ide ini bekerja dengan kendala yang menghidupkan saklar transistor?
LucasMcGraw
1
Ganti sinyal digital divider On/Off, yang mengontrol transistor, dengan sakelar manual. Bagaimana tentang itu?
Nick Alexeev
1. Saya mengalami kesulitan melihat bagaimana saya akan memperpanjang ini untuk mengidentifikasi saklar mana yang ditekan. Untuk N switch, bukankah saya harus memiliki N transistor ditambah resistor untuk membagi tegangan? 2. Jika Vcc <= tegangan maks ADC, apakah saya dapat beralih ke ground? Dalam hal tegangan pada ADC akan mulai pada 5V tetapi menurun ke tegangan yang dibagi, benar?
LucasMcGraw
@NickAlexeev Saya melihat bug, terima kasih telah menunjukkan itu; Saya juga tidak menyadari bahwa ini dapat dilakukan dengan satu transistor. Ini terlihat hebat, saya akan mencobanya akhir pekan ini.
LucasMcGraw
3

Anda bahkan tidak memerlukan transistor untuk melepaskan string resistor, Anda cukup menghubungkannya ke pin output MCU. Atur ke nilai yang sama dengan ujung string yang lain, dan itu akan menggunakan arus mendekati nol. Saya telah menggunakan pendekatan ini dan itu berfungsi dengan baik.

(Dalam diagram Anda, berikan transistor tanahnya sendiri dan hubungkan pin MCU ke bagian bawah string resistor).

pjc50
sumber
Apakah Anda mengacu pada diagram kedua atau yang pertama?
LucasMcGraw
Juga, jika kedua pin TINGGI, apakah akan ada penurunan tegangan di pembagi?
LucasMcGraw
Diagram pertama (telah mengedit posting Anda untuk memasukkan mereka secara langsung). Jika kedua ujungnya tinggi, maka tegangan di semua titik di sepanjang pembagi akan tinggi dan tidak ada arus yang mengalir.
pjc50
2

Apakah mungkin untuk merancang rangkaian pembagi tegangan dengan sakelar yang menggunakan arus nol ...

Ini harus melakukan trik dan tidak perlu pengalihan ground. Pembagi terhubung ke baterai hanya ketika saklar ditutup dan input ADC ditarik ke tanah ketika semua saklar terbuka.

Untuk 5V Vcc, input ADC adalah:

  • 5.0V = SW1 ditutup
  • 3.3V = SW2 ditutup
  • 1.7V = SW3 ditutup
  • 0V = semua sakelar terbuka

Tentu saja, Anda dapat menyesuaikan nilai resistor sesuai keinginan Anda.

masukkan deskripsi gambar di sini

Alfred Centauri
sumber
Pendekatan itu bisa baik jika seseorang menggunakan sakelar kualitas. Ini bisa menjadi sangat buruk jika seseorang menggunakan kubah karbon pada papan PC, karena ketahanan tombol yang ditekan sedikit mungkin kurang dari 1K, atau lebih dari 100K, atau di mana saja di antara, dan resistensi tersebut tampaknya tetap cukup masuk akal. stabil untuk sepersekian detik yang signifikan. Meskipun secara umum tidak masalah bagi sistem untuk mengabaikan penekanan tombol lampu, pada umumnya menjengkelkan memiliki dorongan cahaya pada satu tombol diartikan sebagai tombol yang sama sekali berbeda.
supercat
Saya setuju; menggunakan resistor peka tekanan alih-alih perkiraan geniune yang masuk akal, buka saat mati, pendek saat dinyalakan , sakelar akan, dalam rangkaian ini, menghasilkan hasil yang tidak terduga.
Alfred Centauri
Dalam banyak aplikasi, kontak karbon-kubah, meskipun berperilaku sebagai resistor yang peka terhadap tekanan, dapat digunakan sebagai sakelar (meskipun menambahkan beberapa perangkat keras atau histeresis semi-perangkat keras, tentu dapat membantu). Saya hanya ingin memastikan pembaca tahu bahwa ini bukan salah satu aplikasi itu.
supercat
Memang dan, sayangnya, itu perbedaan yang memiliki harus dibuat. Hanya karena sesuatu yang disebut "switch" tidak selalu berarti itu adalah pendekatan yang baik dari switch yang ideal.
Alfred Centauri
1

Diberikan dua pin I / O dengan ambang switching yang cukup konsisten, seseorang dapat memasang topi yang dibumikan ke masing-masing pin prosesor melalui resistor kecil, mengikat satu tutup ke setiap ujung string resistor, dan meminta masing-masing saklar menghubungkan keran pada tali ke VDD atau tanah (mana yang lebih nyaman; Saya akan menganggap VDD untuk diskusi ini). Memiliki resistensi yang signifikan antara kedua ujung dan sakelar pertama. Suatu saat ketika tidak ada sakelar yang ditekan, arde kedua pin cukup panjang untuk melepaskan penutup; kemudian mengapung satu dan mengatur yang lain ke VDD. Waktu berapa lama untuk mengambang pin untuk mengubah keadaan. Jika ambang batas input mungkin berbeda, ulangi tes untuk input lainnya. Lalu kencangkan kedua pin, lalu apungkan - ini adalah status siaga.

Setelah pin diamati untuk mengubah keadaan, arde kedua pin cukup lama untuk melepaskan tutupnya, dan apungkan. Waktu berapa lama untuk setiap pin untuk mengubah status. Rasio waktu ini dengan baseline yang diukur di atas akan memberi tahu Anda perlawanan dari setiap pin ke VDD. Pastikan bahwa jumlah kedua pengukuran cukup dekat dengan resistansi total string (jika tidak tombol tidak melakukan kontak yang baik, sehingga pembacaan mungkin salah).

Jika prosesor dapat menarik arus berlebih saat input melayang keluar dari rel, mungkin ide yang baik untuk melepaskan tutup secara berkala bahkan ketika tidak ada tombol yang ditekan. Jika ini dilakukan, arus diam untuk sistem harus sangat minim.

supercat
sumber
Ide yang menarik. Bukankah kapasitor akan menggambar arus terus menerus?
LucasMcGraw
1
@ n.taco: Meningkatkan tegangan pada tutup dengan jumlah tertentu memerlukan penambahan jumlah muatan (dalam coulomb) sama dengan perubahan voltase (dalam volt) dikalikan kapasitansi (dalam farad). Mengurangi tegangan membutuhkan pelepasan muatan. Satu ampere mewakili satu coulomb per detik. Mengisi kapasitor dan membuang muatannya ke ground pada tingkat periodik akan membutuhkan jumlah arus yang sama dengan muatan per siklus dikalikan frekuensi. Jika kapasitor menghabiskan sebagian besar waktunya duduk pada tegangan konstan, bagaimanapun, ia akan menggunakan dasarnya nol saat ini.
supercat