Splav

Таймер цикличного включения вентиляции гаража.

14 сообщений в этой теме

Splav    5

Речь пойдет о таймере цикличного включения вентиляции гаража.
Стояла задача обеспечить принудительную вентиляцию гаража.
Оставлять включенным вентилятор круглые сутки - неоправданно.
Включать его периодически вручную... Неудобно и лишено смысла.
Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
Вменяемых вариантов в продаже я не нашел.
Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
За основу был выбран PIC12F675, потому что он у меня был.
По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
Итак.
Время работы выбрано фиксированным и неизменным - 1 час.
Время простоя - в зависимости от режима.
1 час - 2 часа - 3 часа.
(Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
Индикация осуществляется всего 1 светодиодом.
Переключение режимов и управление - всего 1 кнопкой.
Схема:
5b9ed4a747077___.thumb.JPG.9596878dacea3fb8ba9049cdcb96271f.JPG

Коротко о работе:
Кнопка.
Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
Если оно было включено - выключается.
Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
В режиме OFF длинное нажатие ничего не меняет.
Переключение режима или смена состояния реле происходят при отпускании кнопки.
Светодиод.
Индикация режимов светодиодом:
1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
      1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
2 - 1 раз в секунду загорается, если реле не включено.
      1 раз в секунду гаснет, если реле включено.
3 - 2 раза в секунду загорается, если реле не включено.
      2 раза в секунду гаснет, если реле включено.
OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
Режимы работы.
Время работы циклического таймера по режимам:
1 - 1 час работы / 3 часов отдых. 6/24
2 - 1 час работы / 2 часа отдых.  8/24
3 - 1 час работы / 1 часа отдых.  12/24
Работа.
При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
При первом включении, после программирования МК, устройство работает в 1-ом режиме.

Программа писалась в MPLab X IDE v4.05.
Прошивка:fan_cycle_timer.hex

Плата для устройства не разрабатывалась. Все было собрано на макетке.
В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
Использовал только одну из них. Вторая - не подключена, в "воздухе"
Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.

Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.

В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С

Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
Перегревов элементов и зависаний контроллера пока не было.
 

Несколько фото для общего представления о конструкции.
1.thumb.jpg.e7c9ffdefa40fb3832fef238bceaa4fb.jpg2.thumb.jpg.463025b3af3277a3d6055e50bc111e5d.jpg3.thumb.jpg.8e051c9dcd6b78903b5703be1dd69aa8.jpg4.thumb.jpg.c1d808a95ffd560ae910b47c0c3e9404.jpg

Изменено пользователем Splav
  • Лайк 2
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vovka    30

А можно было поставить два датчика температуры и влажности... и будет включаться по необходимости...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    307
7 часов назад, Splav сказал:

Время работы выбрано фиксированным и неизменным - 1 час.
Время простоя - в зависимости от режима.
1 час - 2 часа - 3 часа.

Если вспомнить, что вентиляция - процесс замены всего воздуха в заданном объёме, старт-стопный режим работы будет интегрироваться объёмом помещения, а это практически эквивалентно просто постоянной работе при 1/2 - 1/4 производительности вентилятора. А надёжность просто менее мощного вентилятора гораздо выше любой электроники.

 

1 час назад, Vovka сказал:

А можно было поставить два датчика температуры и влажности...

Для гаража логичнее ставить датчик СО и датчик движения. Есть СО - проветриваем, кто-то внутри - проветриваем. :)

Изменено пользователем Lexter

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
2 часа назад, Vovka сказал:

А можно было поставить два датчика температуры и влажности... и будет включаться по необходимости...

Думал об этом.
Без индикации очень тяжело настроить.
Самое разумное это по температуре и относительной влажности высчитывать абсолютную и принимать решение об включении.
Но это ресурсоемкая задача. Не хватит контроллера.

 

1 час назад, Lexter сказал:

Если вспомнить, что вентиляция - процесс замены всего воздуха в заданном объёме, старт-стопный режим работы будет интегрироваться объёмом помещения, а это практически эквивалентно просто постоянной работе при 1/2 - 1/4 производительности вентилятора. А надёжность просто менее мощного вентилятора гораздо выше любой электроники.

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

1 час назад, Lexter сказал:

Для гаража логичнее ставить датчик СО и датчик движения. Есть СО - проветриваем, кто-то внутри - проветриваем. :)

Смысл этой поделки сводится к постоянному воздухообмену для удаления влаги.
Машину в гараже не грею, поэтому решение излишне.
Датчик движения... Нет необходимости, потому как на протяжении суток вентилятор периодически работает.

Изменено пользователем Splav

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
andrusha152    47

Себе в гараж поставил вот такую штучку. Тянет, как пылесос. Никакой принудительной вентиляции не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
10 минут назад, andrusha152 сказал:

