Девайсы
Софт
Статьи
Контакты

 


Микроконтроллерный таймер для споттера v.2

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

    Возможности таймера:
  • управляющий сигнал может быть подан на тиристор, симистор, твердотельное реле, контактор с соответствующей катушкой (например, КНЕ-220);
  • диапазон регулировки 0,01-0,99с с шагом 0,01c;
  • диапазон регулировки 0,1-9,9с с шагом 0,1с;
  • ручное управление (сигнал подается без таймера, пока удерживается кнопка пистолета).

Таймер для споттера

Рисунок 1 - Фото таймера.

Схема таймера споттера

Рисунок 2 - схема таймера.


Алгоритм

При подаче питания на контроллер, в первые 1,5 секунды отображается бегущий огонь, после этого на 1 секунду высвечивается версия прошивки, затем 1 секунду высвечивается вариант диапазона регулировки времени (описаны далее), который был сохранен в EEPROM. Далее происходит переход в рабочий режим "авто" (задание выдержки по таймеру). На индикаторе отображается цифра, показывающая заданную величину выдержки в единицах, соответствующих шагу регулирования (0,01с или 0,1с). Так цифра 10 может соответствовать выдержке 0,10с, либо - 1,0с. Регулирование осуществляется кнопками "убавить" или "добавить". При длительном удержании этих кнопок (более 10 шагов) происходит ускорение прокрутки. После нажатия внешней кнопки "пуск", подключенной к клеммнику на плате, контроллер ожидает логической единицы на PB7, после чего генерирует одиночный управляющий импульс с заданной длительностью на PD0. Нога PB7 может быть задействована для подключения детектора перехода через "нуль" сетевого напряжения. Пока PB7 будет подтянута к GND внешними цепями, выдача импульса будет задерживаться. Если PB7 не будет задействована (как в исходной схеме выше), это не окажет эффекта на выдачу испульса, поскольку она уже подтянута к VCC программно. При каждом нажатии кнопки "пуск" значение текущей задержки сохраняется в EEPROM, которое позже восстанавливается после сброса контроллера. Кнопка "авто/ручной" служит для перехода в ручной режим. В этом режиме на индикаторе отображается "--", а длительность генерируемого импульса будет соответствовать длительности удержания кнопки "пуск". Реакция на нажатие и отпускание кнопки "пуск" составляет 1мс. Но, между двумя нажатиями подряд добавлена выдержка 250мс (фильтр дребезга).

Диапазоны регулирования

Работа таймера возможна в следующих диапазонах: t1 - 0,01-0,99с с шагом 0,01c; t2 - 0,1-9,9с с шагом 0,1с. Если нужно изменить диапазон регулировки, то нужно войти в режим настройки. Для этого нужно зажать кнопку выбора режима "авто/ручной" во время подачи питания на контроллер, либо нажать её в первые 1,5с после старта, пока отображается бегущий огонь (длительность нажатия не имеет значения). Выбор варианта t1 или t2 осуществляется кнопками "убавить" или "добавить", а сохранение и выход из режима настройки - нажатием кнопки "авто/ручной" (как и вход).

Файлы

spotter2_pub.zip (530 кб) - прошивки, платы в SprintLayout, схема в PDF (для печати);
spotter2_smd.zip (5 Мб) - smd версия платы (прислал Дмитрий Мринский).
spotter_2_attiny2313 - исходники прошивки на GitHub

История изменений прошивки
r10 (08.09.2025)
- ранее не задействованная нога PB7 задействована для детектора перехода через нуль:
при нажатии кнопки "пуск", перед тем, как будет подан сигнал добавлено ожидание '1' на ноге PB7;
если нога не будет задействована в схеме, это не повлияет на задержку,
поскольку она подтянута к Vcc внутренним резистором;
для задержки выдачи импульса, внешняя схема должна удерживать PB7 в 'нуле'.

r09 (18.09.2022)
- объединены два диапазона регулирования в одной прошивке 0,01-0,99 с и 0,1-10 с;
- выбор диапазона/шага с сохранением в EEPROM производится в режиме настройки, вызываемом кнопкой "авто/ручной" при старте МК;
- ускорение прокрутки значений при удержании кнопок добавления/убавления дольше 10 шагов подряд;
- на кнопки добавлены внутренние подтяжки, из схемы v2.3 и платы main_board_rev7.lay убраны соответствующие резисторы (допустимо применение прошивки со старыми платами, имеющими эти резисторы).

