Я тут на досуге разработал программку для сверхгибко программируемого многоканального таймера... Может, кто помнит, что был у меня
проект, так и не доведенный до ума...
Так вот, сейчас я почти на 100% сделал новый вариант - одновременно и проще, и гибче прошлого.
Кратко об особенностях:
1. Можно использовать любой МК не хуже atmega8 (объем прошивки не менее 7,5К)
2. До 8 независимо программируемых каналов
3. Время считает МК (часовой кварц и асинхронный таймер), при потере питания все, кроме МК, обесточивается, а сам МК уходит в сон, питаясь от литиевой батарейки
4. МК тактируется от встроенного RC-генератора 8МГц, "разгоняемого" на максимум (если верить даташиту - до 16 МГц может дойти тактовая), перед переходом в сон генератор наоборот, тормозится, чтобы при пробуждении по таймеру поменьше потреблять
6. Применяется ЖКИ 16х2 и 6 кнопок
7. Минимально отрабатываемый таймером интервал времени 0,25 сек
8. Программирование каждого канала ведется путем задания в текстовом виде строки-условия: при выполнении условия канал активируется. Редактирование строки максимально упрощено (еще не на 100% доработан контроль синтаксиса)
9. Программы для каналов хранятся во встроенном EEPROM микроконтроллера, память делится между каналами не поровну, а гибко, т.е. один канал может управляться программой в 12 байт, а второй в 400, а всем остальным достанется остаток в 100 байт... Предусмотрена возможность использования для хранения программ каналов внешней I2C или SPI микросхемы.
Что в итоге получается? Получается таймер, который способен, например, не просто включить и выключить в заданное время нагрузку, но запрограммировать эту нагрузку на включение по весьма хитрым алгоритмам. Например, в качестве демо-примера можно запрограммировать один из каналов так, что он будет каждый час выдавать импульсы по 0,25 сек длительностью пачками, причем количество импульсов в пачке будет совпадать с номером текущего (начавшегося) часа -
режим боя часов: можно к каналу подключить электромагнит и будет он бить в настоящий колокол.
правда, программа для такого режима занимает примерно 50% имеющейся EEPROM в atmega16...То есть управлять освещением 8 независимых аквариумов - это самое малое, на что устройство способно.
Интересна ли такая разработка кому-либо? Хотелось бы независимой критики и помощи в доведении проекта до ума - собрать даже на макете плату мне последнее время довольно сложно, отлаживаю в протеусе со всеми вытекающими "нюансами". Если есть заинтересовавшиеся - жду сообщений.Если не найдутся - доделаю так или иначе проект сам, он мне в хозяйстве пригодится. Но когда это будет - вопрос очень большой...
Содержимое поста отредактировано: ARV, в: 05.03.2015 00:41