Bagaimana saya bisa mengubah output dari saklar sesaat ke pulsa saat ditekan dan pulsa saat dilepaskan?


8

Judulnya cukup banyak mengatakan itu semua.

Saya punya ide untuk mencoba melibatkan rangkaian pembeda op-amp dan jembatan dioda, tapi saya buta.

Saya juga mencoba menyelesaikan ini tanpa micro-controller.


Antara chiphacker dan tunas @tcmaker saya, saya punya banyak solusi potensial. Saya telah simultan pasangan dalam SPICE dan pasti ada beberapa potensi, saya hanya perlu melihat apakah mereka akan cocok dengan tikungan saya. Terima kasih atas jawaban semuanya! Saya akan mencoba memposting pembaruan apa pun tentang kemajuan saya.
noise

Inilah salah satu solusi yang ditulis oleh seorang teman saya, penjelasan yang sangat rinci dan termasuk skema LTSpice. uptownmaker.blogspot.com/2009/11/pulses-on-pushbutton.html
noise

Jawaban:


8

Gerbang XOR:

teks alternatif

Saya telah menggunakan NC7SZ58 untuk ini, yang murah ($ 0,04) dan kecil dan memiliki input memicu Schmitt sehingga pulsa kira-kira sama panjang (yang dapat diatur oleh nilai-nilai RC).


Mungkin RC low-pass pada kedua input, tetapi konstanta waktu yang berbeda, untuk debouncing?
DarenW

8

Jika Anda menginginkan solusi analog yang bagus, ada sirkuit ini yang digunakan oleh simmers penerbangan:

"Maaf, pengguna baru tidak diizinkan menggunakan tag gambar"
(sumber: simprojects.nl )

Skema menunjukkan pengaturan untuk sakelar sakelar, tetapi bisa dengan mudah diganti untuk sesaat.

Setiap kali sakelar berganti posisi, kapasitor harus mengisi dan melepaskan. Selama waktu ini, tegangan dikembangkan melintasi kontak relai, menutup sakelar. Setelah kapasitor diisi, relai mati lagi.

Info lebih lanjut di sini: http://www.simprojects.nl/toggle_to_momentary.htm


2
Yang ini pintar untuk menggunakan jumlah minimum komponen, hanya satu kapasitor dan relay. Downside adalah relay yang cukup besar, tetapi penanya asli mungkin dapat menemukan yang lebih kecil atau solid state yang bekerja dengan cara yang sama (mungkin memerlukan penambahan resistor tambahan untuk memperlambat pengisian kapasitor / waktu pengosongan)
davr

6

Tergantung pada seberapa banyak Anda ingin berinvestasi dalam pembelajaran, solusi debouncing, xor, flip-flop akan menjadi yang paling "dasar". 555 adalah sirkuit yang tepat untuk dipelajari. Berikut adalah halaman yang membahas tentang sejumlah besar aplikasi untuk itu: http://www.kpsec.freeuk.com/555timer.htm

Jika Anda mencari "Edge-triggering" di bawah bagian monostable Anda akan menemukan apa yang tampaknya menjadi solusi yang Anda cari.


2
Jangan bilang "semuanya harus dilakukan di kerumunan UC", tapi saya suka 555 dan saya kebetulan memiliki tumpukan mereka, terima kasih!
noise

6

Anda dapat menggunakan gerbang xor sederhana, dan salah satu input terhubung ke switch secara langsung, sedangkan input lainnya melalui sirkuit RC yang menyediakan penundaan. Ini berfungsi baik sebagai "detektor tepi", tetapi tidak melakukan pelambatan - Anda tidak meminta ini :-). Ini mungkin cara termurah jika Anda sudah memiliki gerbang xor yang tidak digunakan dalam desain Anda.


5

Mengizinkan 555 tetapi menolak mikrokontroler itu konyol, Anda bisa mendapatkan mikrokontroler dalam paket yang sama atau lebih kecil dari 555, dan sebagai bonus Anda dapat melakukan debouncing dalam perangkat lunak, menghemat beberapa komponen tambahan yang diperlukan untuk mendebo sinyal untuk 555. Hal yang sama berlaku untuk D flip-flop dan gerbang XOR ... itu adalah 2 IC yang Anda butuhkan, selain komponen debouncing.

Apa alasan Anda ingin menghindari mikrokontroler? Yang paling sederhana adalah $ 1, mungkin jauh lebih sedikit dalam jumlah tinggi. Jika ruang, ada TSSOP AVR 8-pin yang seperti 3x5 mm, cukup kecil.


Saya berasumsi Pak Noise meminta kami untuk membantu pekerjaan rumahnya dan ia tidak diizinkan menggunakan solusi yang jelas.
SiliconFarmer

2
Alasan terbesar adalah karena saya mencoba mempelajari sesuatu tentang elektronik. Saya sudah melakukannya dalam kode yang bisa saya gunakan kembali jika perlu ... dan bukan itu bukan pekerjaan rumah, hanya tikungan sirkuit sederhana untuk hiburan dan pendidikan saya sendiri. Terima kasih atas jawabannya, itu memberi saya arahan untuk bekerja.
noise

Itu masuk akal, jika Anda menentukan bahwa dalam pertanyaan Anda di masa depan, orang akan lebih mengerti.
David

2
Ini juga tidak masuk akal untuk menghindari mikrokontroler karena pembuatan kode / pemeliharaan / biaya pengujian. Itu adalah sesuatu yang terlintas di kepalaku sebagai insinyur yunior, tetapi yang telah saya pahami dengan baik karena saya telah memperoleh pengalaman. Mentalitas "oh, kita bisa melakukannya dalam perangkat lunak" kadang-kadang bisa membuat Anda mendapat masalah ketika Anda harus membuktikan bahwa sesuatu akan berhasil.
Jason S

1
Saya agak bingung bagaimana menggunakan komputer mini dan perangkat lunak untuk mengimplementasikan fungsi logika sederhana adalah "solusi yang jelas".
endolith

3

Mungkin ada cara untuk melakukannya dengan timer 555 diatur sebagai satu-shot.

Satu flip flop D dan satu gerbang XOR juga akan melakukannya. Logika yang tepat dibiarkan sebagai latihan untuk pembaca.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.