Skip to content
 

Включение нагрузки на определенный промежуток времени

Один мой знакомый автомобильный мастер в очередной к нему визит озадачил вопросом по моей части. Но разговор изначально не складывался и выглядел примерно так: “… Хочу чтобы кнопочка нажалась, а после этого реле включилось…. И время срабатывания реле можно было бы регулировать…” Никакие мои расспросы что же будет являться источником запуска схемы, т.е. высокий уровень, низкий уровень, датчик будет притянут к земле или к плюсу питания результатов не дали. Я теперь понимаю почему немцев считают самыми лучшими автомеханиками. Да они умны, точны и педантичны, но напрочь отсутствует фантазия и пространственное мышление. Вот так видать и с хорошими автомеханиками. Единственное на чем остановились при первом разговоре это то, что щелкать нужно будет релюшкой с контактами на переключение, а уж он то их применит по своему усмотрению. Осталось обыграть только входную часть и придумать на чем это все собрать, чтобы попроще, но не в ущерб надежности, естественно.

Уж пусть обижаются любители таймера 555, но у меня на него аллергия с самого детства, еще с тех пор как он был довольно дефицитным КР1006ВИ1. Тем более что нас микроконтроллерщиков и программистов они травят чаще, чем мы их. Выбор пал как обычно на ATTiny13. Шутки шутками, а дальше я мотивированно докажу чем в некоторых случаях такой вариант лучше, чем 555. Про ATTiny13 мой другой, еще школьный товарищ, а нынче, кроме всего прочего –  программист СИшник всегда говорит фразу: “Тю…. А шо там на нем сделать можно, одну галочку в компиляторе поставил и ничего не влезло…” Для начала схема:

Как вы уже поняли речь пойдет о устройстве, функцией которого является по событию на входе датчика проснуться, включить реле на время установленное резистором R2, затем выключить и снова заснуть. Несмотря на кажущуюся простоту – задействовано АЦП, таймер, внешнее прерывание и система энергосбережения МК, т.е. половина всех функций.

Теперь о событиях. а точнее о входной части. Если с резистором регулировки времени задержки стоит пояснить, что задержка регулируется от 0 до 16с, а ключ с реле вообще никаких пояснений не требуют, то вот именно с подключением входного сигнала есть куча вариаций. Я насчитал как минимум четыре. Чтобы было понятнее нарисую:

Период tR на рисунке задается, как вы уже поняли, резистором R2.  Как видите, датчик может быть нормально замкнутым и разомкнутым, может быть подключен к +12в, а может быть и к земле. Мало того, независимо от конфигурации датчика может понадобиться запуститься как от нарастающего, так и ниспадающего фронта импульса. Все эти варианты учтены и нужный режим работы можно выбрать переключателями S1, S2 (см. схему). Если понадобится подключить в качестве источника схему с 5-вольтовыми уровнями – резистор R7 нужно будет уменьшить до 1..3к. Отдельно хотел бы отметить энергопотребление. При эксплуатации в автомобиле, может так статься что устройство будет всегда подключено к бортовой сети. И именно поэтому вопрос энергопотребления очень важен. У меня в спящем режиме устройство потребляет около 3.7…3.9 ма, что примерно равно току покоя 78L05. Дальнейший путь уменьшения – применение вместо 78L05 чего-нибудь поэкономичнее. Первое что приходит в голову – LP2950-5.0. Никаких изменений в плате не понадобится, ток должен снизиться до 300..500мка. С обычным NE555, думаю это недостижимые цифры. Ну а ток потребления во время работы всецело будет зависеть от примененного реле.

Конструкция. Конструктивно все расположено на плате размером с реле + клеммники. Так как устройство скорее всего ожидает пусть и маленький, но тираж – реле выбиралось исходя из стоимости. У него самое лучшее соотношение цена/размер. Также хотел бы отметить диод VD1 – сюда подойдет диод любой мощности и скорости – главное требование – минимальное падение напряжения, т.е. лучше всего подходит диод Шоттки. Защиту от переполюсовки я не делал – хотите диод сами добавите, защитный диод параллельно реле тоже не ставил – не влез 🙁 Переключатели выполнены в виде компьютерных джамперов – для редкого использования самое то – просто, надежно и недорого.

Никакой настройки (кроме установки режимов и требуемого времени задержки) схема не требует. Все должно заработать сразу после правильного программирования фузов:

