В предыдущей заметке, посвященной электронике, мы познакомились с довольно простой интегральной схемой, счетчиком 4026 . Чип, о котором речь пойдет в этом посте, существенно интереснее, как минимум, потому что он может выполнять не одну-единственную функцию, а сразу несколько. Более того, с его помощью мы наконец-то научимся не только мигать светодиодами, но и генерировать звуки. Название чипа — таймер 555.
Как работает таймер 555
Я видел разные объяснения того, как работает данная микросхема. Но лучшее, как мне кажется, приводится во всей той же книге Чарьза Платта . Платт предлагает представить, что внутри микросхемы как бы спрятан виртуальный переключатель:
Ножки 1 и 8 просто подключаются к питанию. Про ножку 5 (control) можно пока забыть, потому что она редко используется и обычно подключается к земле. Притом, через конденсатор небольшой емкости, чтобы предотвратить помехи. Зачем она на самом деле нужна, будет объяснено чуть позже.
Упомянутый переключатель изображен на картинке зеленым цветом. В исходном состоянии он подключает выходы 3 и 7 к земле. Когда напряжение на ножке 2 (trigger) падает до 1/3 напряжения питания, это замечает компаратор A (тоже виртуальный, понятное дело) и опускает переключатель вниз. В этом состоянии выход 3 становится подключен к плюсу, а выход 7 разомкнут. Когда напряжение на ножке 6 (threshold) вырастает до 2/3 напряжения питания, это замечает компаратор B и поднимает переключатель вверх. Собственно, ножка 5 (control) нужна для того, чтобы вместо 2/3 выбирать какое-то другое значение. Наконец, понизив напряжение на ножке 4 (reset), можно вернуть микросхему в исходное состояние.
Чтобы понять, почему же таймер 555 называется «таймером», рассмотрим три режима его работы.
Моностабильный режим (monostable mode)
Также иногда называется режимом одновибратора. Ниже изображена схема использования чипа в этом режиме:
Заметьте, что, как это часто бывает, расположение ножек чипа на схеме не совпадает с их физическим расположением. На этой и следующих схемах не указано напряжение источника питания, так как его можно менять в некотором диапазоне. Лично я проверял работоспособность схем при напряжении от 3 до 6 В. На всех схемах есть конденсатор емкостью 100 мкФ, подключенный параллельно нагрузке. Как нам с вами уже известно, он играет роль сглаживающего фильтра . На двух схемах из трех ножка 5 (control) подключена к керамическому конденсатору на 100 нФ. Почему так сделано, уже было рассказано выше. Это что общего у всех схем. Теперь поговорим о различиях.
Fun fact! Согласно спецификации, таймер 555 не рассчитан на работу при напряжении менее 4.5 В. Однако на практике он не так уж плохо работает и при напряжении 3 В.
Итак, что здесь происходит. В исходном состоянии светодиод не горит. При нажатии на кнопку, подключенную к ножке 2 (trigger), светодиод загорается примерно на 2.5 секунды, а затем гаснет. Если в то время, когда светодиод горит, нажать на кнопку, подключенную к ножке 4 (reset), светодиод тут же погаснет, до истечения времени.
Как это работает? Обратите внимание на правую часть схемы. В начальный момент времени вывод 7 подключен к минусу, поэтому ток идет через резистор прямо на него, не доходя до конденсатора внизу схемы. Вывод 3 (out) также подключен к минусу, поэтому ток через светодиод не идет и, соответственно, он не горит. При нажатии на копку, подключенную к выводу 2 (trigger), вывод 7 начинает ни к чему не вести, а вывод 3 подключается к плюсу. В итоге ток идет на светодиод и он зажигается. Кроме того, начинает заряжаться конденсатор внизу схемы. Когда конденсатор достигает 2/3 напряжения питания, таймер видит это через вывод 6 (threshold) и возвращает чип в исходное состояние. В итоге светодиод гаснет, а конденсатор полностью разряжается. Пользователь может преждевременно вернуть чип в исходное состояние, нажав вторую кнопку.
Время, в течение которого светодиод горит, можно регулировать при помощи емкости конденсатора и сопротивления резистора по следующей формуле:
>>> R = 100 * 1000
>>> C = 22 / 1000 / 1000
>>> T = math.log(3) * R * C
>>> T
2.4169470350698417
Здесь R — сопротивление резистора в омах, C — емкость конденсатора в фарадах, а T — время горения светодиода в секундах. Учтите однако, что на практике характеристики всех элементов определяются с некоторой погрешностью. Для резисторов, например, она типично составляет либо 5% (золотая полоска), либо 10% (серебряная полоска).
Автоколебательный режим (astable mode)
Соответствующая схема:
Что здесь происходит? Светодиод просто мигает с частотой около 3-х раз в секунду. Никаких кнопок или иного интерактива не предусмотрено.
Как это работает. Благодаря тому, что изначально вывод 7 (discharge) подает низкое напряжение и подключен к выводу 2 (trigger) через резистор сопротивлением 10 кОм, чип тут же переключается в свое «нижнее» состояние. Светодиод загорается, а конденсатор внизу схемы начинает заряжаться через два резистора справа. Когда напряжение на конденсаторе достигает 2/3 полного напряжения, чип видит это через вывод 6 (threshold) и переключается в «верхнее» состояние. Конденсатор начинает разряжаться через вывод 7 (discharge), но делает это медленнее, чем в предыдущей схеме, так как на сей раз он разряжается через резистор сопротивлением 10 кОм. Когда напряжение на конденсаторе падает до 1/3 полного напряжения, чип видит это через вывод 2 (trigger). В результате он снова переходит в «нижнее» состояние и процесс повторяется.
То, как будет мигать светодиод, можно определить по формулам:
>>> C = 22 / 1000 / 1000
>>> R1 = 1 * 1000
>>> R2 = 10 * 1000
>>> H = math.log(2) * C * (R1 + R2)
>>> H
0.16774161769550675
>>> L = math.log(2) * C * R2
>>> L
0.15249237972318797
>>> F = 1 / (H + L)
>>> F
3.1227165387207
Здесь F — частота миганий в герцах, H — время в секундах, в течение которого светодиод горит, а L — время в секундах, в течение которого светодиод не горит. Интересно, что параллельно с резистором R2 можно подключить диод, тем самым заставив конденсатор заряжаться только через R1, а разряжаться, как и раньше, через R2. Таким образом, можно добиться полной независимости времени H от времени L и наоборот.
Fun fact! Подключив в этой схеме вместо светодиода динамик или пьезо-пищалку, а также выбрав C равным 100 нФ или 47 нФ, можно насладиться звуком с частотой 687 Гц или 1462 Гц соответственно. На самом деле, это далеко не чистый звук определенной частоты, так как чип 555 генерирует прямоугольный сигнал, а для чистого звука нужна синусоида. Почувствовать разницу между прямоугольным и синусоидальным сигналом проще всего в Audacity, сказав Generate → Tone. Заметьте, что можно регулировать R2, а следовательно и частоту звука, заменив соответствующий резистор на потенциометр. Кроме того, резистор, подключенный последовательно с динамиком или пьезо-пищалкой, можно также заменить на потенциометр и регулировать с его помощью громкость. Наконец, к выводу 5 (control) вместо конденсатора также можно подключить потенциометр и с его помощью более тонко подогнать частоту сигнала.
Бистабильный режим (bistable mode)
И, наконец, схема бистабильного режима:
Что происходит. Изначально светодиод не горит. При нажатии на кнопку, подключенную к ножке 2 (trigger) он загорается и горит бесконечно долго. При нажатии на другую кнопку, подключенную к ножке 4 (reset), светодиод гаснет. То есть, получилось что-то вроде кнопок «включить» и «выключить».
Как это работает. Режим похож на моностабильный (первый рассмотренный), только нет никакого конденсатора, который мог бы вернуть чип из «нижнего» состояния обратно в «верхний». Вместо этого вывод 6 (threshold) подключен напрямую к земле, а выводы 5 (control) и 7 (discharge) вообще ни к чему не подключены. В данном случае это нормально, так как подача любого сигнала на эти выводы все равно будет игнорироваться. В общем и целом, это тот же моностабильный режим, только чип не меняет свое состояние автоматически. Изменить состояние может только пользователь, явно подав низкое напряжение на вывод 2 (trigger) или 4 (reset).
Заключение
Согласитесь, это было не так уж и сложно! На следующем фото изображены все описанные выше режимы, собранные на макетной плате:
Слева направо — моностабильный, автоколебательный и бистабильный режимы. Вариант, где автоколебательный режим используется с динамиком и двумя потенциометрами, выглядит куда более впечатляюще, но менее наглядно, поэтому здесь я его не привожу.
Исходники приведенных выше схем, созданных в gschem, вы найдете здесь . Кое-какие дополнительные сведения можно найти в статье 555 timer IC на Википедии, а также далее по ссылкам.
Fun fact! Есть энтузиасты, которые делают на таймере 555 совершенно сумасшедшие вещи. Например, при сильном желании на его основе можно делать операционные усилители или логические вентили, а следовательно, теоретически, и целые процессоры. Подробности можно найти, например, в посте You Know You Can Do That with a 555 на сайте hackaday.com.
Дополнение: Вас также могут заинтересовать посты Интегральные схемы: чипы стандартной логики 74xx , Паяем тестер сетевого кабеля на базе чипов 555 и 4017 и Электронный телеграфный ключ на таймерах 555 .