Главная » Статьи » Проекты

Двухпериодный автомат включения/выключения

 Понадобилось моему одному знакомому устройство, позволяющее автоматически включать и выключать два раза в сутки некую нагрузку. Ну и чтобы мой паяльник меня совсем не позабыл решил помочь ему с этим делом. Заодно вспомню как программировать в Bascom, а то что-то совсем стал забывать.

Схема устройства ниже.

 Я использовал микроконтроллер Atmega64L, его ресурсов здесь с избытком, но у меня их куча и их куда-то надо девать.  Транзистор Q1 любой способный протащить через себя ток срабатывания реле. Я использовал bc547.  Переключатель трехпозиционный. Я нашел от старого фена.  Дисплей 8*2 на базе контроллера hd44780 от winstar, или любой его китайский аналог. Релюшка К1 на напряжение срабатывания 5 вольт.

 Печатка односторонняя, поэтому без перемычек не обошлось.

 Модуль часов собран на популярной микросхеме DS1307, я взял готовый, вот такой.

 Корпус для устройства напечатал на 3d принтере. Печатал ABS пластиком, соплом 0,4 мм, высота слоя 0,3 мм.  Мат.модели можно скачать в конце статьи, модели строил в Siemens NX 8.

 При сборке дисплей прикручивается к бобышкам винтами М3, переключатель фиксируется в гнезде термоклеем. Главное при сборке не забыть заизолировать модуль часов, чтобы он ничего не замкнул. Я это сделал обернув его куском скотча.

 Плата ложится на упоры и фиксируется по краям термоклеем. Крышка также клеится термоклеем в нескольких точках. Фиксируется крепко, но в случае необходимости можно будет разобрать.

 

 

 Вид со стороны кнопок.

 Подсветка дисплея горит примерно 15 секунд после нажатия любой кнопки, затем гаснет. Также организован автоматический выход из меню если кнопки долго не нажимали. И конечно же все настройки сохраняются в энергонезависимой памяти.

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

 Еще несколько фотографий готового устройства в процессе установок.

 

 

 

Печатная плата (DipTrace v2.4.0.2)

Архив с прошивкой

Файлы корпуса

 

Категория: Проекты | Добавлено: 23.02.2016
Просмотров: 10658 | Комментарии: 22 | Теги: контроллер, дисплей, DS1307 | Рейтинг: 4.9/11
Всего комментариев: 22
22 Ghiotto   (24.03.2017 17:22) [Материал]
С точки зрения безопасности лучше селектор режима подключать напрямую к базовому резистору реле, а три полюса распределить на землю/+5/порт контроллера. Тогда в приоритете будет селектор и всегда можно будет включить или выключить нагрузку даже если у контроллера "крыша поехала"

+1   Спам
21 alexeyilin   (14.10.2016 06:19) [Материал]
Такие программируемые стоят от 2тр и выше, а здесь деталей на 300 рублей)) Мне надо только утром нагреть, ну и может вечером иногда. А остальное время греть не для кого, поэтому этот автомат идеально подошел.

0  
20 exersizze   (13.10.2016 20:27) [Материал]
Не нету, корпус рисовал в nx, в том что было под рукой.
А почему не поставили терморегулятор для теплого пола, есть же программируемые на определенное время?

19 alexeyilin   (13.10.2016 08:35) [Материал]
Собрал устройство для подогрева полов в пристрое, включаю за часик до пробуждения. Плитка успевает прогреться и с утра уже ходим по теплому полу. Спасибо!)
exersizze, нет ли у вас модельки корпуса в solidworks или компасе?

18 Sashka1980   (15.04.2016 15:48) [Материал]
Не плохо было бы добавить стеклышко на дисплей.

0  
17 exersizze   (12.04.2016 08:59) [Материал]
О, спасибо за внимательность, исправил.

16 Toddy123   (12.04.2016 05:33) [Материал]
Уважаемый exersizze! Исправьте на схеме подтягивающие резисторы,которые идут на кнопки вы их на корпу посадили))) думаю не может быть такого!))))

0  
15 exersizze   (09.04.2016 23:52) [Материал]
На ум приходит только запускать таймер  при нажатии на кнопку. Если придет второе прерывание от кнопки (из-за дребезга) пока таймер считает ничего не произойдет. А при переполнении таймера уходить в обработчик, останавливать там таймер и выполнять то, что нужно от нажатии кнопки. Вариант в принципе рабочий, если конечно таймер не нужен для других целей.

14 Toddy123   (09.04.2016 22:52) [Материал]
Exersizze, что то я забыл про флаги не внимателен был извините. Но все же интересно возможно ли в будущем применение таймеров? Видите ли просто точнее выходит обработка. Сегодня попробовал использовать таймер Т0 честно результат не удовлетворительный, разберусь с прерываниями будет видно Спасибо за помощь 73!

