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

 


Микроконтроллерный таймер для споттера 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 - Перемычки на плате индикатора.


Видео





Комментарии

#41 сообщение от анатолий 28.02.2015
Добрый день! собрал первый вариант вашей схемы Спасибо большое работает все замечательно вот только при нажатии на клавишу пропадает индикация писал в вашем первом проекте как можно устранить? а так спасибо огромное за проект
#40 сообщение от admin 27.02.2015
Нога NC - not connected, ни к чему не подключена.. но на плате развел для того, чтобы была возможность задействовать 8-й бит без изменения платы, если будет нужно.
#39 сообщение от анатолий 26.02.2015
Добрый день! у вас на схеме не указанно сопротивление котрое идет с ноги 19 NC и куда оно идет и какой номинел если не затруднит отпишитесь
#38 сообщение от анатолий 26.02.2015
Добрый день! у вас на схеме не указанно сопротивление котрое идет с ноги 19 NC и куда оно идет и какой номинел если не затруднит отпишитесь
#37 сообщение от Игорь 10.02.2015
Спасибо за помощь.Avrdude справился.
#36 сообщение от Вячеслав 09.02.2015
Есть универсальное правило.Считываем фьюзы с нового мк,и смотрим фьюз RSTDISBL-если на нем нет галочки(как в пони прог), то выставляем фьюзы как на картинке, если есть- то инверсно.
#35 сообщение от admin 09.02.2015
Для usbasp есть софт avrdude, там можно шить и память и фьюзы.. только обратите внимание, что на скрине в пони инверсное отображение битов фьюзов, т.е. галка=0
#34 сообщение от Игорь 09.02.2015
Мой программатор Usbasp не дружит с Ponyprog, и как результат настройка фьюзов не доступна. Чем поможете?
#33 сообщение от Артем 04.02.2015
извиняюсь за беспокойство! нашел причину! замыкание между 16 и 17 ногами МК, видимо плохо протравилась плата. Спасибо за схему!!!
#32 сообщение от Артем 04.02.2015
прошивки пробовал обе так как не смог найти описание своего индикатора AECE 5261ag-1g. на данный момент прошивка spotter_005_ca перемычки наместе. не могу понять почему в цифре 8 все горит а в 2 не горит e-сигмент в 4,5,9-f. в 0 6 8 и e и f светятся(
 1   2   3   4   5   6   7   8   9   10   11   12   13   14 



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