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

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

 Понадобилось моему одному знакомому устройство, позволяющее автоматически включать и выключать два раза в сутки некую нагрузку. Ну и чтобы мой паяльник меня совсем не позабыл решил помочь ему с этим делом. Заодно вспомню как программировать в 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
Просмотров: 3469 | Комментарии: 21 | Теги: контроллер, дисплей, DS1307 | Рейтинг: 4.9/11
Всего комментариев: 21
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)
Наконец-то! С возвращением! Доча подросла?

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






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
Спасибо) Я принцип действия понял, а вот откуда взялась именно цифра 195 не поня...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
pchela5, ну так это в военное, а у нас в мирное время все примерно)) Наше...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - pchela5:
> Полуволна в нашей электросети по времени длится примерно 10 мс

...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
Чтобы понять откуда взялась цифра 195 надо сначала въехать в принцип работы: ког...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
А почему минимальный накал при 195? Насколько минимум можно занизить Wt?
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
08.12.2016 - exersizze:
yorx выдалось немного свободного времени, проверил в симуляторе. Проблема...
Логгер температуры 2.0
05.12.2016 - Evgeny6873:
Хотел повторить схему и долго ждал дисплей, два раза заказывал с Китая, пришел. ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
01.12.2016 - yorx:
Доброго времени суток, exersizze попробовал Ваш код все равно не работает как на...
Помни об усадке!
30.11.2016 - pchela5:
Автомобильные никакие не лезут?


Лучшие цены на 3D принтеры
успей сделать себе подарок к Новому Году! ;)


Prusa i3

Prusa i3 от 12500 р.



Rostoсk

Rostock от 15000 р.