0  
13 exersizze   (09.04.2016 20:23) [Материал]
Toddy123, есть такая штука как флаг прерывания. При срабатывании прерывания этот флаг поднимается и снимается только тогда когда прерывание обработано. Но если быстро приходят два прерывания или больше, как в случае с дребезгом кнопки, то пока будет обрабатываться первое прерывание, придет второе и поднимет этот флаг. И в результате получится как бы двойное нажатие.  Поэтому простая задержка не спасает, обязательно нужно снимать флаг прерывания самостоятельно. Вот небольшой пример:


Код
On Int0 Stopbutton

Enable Interrupts
Enable Int0

Do

   ....  'основной код

Loop

Stopbutton:
   ....                    'обработка нажатия
   waitms 10                     ' ожидание утихания дребезга
Gifr = 64                      'снимаем флаг прерывания
Return

End

команда GIFR=64, снимает флаг прерывания с INT0. Аналогично для INT1 будет GIFR=128
задержка для ожидания утихания дребезга, в зависимости от качества кнопки, подбирается индивидуально.

12 Toddy123   (09.04.2016 11:51) [Материал]
Здравствуйте! У меня вопрос автору, может немного не по теме, в общем ситуация такая:пишу меню для автомата подачи звонка, использовал всего лишь одно прерывание int0 и четыре диода, повесил все диоды 1n4148 на порт микроконтроллера Мега 16. Написал обработчик нажатия этих кнопок через INT0. Все как бы работает, но дребезг ощутимый есть пробовал всякого рода задержки в обработчике прерывания использовать, эффект не сильно сказался хорошо- увеличилось время нажатия. У меня появилась идея использовать таймер в качестве обработчика прерывания, скажите пожалуйста или объясните как это правильно сделать? на форумах не стал вдаваться в эти подробности люди слишком умные что отвечать не станут. уже один день потерял скоро защита помогите прошу. Спасибо!

0  
11 exersizze   (22.03.2016 11:20) [Материал]
Спасибо.

10 Toddy123   (22.03.2016 07:55) [Материал]
Спасибо Дорогой и уважаемый Еxersizze! Очень интересный и полезный сайт, все свободное время я тут. Буду разбираться с проектом, здоровья тебе и твоей семье!

0  
9 exersizze   (21.03.2016 22:23) [Материал]
Приветствую! Алгоритм на самом деле прост. При нажатии на кнопку "меню" появляется выбор промежутка срабатывания "SET_1" и "SET_2", дальше выбираем любой из них и попадаем на окно выбора "ОN" и "OFF". Здесь выбираем что нам нужно настроить: включение или выключение. А дальше настраиваем время. При нажатии на кнопку "OK" настройки сохраняются и мы попадаем в предыдущее окно.

8 Toddy123   (21.03.2016 21:51) [Материал]
Доброй ночи! вопрос: можно ли разместить алгоритм всего устройства? я ни как не могу понять работу меню. Я делаю меню для своего проекта хотелось бы конкретно вникнуть, но там ногу можно сломать))))
PS я только недавно начал программировать в баском)))

0  
7 exersizze   (16.03.2016 00:43) [Материал]
Будем надеяться, что оживет) Я тут чтобы раскачаться форум радиокота почитываю. Честно первое время сидел с откинутой челюстью)) Народ уже металлизацию отверстий дома освоил, фоторезист лазером засвечивает, да автоматические smd раскладчики собирают. Идей и хотелок на целый вагон прибавилось)

6 AlekS   (16.03.2016 00:02) [Материал]
:) Очень рад за всех. "Тусовка" оживет? Столько всего накопилось.... Одним словом ВЯЯЯсна ))) exersizze , сколько еще предстоит ... первое слово ... первый класс ...... пропадать будешь часто ))) . Поздравляю !!!

0  
5 exersizze   (15.03.2016 23:18) [Материал]
Спасибо что не забываете заходить сюда:) Дочке уже годик исполнился, стало полегче и понемногу возвращаюсь к обычному режиму.

4 tenevikus   (15.03.2016 21:20) [Материал]
Ура! С возвращением. Сам с двумя детьми подзабросил все.... но надеюсь возобновить хобби. Здоровья дочке!

3 Scorpushka   (14.03.2016 17:09) [Материал]
как я долго ждал! спасибо и с возвращением

0  
2 exersizze   (26.02.2016 20:24) [Материал]
Спасибо, растём!)

1 pchela5   (26.02.2016 15:14) [Материал]
Наконец-то! С возвращением! Доча подросла?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






авторизация