Тут есть один небольшой подводный камень. Контроллер конфигурируется этими настройками на частоту от внутреннего RC генератора 128кгц. И для того чтобы до него в дальнейшем достучаться нужно будет сказать программатору снизить частоту SCK как минимум до 128/4 кгц. Если не совсем понимаете о чем идет речь или не хотите заморачиваться – лейте сначала прошивку, затем фузы. И только в таком порядке.

Такая вот конструкция выходного дня в буквальном смысле. Удачной сборки и применения.

Файлы:
Схема в SPlan 7
Печатная плата в Spint Layout 5
Прошивка

33 Comments

  1. altaryx сказав:

    Работает не устойчиво, больше похоже на триггер, срабатывает через раз, диод на схеме анодом наружу +12в и взрыв тини обеспечен

    • electra сказав:

      Бог его знает что у вас там не работает, устройство собрано не в одном экземпляре. Запуск в разных режимах в общем нужен только для электронных датчиков. Если знакомы с программированием AVR – в данном случае используются разные параметры запуска прерывания INT0. Хотя вряд ли… Такую простецкую вещь скорее всего изобретали бы сами. Запуск от механической кнопки – это в любом случае дребезг контактов, и при нем от какого фронта запустился таймер разницы в общем-то нет.
      А за диод на схеме спасибо – исправил, хотя на плате и так все верно, даже на фото видно.

  2. altaryx сказав:

    Спасибо за быстрый ответ,не ожидал. Пытался прикрутить к OMRONu (опто-датчику), на кнопках однако то же самое, управление по 7 выводу по моему не работает, а по 6 больше напоминает триггер(может из-за системы энергосбережения МК), с фузами вроде бы всё нормально – CodeVisionAVR, а схема мне очень понравилась простотой, нужна на работу для бесконтактной мойки, ne555 достала уже.в програмирывании я не силён,я больше по практике. Может ролик девайса выложете на ЮТуб, буду при много благодарен

    • electra сказав:

      Может быть все таки неправильно поняли саму идею? S1, S2 – переключатели (джампера) конфигурирующие работу устройства однократно для конкретной задачи. Замкнутый S2 притягивает вход к питанию и нужен если датчик (кнопка) замыкает вход на землю. Соотв. разомкнутый S2 нужен если вход “плюсовой”. S1 же выбирает по какому фронту запускается таймер. Если подключен механический датчик с дребезгом – особого смысла в S1 нет. Повторюсь: S1 и S2 конфигурируются ОДНОКРАТНО при выключенном питании , а сам датчик подключен к R7-катоду VD1 и земле или питанию в зависимости от ситуации и выбранной конфигурации.
      Ролик не выложу, устройство делал в нескольких экземплярах знакомому, себе не оставил ни одного 🙁 Можете быть уверены что не работать там нечему. Самая сложная и “объемная” часть программы – это энергосбережение.

      • chip сказав:

        Добрый вечер!спаял ваш дивайс только не могу его запустить.запутался в джамперах.У меня машина классика свет включается через массу.Как мне надо выставить джампера для такой работы что б после закрытия двери свет выключался с задержкой.Прошивал программатором progisp 1.72 программатор SPI.Фьюзы выставил как у вас на картинки.А можно прошивку выложить в hex файле?

  3. altaryx сказав:

    Про то, что……… S1 и S2 конфигурируются ОДНОКРАТНО при выключенном питании, я не знал, буду пробовать, но самое главное, что у меня, вход 6, так и остался с дребезгом,со странным алгоритмом работы выраженном, примерно так 10100010110000101000011, по не понятному закону, в том чисе и опт. датчиком например с таким E3F2-DS30B4-M1-M, можно ли подправить прошивку под аппаратное подавление этого дребезга???

    • electra сказав:

      Блин… Да нет здесь никакого алгоритма и никогда не было. Кнопочку нажали (вход датчика) —> реле K1 включилось на время выбранное резистором R2 —> время закончилось, реле выключилось, устройство уснуло до следующего разу. Все.

  4. altaryx сказав:

    Ладно, не буду вас больше напрягать, может я чего то делаю не так, хотя паралельно собирал за этот период 2 устройства: (Устройство защиты от опасных напряжений в электросети «SOKOL UZP-1F, Контроллер доступа на RFID-картах) и они сразу заработали хоть и были сложнее, и печатки я свои под них разводил, Подождём следующего комента, тот кто соберёт и отпишится…..

  5. altaryx сказав:

    И снова Я. Нашел проблему, в вашей прошивке отсутствует защита от дребезга, поэтому даже с оптическими датчиками(на отражение) работает не стабильно, не говоря уже о кнопке(тактовой), внесите коррективы

    • electra сказав:

      А я и не говорил что есть какая-то защита от дребезга. Довольно сомнителен “дребезг” от оптических датчиков, но суть не в этом… Устройство проектировалось несколько для других целей и свои функции выполняет замечательно. Если читали внимательно статью – датчик это вход INT0 микроконтроллера и ничего к его работе добавить не получится, используются исключительно его аппаратные свойства и дописывать или исправлять там нечего. Так что триггеры Вам в руки… Ну либо писать программный захват, что вряд ли добавит надежности срабатыванию. Если очень желаете – отправлю исходники на ассемблере.

  6. altaryx сказав:

    А есле после срабатывания входа, вход временно заблокировать ну 0.3 – 0.5 сек например??
    У меня просьба. Можете сделать что то типа этого http://www.radioded.ru/skhema-na-mikrokontrollere/taymer-dozator-dlya-akvariuma, только без цикла и прмежутков, т е
    пуск 1—-2—3— стоп , время задаётся 1сек – 10 часов, у автора исходники потеряны и времени сейчас нет переделывать, а я программы писать не умею

    • electra сказав:

      Честно говоря с некоторых пор зарекся дописывать / доделывать “на заказ” по малейшему желанию читающего, были прецеденты. Кроме более-менее крупных коммерческих проектов, естественно. Да и времени как и у того автора не особо густо сейчас… Так что воспринимайте мои конструкции “как есть”, как любят говорить иностранцы. Ну или по прежнему предлагаю исходники, у меня они никуда не потерялись. Естественно с условием что они не будут растасканы потом по какому-нибудь радиокоту в какой-нибудь теме типа “help, помогите, допишите, соберите….”

      P.S. Примерную копию указанной конструкции такой насыщенности с учетом Ваших пожеланий и доработок сделать конечно же могу, но вполне за определенное вознаграждение в районе 40-50$. Исходные коды конечно же достанутся Вам и только Вам и в интернет она не попадет.

  7. altaryx сказав:

    Я Вас прекрасно понимаю, нас много,а вы один, это нормально
    Так вот нужен ПЛК похожий на промышленный ОВЕН или ZELIO, 14-16 входов 6-8 выходов, програмируемый в ЕЕпром простым методом, скажем на меге16, можем обсудить как коммерческий проэкт
    Под свои нужды ипользую во это чудо устройство http://vrtp.ru/index.php?act=categories&CODE=article&article=1218 УСТРОЙСТВО КОНТРОЛЯ ДИСКРЕТНЫХ ДАТЧИКОВ С ПЕРЕДАЧЕЙ ИНФОРМАЦИИ источник вход – выход 6 на 4

    • electra сказав:

      Почитал… Начинали за здравие, а закончили как всегда за упокой. Был Tiny13 для трех кормушек, а стало нечто с Ethernet портами и GSM модемом. На такое, боюсь, времени точно не найду, да и “цифра” там совсем другая была бы. Если нужен 1шт – лучше купите готовый. Дешевле точно.

  8. altaryx сказав:

    В статье есть исходный код, нужно портов добавить, перейти с меги8 на мегу16

  9. edzzzz сказав:

    Здравствуйте
    Хочу повторить это устройство для машины, чтобы после выключения зажигания било времени для поднятия стекол.
    И отсюда вопрос. Можно как то сделать так, чтобы максимальная задержка била не 16 с, а скажем 120 с?

    • electra сказав:

      Здравствуйте. Попробуйте при программировании установить фуз CKDIV8, тем самым понизите тактовую частоту в 8 раз, т.е. 16с превратятся в 128 с. Примерно то, что нужно.

  10. chip сказав:

    Добрый вечер!спаял ваш дивайс только не могу его запустить.запутался в джамперах.У меня машина классика свет включается через массу.Как мне надо выставить джампера для такой работы что б после закрытия двери свет выключался с задержкой.Прошивал программатором progisp 1.72 программатор SPI.Фьюзы выставил как у вас на картинки.А можно прошивку выложить в hex файле?

  11. chip сказав:

    Спасибо,elecra за разработку.Причина в программирование.Прошил пони прогом и все поехало.

  12. Олег сказав:

    Здравствуйте !
    У меня задача очень похоже на вашу конструкцию, также с применением в машине, но необходимо включать нагрузку на более длительное время, минут на 15-20. Как это можно сделать на основе этой конструкции. Спасибо.

    • electra сказав:

      Теоретически после “допиливания” прошивки все возможно. Практически же установка задержки переменным резистором в таких временных рамках 0…20мин кажется затеей мне мягко говоря “неумной”…. Поищите еще какое-нибудь решение, должно быть что-нибудь более изящное и правильное.

      • Олег сказав:

        Вы правильно сказали: “что-нибудь изящное” и мне хочется.
        Вообще суть такова, это обогрев задних сидений.
        Чтоб включался-выключался одной не фиксируемой кнопкой, при этом когда включили отработал 20 минут и сам выключился, в то же время, если в эти 20 минут стало жарко, то можно было выключить самостоятельно. Ищу уже долго, но нормального решения не нахожу.

        • electra сказав:

          Обычно не ведусь, но Вам сделаю. Работы на полчаса перед сном. Да и тема интересная, я тоже автомобилист. Предлагаю примерно так: одна кнопка, один двухцветный светодиод, n-канальный полевик затвором в мк и истоком на землю. Одинарное нажатие, зеленый светодиод, ШИМ на выходе полевика (скажем 60-65%) т.е. нагрев “вполсилы”. Двойное нажатие – полный привод, максимальный нагрев, красный светодиод. Любое последуюшее нажатие на кнопку – выключит нагрев принудительно. Иначе – по таймеру через 20 мин. Любое пропадание (провал) напряжения питания – нагрев прекращается устройство возвращается в ждущий режим. Так пойдет?

          • Олег сказав:

            Это даже больше, чем я ожидал !
            И решение в таком ключе гораздо интереснее, мне очень нравится !

            • electra сказав:

              Ну пробуйте тогда: тут
              Перед сном набросал… Там схема, печатная плата и прошивка. Прошивка пока имеет статус виртуальной, в железе завтра соберу если ничего не отвлечет. Тем не менее можете смело собирать по этой схеме. С Вас потом фото готовой конструкции, а я потом в виде отдельного устройства оформлю, вдруг еще кому пригодится. Да, и чуть не забыл – фузы стандартные заводские (по умолчанию), на новом контроллере – можно ничего не программировать, на секонд-хенде – выставить RC 9.6Мгц, CKDIV=0.

              • memfispro сказав:

                Уважаемый elektra! Собрал таймер обогрева сидений. Работает отлычно,завелся с первого раза. Но когда нажимаю кнопку третьей раз таймер не выключается. В чем может бить проблема или так и должно быть.Схема нормально собрано, прошилься успешно,фьюзи не трогал.

  13. Олег сказав:

    Спасибо большое !
    SMD никогда не паял, а самое главное не чем, есть только простой паяльник.
    Буду искать, кто поможет со всем этим, а главное, того, кто поможет прошит МК в корпусе SO8.
    Посмотрел, в космодроме есть и простые МК, в корпусе DIP.

    • electra сказав:

      Я платку привел так, для примера. Переделать можете и под обычные детали. Контроллеры есть и у меня: http://www.aliot.com.ua/?cat=4520#4595. Если не найдете где прошить – отправлю уже прошитый. Надо только собраться, прошивку проверить, а то пока так и не удалось время выбрать…

      • Олег сказав:

        Среди знакомых нашелся человек, который поможет прошить МК и всё спаять с применением SMD.
        Только будет это на следующей недели.
        Напишите, плиз мне на почту, для дальнейших обсуждений, так будет удобнее.

  14. Иван сказав:

    Чи можна зробити так щоб м/к реагував і на замикання контакту датчика і на розмикання? Напишіть на пошту, дякую!

  15. chip сказав:

    Андрей,а можно подкоректировать прошивку с шим регулировкой.хочу вместо vt1 поставить полевик н канальны и реализовать плавное гашение и включение.за ранние спасибо вам.

    • electra сказав:

      Хех…. Да тут ШИМа и плавного включения кода будет больше чем всего девайса вместе взятого. Да и выветрилось уже из головы все давно. Хотите исходник отправлю, сами помудрите?

  16. chip сказав:

    Я в программирование не силен.а если выкинуть все навороты и оставить включение как на классике.но добавить шим

Leave a Reply