Привет, Хабр! Создание цифровых устройств на микросхемах стандартной логики является особым удовольствием. В такой схеме вы точно знаете, как всё работает, от начала и до конца. Ей не страшны недокументированные возможности микроконтроллера и деградация его флеш-памяти. И, наконец, можно не бояться дефицита специфических компонентов или затруднений при их приобретении.
Мне давно хотелось приобрести набор для сборки цифрового частотомера на простых микросхемах, и он нашёлся! Причём конструктор содержит плату с двумя ошибками, потому что предназначался для студенческого конкурса. Так ещё интереснее, не правда ли?
Одну секретную олимпиадную плату из Китая мы уже исследовали и выяснили, что для того, чтобы её оживить, действительно требуются знания и умения, причём в очень разных областях электроники. Особенно если у вас нет образца готового решения, а успеть нужно за ограниченное время.
Тот электронный кодовый замок оказался весьма интересной конструкцией. Посмотрим, насколько порадуют нас китайские методисты сегодня.
▍ Зачем нужен частотомер?
Измерение частоты электрических колебаний может пригодиться для настройки радиоприёмника или музыкального инструмента, а также при исследовании полосы пропускания усилителя или фильтра. Например, не помешает снабдить цифровой шкалой наши самодельные функциональные генераторы.
Также частотомер понадобится для измерения скорости, например, автомобиля или электровелосипеда. Мы берём датчик, выдающий один или несколько импульсов при каждом обороте колеса, и зная длину окружности шины, можем посчитать пройденный путь и скорость движения.
Особенно удобно это делать на электромотоцикле с безредукторным мотор-колесом. Там не понадобится даже датчик оборотов, ведь можно просто снимать импульсы с одной из трёх фаз двигателя. Причём при торможении либо движении с отпущенной ручкой акселератора обратимая электрическая машина продолжает работать как генератор, и импульсы на фазном проводе никуда не исчезают!
▍ Схема частотомера
Устройство состоит из следующих функциональных узлов:
- формирователя импульсов измеряемой частоты,
- шестиразрядного десятичного счётчика импульсов с выводом на семисегментные светодиодные индикаторы,
- генератора импульсов эталонной частоты с кварцевой стабилизацией,
- командного аппарата (запрограммированного устройства управления).
Формирователь импульсов собран по простейшей схеме. Со входного гнезда JP1 колебания измеряемой частоты проходят через диод VD1, пропускающий только положительную полуволну, и резистор R12.
Амплитуда выпрямленных колебаний ограничивается стабилитроном VS1, чтобы не превышать допустимых значений для пятивольтовой логики. Резистор R1 нужен, чтобы входное сопротивление частотомера не было слишком высоким, что сделало бы его чувствительным к помехам.
В случае формирователя импульсов для спидометра электромотоцикла параллельно R1 может потребоваться конденсатор, чтобы получился RC-фильтр нижних частот. Дело в том, что контроллер бесщёточного электродвигателя постоянного тока (BLDC) использует ШИМ, а нам нужно, чтобы спидометр считал низкочастотные импульсы обороты колеса, а не высокочастотные импульсы ШИМ.
Выпрямленный и ограниченный сигнал поступает на микросхему IC1 К561ИЕ22 (CD4553), которая является мозгом схемы, (если считать её сердцем генератор эталонной частоты). Прежде чем приступить к её изучению, вспомним другой счётчик импульсов, который мы собирали ранее.
Я имею в виду электронные часы, имеющие, как и сегодняшний частотомер, шесть семисегментных индикаторов. Но микросхем для того, чтобы построить часы, потребовалось целых двенадцать, тогда как авторы частотомера обошлись семью. На самом деле, хватило бы и шести, но об этом далее.
Здесь каждый разряд построен на половинке сдвоенного двоично-десятичного счётчика CD4518 и дешифраторе для семисегментного индикатора CD4511.
Младшие разряды часов, минут и секунд считают до 9, затем доходят до 0 и выдают сигнал на старший разряд. Это стандартный функционал микросхемы CD4518.
Старшие разряды секунд и минут считают до 6, после чего сбрасываются на 0 и передают эстафету младшим разрядам минут и часов.
И наконец, часы сбрасываются на 00, досчитав до 24. И ничего дальше не передают, так как наши часы без календаря. Чтобы реализовать эту логику переноса, каждой из пар цифр потребовалось по одному логическому элементу И.
▍ Динамическая индикация
Частотомер — не часы, и ему не надо считать до 60 и до 24. Потому чтобы считать от 000 до 999, нам достаточно одной микросхемы К561ИЕ22 в корпусе со всего-навсего 14 ножками. А если добавить второй такой же трёхразрядный двоично-десятичный счётчик, то диапазон расширится до 999 999!
Дело в том, что эта микросхема осуществляет динамическую индикацию, последовательно зажигая каждый из трёх разрядов. На один из выходов SE1..SE3 подаётся логический нуль, а на выходы Q0..Q3 — двоичное число, равное цифре, которую нужно отобразить на индикаторе в соответствующем разряде.
Для динамической индикации трёх разрядов достаточно одного-единственного двоично-десятичного дешифратора для семисегментного индикатора К561ИК2 (CD4511).
Индикаторы у нас с общим катодом, и чтобы зажигать каждый разряд, мы пользуемся транзистором КТ6109, или S9012. Это PNP-транзисторы, они открываются минусом, то есть логическим нулём, и в данном частотомере они включены по схеме с общим коллектором.
Такой транзисторный каскад называется эмиттерным повторителем. У него высокое входное сопротивление, потому резисторы в цепи базы можно было не устанавливать. При логической единице на выходе выбора декады коллекторный переход будет обратно смещённым, и пробоя напряжением 5 вольт он не боится, в отличие от эмиттерного перехода.
При переполнении первого счётчика IC1 на его выход 14 поступает сигнал переноса, который подаётся на счётный вход 12 второго счётчика IC5.
▍ Лишние компоненты и даже узлы
Одновибратор (ждущий мультивибратор) на прецизионном таймере КР1006ВИ1 (NE555) и транзисторе S8050 в схеме частотомера является ненужным схемотехническим излишеством, которое китайские разработчики добавили просто для усложнения схемы и конструкции. Ведь это не коммерческое изделие, а лабораторное пособие для конкурса. Можно просто соединить выход 14 IC1 со входом 12 IC5, и частотомер продолжит работать ничуть не хуже.
Более того, конденсатор С7 и транзисторы VT4-VT6 в этой схеме также необязательны. Дело в том, что микросхема К561ИЕ22 предусматривает два режима тактирования: автогенераторный (ведущий), если подключить времязадающий конденсатор между выходом тактового генератора QG и входом синхронизации выбора декад C2, и ведомый, если подать тактирующий синхросигнал извне, с выхода QG ведущей микросхемы.
Во втором случае отображение разрядов у любого числа счётчиков будет переключаться синхронно. А чтобы каждый из них начал индикацию со своего нулевого разряда, все микросхемы К561ИЕ22 должны одновременно получить сигнал сброса. Последний обнуляет не только счётные регистры, но и регистр номера разряда, индицируемого в данный момент.
То есть для шестиразрядного десятичного счётчика импульсов мы могли обойтись двумя трёхразрядными счётчиками, двумя дешифраторами и тремя транзисторами, зажигающими разряды, даже без резисторов в цепи базы.
▍ Программируем без микропроцессора
Но нам требуется не просто счётчик, а частотомер. Чтобы он был проградуирован в герцах, нужно сбрасывать счётчик, а затем считать импульсы в течение одной секунды.
Кварцевый генератор импульсов эталонной частоты 2 герца выполнен по точно такой же схеме, как и в электронных часах, — на микросхеме CD4060.
Чтобы получить секундные импульсы, в часах мы использовали делитель частоты пополам на T-триггере. А в создании частотомера нам поможет старый добрый знакомый — десятичный счётчик-дешифратор К561ИЕ8 (CD4017).
Эта чудесная микросхема не только отсчитает одну секунду для измерения частоты, но и позволит запрограммировать последовательность работы частотомера. Ведь счётчики необходимо сбросить, затем считать импульсы ровно одну секунду, после чего «заморозить» показания индикаторов на некоторое время, чтобы человек смог прочитать значение измеряемой частоты в герцах.
С выхода Q0 микросхемы IC4A через диод VD6 в течение полсекунды на входы сброса счётчиков подаётся логическая единица. Этот диод также является излишеством, причём вредным, так как при логическом нуле на Q0 VD6 закрыт, и входы сброса IC1 и IC5, не подтянутые резистором к земле, висят в воздухе и могут поймать сигнал помехи.
Резисторы R14-R16 тоже лишние в схеме. Выход переноса CO мог бы преспокойно висеть в воздухе и никому не мешать. Именно так висят Q1 и Q2, и это совершенно нормально. А входы сброса CR и запрета счёта INH надо просто подключить к земле без всяких резисторов.
Зато диоды VD2-VD5 и VD7-VD9 действительно необходимы. Без них происходило бы короткое замыкание выхода с логической единицей и шести выходов с логическим нулём, что ни к чему хорошему бы не привело.
Диоды образуют логический элемент 7ИЛИ, подающий в течение трёх с половиной секунд логическую единицу на вход записи счётчиков К561ИЕ22. И как раз эти входы было бы лучше подтянуть резистором к земле для защиты от помех. Хотя устройство работает и без этого резистора.
Логическая единица на входе записи WR микросхемы К561ИЕ22 замораживает показания на её выходах. Счётчики продолжают считать, но индикаторы показывают то, что они насчитали до появления высокого уровня на этом входе.
И благодаря тому, что командный аппарат на микросхеме К561ИЕ8 и логическом элементе 7ИЛИ реализует цикл последовательного переключение режимов работы схемы, частотомер функционирует следующим образом.
▍ Что у нас получилось?
Счётчики сбрасываются и индикаторы гаснут на полсекунды, затем в течение секунды производится подсчёт импульсов с увеличением показаний на индикаторах, после чего на три с половиной секунды фиксируется значение частоты, и всё повторяется снова. Так это выглядит на видео.
Но для того чтобы частотомер заработал, необходимо устранить две ошибки, заложенные авторами платы. То есть, подключить питание микросхемы К561ИЕ8 и сигнал переноса между IC1 и R32.
Так как эти секреты были известны мне заранее, то и необходимые перемычки были предусмотрены сразу при монтаже соответствующих компонентов.
▍ Разбор полётов
Результаты работы конкурсантов предлагается оценивать по следующей шкале.
Правильность расстановки компонентов (максимум 10 баллов)
- Компоненты безошибочно расставлены на плате — 10 баллов.
- 1-2 ошибки размещения компонентов — 9 баллов.
- 3-5 ошибок размещения компонентов — 7 баллов.
- 6 и более ошибок размещения компонентов — 5 баллов.
Качество поверхностного монтажа (максимум 6 баллов)
- Все SMD компоненты припаяны ровно. Паяные соединения гладкие, чистые и без заусенцев. Короткие замыкания и непропаи отсутствуют — 6 баллов.
- Заусенцы или кривая пайка у 1-2 SMD компонентов. Короткие замыкания и непропаи отсутствуют — 5 баллов.
- Заусенцы или кривая пайка у 3-5 SMD компонентов. Короткие замыкания и непропаи отсутствуют — 4 балла.
- Заусенцы или кривая пайка у 6 илм более SMD компонентов, либо наличие хотя бы одного короткого замыкания или непропая — 3 балла.
Качество монтажа деталей с проволочными выводами (максимум 9 баллов)
- Паяные соединения гладкие, круглые, чистые и без заусенцев. Размеры и форма капель припоя свидетельствуют о хорошем смачивании вывода и контактной площадки. Концы выводов откушены аккуратно и имеют оптимальную длину. Короткие замыкания и непропаи отсутствуют — 9 баллов.
- Плохой внешний вид пайки у 1-2 выводных компонентов. Короткие замыкания и непропаи отсутствуют — 8 баллов.
- Плохой внешний вид пайки у 3-5 выводных компонентов. Короткие замыкания и непропаи отсутствуют — 7 баллов.
- Плохой внешний вид пайки у 6 или болеее выводных компонентов, либо наличие хотя бы одного короткого замыкания или непропая — 5 баллов.
Общее качество сборки печатной платы (максимум 10 баллов)
- Все компоненты установлены безошибочно, прочно и красиво, плата чистая — 10 баллов.
- 1-2 компонента установлены неправильно или отсутствуют. Имеются подпалины и царапины в 1-2 местах платы. Есть загрязнения — 8 баллов.
- 3-5 компонентов установлены неправильно или отсутствуют. Имеются подпалины и царапины в 3-5 местах платы. Есть загрязнения — 6 баллов.
- 6 и более компонентов установлены неправильно или отсутствуют. Имеются подпалины и царапины в 6 и более местах платы. Есть загрязнения — 4 балла.
Выявление и устранение неисправности 1 (максимум 5 баллов).
- После подключения к источнику питания +5 В постоянного тока на цифровом дисплее отображается 000000 (+1 балл).
- На вход частотомера следует подать меандр с амплитудой 10 В и частотой 500 Гц. Отображаемая частота не соответствует входной (+1 балл).
- Обнаружить отсутствие питания микросхемы CD4017 (+2 балла).
- Подать 5 вольт питания микросхемы CD4017 с соответствующего блокировочного керамического конденсатора и убедиться в адекватном измерении частоты 500 Гц (+1 балл).
Выявление и устранение неисправности 2 (максимум 7 баллов).
- Выяснить, что при измерении частоты свыше 999 Гц отображается только три младшие разряда числа герц (+1 балл).
- Выяснить причину неисправности — разрыв цепи переноса при переполнении счётчика (+4 балла).
- Устранить неисправность (+2 балла).
Напишите в комментариях, какую оценку за пайку вы поставили бы мне. (За поверхностный монтаж — однозначно не высшую. Но всё работает, и вряд ли что-нибудь отвалится.)
Узнавайте о новых акциях и промокодах первыми из нашего Telegram-канала ?