Интегральные схемы: работа с таймером 555

28 декабря 2016

В предыдущей заметке, посвященной электронике, мы познакомились с довольно простой интегральной схемой, счетчиком 4026. Чип, о котором речь пойдет в этом посте, существенно интереснее, как минимум, потому что он может выполнять не одну-единственную функцию, а сразу несколько. Более того, с его помощью мы наконец-то научимся не только мигать светодиодами, но и генерировать звуки. Название чипа — таймер 555.

Как работает таймер 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)

Также иногда называется режимом одновибратора. Ниже изображена схема использования чипа в этом режиме:

Таймер 555 в моностабильном режиме

Заметьте, что, как это часто бывает, расположение ножек чипа на схеме не совпадает с их физическим расположением. На этой и следующих схемах не указано напряжение источника питания, так как его можно менять в некотором диапазоне. Лично я проверял работоспособность схем при напряжении от 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) и возвращает чип в исходное состояние. В итоге светодиод гаснет, а конденсатор полностью разряжается. Пользователь может преждевременно вернуть чип в исходное состояние, нажав вторую кнопку.

Время, в течение которого светодиод горит, можно регулировать при помощи емкости конденсатора и сопротивления резистора по следующей формуле:

>>> import math
>>> R = 100 * 1000
>>> C = 22 / 1000 / 1000
>>> T = math.log(3) * R * C
>>> T
2.4169470350698417

Здесь R — сопротивление резистора в омах, C — емкость конденсатора в фарадах, а T — время горения светодиода в секундах. Учтите однако, что на практике характеристики всех элементов определяются с некоторой погрешностью. Для резисторов, например, она типично составляет либо 5% (золотая полоска), либо 10% (серебряная полоска).

Автоколебательный режим (astable mode)

Соответствующая схема:

Таймер 555 в автоколебательном режиме

Что здесь происходит? Светодиод просто мигает с частотой около 3-х раз в секунду. Никаких кнопок или иного интерактива не предусмотрено.

Как это работает. Благодаря тому, что изначально вывод 7 (discharge) подает низкое напряжение и подключен к выводу 2 (trigger) через резистор сопротивлением 10 кОм, чип тут же переключается в свое «нижнее» состояние. Светодиод загорается, а конденсатор внизу схемы начинает заряжаться через два резистора справа. Когда напряжение на конденсаторе достигает 2/3 полного напряжения, чип видит это через вывод 6 (threshold) и переключается в «верхнее» состояние. Конденсатор начинает разряжаться через вывод 7 (discharge), но делает это медленнее, чем в предыдущей схеме, так как на сей раз он разряжается через резистор сопротивлением 10 кОм. Когда напряжение на конденсаторе падает до 1/3 полного напряжения, чип видит это через вывод 2 (trigger). В результате он снова переходит в «нижнее» состояние и процесс повторяется.

То, как будет мигать светодиод, можно определить по формулам:

>>> import math
>>> 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)

И, наконец, схема бистабильного режима:

Таймер 555 в бистабильном режиме

Что происходит. Изначально светодиод не горит. При нажатии на кнопку, подключенную к ножке 2 (trigger) он загорается и горит бесконечно долго. При нажатии на другую кнопку, подключенную к ножке 4 (reset), светодиод гаснет. То есть, получилось что-то вроде кнопок «включить» и «выключить».

Как это работает. Режим похож на моностабильный (первый рассмотренный), только нет никакого конденсатора, который мог бы вернуть чип из «нижнего» состояния обратно в «верхний». Вместо этого вывод 6 (threshold) подключен напрямую к земле, а выводы 5 (control) и 7 (discharge) вообще ни к чему не подключены. В данном случае это нормально, так как подача любого сигнала на эти выводы все равно будет игнорироваться. В общем и целом, это тот же моностабильный режим, только чип не меняет свое состояние автоматически. Изменить состояние может только пользователь, явно подав низкое напряжение на вывод 2 (trigger) или 4 (reset).

Заключение

Согласитесь, это было не так уж и сложно! На следующем фото изображены все описанные выше режимы, собранные на макетной плате:

Режимы использования таймера 555

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

Исходники приведенных выше схем, созданных в gschem, вы найдете здесь. Кое-какие дополнительные сведения можно найти в статье 555 timer IC на Википедии, а также далее по ссылкам.

Fun fact! Есть энтузиасты, которые делают на таймере 555 совершенно сумасшедшие вещи. Например, при сильном желании на его основе можно делать операционные усилители или логические вентили, а следовательно, теоретически, и целые процессоры. Подробности можно найти, например, в посте You Know You Can Do That with a 555 на сайте hackaday.com.

Дополнение: Вас также могут заинтересовать посты Интегральные схемы: чипы стандартной логики 74xx, Паяем тестер сетевого кабеля на базе чипов 555 и 4017 и Электронный телеграфный ключ на таймерах 555.

Метки: .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.