Себе в гараж поставил вот такую штучку. Тянет, как пылесос. Никакой принудительной вентиляции не надо.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    307
1 час назад, Splav сказал:

Смысл этой поделки сводится к постоянному воздухообмену для удаления влаги.

Так это вообще совершенно другая задача.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
2 минуты назад, Lexter сказал:

Так это вообще совершенно другая задача.

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

Понизить влажность вентилятором можно, заменяя более влажный воздух более сухим.
Но эта задача требует много математики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    46

У тебя есть ещё 2 свободных вывода. Присоединяй к ним сдвиговый регистр или дешифратор и получишь шикарную индикацию режимов и для отладки тоже помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
В 19.09.2018 в 10:28, mazzi сказал:

У тебя есть ещё 2 свободных вывода. Присоединяй к ним сдвиговый регистр или дешифратор и получишь шикарную индикацию режимов и для отладки тоже помощь.

Устройство задумывалось простым как ржавый самокат))
Должно быть минимум деталей, минимум потребления, минимальная цена или использование всего, что есть под рукой и никакой новогодней елки с индикацией.
В данном моменте программа отлажена.
Проходит период опытной эксплуатации.
Жду зимы.
Кстати, в первом варианте свободная нога GP0/Pin7 использовалась именно так, для индикации))
GP3/Pin4 может быть или MCLR-ом или только входом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    46

Какое же оно простое, если с ним сложно работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
В 27.09.2018 в 10:02, mazzi сказал:

Какое же оно простое, если с ним сложно работать?

Чем сложно то?
Зашили МК, вставили, включили. Сразу включился первый режим. Индикация морганием 0,5 Гц.
Клацнули на кнопку - второй режим. Индикация морганием 1Гц.
Еще раз клацнули - третий режим. Индикация морганием 2Гц.
Клацнули еще - отключили.
И так по кругу.
Все))
С ним вообще не надо работать)) Принцип включил и забыл))
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mazzi    46
В 17.09.2018 в 11:05, Splav сказал:

Думал об этом.
Без индикации очень тяжело настроить.
Самое разумное это по температуре и относительной влажности высчитывать абсолютную и принимать решение об включении.
Но это ресурсоемкая задача. Не хватит контроллера.

Я об этом говорил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Splav    5
7 часов назад, mazzi сказал:

Я об этом говорил.

