Зробіть миттєвий вимикач управління перемикачем


17

Які найпростіші, найдешевші, найменші способи зробити миттєвий перемикач виробляють 2-станневий вимикаючий висновок (замикаючи миттєвий вимикач)?

Іншими словами, вихід постійно триває низьким, і коли миттєво натискаєте кнопку / тактовий вимикач, вихід змінюється на постійно високий, а потім, коли ви знову натискаєте на нього, він переходить на низький.


Я думаю, що найкраща відповідь на це залежить від запитувача і чи вам більше зручно апаратне чи програмне рішення.
Дж. Полфер

Це також залежить від того, де знаходиться цей вихідний перемикач і які напруги (штати!) У вас є.
XTL

Всього два стани, високий і низький, як і будь-яка цифрова логіка. Якщо ви хочете зробити кілька станів, через які ви переходите, я думаю, що це потребує мікроконтролера. Ви, мабуть, матимете його у вашому ланцюзі все одно для цього.
ендоліт

Мені подобається рішення з 2 інверторами. Цікаво, що потрібно для того, щоб переключити 30V @ 1A?
stevenrcfox

@Olowlow: Замініть вихідний транзистор силовим транзистором або реле
ендоліт

Відповіді:


9

Ось ще одна альтернатива з двома інверторами та роз'єднанням:

Two inverters

Для логічного виведення потрібні лише два інвертора, RC та резистор зворотного зв'язку:

enter image description here

NC7WZ14 - це $ 0,06 з 2 інверторами, невеликим 6-контактним пакетом та тригерними входами Шмітта, хоча я думаю, що ця схема навіть не потребує входів Шмітта через RC. Крім того, він може працювати 24 мА, тому ви можете підключити світлодіод безпосередньо до нього, якщо використовуєте світлодіод з будь-якої причини.

Також показано тут і тут у вигляді перемикача сенсорного перемикача .

Я думаю, що резистор зворотного зв’язку повинен бути набагато меншим, ніж центральний резистор, щоб запобігти його коливанню, якщо ви утримуєте кнопку, тому що низькоопірне підключення до виходу заважатиме конденсатору заряджатися до середньої напруги, поки ви не відпустите.

Варіанти описані в " Увімкн. Натискання" .

AND gate variant


Коли це ввімкнеться вперше, він запуститься з вимкненим, вимкненим або випадковим результатом? Тільки оглядаючи ланцюг, я здогадуюсь, що вона вимкнеться з виходом на.
Крейг МакКвін

@CraigMcQueen При першому включенні в конденсатор буде 0 В поперек нього. Таким чином, перша схема запуститься у положення ВКЛ. Підключіть конденсатор до джерела живлення замість заземлення, і він запуститься у вимкненому положенні.
ендоліт

@CraigMcQueen Насправді це гарантовано? Я не впевнений. Низький вихідний опір інвертора буде домінувати над резистором 220k, тому він може запускатися у випадковому стані.
ендоліт

@CraigMcQueen Останній показаний контур розпочнеться з 0,01 мкФ конденсатора 0 В, тож Vout буде 0.
ендоліт

@endolith Де на останньому зображенні підключений VCC? Я бачу землю і Vout.
Майк

7

Один з можливих методів:

Використовуйте RC, щоб відключити комутатор

RC network connected to momentary switch to debounce

а потім подати його в D триггер з вихідним подачею назад на вхід, щоб реалізувати T триггер.

D flip-flop configured as toggle flip-flop

D-фліп-флоп повинен бути позитивним лише на край і повинен бути перевернутий вихід.

  • 8-контактний NC7SZ74 повинен працювати, дуже маленький і коштує 0,12 долара в кількості.
  • 74HC74 - це подвійний фліп-флоп з 14 штифтами за $ 0,05.

Чи є з цим проблеми? Перемикач потрібно утримувати на короткий проміжок часу, щоб час підйому спрацьовував тактовий час, що, мабуть, добре. Якщо ви утримуєте кнопку, вона спрацює лише один раз, що добре. Чи є кращий спосіб деблокувати цикл зворотного зв’язку чи щось замість цього?


5
Дійсно потрібен буфер тригера schmitt на вході з кнопки (або якщо триггер має входи тригерних schmitt, які також будуть працювати). В іншому випадку FF може коливатися колись, коли вхід годинника повільно піднімається при відпуску кнопки. (Це можна дещо пом’якшити при ретельному підборі кришки та резистора, що знімається, але ніколи не усувається)
Коннор Вольф

Не могли б ви також не використовувати RC-фільтр у шляху зворотного зв’язку, щоб запобігти підстрибненню?
ендоліт

6

Або ви могли зробити це за допомогою одного крихітного 6-контактного мікроконтролера та без інших компонентів. Це може коштувати трохи більше, але це простіше і займає менше місця. Відмовити комутатор у програмному забезпеченні досить просто, то це лише спосіб зберігання булевого, якщо вихід має бути високим або низьким. Найменша версія цього MCU поставляється в 2-х х 2-мм пакетному кріпленні. У великих кількостях це може становити 0,50 долара.

перемикання схематично


+1 - Але я вважаю, що частина лише в SMT.
Дж. Полфер

1
Так, але навіть найдешевший мікроконтролер обійдеться дорожче простої цифрової логіки. Це досить складна система, щоб виконати просте завдання, і ви відкриваєтеся перед світом програмних помилок. Також це збільшує виробничі витрати на програмування кожного мікрофона?
ендоліт

Отже, ви використовуєте внутрішній підтягуючий резистор на PB0, встановлений як цифровий вхід, а потім заземлите його, щоб запустити його, правда? Вам не знадобиться резистор послідовно з таким вимикачем.
ендоліт