r08 (17.09.2022)
- полностью переписан код прошивки;
- требуемая частота тактирования для всех вариантов прошивок сведена к 8МГц (без делителя);
- увеличена частота обновления 7-сегментного индикатора до 122 Гц;
- отклик по нажатию и отпусканию кнопки "пуск" уменьшен до 1 мс, вместе с этим добавлен фильтр дребезга 250мс между двумя нажатиями подряд;
- диапазон изменения шагов 1-99 (было 2-99);
- отображение версии прошивки во время запуска МК;

r07 (17.02.2016)
- сохранение в EEPROM последнего значения, при котором была нажата кнопка "пуск".
r06 (18.02.2015)
- добавлена пауза выключенного состояния сегментов при переключении между разрядами в динамической индикации, было слабое свечение неактивных сегментов.
r05 (23.11.2014)
- замедлена реакция на кнопки из-за затруднений при переключении режима.

Установка фьюзов ATTiny2313:
CKSEL = 1110 - тактирование от кварца 8МГц;
CKDIV8 = 1 - отключить делитель частоты;
BODLEVEL = 100 - сброс МК при напряжении питания ниже 4,3В.

Сборка

Таймер может быть применен с составе с тиристором, твердотельным реле или контактором. Сопротивление резистора R16 выбирается в зависимости от требуемого тока управления, с учётом выходного напряжения. Если таймер будет применен с механическим контактором, то вместо резистора может быть установлена перемычка, а параллельно втягивающей катушке контактора должен быть параллельно подключен диод (например, 1N4007 катодом к плюсу) для защиты выхода таймера от ЭДС-самоиндукции катушки. Как прошить контроллер смотрите здесь. Если после сборки и прошивки отображение цифр на индикаторе некорректно, проверьте, соответствует ли прошивка вашему типу индикатора (с общим анодом или катодом). Кроме того, на плате индикатора должны быть запаяны перемычки (рис. 3), которые содержатся на слое M1 платы interface_board_rev5.lay. Если время задержки в разы отклоняется от заданного в большую или в меньшую сторону, ненормальная скорость отклика кнопок и заметно мерцание цифр, то следует проверить соответствие частоты кварца и правильность установки фьюзов CKSEL и CKDIV8.

Обратная сторона платы индикатора

Рисунок 3 - Перемычки на плате индикатора.


Видео





Комментарии

#51 сообщение от Владимир 02.05.2015
Изменил фьюзы,все заработало корректно!Огромное Вам спасибо за помощь и разработку! С уважением,Владимир!
#50 сообщение от Владимир 02.05.2015
Пользуюсь Понипрог,возможно запутался с фьюзами.Вечерком попробую все исправить.Спасибо!!!
#49 сообщение от admin 02.05.2015
Владимир, добрый день. В новом МК CKDIV установлен в 0, т.е. запрограммирован, так и нужно было оставлять. В разных программах галка может означать как 0, так и 1. К тому же, нужно ещё менять CKSEL под внешний кварц, смотрите скриншот в архиве.
#48 сообщение от Владимир 30.04.2015
Добрый день!Собрал Ваше творение,заработало сразу,но некорректно,неправильно отсчитывает время.Скорее всего я неправильно выставил фьюзы.Прошивку использовал spotter_006_10s.hex.Считал заводские и убрал галочку с CKDIV.Если ошибся,подскажите пожалуйста!С
#47 сообщение от Сергей 26.04.2015
Спасибо нашел повреждение замыкание второй ноги на массу
#46 сообщение от admin 26.04.2015
Сбрасывается МК из-за возможного пропадания его питания 5В. Элементы все по списку?
#45 сообщение от Сергей 24.04.2015
Здравствуйте собрал прошил с общим катодом при пуске сброс на 5 что у меня не так
#44 сообщение от admin 14.03.2015
Можно. Пишите на email
#43 сообщение от Андрей 13.03.2015
А можно ли заказать у Вас контроллер с прошивкой и сколько, если это возможно? Спасибо.
#42 сообщение от admin 01.03.2015
Анатолий, я отписался там.
 1   2   3   4   5   6   7   8   9   10   11   12   13   14 



Добавление комментария
Имя:
E-mail:
Сообщение: