Особенности конструкции исполнительных устройств
Подсветка растений может производиться как специальными фитосветильниками, так и обычными, предназначенными для освещения помещения, если интенсивность и спектр их излучения подходят для растений. В последнем случае необходимо тщательно продумать схему включения светильников, чтобы не получилось, что один и тот же провод светильника его настенным выключателем будет соединён с фазным проводом сети, а через разъём Х4 - с нейтральным проводом, что приведёт к аварии.
Для обеспечения в помещении требуемой влажности воздуха можно использовать бытовые увлажнители (один или несколько в зависимости от площади помещения). Увлажнитель должен быть самым простым, без встроенных средств контроля влажности. Выключатель на корпусе увлажнителя должен быть постоянно включён, асетевой шнур подключён к разъёму Х5. Устройство будет само включать и выключать увлажнитель.
Для управления водяным отоплением в разрыв трубы, подающей в систему горячую воду, установлен клапан Danfoss RAV8 с нормально открытым термоэлектрическим приводом Danfoss TWA-V NO 230 V. Напряжение питания привода 230 В, потребляемая мощность - всего 1 Вт. Благодаря тому что клапан нормально открыт, при отсутствии на приводе управляющего напряжения система отопления будет включена. Это исключит замораживание растений зимой в результате неисправности устройства или отсутствия напряжения в питающей сети.
Система вентиляции помещения может содержать как приточный, так и вытяжной вентиляторы или их комбинацию. Общая мощность вентиляторов не должна превышать 200 ВА.
Автор использовал шторы, изготовленные на основе оконных рулонных штор с ручным цепным приводом (рис. 9). Их выпускают разных размеров и с различной расцветкой полотна и продают во многих магазинах. Так как основная задача штор в летнем саду - снизить приток тепла в помещение за счёт экранирования солнечного излучения, целесообразно выбирать их со светлым (хорошо отражающим свет), но в то же время плотным (с малым све-топропусканием) полотном. В этом случае шторы будут наиболее эффективны. Ширину шторы выбирают исходя из полного перекрытия ею оконного проёма, а длину - на 40...50 см больше высоты окна.
Рис. 9. Шторы
Штора состоит из металлического вала диаметром 25 мм, на котором намотано полотно шторы. В отверстия вала с двух сторон вставлены пластиковые втулки, оси которых свободно вращаются в отверстиях кронштейнов, с помощью которых вся конструкция крепится к стене.
На правой втулке размещён механизм привода шторы, который позволяет поднимать и опускать её полотно с помощью шариковой цепи. Чтобы снабдить штору электроприводом, эту втулку следует доработать. С неё снимают закреплённую защёлками крышку, после чего снимают со шкива шариковую цепь. С внешнего торца втулки удаляют металлический вал с элементами тормозной системы, с помощью которого она закреплена в отверстии кронштейна.
Тормозная система не даёт возможности полотну разматываться под собственным весом. В шторе с электроприводом функцию тормоза выполняет редуктор электродвигателя, который благодаря большому передаточному числу создаёт значительный тормозящий момент при передаче усилия в направлении от полотна к двигателю.
Мотор-редукторы Gekko MR25-275 продают в магазинах робототехники. Там же были приобретены переходные втулки для соединения валов мотор-редукторов с приводимыми ими в действие механизмами, а также цилиндрические магниты диаметром 3 и высотой 3 мм и прямоугольные магниты размерами от 10x10 до 20x20 мм толщиной 3...4 мм. Из металлических уголков 40x60 мм длиной 40 мм с толщиной полок 2,5 мм и были изготовлены кронштейны для крепления мотор-редукторов к стене.
Снятую со шторы втулку со шкивом для приводной цепи пришлось доработать согласно рис. 10. В её внешнем торце просверлены два отверстия с резьбой М3 для винтов с потайными головками, которыми закреплена переходная втулка для вала мотор-редуктора. В пазе шкива, в котором ранее находилась шариковая цепь, диаметрально противоположно просверлены два отверстия диаметром 3,5 и глубиной 6 мм.
Рис. 10. Доработка втулки со шкивом для приводной цепи
Из пар стержневых магнитов длиной 3 мм изготовлены магниты диаметром 3 и длиной 6 мм. Каждая пара стержней соединена противоположными полюсами, и на неё надет и слегка прогрет отрезок термоусаживаемой трубки диаметром 3 мм. К сожалению, готовых магнитов нужного размера найти не удалось, поэтому и пришлось собирать каждый из двух меньших. Полученные магниты вклеены в отверстия шкива заподлицо с его внешней поверхностью. При вращении вала шторы они должны воздействовать на магнитный датчик его полуоборотов.
Из металлического уголка изготовлен кронштейн для крепления мотор-редуктора к стене. На полке уголка должны быть просверлены отверстия для вала мотор-редуктора и его крепёжных винтов. Отверстие для вала должно находиться на таком же расстоянии от поверхности уголка, крепящегося к стене, как и у заводского кронштейна на противоположном конце вала.
В подошве уголка просверлены два отверстия для его крепления к стене. Их следует располагать подальше от продольной оси мотор-редуктора, иначе при установке кронштейна на стену возможны затруднения.
Штору следует закрепить на стене приблизительно на 15 см выше верха оконного проёма. Делать это целесообразно в следующей последовательности:
- закрепить мотор-редуктор на изготовленном для него кронштейне;
- установить правую и левую (доработанную) втулки в отверстия вала шторы. Следует иметь в виду, что полотно шторы должно наматываться на вал со стороны стены и окна;
- собрать штору на горизонтальной поверхности (например, на полу), вставив вал правой втулки в отверстие заводского кронштейна, а вал мотор-редуктора - в центральное отверстие переходной втулки, установленной на доработанной левой втулке, и закрепить его имеющимся в переходной втулке винтом;
- замерить расстояния между отверстиями, предназначенными для крепления кронштейнов к стене;
- по результатам замеров разметить на стене отверстия, просверлить их и вставить в отверстия дюбели;
- снять с собранной конструкции правый кронштейн и закрепить его на стене, пользуясь подготовленными отверстиями;
- аккуратно поднять оставшуюся часть собранной шторы, вставить вал правой втулки в отверстие установленного на стене кронштейна;
- закрепить на стене кронштейн с мотор-редуктором, пользуясь подготовленными отверстиями.
Вид установленной шторы со стороны электропривода представлен на рис. 11. Теперь можно подать на мотор-редуктор постоянное напряжение 5 В в различной полярности и проверить движение полотна шторы в обоих направлениях.
Рис. 11. Вид установленной шторы со стороны электропривода
Печатную плату c магнитными датчиками установите на стену под валом шторы, как показано на рис. 12. Датчик оборотов вала (B4 или B6) должен находиться под шкивом с магнитами. Минимальное расстояние от магнита до корпуса датчика должно быть 3...5 мм. Подав питание на плату, поверните вал шторы. Если прохождение каждого магнита над датчиком сопровождает вспышка светодиода - все нормально. В противном случае следует уменьшить расстояние от магнита до датчика, подгибая его выводы.
Рис. 12. Печатная плата c магнитными датчиками
Далее отрегулируйте датчик верхнего положения шторы. Для этого полотно шторы приведите в положение, которое будет считаться верхним. Обычно оно соответствует полностью открытому проёму окна. На полотне шторы со стороны стены поместите напротив датчика прямоугольный магнит. На рис. 11 можно видеть кольцевой магнит (подойдёт и любой другой), удерживающий на полотне прямоугольный в процессе регулировки. Светлое пятно выше него - просвечивающий сквозь полотно светодиод.
Если светодиод не включается, подгибая выводы датчика, уменьшите расстояние между ним и магнитом. Затем опустите полотно шторы до выключения светодиода и вновь поднимите до его включения. Если положение шторы в момент включения светодиода не совпадает с требуемым верхним положением, следует подкорректировать положение магнита на полотне. По завершении регулировки приклейте магнит к полотну в найденном месте клеем "Момент".
Последнее действие - подсчёт числа полуоборотов вала шторы, за которое её полотно перейдёт из верхнего (открытого) в нижнее (закрытое) положение. Оно зависит от высоты окна, и его значения в каждом конкретном случае могут различаться. Методика здесь проста - подсчёт числа вспышек светодиода в процессе закрывания шторы. Запомните это число, в дальнейшем его потребуется занести в программу микроконтроллера. После этого мотор-редуктор и плату датчиков можно подключить к основной плате устройства.
Общая информация об алгоритмах работы устройства
Для нормального развития субтропических растений требуется световой день длительностью приблизительно 12 ч. Однако во многих регионах нашей страны в течение значительной части года он значительно короче. Например, на широте Москвы его минимальная продолжительность - около 7 ч.
Для управления досветкой растений устройство в начале каждых суток вычисляет время восхода Тв и захода Тз Солнца в точке своего размещения (широта и долгота этой точки записаны в программе) и на основании этой информации вычисляет текущую продолжительность светового дня Тсв. В программе также хранится заданное пользователем значение требуемой продолжительности светового дня Тсв.тр. Если Тсв < Тсв.тр, то вычисляется разность между ними: Δ = Тсв.тр - Тсв. Это промежуток времени, на который должна быть увеличена текущая продолжительность светового дня. Утром устройство включает досветку на Δ/2 раньше восхода Солнца и выключает её в момент восхода. Вечером оно включает подсветку в момент захода Солнца и выключает её через Δ/2 после захода. Использован алгоритм расчёта восхода и захода Солнца, основанный на приведённом в [4].
Требуемую влажность воздуха в помещении пользователь задаёт с помощью меню в пределах 40...70 %. Если влажность стала меньше требуемой на 5 %, устройство включает увлажнитель и выключает его по достижении установленного значения.
Для нормального развития растений в помещении должна поддерживаться определённая температура. При этом нельзя поддерживать в нём постоянную температуру в течение всего года - у растений тоже есть "понятие" о временах года, причём каждый сезон должен иметь свою среднюю температуру воздуха, соответствующую субтропическому климату.
Чтобы выполнить это требование, в EEPROM микроконтроллера DD2 записан закон изменения температуры в помещении по месяцам в течение года. Он содержит значения комфортной и минимально допустимой температуры для каждого месяца согласно табл. 1.
Таблица 1
Месяц | Ткомф, ºС | Tmin, ºС |
Январь | 14 | 12 |
Февраль | 16 | 12 |
Март | 18 | 14 |
Апрель | 22 | 15 |
Маи | 25 | 15 |
Июнь | 27 | 15 |
Июль | 27 | 15 |
Август | 26 | 15 |
Сентябрь | 22 | 15 |
Октябрь | 19 | 14 |
Ноябрь | 16 | 14 |
Декабрь | 12 | 12 |
Управляя работой системы отопления, вентиляции и оконными шторами, устройство стремится поддерживать в помещении температуру, отличающуюся от комфортной не более чем на 1 оС. На практике, однако, этот допуск удаётся выдержать только в холодное время года, когда работает общедомовая система отопления. В остальное время, при избыточном притоке тепла в помещение, устройство стремится не допустить превышения комфортной температуры.
Если температура в помещении по каким-либо причинам упала ниже минимально допустимой, устройство приблизительно раз в минуту подаёт серии из трёх коротких звуковых сигналов.
Обмен информацией между двумя микроконтроллерами происходит по линиям, соединяющим вывод 34 (PA6) DD2 с выводом 2 (PD0) DD3 и вывод 33 (PA7) DD2 с выводом 3 (PD1) DD3. Микроконтроллер DD2 - ведущий, а DD3 - ведомый.
В исходном состоянии выводы PA7 и PA6 ведущего сконфигурированы как входы, алинии PD1 и PD0 ведомого могут находиться в одном из состояний, приведённых в табл. 2. В состоянии готовности ведомого к приёму линии PD1 и PD0 сконфигурированы как входы, а уровни логической единицы на них поддерживают резисторы R30 и R31.
Таблица 2
PD1 | PD0 | Состояние микроконтроллера DD3 |
0 | 0 | Режим ручного управления |
1 | 0 | Не готов к приему |
1 | 1 | Готов к приему |
Если ведомый находится в состоянии готовности, ведущий может генерировать запрос на считывание текущего положения штор или команду на изменение положения штор. В обоих случаях происходит пересылка одного байта. При ответе на запрос в этом байте закодировано текущее положение шторы - на сколько полуоборотов, считая от верхнего положения, она опущена. В байте команды на изменения положения штор в старшем разряде байта указано направление перемещения (1 - опустить, 0 - поднять), а в остальных - число полуоборотов перемещения.
При выдаче запроса на считывание положения штор ведущий конфигурирует свои выводы PA7 и PA6 как выходы и на 20 мс устанавливает на них код 01. После этого он переконфигурирует выводы в режим входов (при этом уровни логической единицы на линиях удерживают резисторы R30 и R31) и ожидает байт информации от ведомого.
Ведомый, дождавшись возврата вывода PD0 в единичное состояние, конфигурирует свои выводы PD1 и PD0 как выходы и начинает передачу. Информацию он передаёт последовательным кодом по линии PD0, сопровождая каждый разряд синхроимпульсом по линии PD1. По завершении передачи ведомый конфигурирует свои выводы PD1 и PD0 как входы.
Чтобы подать команду смены положения штор, ведущий конфигурирует выводы PA7 и PA6 как выходы и на 20 мс устанавливает на них код 00, после чего начинает передавать байт команды, формируя его последовательный код на выводе PA6 и сопровождая каждый разряд синхроимпульсом на выводе PA7. По завершении передачи ведущий конфигурирует свои выводы PA7 и PA6 как входы.
Ведомый, получив кодовую комбинацию 00, переходит в режим приёма команды. Завершив приём, он конфигурирует свои выводы PD1 и PD0 как выходы, устанавливает на них код 10 ("Не готов к приёму") и приступает к выполнению команды, предварительно проверив её содержимое на допустимость. Если при проверке в команде обнаружено недопустимое значение, оно будет заменено находящимся в допустимых пределах. Выполнив команду, ведомый вновь переходит в состояние готовности.
Алгоритм работы микроконтроллера DD2 в упрощённом виде можно представить состоящим из вложенных циклов: годового, суточного, часового, регулирования температуры и основного.
В начале очередного года проверяется корректность его смены. Дело в том, что значение в регистре года может измениться не только в результате его естественной смены, но и по ряду других причин. Например, при сбое или неисправности микросхемы часов реального времени. Несвоевременный "Новый год" грозит тем, что метеоданные, накопленные в EEPROM за всё прошедшее с начала текущего года время, будут уничтожены.
Проверка корректности смены года считается успешно выполненной, если наступивший год на единицу больше предыдущего. Чтобы иметь возможность проверить это, в процессе установки даты значение года загружается как в регистр микросхемы часов реального времени, так и в EEPROM микроконтроллера, откуда выбирается в качестве контрольного в ходе проверки.
Если проверка прошла успешно, программа обновляет контрольное значение года в EEPROM и стирает прошлогодние метеоданные. В противном случае содержимое EEPROM остаётся неизменным, а вместо названия дня недели программа выводит на индикатор сообщение "ОШИБКА ГОДА" и продолжает работать.
В начале каждых суток программа рассчитывает усреднённые за прошедшие сутки значения температуры наружного воздуха и атмосферного давления. Эти сведения заносятся в очередные ячейки области EEPROM, хранящей метеоданные за текущий год. Проверяется, не требуется ли обновление максимальных и минимальных за текущий квартал значений наружной температуры и атмосферного давления. Если требуется, хранящиеся в EEPROM значения будут обновлены.
Обнуляются ячейки ОЗУ часов реального времени, хранящие информацию о суточном ходе наружной температуры и атмосферного давления. Из EEPROM считывается информация о допустимой температуре в помещении. Затем рассчитываются моменты восхода и захода Солнца, текущая продолжительность светового дня, моменты включения и выключения средств досветки растений.
При наступлении очередного часа программа заносит в ячейки ОЗУ часов реального времени значения наружной температуры и атмосферного давления, измеренные в конце предыдущего часа. Она обновляет графики суточного хода температуры и атмосферного давления.
В цикле регулирования температуры программа управляет работой систем отопления, вентиляции и положением оконных штор. Исходные данные для регулирования - температура в помещении, её градиент, состояние и доступность для управления систем отопления и вентиляции, а также оконных штор.
В отличие от рассмотренных выше циклов, выполняемых программой с неизменной периодичностью, период повторения цикла регулирования пользователь может изменять в пределах от 2 до 30 мин. Дело в том, что изменение температуры в помещении под воздействием средств её регулирования происходит не мгновенно, а с некоторой задержкой, зависящей от ряда факторов, например, от теплоёмкости помещения и эффективности средств регулирования. Поэтому в каждом конкретном случае оптимальный период выполнения этого цикла необходимо подобрать экспериментально.
И наконец, основной цикл, который программа повторяет с периодом около секунды. В этом цикле она считывает и отображает информацию с датчиков температуры, влажности, давления и с часов реального времени, управляет увлажнителем, включает и выключает досветку растений, опрашивает органы управления. При выполнении соответствующих условий из главного цикла вызываются рассмотренные выше циклы.
Программа микроконтроллера DD3 при его включении, прежде всего, поднимает шторы в верхнее положение. Считается, что их положение было произвольным и неизвестным программе, а для корректного управления она должна иметь точку отсчёта, которой и служит верхнее положение штор. Такое же действие выполняется и при переводе системы управления шторами из ручного в автоматический режим, поскольку и в этом случае текущее положение штор программа считает неизвестным.
В режиме ручного управления программа устанавливает на линиях связи с микроконтроллером DD2 код 00 (признак ручного управления) и далее постоянно проверяет состояние кнопок SB1-SB4. В зависимости от него она формирует сигналы управления двигателями электроприводов штор. При движении полотен штор программа контролирует состояние датчиков их верхнего положения. Если штора поднимается, срабатывание датчика блокирует её дальнейший подъём. А вот при опускании шторы никакого программного контроля её положения нет (его невозможно достоверно организовать при имеющемся наборе датчиков), поэтому пользователь осуществляет этот контроль визуально, останавливая штору в нужный момент.
В режиме автоматического управления программа конфигурирует выводы PD0 и PD1 как входы и постоянно проверяет их состояние. При обнаружении запроса от ведущего программа идентифицирует его вид и либо передаёт информацию о текущем положении штор, либо принимает команду на изменение их положения. Если принятая команда требует опустить штору, то в первую очередь она проверяется на допустимость. Смысл проверки в том, чтобы не дать возможности опустить полотно ниже допустимого уровня - как уже было отмечено выше, никаких датчиков нижнего положения штор в устройстве нет. Алгоритм проверки прост - текущее положение шторы (число полуоборотов вала от верхнего положения) программа суммирует с числом полуоборотов, содержащимся в команде. Если результат превышает хранящееся в программе максимально допустимое значение, то принятое значение ограничивается. При подъёме штор проверка не нужна, так как в любом случае он будет остановлен сигналом датчика верхнего положения.
В программе предусмотрен обязательный подъём штор после захода Солнца, так как в тёмное время суток они не выполняют теплозащитных функций.
Информация, отображаемая на индикаторе
При включении устройство работает в режиме отображения основной информации (рис.13). На индикатор выведены текущие дата, время и день недели, длительность светового дня на текущие сутки, атмосферное давление, температура в помещении и на улице, влажность в помещении. Показаны установленные пользователем режимы управления отоплением, вентиляцией и шторами.
Рис. 13. Информация, отображаемая на индикаторе
Справа вверху отображено текущее состояние управляемых устройств: "Вн" - вентиляции, "От" - отопления, "Св" - средств досветки растений, "Ув" - увлажнителя воздуха. Если устройство в данный момент включено, его обозначение обведено рамкой. На рис. 13 - это отопление и досветка растений.
В нижней правой части экрана выведен график суточного хода наружной температуры или атмосферного давления (по выбору пользователя). Правее графика в прямоугольных рамках размещены максимальное (вверху) и минимальное (внизу) значения отображаемого на графике параметра за истёкшую часть суток.
Три области экрана служат сенсорными кнопками управления. На рис. 13 они обведены красными рамками (на экране таких рамок нет). Нажатием на среднюю кнопку можно выбрать выводимый на график параметр (атмосферное давление или наружную температуру), а нажатием на правую кнопку перевести индикатор в режим отображения метеоданных, накопленных за прошедшую часть текущего года.
Вид экрана индикатора в этом режиме представлен на рис. 14. Так как разрешающая способность экрана недостаточна для отображения информации за весь год, она выводится поквартально. В верхней части экрана выведены номер квартала (в рамке) и значения абсолютных максимумов и минимумов наружной температуры и атмосферного давления за выбранный квартал с указанием дат, в которые они были зафиксированы.
Рис. 14. Вид экрана индикатора
В средней части экрана расположен график изменения усреднённых за сутки значений наружной температуры и атмосферного давления в течение квартала. Кривая давления выведена утолщённой линией, температуры - тонкой. По умолчанию при входе в этот режим отображаются данные за текущий квартал. К другим кварталам переходят с помощью экранных кнопок "ПРЕД" и "СЛЕД", а нажатием на экранную кнопку "ВЫХ" возвращаются в режим отображения основной информации. Если в памяти устройства данные за выбранный квартал отсутствуют, на экран будет выведено сообщение "НЕТ ДАННЫХ".
Сервисное меню
С помощью этого меню задают значения параметров, используемых при работе устройства. Оно даёт возможность установить:
- текущие дату, время и день недели;
- часовой пояс места расположения устройства в часах относительно UTC. Эта информация нужна для вычисления времени восхода и захода Солнца;
- требуемую продолжительность светового дня в интервале 10...20ч с дискретностью 1 ч;
- требуемую влажность воздуха в помещении в интервале 40...70 % с дискретностью 1 %;
- режим использования системы отопления "Ручной" или "Автомат". В режиме "Автомат" система отопления работает согласно программе, в режиме "Ручной" управление не ведётся, термоэлектрический привод обесточен, а управляющий клапан открыт. Радиаторы отопления помещения оказываются постоянно подключёнными к общедомовой системе отопления. Этот режим целесообразно включать в летний период, когда отопление не требуется;
- режим использования системы вентиляции "Выключено" или "Автомат";
- период повторения цикла регулирования температуры в пределах 2...30 мин с дискретностью в 1 мин.
Кроме того, меню предоставляет возможность стереть из памяти информацию о суточном ходе наружной температуры и атмосферного давления. Эту операцию следует выполнять при первом включении устройства, а также после смены элемента резервного питания микросхемы часов реального времени. Иначе в ячейках ОЗУ этой микросхемы будут находиться случайные, не имеющие ничего общего с реальными значения, на основании которых программа построит суточный график. Что ещё хуже, эти непредсказуемые значения войдут в годовую статистику.
Входят в меню нажатием на левую экранную кнопку (см. рис. 13). Экран индикатора примет вид, показанный на рис. 15. В рамке будут выведены название параметра и его текущее значение. Имеются экранные кнопки выбора параметров "ПРЕД" и "СЛЕД", изменения текущего параметра "+" и "-", а также выхода из меню с сохранением параметров "ВЫХ". Выйти из меню можно в любой момент, перебирать все параметры не обязательно, достаточно откорректировать только нужные.
Рис. 15. Вид экрана индикатора
Особенности подготовки программ для микроконтроллеров
Вследствие нехватки программной памяти микроконтроллера DD2 реализовать через меню все сервисные функции устройства не удалось. Иначе говоря, некоторые параметры приходится задавать в тексте программы перед её компиляцией. Правда, таких параметров всего три, и их не требуется изменять в процессе использования устройства. Это географические координаты (широта и долгота) места использования устройства, а также число импульсов датчика полуоборотов вала шторы, необходимых для перемещения её полотна из крайнего верхнего в крайнее нижнее положение. Последнее число должно быть внесено и в программу микроконтроллера DD3.
По этой причине приложенные автором к статье загрузочные (.hex) файлы программ могут быть полноценно использованы только при условии, что устройство находится на расстоянии не более 70...100 км от г. Москвы (в программе указаны её координаты), а оконные шторы опускаются вниз за 25 полуоборотов вала. В остальных случаях тексты программ необходимо корректировать.
Чтобы сделать это, в начале исходного текста программы микроконтроллера DD2 (файл klimat_mega.bas) найдите после объявления переменных строки:
La = 55.5 'Широта (град.)
Lo = 37.5 'Долгота (град.)
Stepmax =25 'Число шагов
и замените в них значения переменных нужными. В начале исходного текста программы микроконтроллера DD3 (файл klimat_tiny.bas) найдите строку
Stepmax = 25 'Число шагов
и замените в ней число 25 числом шагов (полуоборотов) для своей шторы. После этого откомпилируйте обе программы и загрузите коды из полученных hex-файлов в микроконтроллеры.
Порядок программирования микроконтроллеров
Программирование микроконтроллера DD2 (ATmega32-16PU) следует выполнять в следующей последовательности:
1. Запрограммируйте конфигурацию микроконтроллера в соответствии с табл. 3.
2. Загрузите в микроконтроллер коды из файла Init_Mega.hex и запустите эту программу. Она подготовит к работе EEPROM микроконтроллера - загрузит в него информацию из табл. 1 и очистит область размещения метеоданных за год (если микроконтроллер уже использовался, там может находиться информация, записанная предыдущими программами).
3. Через пять-десять секунд загрузите в микроконтроллер откомпилированную рабочую программу.
Программирование микроконтроллера DD3 особенностей не имеет. Его конфигурация должна соответствовать табл. 4.
Таблица 3
ATmega32 | |||
Разряд | Знач. | Разряд | Знач. |
OCDEN | 1 | BODLEVEL | 1 |
JTAGEN | 1 | BODEN | 1 |
SPIEN | 0 | SUT1 | 1 |
СКОРТ | 1 | SUT0 | 0 |
EESAVE | 1 | CKSEL3 | 0 |
BOOTSZ1 | 0 | CKSEL2 | 0 |
BOOTSZO | 0 | CKSEL1 | 1 |
BOOTRST | 1 | CKSEL0 | 1 |
Таблица 4
ATtiny2313 | |||
Разряд | Знач. | Разряд | Знач. |
SELFPRGEN | 1 | ||
DWEN | 1 | CKDIV8 | 1 |
EESAVE | 0 | CKOUT | 1 |
SPIEN | 0 | SUT1 | 1 |
WDTON | 1 | SUT0 | 0 |
BODLEVEL2 | 1 | CKSEL3 | 0 |
BODLEVEL1 | 1 | CKSEL2 | 0 |
BODLEVELO | 1 | CKSEL1 | 0 |
RSTDISBL | 1 | CKSELO | 1 |
Файлы печатных плат и программы микроконтроллеров можно скачать здесь.
Литература
4. Sunrise/Sunset Algorithm Example. - URL: http://williams.best.vwh.net/sunrise_ sunset_example.htm (07.04.16).
Автор: А. Савченко, пос. Зеленоградский Московской обл.