1
@TokenMacGuy Жоден струм не повинен протікати від PB0 до GND, оскільки PB0 був би входом, а не виходом. @endolith правильно, використовуючи внутрішню підтягування означає, що немає необхідності у зовнішньому підтягуванні. (Крім того, підтягування не є послідовно з вимикачем, з внутрішнім або зовнішнім підтягуванням). @sheepsimulator, що надходить у SMT, є лише проблемою для любителя. У цьому випадку зайвий долар чи два не будуть проблемою, і ви можете легко піднятися до 8-контактного DIP ATtiny25.
дав

@endolith Це залежить від програми, яку я думаю. Завжди є компроміси. Все, крім самого елементарного пристрою, має певну логіку. Скажімо, ви відкриваєте себе у світі програмних помилок - це не велика справа ... без mcu ви відкриваєтесь до апаратних помилок, оскільки ви будуєте якусь цифрову / аналогову схему для виконання логіки.
дав

1

Ця схема (також описана тут ) є дуже дешевою, але є більш складною і займає трохи місця з усіма компонентами. Якщо транзистори у великій кількості дорівнюють 0,02 долара, то це може бути всього 0,10 долара?

3-транзисторний фіксатор


$ 0,02 ... можливо, якщо ви купуєте їх 27 000, як ось тут: search.digikey.com/scripts/DkSearch/…
квітня

1
$ 0,03 - це жахливо багато, як $ 0,02 в невеликих кількостях ...
SingleNegationElimination

3904 за 1,4 копійки: newark.com/on-semiconductor/mmbt3904lt1g/… У великих кількостях конденсатори - це як 1 цент, а резистори - як 1/10 відсотка.
ендоліт

Схоже, транзистору Q2 потрібен резистор на базі, щоб обмежити струм, що протікає через базу.
Крейг МакКуїн


0

Я знаю, що це свого роду "непрямий" спосіб це зробити, але ви можете отримати датчик ефекту Холла, як у sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9312

і просто використовую магніт, я виявив (важкий шлях), що саме цей ефект Холла фіксується, тому він не працюватиме для того, що мені потрібно, але схоже, що теоретично він може працювати для того, що ти шукаєш .

Я просто підключив його до дошки, я думаю, що, можливо, я використав резистор (минув, мабуть, місяць, тому я трохи нечіткий щодо деталей), і коли я рухаю магніт впритул (на мить), він закриває датчик і там ти йдеш.


1
Як би ти його "зняв", хоча? Якщо вдруге наблизити магніт до датчика, це не відключить його, чи не так?
davr

Я вважаю, що вам доведеться змінити полярність магніту, щоб "очистити його". Я буду вдома підключити його знову, щоб перевірити його, щоб бути впевненим, однак я розглядаю, скільки часу потрібно для "скидання" якщо ви відключите живлення. Можливо, я міг би використати його для свого проекту, який я збирався, вбиваючи владу за вказаний час (за умови, що це не дуже довго)
onaclov2000

0

Найпростіша альтернатива - використовувати змінний кнопковий перемикач.

Якщо ігнорувати той факт, що він фіксується в різних положеннях, це майже точно як миттєвий перемикач. Я розумію, що це не суть питання, але це просте і компактне рішення, яке не вимагає програмного забезпечення та зовнішнього обладнання.


0

Не точно знаю, яка кінцева мета, але я думав, що я поставив би це:

Це чудова маленька схема, яку я люблю використовувати для керування бістабільними реле. Це також досить дешево будувати.

Натискання миттєвого перемикача змінює стан реле та світлодіод. Це не дуже прискіпливо до того, як довго ви тримаєте кнопку. Оскільки реле замикається, більшу частину часу воно не підводить багато струму.

У цій конфігурації світлодіод увімкнеться, коли реле знаходиться у встановленому стані, і вимкнеться, коли реле буде скинуто. Ви також можете підключити R7 до + терміналу C3, щоб увімкнути світлодіод, коли замість цього скинути реле.

Мені подобається використовувати це в гітарних ефектах, щоб я міг обминути або ввімкнути пристрій за допомогою миттєвого підошви. Звичайно, перемикач 3PDT зробив би те ж саме самостійно, але перемикання тут тихіше (без великого попсу), а миттєві нічні сенсорні перемикачі відчувають себе набагато приємніше, ніж великі 3PDT.

Сподіваюсь, це допомагає.

Засувний релейний драйвер


0

Не могли б ви це зробити просто в програмному забезпеченні?

Чи буде кнопкою вхід на програмованому пристрої, або вам потрібно зробити перемикання в апаратній царині?

Зберігаючи стан кнопки в пам'яті, досить просто використовувати моментний перемикач як перемикач.

boolean buttonState = false; // store for toggle state, false = off true = on

if(yourButton == HIGH && buttonState == false) // if button is pressed and toggled off
{
     Serial.println("Button Toggled On"); // do something while button is on

     buttonState = true // set button state to on
}

if(yourButton == HIGH && buttonState == true) // if button is pressed and toggled on
{
     Serial.println("Button Toggled Off");  // do something else while button is off

     buttonState = false // set button state to off
}

Вибачте, якщо це не відмічено, очевидно, що ця відповідь залежить від вас, використовуючи MCU або програмований чіп.


Особисто мені потрібне автономне рішення, але питання має бути загальним.
ендоліт

1
Так, це, безумовно, розумне рішення, коли у вас є мікропроцесор. Зверніть увагу, вам слід також застосувати "дебютацію", оскільки перемикачі та кнопки шуміть при перемиканні.
Крейг МакКуїн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.