Солнце — это источник жизни и энергии, управлять которым мы не умеем. Тем не менее, имея одну солнечную батарею, мы можем определить его активность. Для этого соберем прибор с условным названием "Солнцемер". Он оценит мощность потока лучей от небесного светила.
Зачем нам знать, насколько активно солнце? Чтобы получить ответ на повседневные вопросы: "Поспеет урожай раньше или погибнет?", "Можно пойти позагорать или лучше выйти попозже, чтобы не обгореть?", "Сколько энергии, которую можно эффективно накопить?"... Как измерить активность солнца? Ответ на этот вопрос непрост, но его наглядное техническое решение вполне тривиально. Необходимо накопить энергию солнечных лучей и тут же ее потратить. Насколько быстро протекает этот процесс, и насколько стабильно он повторятся, настолько и активно наше светило. Можно даже определить количество передаваемой энергии и оценить этот процесс, например, по десятибалльной шкале.
В решении этих вопросов нам поможет "Солнцемер" (рис. 2.1).
Дизайн устройства представлен на рис. 2.2.
Рис. 2.2. Дизайн "Солнцемера"
Основание 1 изготовлено из использованного оптического диска. На основании установлены светодиоды 5. Всю конструкцию можно удерживать снизу за держатели 2. Плата управления 3 установлена перпендикулярно основанию 1 и крепится к стойкам 4. Стойки 4 так же удерживают диск солнечной батареи 6.
Во время экспериментов конструкция поворачивается к солнцу так, чтобы лучи солнца попадали перпендикулярно к плоскости диска солнечной батареи 6. Солнечная энергия, попавшая на фотоэлемент, накапливается на конденсаторах большой емкости. Плата управления проверяет уровень заряда конденсаторов и включает светодиоды в определенной последовательности. Расположение светодиодов по окружности позволяет различать процесс затраты накопленной энергии. Для наглядности светодиоды включаются последовательно до определенного максимума и светятся долгое время. Продолжительность свечения даст возможность оценить степень активности солнца.
Однако солнечная активность может быть очень высокой, поэтому существует второй вариант программы. В нем последовательное включение светодиодов представлено в виде вращения, длительность которого и определяет мощность солнечных лучей.
Как еще одна альтернатива, добавлена также программа вращения засветки светодиодов (по два светодиода).
Структурная схема
Структурная схема "Солнцемера" показана на рис. 2.3.
Рис. 2.3. Структурная схема "Солнцемера"
Солнечные лучи, попадая на диск фотоэлемента, возбуждают в батарее ЭДС. В фотоэлементе, как в источнике тока, возникает направленное движение электронов. Ток от фотоэлемента протекает через диод Шотки D к конденсатору большой емкости С, который заряжается тем быстрее, чем больше активность солнца. Как только конденсатор зарядился до напряжения 2,7 В, включается микроконтроллер AT tiny26 [1]. Дальнейший заряд конденсатора продолжается до максимального значения напряжения холостого хода фотоэлемента YH94-4B250-P. Микроконтроллер отслеживает уровень заряда на входе АЦП и сравнивает его с опорным напряжением внутреннего источника.
В процессе разработки устройства возник вопрос: "Как определить уровень заряда конденсатора С?". Согласно документации, внутри микроконтроллера ATtiny26 присутствует источник опорного напряжения напряжением 1,1 В [1]. Далее используем формулу:
ADC = (Vin- 1024)/Vref,
где Vin = 3,8 В, Vref = 1,1 В. Проведя подсчет, получим значение 3537 или в шестнадцатеричном представлении — DDlh. Это значение и есть
порогом срабатывания АЦП и дальнейшей активизации подпрограммы засветки светодиодов.
Представленная выше формула справедлива для питания микроконтроллера 5,0 В, но в нашем случае стабильное питание схемы устанавливается на уровне 3,8 В. Возможно, необходимо уменьшить значение DDlh до уровня DOlh.
Как только уровень заряда достаточен, запускается подпрограмма включения светодиодов. Пользователь выбирает одну из трех подпрограмм засветки светодиодов, в зависимости от поставленной задачи. Это можно сделать с помощью DIP-переключателей.
После срабатывания порога заряда конденсатора программа продолжит выполнение выбранной пользователем подпрограммы. Микроконтроллер выводит в порт ввода-вывода единицы и нули, тем самым, активизируя светодиоды LED 1-LED 10. Для усиления тока засветки светодиодов применены полевые транзисторы Q1-Q10, которые не требуют дополнительных цепей в управлении. Полевые транзисторы могут рассеивать значительную мощность во время коммутации. Такое решение защитит микроконтроллер от перегрева и перегрузок.
Принципиальная схема
Принципиальная схема "Солнцемера" (рис. 2.4) построена на основе микроконтроллера ATtiny26 [1], оснащенного флэш-памятью программ на 2 Кбайт, ОЗУ объемом 128 байт и EEPROM-памятью данных объемом 128 байт. Команд — 118, линий ввода-вывода — 16, таймеров/ счетчиков — два восьмиразрядных, 10-разрядный И-канальный АЦП, аналоговый компаратор.
Схема управления питается от заряженных конденсаторов С5-С8. Солнечная батарея YH94-4B250-P генерирует ток при попадании солнечных лучей. Ток от фотоэлемента проходит через параллельно соединенные диоды Шотки US1-US3 и заряжают конденсаторы С5-С8. Диоды Шотки пропускают максимальный ток 70 мА. Поскольку фотоэлемент YH94-4B250-P генерирует максимальный ток 84 мА, решено установить два параллельно включенных диода, что снизит риск выхода схемы из строя.
В схеме не предусмотрен выключатель питания. Его функцию выполняет DIP1. Пока DIP 1-переключатели находятся в нулевом состоянии, на светодиоды не подаются импульсы управления, а программа находится в режиме ожидания. Как только пользователь выбрал необходимую подпрограмму, активизируется вывод сигналов в порты А и В.
Рис. 2.4. Принципиальная схема "Солнцемера"
Как было отмечено ранее, для усиления сигнала по току использованы полевые транзисторы Q2-Q11. Для ограничения тока светодиодов LED1-LED10 применены резисторы R1-R10. Питание для светодиодов берется непосредственно с конденсаторов С5-С8.
Микроконтроллер IC1 питается через один из диодов Шотки и резистор R12. Пульсации по питанию сглаживает цепочка С4, С7. Для ограничения напряжения питания установлен стабилитрон D1. Схема отдельного питания применена для уменьшения пульсации напряжения, защиты микроконтроллера от перенапряжения и возможности его программирования независимо от питания остальной части схемы.
Кварцевый резонатор Q1 предназначен для синхронизации внутреннего генератора микроконтроллера. Конденсаторы CI, С2 служат для подавления паразитных гармоник резонатора. При включении питания схема сброса формирует сигнал перевода микроконтроллера в исходное состояние. Эта схема построена на цепочке СЗ, Rl 1.
Ключ SW1 предназначен для переключения подпрограмм работы светодиодов. Оперативное перепрограммирование схемы осуществляют через пятивыводной разъем Elka22 SV1.
Установленные на плату детали:
• солнечная батарея YH94-4B250-P — генерирует максимальное напряжение холостого хода 4,8 В и максимальный ток 84 мА; общая мощность 0,32 Вт;
• кварцевый резонатор на 8 МГц (лодочка);
• в качестве электролитических конденсаторов С5, С6, С8 применены ионисторы на 0,047 Ф; 5,5 В фирмы TOKIN;
• диоды Шотки BAS70 [2];
• светодиоды UL-308H183BC_133 — 3 мм;
• транзисторы полевые BSS138 [12];
• пассивные SMD-элементы класса 1206.
Монтажная плата
Монтаж радиоэлементов на плате — поверхностный. Для этих целей автор задействовал паяльный мининабор ZD 927. Для макетирования использовалась часть готовой макетной платы CRS-045 габаритами 45x53 мм (рис. 2.5).
Разводка двухстороннего текстолита с габаритными размерами 52х 72 мм представлена на рис. 2.6-2.8. Расположение элементов на плате показано на рис. 2.6. Поверхностные элементы, разъем SV1, Ql, SW1 монтируются непосредственно на поверхность платы (рис. 2.7). Обратная сторона платы показана на рис. 2.8.
Рис. 2.8. Обратная сторона платы
Светодиоды устанавливаются на диск конструкции, а с платой соединяются проводами согласно полярности элементов. Питание от фотоэлемента подается на контакты JP1, JP2. При этом необходимо соблюдать полярность фотоэлемента.
Алгоритм работы
Блок схема алгоритма работы "Солнцемера" показана на рис. 2.9.
Вначале программы все порты ввода-вывода устанавливаются в нулевое состояние. Затем АЦП считывает данные по питанию. Если уровень питания выше значения DDlh, что соответствует порогу срабатывания АЦП на уровне 3,8 В, то программа переходит на этап засветки светодиодов. Если уровень питания ниже значения DDlh , то программа переходит в начало.
Как только уровень превышен, микроконтроллер проверяет состояние DIP-переключателей. Если DIP 1.1 = 1, DIP 1.2 = 0, то программа переходит к подпрограмме засветки светодиодов по возрастанию. Это значит, что вначале включается первый светодиод, потом — первый и второй, потом — первый, второй и третий и т.д. по возрастанию. Цикл повторяется десять раз, после чего выполняется переход в начало программы. На каждом шаге цикла реализуется задержка между засветками светодиодов.
Если DIP 1.1 = О, DIP 1.2 = 1, то программа переходит к подпрограмме засветки светодиодов по очереди. Это значит, что вначале включается первый светодиод, потом первый гаснет и включатся второй, потом второй гаснет и включается третий и т.д. по очереди. Цикл повторяется десять раз, после чего выполняется переход в начало программы. На каждом шаге цикла реализуется задержки между засветками светодиодов и между гашением светодиодов.
Если DIP 1.1 = 1, DIP 1.2 = 1, то программа переходит к подпрограмме засветки светодиодов по возрастанию по два. Это значит, что вначале засвечивается первый светодиод, потом — первый и второй, потом первый гаснет, а засвечиваются второй и третий, потом второй гаснет, а засвечиваются третий и четвертый и т.д. по возрастанию.
Если DIP 1.1 = О, DIP 1.2 = 0, программа переходит в начало.
Программа
Программа (листинги 2.1 и 2.2) записывается в микроконтроллер IC1 через разъем SV1 с помощью компьютера и программатора STK200. Программа полностью соответствует рассмотренной блок-схеме.
"Солнцемер"
Программа содержит три подпрограммы, реализующих различные комбинации включения светодиодов. Кодировка таких комбинаций указана в табл. 2.1. Программу можно значительно расширить, поскольку использовано всего 280 байт памяти программ.
Таблица 2.1. Порядок построения светодиодов по часовой стрелке, начиная
с 12:00: 1-2-3-4-5-6-7-8 на плате 9, 10
Таблица 2.1. Окончание
Эксплуатация
Настройка начинается с записи листинга 2.2 в микроконтроллер через разъем Elka 22. Затем к выводам питания вместо солнечной батареи подключается источник 4,5 В на ток 100 мА (возможно подключение батареек ).01Р-переключатель устанавливается в положение "OFF, OFF", на светодиоды импульсы управления не подаются. Этот режим аналогичен режиму ожидания в бытовой технике. Далее DIP-переключатель устанавливается в положение ""ОМ, OFF". Запускается тестовая программа периодической засветки поочередно всех светодиодов. Если устройство работает исправно, то на выводы питания подключается солнечная батарея (см. рис. 2.5). Выбирается первая программа засветки всех светодиодов до максимума в зависимости от заряда конденсаторов. Выбирается вторая программа (DIP — "OFF, ON") периодической последовательной засветки светодиодов в зависимости от заряда конденсаторов.