Я сейчас в командировке в Саранске. С инетом проблема, вот вылез из клуба ненадолго...
Прилагаю прошивку версии 2.00 на основе контроллера mega168 для датчика влажности SHT-21D и исправленную печатную плату.
В печатках выложенных ранее светодиод включения нагревателя трассирован неверно. В результате возможен выход из строя датчика влажности и д.р. компонентов, т.к. через светодиод напряжение 12 В. поступает на питание всех элементов платы.
Что добавлено в новой версии путём задействования оставшихся портов контроллера:
1. Подключение датчиков температуры DS18B20 в кол-ве 4 шт. к порту контроллера PB0 для мониторинга температуры в различных точках инкубатора. Просмотр показаний при кратковременном нажатии на кнопку «+». Калибровка датчиков DS18B20 осуществляется автоматически в том же меню, что и SHT-21D по подстроенным показаниям последнего. Для этого рекомендую смотать все датчики, и SHT-21, и DS18B20, и образцовый термометр вместе скотчем погрузить в стакан с водой и потом уж калибровать.
2. В меню добавлен пункт про проветривание. Периодическое включение проветривания задаётся в меню отдельным пунктом в виде: через какое время проветривать и с какой продолжительностью. При продувке отключается нагреватель и увлажнитель. При кратковременной продувке для смены воздуха инкубатор остыть не успеет, а при длительной это позволит периодически охлаждать яйца, имитируя сход наседки с гнезда.
3. Порт PC0 переконфигурирован для включения вентилятора аварийного проветривания и реле аварийного отключения. Если у кого-то один вентилятор и на аварийный сброс температуры и на периодическое проветривание достаточно будет объединить выходы UNL2003. Светодиоды на портах контроллера показывают, что сработало проветривание или аварийный сброс температуры. Становится возможным подключать SMS информирование об аварийном режиме работы к порту PD4 контроллера.
4. Выводы PD2 и PD3 контроллера задействованы под функцию поворота. В меню в пункт «Поворот лотков» добавлен выбор режима работы. Перебрасывание уровней на портах как есть сейчас или поочерёдное включение портов на заданное время для двигателей без концевиков для движения в каждую сторону. Если используется двигатель с вращением в одну сторону, то достаточно установить время поворота в 2 раза меньше чем требуется реально или объединить коллекторы транзисторов или контакты реле поворота для использования импульсов с обоих портов контроллера.
5. В меню добавлен пункт выбора режима работы выходов управления нагревателем и увлажнителем. Отдельно для каждого выбирается режим работы: НЧ-шим для нагрузки 12В. с управлением полевыми транзисторами напрямую с контроллера, или регулирования напряжения пропуском полупериодов при помощи оптопары с Zero Cross Detector для приборов на 230 В. переменного тока или просто вкл./откл. выходов для управления ультразвуковыми увлажнителями и т.п. Частота ШИМа увеличена в 8 раз до 120 Гц. Применение полевиков позволит запитать всё, включая нагреватели, от резервного аккумулятора на 12-24В.
6. С учётом использования датчиков DS18B20 питание контроллера и всего остального кроме датчика SHT-21D реализовано от стабилизатора 5В. Для сопряжения шины I2C используется стандартный преобразователь на полевых транзисторах. Его для повышения помехоустойчивости и совместимости следует установить на той же плате, что и датчик.
7. В основной экран устройства вместо текущего значения мощности нагревателя и увлажнителя выводятся установленные значения температуры и влажности в скобках. Через задаваемое в меню время, индикация сменяется на другой вид, отображающий время до поворота, а так же текущие мощности.
8. Звуковой сигнал настраиваться через меню. Можно выбирать подавать ли кратковременно звук при повороте лотков, при нажатии на кнопки и непрерывный противный трель при аварии.
9. Активация программы с привязкой к датчику влажности SHT-21D.
10. Сведения о программе.
Хотел добавить RTC и автоматические режимы инкубации, но память в mega168 закончилась. Вот небольшая статистика: Program 16082 bytes (98.2% Full).
Если будет востребовано - сделаем этот функционал в прошивке версии 3.00 на микроконтроллере ATmega328.
Всем кто помогал мне в разработке детальками и приобретал контроллеры, по два кода активации прошивки будут предоставлены бесплатно. Остальным за символическую оплату с целью недопущения коммерческого тиражирования устройств. По данному вопросу просьба писать на мыло: servissistemy пёсик yandex.ru. Вместо слова «пёсик» должен быть соответствующий символ. Личные сообщения в форуме по данной тематике рассматриваться не будут. В тексте письма сразу присылайте код вида xxx-xxx-xxx-xxx, который покажет устройство при включении и ваш логин на радиокоте. Для каждого устройства со своим датчиком влажности код индивидуален и неповторим. Полученный от меня код необходимо ввести при помощи кнопок там же. Извините, что пришлось так сделать, но обстоятельства требуют. Другого способа защитить авторские права я не нашёл.
Обнаруженные баги высылать в Л.С. с соответствующей темой.
Остальной функционал остался неизменным по сравнению с версиями 1.05 – 1.07.
Частота работы микроконтроллера повышена по сравнению с версией 1.хх до 8 МГц, т.к. быстродействия не хватало.
Фузы микроконтроллера mega168 можно оставить по умолчанию. Программа версии 2.хх самостоятельно конфигурирует тактовый генератор для работы на частоте 8 МГц и включает сторожевой таймер.
Для желающих поковыряться с фузами можно посоветовать снять галочку CKDIV8 и включить BOD на напряжение 2,7V, включить WDT на всякий пожарный случай. Остальное лучше вообще не трогать.
Не забудьте сделать сброс настроек после прошивки контроллера.
Надеюсь на понимание. Тестировалось не в инкубаторе, а на столе...