Речь шла о совершенно ином устройстве, которое бы имело бы два датчика  относительной влажности и температуры.
По этим датчикам считалась бы абсолютная влажность и, на основании результата о количестве влаги в воздухе, принималось бы решение о включении или остановке вентилятора.
Такие вычисления явно не по зубам применяемой микросхеме.
Это был случай, когда я упоминал, что такая идея и алгоритм работы мною рассматривался.
Она выполнима, но для этого нужен процессор помощнее, больше ног, больше памяти, больше внешней индикации.
Повторюсь, в итоге задача свелась к созданию ржавого самоката))
С возложенными на него задачами он справляется))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Rusteka
      Продам микросхемы. Все микросхемы новые, в наличие.
      1. PIC18LF4550-I/P Microchip 65шт
      2. ATtiny85-20PU [DIP-8] Atmel 200шт
      3. PIC18LF452-I/L Microchip 50шт
      4. A29L040L-70F Amic 50шт
       
       

       



       
    • Автор: yarosh
      Не могу никаким софтом поменять текст в бегущей строке.  Год выпуска 2011,  сделана на pic,  есть ps\2 порт под клаву, с нее залить новый текст не вышло, разные варианты пробовал но так и не смог.
      Есть ком порт, по нему с компом связь есть, но ничем сменить текст или очистить немогу, в программе терминал после коннекта если нажать send и отправить что нибудь на строку происходит секундное моргание и текст остается прежний. 
      В проге Stroka 2.9 отправка ничего не меняет,  только моргает секунду.
      фото внутрянки прилогаю.





    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
    • Автор: Дмитрий Дмитрий
      Здравствуй, добрый Алл.
      Задумал сделать сенсорный выключатель (блокировщик) двери. Задача: при двойном прикосновении к поверхности пластикового выключателя подать на управляющий контакт +5В.
      Реализация:  Использовать контроллер емкостного сенсора AT42Q1010, микроконтроллер PIC10F200.
      Логика: при полном закрытии двери,  срабатывает геркон, подается +5В на схему. На схеме расположены емкостной контроллер AT42Q1010 и микроконтроллер PIC10F200. Емкостной контроллер при прикосновении пальца дает сигнал на цифровой выход. Этот выход соединен со входом PIC10F200. В PIC10F200 крутится программа, определяющая двойное прикосновение, с заданными промежутками времени (ориентируюсь на обычный двойной клик мыши). Как только определяет двойной клик - подает на три GPIO выхода +5В, и уходит в пустой цикл, до снятия питания.
      С одного GPIO питаются светодиоды: 2 шт, 1.8 В, 1 мА, удалены на 3 метра, подключены кабелем 3х2.5 мм2.
      Со второго GPIO активируется герконовое реле 5В, 10мА, размыкающее наружную клавишу открытия двери.
      С третьего GPIO питаются светодиоды: 2 шт, 1.8 В, 1 мА, удалены на 3 см. Они находятся в том же выключателе, где будет смонтирована схема.
      Для повторного запуска нужно открыть - закрыть дверь. Питание будет отключено-включено, программа запустится с нуля.
      Вопросы:
      1. Нормально ли цеплять светодиоды прямо к PIC контроллеру, на такую дистанцию? Потери посчитал, выходит в районе 1%. Думаю проблем быть не должно, но чувствую кощунственность решения.
      2. Нормально ли PIC контроллер отнесется к многократному хард ресету? Дверью пользуюсь 50 раз в день. Это каждый раз снятие питания, включение обратно.
      3. Какое время на загрузку ожидать от схемы? Т.е. через какое время после полного закрытия двери я смогу заблокировать дверь. Судя по документации на емкостной контроллер , оно меньше 100 мс. Микроконтроллер PIC около 30 мс (reset time). Я нигде не ошибся?  
      4. Нужно ли вставлять резистор между герконовым реле блокировки двери и микроконтроллером? Расстояние от микроконтроллера до реле около 2 метров. Насколько я понимаю, желательно использовать токоограничительный резистор около 1 кОм, но методика точного расчета номинала мне не известна.
      5. Нужно ли вставлять резистор между дальними свтодиодами и контроллером? Ближним и контроллером? Для понижения напряжения я планирую в обоих случаях использовать резисторы 1.5кОм и последовательно подключать два диода 1.8 В,  1 ма. Этого достаточно? Диоды и резистор располагаются на крышке выключателя.
      6. Для подбора конденсатора нужной емкости для сенсора прикосновения хочу использовать макетную плату (такая пластиковая, с много рядов отверстий), и кучку кондеров из чип и дипа, около рекомендованной емкости.  К ним припаять проводки и по очереди проверять, каждый раз скидывая питания. Это верная методика или есть способ лучше?
      7. Имел ли кто дело с таким емкостным контроллером? Насколько plug and play решение? На внутреннюю часть выключателя планирую наклеить медную фольгу, номиналы конденсаторов и резистора подобрать на столе. Потом все собрать на печатной плате, смонтировать в корпус выключателя. Не уплывет ли со временем точность такого сенсора? Может быть на плате предусмотреть какие-то элементы для подстройки в будущем?
      8. Я выбрал самый младший из PIC  контроллеров. Могу ли я столкнуться с нехваткой памяти в своей задаче? Портов хватает. Может быть я не учел какой-то еще ресурс, которого не хватит для выполнения этой задачи?
      Даташит на емкостной контроллер  https://ru.mouser.com/datasheet/2/268/40001946A-1145216.pdf
      Даташит на PIC  контроллер http://ww1.microchip.com/downloads/en/DeviceDoc/40001239F.pdf
      С уважением,
      Дмитрий.
    • Автор: eestyk
      Имеется микроконтроллер dsPIC30F5011. Хочу реализовать на нём ШИМ через Output Compare Module, так как у этого модуля есть как раз режим PWM. Всё проинициализировал, задал период и коэффициент заполнения ШИМ (duty cycle - 50%), выбрал Timer2. На соответствующей ноге тыкаюсь осциллографом, ничего нет. Не могу понять в чём проблема. Вроде по даташиту настроил правильно.
      #define PERIOD_PWM 12484 #define PERIOD_PWM_div2 6242 WriteTimer2 (0); OpenTimer2 (T2_ON & T2_GATE_OFF & T2_IDLE_STOP & T2_PS_1_8 & T2_32BIT_MODE_OFF & T2_SOURCE_INT, PERIOD_PWM); ConfigIntTimer2 (T2_INT_PRIOR_5 & T2_INT_ON); OpenOC3(OC_IDLE_STOP & OC_TIMER2_SRC & OC_PWM_FAULT_PIN_ENABLE, PERIOD_PWM, PERIOD_PWM_div2); ConfigIntOC3(OC_INT_PRIOR_0 & OC_INT_ON); void __attribute__((interrupt, auto_psv)) _T2Interrupt(void) { IFS0bits.T2IF = 0; // Clear Timer interrupt flag Nop(); } void __attribute__((interrupt, auto_psv)) _OC3Interrupt(void) { IFS1bits.OC3IF = 0; // Clear interrupt flag }  
      dsPic30F5011-5013.pdf