Разработка системы управления солнечной батареей

Принцип работы и эффективность солнечных панелей. Обзор устройств слежения за солнцем O1ARX1 и МК-Сапфир. Разработка функциональной схемы системы слежения за солнцем. Выбор фотодатчика, драйвера, микроконтроллера. Составление алгоритма работы программы.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 21.11.2016
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

БАЛТИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ "ВОЕНМЕХ"

им. Д.Ф. УСТИНОВА

КУРСОВАЯ РАБОТА

по учебной дисциплине - Микропроцессорные средства

на тему - Разработка системы управления солнечной батареей

студента - Вдовиной Александры Ивановны

группы И311

Преподаватель - Лосев С.А.

Санкт-Петербург

2014 г.

Реферат

СХЕМОТЕХНИКА, МИКРОЭЛЕКТРОНИКА, АЛГОРИТМИЗАЦИЯ, ПРОГРАММИРОВАНИЕ.

Цель работы: разработка системы управления солнечной батареей, осуществляющей нахождение положения солнца и поворот солнечной батареи перпендикулярно солнечному потоку.

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

Содержание

Определения, обозначения и сокращения

Введение

1. Анализ технического задания

2. Поиск прототипов

2.1 Устройство слежения за солнцем O1ARX1

2.2 Устройство слежения за солнцем МК-Сапфир

3. Построение функциональной спецификации

4. Разработка функциональной схемы системы

5. Выбор элементной базы

5.1 Выбор фотодатчика

5.2 Выбор двигателя

5.3 Выбор драйвера

5.4 Выбор микроконтроллера

6. Построение принципиальной электрической схемы

7. Построение алгоритма работы программы

8. Построение рабочей программы

Заключение

Список использованных источников

Приложение А

Определения, обозначения и сокращения

АИЭ - альтернативные источники энергии.

Фотовольтаика - метод выработки электрической энергии путем использования фоточувствительных элементов для преобразования солнечной энергии в электричество.

ФД - фотодатчик.

МК - микроконтроллер.

ДР - драйвер.

ДВ - двигатель.

Введение

Вопросы экологии и энергетической безопасности все сильнее влияют на нашу жизнь. Увеличивающееся загрязнение окружающей среды, нарушение теплового баланса атмосферы постепенно приводят к глобальным изменениям климата. Современные наиболее используемые источники электроэнергии это гидро-, тепло- и атомные электростанции. Дефицит энергии и ограниченность топливных ресурсов с всё нарастающей остротой показывают неизбежность перехода к нетрадиционным, альтернативным источникам энергии. Они экологичны, возобновляемы, основой их служит энергия Солнца и Земли.

Актуальность и важность скорейшего перехода к АИЭ можно рассматривать в нескольких аспектах:

- экологический: сегодня общеизвестен и доказан факт пагубного влияния на окружающую среду традиционных энергодобывающих технологий (в т.ч. ядерных и термоядерных), их применение неизбежно ведет к катастрофическому изменению климата.

- политический: та страна, которая первой в полной мере освоит альтернативную энергетику, способна претендовать на мировое первенство и фактически диктовать цены на топливные ресурсы.

- экономический: переход на альтернативные технологии в энергетике позволит сохранить топливные ресурсы страны для переработки в химической и других отраслях промышленности. Кроме того, стоимость энергии, производимой многими альтернативными источниками, уже сегодня ниже стоимости энергии из традиционных источников, да и сроки окупаемости строительства альтернативных электростанций существенно короче. Цены на альтернативную энергию снижаются, а на традиционную - постоянно растут.

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

Сегодня во многих странах альтернативная энергетика развивается довольно стремительно. Например, в Германии действует программа «Сто тысяч солнечных крыш», в США - «Миллион солнечных крыш» [1]. Китай, не так давно вышедший на рынок солнечной энергетики, начинает вплотную приближаться к лидерам, по крайней мере, в объемах производства продукции для солнечной энергетики.

Россия сильно отстает по развитию в этом направлении. Кроме принятия ряда деклараций о важности развития этой отрасли и разработки нескольких проектов по созданию генерирующих мощностей на основе фотовольтаики, - почти никаких сдвигов нет. За исключением недавно запущенного в Белгородской области первого в России проекта по генерации энергии на солнечных модулях и подаче непосредственно в сеть[1].

Затруднению развития солнечной электроэнергетики в России способствуют несколько факторов. Во-первых, в России практически не производятся необходимые компоненты для строительства солнечных электростанций. С 2001 г. в стране отсутствует собственное производство чистого кремния [1]. Компания «Нитол», официально объявившая в январе 2008 г. о начале промышленного производства кремния «солнечного качества», до сих пор не может выйти за рамки объема опытного производства. Остальные проекты пока остаются на уровне теоретических разработок. Организованная недавно Кремниевая ассоциация имеет амбициозные планы по созданию крупного производства кремния в Ростовской области, но не располагает средствами для его реализации. К тому же, для сборки кристаллических модулей требуется специальное стекло с низким содержанием железа, которое в России тоже не производится. В стране низкое качество изготовления ламинирующих материалов. Во-вторых, наличие законодательно-бюрократических ограничений. Ни частному лицу, ни организации нельзя поставить солнечную электростанцию наподобие того, как это делает вся Европа, Америка и Япония, без соответствующего разрешения властей. Также запрещено продавать энергию в национальную сеть по повышенному тарифу, а потреблять по обычному. Получается, у компаний отсутствует стимул развивать солнечную энергетику за счет собственных сбережений. С 2007 г. в Государственной Думе РФ не принято никаких решений по законопроекту о стимулирующих тарифах для альтернативной энергетики, хотя уже во многих субъектах РФ созданы как бюджетные, так и внебюджетные фонды энергосбережения по накоплению средств для финансирования проектов по альтернативной энергии. Пока эти средства не идут на финансирование проектов по альтернативной энергии [1].

Итак, что можно предложить для решения данной проблемы. Прежде всего нужно вводить поправки в законодательство, чтобы снять существующие ограничения. Это позволит частным организациям развиваться в направлении использования АИЭ. Дальше нужно совершенствовать техническую базу, чтобы можно было строить электростанции. Если необходимые компоненты не производятся в России, то их можно покупать за границей, а при наличии большого спроса организовать производство в нашей стране. Для получения большей выгоды нужно привлекать науку для поиска новых решений по использованию альтернативных ресурсов, а также использовать средства автоматизации. Например, в солнечной энергетике можно использовать системы автоматической ориентации солнечных батарей. Именно эта задача рассматривается в данном курсовом проекте.

1. Анализ технического задания

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

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

Чтобы учитывать все возможные варианты расположения Земли относительно Солнца и получать максимальную отдачу от использования солнечной батареи необходимо снабдить её системой управления, которая будет ориентировать батарею в пространстве и автоматически располагать её под оптимальным углом к солнцу.

От системы управления требуется высокая точность, чтобы быть уверенным в том, что собранные солнечные лучи падают прямо на соответствующее приспособление.

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

Условия эксплуатации системы:

- температурный режим: от -40°С до +70°С;

- относительная влажность: до 90%;

- напряжение питания: не более 24В.

2. Поиск прототипов

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

Конечный пользователь предпочтет систему ориентации солнечных батарей, нежели систему, зафиксированную на земле, потому что:

- Производительность возрастает на 35-45%;

- Уменьшается площадь, необходимая для солнечной установки, при этом вырабатываемая энергия остается такой же;

- Система слежения сама окупается в среднем в течение 4-х лет.

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

Рис.1. Одноосевые и двухосевые солнечные установки

Устройства, снабженные системой слежения за солнцем, также могут различаться по типу и виду используемых датчиков, принципам функционирования системы управления, конструктивным особенностям. Рассмотрим некоторые типы подобных устройств.

2.1 Устройство слежения за солнцем 01ARX1

солнечный батарея программа управление

Система состоит из фотодетектора, блока управления, GPS приемника. Она может работать с одним актуатором (движение по одной оси) или двумя актуаторами (движение по 2 осям) для поворота панели солнечных батарей вслед за солнцем [2].

Диаграмма установки (рисунок 2):

Рисунок 2 - Диаграмма установки устройства 01ARX1

В качестве актуаторов используются устройства для передвижения панели солнечных батарей 01G360 (рис.4, 5).

Рис.3. Схема расположения выводов контроллера

Рис.4. Устройства для передвижения панели солнечных батарей 01G360

Таблица 1 - Технические характеристики устройства 01ARX1

Блок управления

Максимальная мощность

4A@24 В пост. ток, до 2 актуаторов

Напряжение питания

24 В пост. ток

Диапазон азимута

До 180° или 220° (в зависимости от управляющей системы)

Элевация

До 90° (в зависимости от управляющей системы)

Защита

Защита от перегрузки

Размеры

110 x 220 x 300 мм

Фотодетектор

Размеры

82 x 98 x 50 мм

GPS ресивер

Энергопотребление

36мА@5В пост. ток

Размеры

50 x 60 x 22 мм

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

Поворотный механизм автоматического слежения за солнцем TITAN TRACKER (Испания). Titan Tracker (рис.10) - это рамная поворотная конструкция для модулей солнечных батарей, которая динамически ориентируется относительно видимого положения Солнца, сохраняя оптимальное положение солнечных батарей [7].

Рис.5. Поворотный механизм автоматического слежения за солнцем TITAN TRACKER

Достоинства солнечной установки TITAN TRACKER:

1) Большая производительность энергии: двухосевое слежение, начиная с 10 градусов, что на 45% больше, чем у фиксированных не движущихся систем (в 40 є широты).

2) Достаточная устойчивость под ветровыми нагрузками:, 5 точек крепления выдерживают до 125 км / ч (20м/с) в любом месте.

3) Высокая надежность конструкции: собранная с помощью винтов, без сварки, без гидравлики в виде оцинкованной 3D структуры из метала холодного формирования. Решающее значение для надежности имеет независимость между структурой и системой привода.

4) Высокая мощность установки: 219 м2 поверхности модулей.

5) Низкая конечная стоимость: экономия материалов (80% стали и 35% бетона) в сравнении со смонтированными недвижимыми системами.

6) Легкая и быстрая установка: меньше винтов на модуле установки, чем присущее количество у плоских установок.

7) Сокращение обслуживания, которое является результатом применения высокотехнологических разработок и материалов.

8) Точность наведения - около 0,01 градуса. Дизайн трекера основан на 5 несущих опорах: 1 фиксированной центральной и четырёх роликовых опор. Опоры держат две симметричные рамы для солнечных панелей.

2.2 Устройство слежения за солнцем МК-Сапфир

На рисунке 6 представлен вид устройства МК-Сапфир[3].

Рисунок6 - МК-Сапфир

Таблица 2 - Технические характеристики устройства МК-Сапфир

Входное напряжение

12 В

Мощность СБ стандарт, (макс)

100(350) Вт

Емкость аккумуляторов

150 Ач

Ток нагрузки

15 А

Диапазон рабочих температур

-40°C ~ +60°C

Защита от КЗ

есть

Защита от разряда АКБ

есть

3. Построение функциональной спецификации

3.1 Входы

Входными сигналами системы являются:

- сигналы с ФД.

3.2 Выходы

Выходными воздействиями системы являются:

- сигнал управления приводами.

3.3 Функции

Выполняемые системой функции:

- измерение сигнала с каждого ФД;

- сравнение сигналов между ФД 1 и ФД3:

1) Если сигнал на ФД1 больше чем на ФД3, то отклоняем батарею по горизонтали против часовой стрелки;

2) Если сигнал на ФД1 меньше чем на ФД3, то отклоняем батарею по горизонтали по часовой стрелки;

- сравнение сигналов между ФД2 и ФД4:

1) Если сигнал на ФД2 больше чем на ФД4, то отклоняем батарею по вертикали по часовой стрелки;

2) Если сигнал на ФД2 меньше чем на ФД4, то отклоняем батарею по вертикали против часовой стрелки;

4. Разработка функциональной схемы системы

Функциональная схема системы представлена на рисунке 7.

Рисунок 7 - Функциональная схема системы

4.1 Требования к функциональным блокам системы

- фотодатчик. Спектральный диапазон от 400 нм до 700 нм. Тип сигнала - аналоговый. Условия эксплуатации: температура от -40°С до +70°С, напряжение питания не более +12В. Количество 4 шт.;

- двигатель. Условия эксплуатации: температура от -40°С до +70°С, напряжение питания не более +24В. Количество 2 шт.;

- драйвер. Условия эксплуатации: температура от -40°С до +70°С, напряжение питания не более +24В. Количество 2 шт.;

- микроконтроллер. Быстродействующий 8-ми разрядный МК. Минимум 10 линии вв./выв., 8-битных таймера/счетчика, наличие блока АЦП. Диапазон рабочих температур от -40єС до +70 єС. Напряжение питания не более +24В.

5. Выбор элементной базы

5.1 Выбор фотодатчика

Фотодатчик - полупроводниковый преобразователь, предназначенный для измерения параметров светового излучения.

Типы фотодатчиков:

- Фоторезистор - полупроводниковый фотоэлемент, обладающий свойством менять свое активное сопротивление под действием падающего на него света.

- Фототранзистор - оптоэлектронный полупроводниковый прибор, использующий транзисторную структуру с возможностью усиления фототока.

- Фотодиод - приёмник оптического излучения, который преобразует попавший на его фоточувствительную область свет в электрический заряд за счёт процессов в p-n-переходе.

Типы фотодиодов:

- p-i-n фотодиод - разновидность фотодиода, в котором средняя i-область заключена между двумя областями противоположной проводимости. При достаточно большом напряжении оно пронизывает i-область, и свободные носители, появившееся за счет фотонов при облучении, ускоряются электрическим полем p-n переходов. Это дает выигрыш в быстродействии и чувствительности. Повышение быстродействия в p-i-n фотодиоде обусловлено тем, что процесс диффузии заменяется дрейфом электрических зарядов в сильном электрическом поле.

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

- Фотодиод Шоттки - имеет структуру металл-проводник. Если энергия кванта излучения больше высоты потенциального барьера, то возбужденные электроны из металла могут перейти в полупроводник.

- Фотодиод с гетероструктурой - прибор, имеющий переходный слой, образованный полупроводниковыми материалами с разной шириной запрещенной зоны. За счет подбора полупроводников с различной шириной запрещённой зоны можно перекрыть весь диапазон длин волн. Недостаток -- сложность изготовления [4].

В данном курсовом проекте решено использовать фотодатчик фирмы Vishay Semiconductors BPW34S, изображенный на рисунке 8 [8].

Рисунок 8 - Фотодатчик BPW34S

BPW34S является высокоскоростным и высокочувствительным фотодиодом с PIN-кодом, размещенным в миниатюрном плоском пластиковом корпусе. BPW34S -- предназначен для использования в качестве приемников видимого и инфракрасного излучения в составе оптических датчиков. Активная область в сочетании с плоской поверхностью фотоэлемента, дает прибору высокую чувствительность и широкий угол обзора 130°. Область применения: фотоэлектрическая автоматика, вычислительная и измерительная техника, в устройствах бесконтактного измерения температуры.

Особенности:

- Высокая чувствительность;

- Высокая скорость;

- Высокая надёжность;

- Высокая линейность;

- Простота использования.

Характеристики фотодиода BPW34S представлены в таблице 3:

Таблица 3 - Характеристики фотодиода BPW34S

Тип диода

PIN-код

Спектральный диапазон

430нм ~ 1100нм

Длина волны

940 нм

Время отклика

100 нс

Обратное напряжение (Vr) (макс.)

60 В

Темновой ток

2 нА

Активная область

7.5 ммІ

Угол обзора

130°

Рабочая температура

-40°C ~ +100°C

Рисунок 9- Габаритные размеры фотодиода BPW34S

5.2 Выбор двигателя

Типы двигателей:

- Двигатель постоянного тока - электрическая машина, преобразующая электрическую энергию постоянного тока в механическую энергию. Двигатели постоянного тока обладают рядом достоинств, обеспечивающих им широкое применение в системах автоматического регулирования. К таким достоинствам относятся возможность в широких пределах плавного регулирования скорости вращения двигателя; быстрый разгон и торможение; значительный пусковой момент; способность к перегрузкам. Основным недостатком большинства двигателей постоянного тока является наличие ненадежного «щетко-коллекторного» механизма. Кроме того, искрение коллектора под нагрузкой делает невозможным использование двигателей постоянного тока во взрывоопасных помещениях.

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

1) однофазные -- запускаются вручную, или имеют пусковую обмотку, или имеют фазосдвигающую цепь;

2) двухфазные -- в том числе конденсаторные;

3) трёхфазные;

4) многофазные.

- Шаговый двигатель - электромеханическое устройство, которое служит для преобразования сигнала управления в перемещение ротора. Перемещение происходит с фиксацией в заданном положении и может быть двух видов - угловым или же линейным. Шаговый двигатель является синхронным. Главное преимущество шаговых приводов - точность.

Будем использовать двигатель постоянного тока фирмы RE 50 Ш 50 мм, Graphite Brushes, 200 Watt из каталога фирмы Maxon.

Характеристики двигателя постоянного тока представлены в таблице 4:

Таблица 4 - Характеристики двигателя постоянного тока

Номинальное напряжение

24 В

Макс. скорость вращения

5680 об/мин

Ток без нагрузки

0.236 А

Ток под номинальной нагрузкой

10.8 А

Крутящий момент

0.354 Н*М

Мощность

200 Вт

КПД

73.52 %

Габаритные размеры двигателя постоянного тока представлены на рисунке 10.

Рисунок 10 - Габаритные размеры двигателя постоянного тока

5.3 Выбор драйвера

Для управления двигателями необходимо устройство, которое бы преобразовывало управляющие сигналы малой мощности в токи, достаточные для управления моторами. Такое устройство называют драйвером двигателей.

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

Для данного курсового проекта воспользуемся драйвером двигателя фирмы Texas Instruments L293DNE, представленным на рисунке 11.

Рисунок 11 - Драйвер двигателя L293DNE

Эта микросхема содержит сразу два драйвера для управления электродвигателями небольшой мощности (четыре независимых канала, объединенных в две пары). Она имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293DNE есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью широтно модулированного сигнала (ШИМ).

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

Расположение контактов приведено на рисунке 10, где

1) 1,2EN - разрешение работы 1 и 2 драйвера ввода/вывода

2) 1А - вход 1

3) 1Y - выход 1

4) Земля и теплоотвод

5) Земля и теплоотвод

6) 2Y - выход2

7) 2А - вход 2

8) Vcc2 - вывод источника питания

9) 3,4EN - разрешение работы 3 и 4 драйвера ввода/вывода

10) 3А - вход 3

11) 3Y - выход 3

12) Земля и теплоотвод

13) Земля и теплоотвод

14) 4Y - выход 4

15) 4А - вход 4

16) Vcc1 - вывод источника питания

Рисунок 12 - Расположение контактов в L293DNE

Таблица 5 - Характеристики драйвера двигателя L293DNE

Тип

4-х канальный драйвер двигателя

Напряжение питания

от 4.5В до 36 В

Ток выходной

600 мА

Ток выходной (пиковое значение)

30 А

Задержка распространения сигнала

800 нс

Длина

19.8 мм

Ширина

6.35 мм

Высота

4.57 мм

Тип корпуса

DIP-16

5.4 Выбор микроконтроллера

Основными требованиями, предъявляемые к микроконтроллеру, являются:

- наличие достаточного количества параллельных портов ввода-вывода (16 программируемых линий ввода-вывода);

- наличие блока АЦП;

- высокая надежность и стабильность работы.

Этим требованиям удовлетворяет большое количество микроконтроллеров различных производителей, но выбор был остановлен на микроконтроллере STM8-S (Рис. 7) [6, 7].

STM8-S - это относительно новое семейство микроконтроллеров от компании STMicroelectronics. В нем воплощено чуть ли не все, чего можно ожидать от 8 битных чипов. Конечно же, у каждого контроллера есть свои плюсы и свои минусы.

Рисунок 7- STM8-S

Плюсы и минусы.

Плюсы:

1. Цена. Не смотря на малую распространенность, stm8 стоит очень дешево.

2. Еще одна цена. Отладочные платы и отладчики стоят также дешево. Можно не искать программаторы без отладчиков - за минимальные деньги все включено.

3. Есть очень дешевые контроллеры с 12-битными АЦП и ЦАПами, и это - очень хорошо.

4. Классный отладочный интерфейс. Задумка об отладке по одному проводу у AVR была хороша, но чтобы ее включить, приходилось подключать еще три. В итоге, JTAG был не намного хуже пресловутого debugWire. ST довела идею до логического завершения. Отладка по двум проводам.

5. Работает от пяти вольт.

6. Встроенный bootloader. Умеет загружать программы по uart, spi, can, i2c.

7. Библиотека драйверов периферии.

Недостатки:

1. Нет контроллеров в маловыводных корпусах (типа so8).

2. Нет контроллеров с USB.

3. Не слишком пока распространены. Соответственно, и доставать сложно, и цены выше, чем могли бы быть.

Семейства.

Существует 3 семейства stm8.

1. stm8s - “стандартные” контроллеры общего применения, обычно 10 битная аналоговая периферия, среднее по современным стандартам энергопотребление. Диапазон питания - 2.95 - 5.5в

2. stm8l - “low-power” контроллеры с низким потреблением, 12 битный аналог, улученная электромагнитная совместимость. Диапазон питания - 1.8-3.6в. По сравнению со стандартными контроллерами, тут добавляется небольшая кучка периферии, в частности, DMA.

3. stm8a - “автомобильные” - все сосредоточено на безопасности и CAN'е. Котроллеры выдерживают больше издевательств над ножками, чем обычные, работают при 145 градусах, Диапазон питания - 2.95 - 5.5в.

Технические характеристики:

· Ядро 8051

· Разрядность 8

· Тактовая частота, МГц 24

· Объем ROM-памяти 4К

· Объем RAM-памяти 128

· Внутренний АЦП, кол-во каналов 20

· Внутренний ЦАП, кол-во каналов 20

· Напряжение питания, В 4...6

· Температурный диапазон, С -40...+85

· Тип корпуса PLCC44 [5]

Средства отладки.

Есть два основных средства:

· stm8s-discovery.Включает в себя полноценный программатор и небольшую отладочную плату. Отладчик построен на контроллере STM32F103C8T6. На отладочной плате разведен JTAG, и, поэтому, ее можно использовать как отладочную для stm32.

· st-link стоит побольше, чем stm8-discovery, зато программирует все, что выпускает stm, включая stm32. St-link может стать очень хорошей покупкой, если у вас нет arm-программатора.

6. Построение принципиальной электрической схемы

Спецификация элементов схемы представлена в таблице 6.

Таблица 6 - Спецификация элементов схемы

Обозначение

Номинал

Резисторы

R1, R3, R5, R7, R9

10кОм

R2, R4, R6, R8

33кОм

Конденсаторы

C1, C3, C6

100мкФ

C2

100нФ

C4, C5

0,1мкФ

Катушки

Др1

47мкГн

Обозначение

Тип

Фотодиоды

VD1, VD2, VD3, VD4

BPW34S

Транзисторы

VT1, VT2, VT3, VT4

1T329B

Микросхемы

DD1

ATtiny26L

DD2

L293DNE

DA1

КР142ЕН5В

Двигатели

М1, М2

МОТ3N

Переключатели

КН1

РВ-22Е88

Размещено на http://www.allbest.ru/

Рисунок 15 - Принципиальная электрическая схема

7. Построение алгоритма работы программы

Рисунок 16 - Блок-схема алгоритма

8. Построение рабочей программы

Программная реализация алгоритма работы системы на языке ассемблер для микроконтроллера ATtiny26L представлена в приложении А.

В основной программе сначала с помощью директивы .include подключается файл “tn26def.inc”, который содержит описание специальных регистров и битов для микроконтроллера ATtiny26L. Затем объявляются переменные с помощью директивы .def. Эта директива назначает регистру символическое имя. Это имя может использоваться в нижеследующей части программы для обращения к данному регистру. Синтаксис этой директивы следующий: .def Символическое имя = регистр. После этого назначаются вектора прерываний. Если прерывание не используется, то вместо указания обработчика прерывания указываем пустую операцию nop.

Выполнение программы начинается с конфигурации портов. Бит DDxn регистра DDx определяют направление передачи данных через контакт ввода/ вывода. Если бит установлен в 1, n-й вывод порта является выходом, если же сброшен в 0 - входом [9]. Порт А используется только как вход, поэтому его конфигурацию менять не надо. Младшие 6 бит порта В используются для вывода. Поэтому в регистр DDRB записывается 63, что соответствует 111111В. Когда вывод функционирует как выход, бит PORTxn регистра PORTx определяет состояние вывода порта. Если бит установлен в 1, на выводе устанавливается напряжение высокого уровня. Если бит сброшен в 0, на выводе устанавливается напряжение низкого уровня [9]. Так как нужно включить оба ДР в L293DNE, необходимо установить биты PB5 и PB4 в 1. Для этого в регистр PORTB записывается 48, что соответствует 110000В.

Дальше на метке start осуществляется вызов подпрограммы get_data. Подпрограмма get_data предназначена для считывания показаний с четырех фотодатчиков. Фотодатчики 1-4 подключены ко входам РА0-РА3 порта А соответственно. Причем порт А работает в альтернативном режиме, то есть его входы являются входами АЦП. До начала преобразования нужно указать АЦП, какой вход считывается. Осуществляется это с помощью битов MUX4-MUX0 регистра управления мультиплексором ADMUX. Соответствие значений битов MUX4-MUX0 и подключаемых входов представлено в таблице 7 [9].

Таблица 7 - Управление входным мультиплексором

MUX4-MUX0

Вход

0000

PA0

0001

PA1

0010

PA2

0011

PA3

В начале работы подпрограммы сбрасываются биты MUX4-MUX0 в 0. Затем включается АЦП, установкой бита ADSC регистра ADCSR. Дальше выполняется задержка до окончания преобразования АЦП. Преобразование заканчивается, когда устанавливается флаг ADIF регистра ADCSR. Результат преобразования сохраняется в регистре ADCH. Результат переносится из ADCH в одну из переменных. Значение MUX4-MUX0 увеличивается на 1 и действия повторяются, пока не будут опрошены все датчики. В результате работы подпрограммы в переменных с именами data1, data2, data3 и data4 записаны показания ФД1-ФД4 соответственно.

Все сравнения в программе осуществляются с помощью команд CP Rd,Rr или CPI Rd,K. Первая сравнивает содержимое двух регистров путем вычитания содержимого регистра Rr из содержимого регистра Rd. Вторая сравнивает содержимое регистра Rd с константой K путем вычитания константы из регистра. Данные команды влияют только на флаги регистра состояния SREG, которые устанавливаются в соответствии с результатом вычитания. Содержимое регистров не изменяется. После сравнения используется одна из следующих команд:

- BRNE k - переход на k, если сравниваемые значения не равны;

- BRMI k - переход на k, если второе значение больше первого;

- BREQ k - переход на k, если сравниваемые значения равны;

После завершения работы подпрограммы get_data, значения переменных data1-data4 сравниваются с нулем. Если все переменные равны нулю, то осуществляется переход на метку wait10min, начиная с которой реализован алгоритм задержки на 10 минут, при этом значение счетчика count увеличивается на 1. Если значение count больше 6, то происходит переход на метку wait1hour, начиная с которой реализован алгоритм задержки на 1 час.

Управление таймером/счетчиком Т1 выполняется с помощью регистра TCCR1B, а флаги состояний находятся в регистре TIFR. Биты регистра TCCR1B представлены в таблице 8 [9].

Таблица 8 - Биты регистра TCCR1B

Бит

Название

Описание

7

CTC1

Сброс таймера/счетчика по совпадению

6

PSR1

Сброс предделителя таймера/счетчика Т1

5,4

-

Зарезервированы

3...0

CS13…CS10

Управление тактовым сигналом

Младшие 4 бита осуществляют выбор источника тактового сигнала, а также запуск и остановку таймера. В программе для этих битов используется два значения: либо все 0, тогда таймер остановлен, либо все 1, тогда таймер запускается с коэффициентом предделения 16384 и тактовый сигнал поступает от системного тактового генератора.

Задержка на 10 минут и на 1 час реализованы по одинаковому алгоритму и отличаются только количеством выполнения алгоритма. В первом случае он выполняется 1200 раз, а во втором - 7200 раз. Суть этого алгоритма заключается в том, что запускается таймер/счетчик Т1, затем ожидается его переполнение, после этого очищается флаг переполнения и значение регистра, отвечающего за количество выполнений, уменьшается на 1 и действие повторяется до тех пор, пока этот регистр не станет равен нулю.

Если после сравнения переменных с нулем, хотя бы одна из них отличается от нуля, то система при необходимости начнет вращение батареи. Сначала определяется необходимость отклонения батареи по горизонтали. Для этого сравниваются значения, хранящиеся в data1 и data3. Если значения равны, то отклонение не требуется и проверяется другое направление. Если data1>data3, то происходит переход на метку rtMot1Left и двигатель 1 включается влево, то есть осуществляется поворот батареи в горизонтальном направлении против часовой стрелки. Если же data3>data1, то происходит переход на метку rtMot1Right и двигатель 1 включается вправо и тогда осуществляется поворот батареи в горизонтальном направлении по часовой стрелке. Аналогичные действия выполняются для отклонения батареи по вертикали. Сравниваются значения, хранящиеся в data2 и data2. Если значения равны, то отклонение не требуется. Если data2>data4, то переход на метку rtMot2Right и двигатель 2 включается вправо, то есть осуществляется поворот батареи в вертикальном направлении по часовой стрелки. Если же data4>data2, то переход на rtMot2Left и двигатель 2 включается влево и тогда осуществляется поворот батареи в вертикальном направлении против часовой стрелке.

Алгоритмы вращения двигателей идентичны и отличаются только тем, на какой вывод в данном алгоритме подается сигнал. Сам алгоритм построен следующим образом. Сначала вычисляется необходимая задержка, то есть время в течение которого солнечная батарея будет вращаться. После этого устанавливается в 1 соответствующий вывод порта В. Если требуется вращение 1-го двигателя влево, то устанавливается бит РВ0, если вращение 1-го двигателя вправо - бит РВ1, если вращение 2-го двигателя влево - бит РВ2, а если вращение 2-го двигателя вправо - РВ3. Дальше запускается таймер Т1, который отсчитывает время, посчитанное ранее. После того, как таймер отсчитает требуемое время, он останавливается, а установленный бит порта В сбрасывается.

После этих действий осуществляется переход на метку wait10min. По окончании задержки выполнение программы возвращается на метку start и все действия повторяются.

Заключение

В результате выполнения данной работы была осуществлена разработка системы управления солнечной батареей.

По ходу выполнения работы был проведён анализ задачи, на основе которого были сформулированы требования к конечной системе и составлена функциональная спецификация. На основании требований была построена функциональная схема, отражающая взаимосвязи между блоками системы. На основе функциональной схемы были подобраны необходимые элементы для реализации функций, заявленных в функциональной спецификации. Далее, на основе выбранных устройств была построена принципиальная электрическая схема, наглядно демонстрирующая взаимосвязи между отдельными элементами. Разработка завершилась составлением блок-схемы алгоритма и написанием по ней исходного кода для микроконтроллера на языке ассемблер.

Полученная система управления удовлетворяет установленным требованиям. Она обеспечивает надежность в автоматическом режиме, высокую точность, низкую стоимость, безопасность при работе и простоту в использовании.

Список использованных источников

1. http://rusveter.ru/statdubl.html

2. http://www.aktuator.ru/Solar_Actuator/01ARX1.shtml

3. http://www.feips.ru/node/11

4. Игнатов А.Н. Оптоэлектронные приборы и устройства: Учеб. пособие. - М.: Эко-Трендз, 2006.

5. BPW34S Datasheet

6. http://www.velleman.eu/products/view/?id=375876

7. L293D Datasheet

8. http://www.gaw.ru/html.cgi/txt/ic/Atmel/micros/avr/attiny26.htm

9. Евстифеев А.В. Микроконтроллеры AVR семейства Tiny. Руководство пользователя. - М.: Издательский дом «Додэка-XXI», 2007.

10. http://www.электродвигатели-редукторы.рф/category/maxon-motor/

11. http://www.myrobot.ru/downloads/datasheet_l293d.php

Приложение А

Листинг программы

.include "tn26def.inc"

;переменные

.def temp = r9;

.def adrAdc = r10;

.def workAdc = r11;

.def data1 = r12;

.def data2 = r13;

.def data3 = r14;

.def data4 = r15;

.def count = r16;

.def count2 = r17;

.def workTime = r18;

.def t1 = r19;

.def t2 = r20;

.def f1 = r21;

.def f2 = r22;

;прерывания

.cseg

.org 0

rjmp RESET ; Reset handler

nop; rjmp EXT_INT0 ; IRQ0 handler

nop; rjmp PIN_CHANGE ; Pin change handler

nop; rjmp TIM1_CMP1A ; Timer1 compare match 1A

nop; rjmp TIM1_CMP1B ; Timer1 compare match 1B

nop; rjmp TIM1_OVF ; Timer1 overflow handler

nop; rjmp TIM0_OVF ; Timer0 overflow handler

nop; rjmp USI_STRT ; USI Start handler

nop; rjmp USI_OVF ; USI Overflow handler

nop; rjmp EE_RDY ; EEPROM Ready handler

nop; rjmp ANA_COMP ; Analog Comparator handler

nop; rjmp ADC ; ADC Conversion Handler

.org 20

;начало работы программы

RESET: ldi temp, RAMEND;

out SP, temp;

clr count2;

ldi temp, 63;

out DDRB, temp; устанавливаем порты PB0...PB5 как выходы

ldi temp,48;

out PORTB, temp; пишем в PB5 и PB4 1;

clr temp;

out PLLCSR, temp;

start: rcall get_data;

cpi data1, 0;

brne motion;

cpi data2, 0;

brne motion;

cpi data3, 0;

brne motion;

cpi data4, 0;

brne motion;

inc count2;

cpi count2, 6;

brmi wait10min;

brne wait10min;

rjmp wait1hour;

motion: clr count2;

cp data1, data3;

breq m2;

brmi rtMot1Right;

rjmp rtMot1Left;

m2: cp data2, data4;

breq wait10min;

brmi rtMot2Left;

rjmp rtMot2Right;

; вращение 1-го двигателя вправо

rtMot1Right:

mov f1, data3;

sub f1, data1; вычислили задержку

clr workTime;

out TCNT1, workTime;

mov t1, f1;

add t1, f1;

ldi workTime, 15;

sbi PORTB, 1; включили вращение двигателя вправо

out TCCR1B, workTime; запустили таймер

stay1: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp stay1; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t1;

cpi t1, 0; сравнили t1 с 0

breq resume1; если t1=0, переходим на resume1

rjmp stay1; иначе переходим на stay1

resume1:

cbi PORTB, 1; остановили двигатель

clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp m2;

; вращение 1-го двигателя влево

rtMot1Left:

mov f1, data1;

sub f1, data3; вычислили задержку

clr workTime;

out TCNT1, workTime;

mov t1, f1;

add t1, f1;

ldi workTime, 15;

sbi PORTB, 0; включили вращение двигателя влево

out TCCR1B, workTime; запустили таймер

stay2: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp stay2; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t1;

cpi t1, 0; сравнили t1 с 0

breq resume2; если t1=0, переходим на resume2

rjmp stay2; иначе переходим на stay2

resume2:

cbi PORTB, 0; остановили двигатель

clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp m2;

; вращение 2-го двигателя влево

rtMot2Left:

mov f2, data4;

sub f2, data2; вычислили задержку

clr workTime;

out TCNT1, workTime;

mov t1, f2;

add t1, f2;

ldi workTime, 15;

sbi PORTB, 2; включили вращение двигателя влево

out TCCR1B, workTime; запустили таймер

stay3: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp stay3; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t1;

cpi t1, 0; сравнили t1 с 0

breq resume3; если t1=0, переходим на resume3

rjmp stay3; иначе переходим на stay3

resume3:

cbi PORTB, 2; остановили двигатель

clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp wait10min;

; вращение 2-го двигателя вправо

rtMot2Right:

mov f2, data2;

sub f2, data4; вычислили задержку

clr workTime;

out TCNT1, workTime;

mov t1, f2;

add t1, f2;

ldi workTime, 15;

sbi PORTB, 3; включили вращение двигателя вправо

out TCCR1B, workTime; запустили таймер

stay4: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp stay4; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t1;

cpi t1, 0; сравнили t1 с 0

breq resume4; если t1=0, переходим на resume4

rjmp stay4; иначе переходим на stay4

resume4:

cbi PORTB, 3; остановили двигатель

clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp wait10min;

;ждать 10 минут

wait10min: clr workTime;

out TCNT1, workTime;

ldi t1, 12;

ldi t2, 100;

ldi workTime, 15;

out TCCR1B, workTime; запустили таймер

wait2: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp wait2; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t2;

cpi t2, 0; сравнили t2 с 0

breq next2; если t2=0, переходим на next2

rjmp wait2; иначе переходим на wait2

next2: dec t1;

cpi t1, 0;

breq next3;

ldi t2, 100;

rjmp wait2;

next3: clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp start;

;ждать 1 час

wait1hour: clr workTime;

out TCNT1, workTime;

ldi t1, 72;

ldi t2, 100;

ldi workTime, 15;

out TCCR1B, workTime; запустили таймер

wait3: sbis TIFR, 2; если TOV1=1, пропускаем следующую команду

rjmp wait3; иначе выполняем её

cbi TIFR, 2; очистили флаг TOV1

dec t2;

cpi t2, 0; сравнили t2 с 0

breq next4; если t2=0, переходим на next4

rjmp wait3; иначе переходим на wait3

next4: dec t1;

cpi t1, 0;

breq next5;

ldi t2, 100;

rjmp wait3;

next5: clr workTime;

out TCCR1B, workTime; остановили таймер

rjmp start;

;подпрограмма считывания показаний 4-х датчиков

get_data: clr adrAdc;

ldi adrAdc, 160;

clr workAdc;

ldi workAdc, 134;

clr count;

out ADCSR, workAdc;

loop1: out ADMUX, adrAdc;

sbi ADCSR, 6; ADSC=1, запуск АЦП

wait1: sbis ADCSR, 4; если ADIF=0, мы переходим на следующую команду

rjmp wait1; иначе пропускаем её

cbi ADCSR, 4; очистили флаг окончания преобразования АЦП

cpi count, 0;

breq l1;

cpi count, 1;

breq l2;

cpi count, 2;

breq l3;

cpi count, 3;

breq l4;

l1: in data1, ADCH;

rjmp cont1;

l2: in data2, ADCH;

rjmp cont1;

l3: in data3, ADCH;

rjmp cont1;

l4: in data4, ADCH;

rjmp end1;

cont1: inc count;

inc adrAdc;

rjmp loop1;

end1: ret;

Размещено на Allbest.ru


Подобные документы

  • Разработка функциональной системы слежения, выбор элементов схемы, расчет передаточных функций. Построение ЛФЧХ и последовательного корректирующего звена. Исследование системы слежения на устойчивость, определение показателей качества полученной системы.

    курсовая работа [241,5 K], добавлен 23.08.2010

  • Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.

    курсовая работа [3,3 M], добавлен 26.06.2016

  • Технологические параметры очистки щелочного электролита. Сущность метода электродиализа. Разработка функциональной схемы устройства. Расчет параметров и выбор элементов силовой части. Разработка алгоритма работы микроконтроллера системы управления.

    дипломная работа [646,9 K], добавлен 27.04.2011

  • Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.

    курсовая работа [2,2 M], добавлен 02.01.2010

  • Этапы разработки микропроцессорной системы на основе микроконтроллера. Общая характеристика солнечных часов. Разработка схемы, программного обеспечения и алгоритма управления солнечных часов. Технико-экономическое обоснование разработки и охрана труда.

    дипломная работа [5,9 M], добавлен 16.07.2010

  • Разработка функциональной и принципиальной схемы устройства, расчет его силовой части. Разработка системы управления: микроконтроллера, элементов системы, источники питания. Моделирование работы преобразователя напряжения, программного обеспечения.

    дипломная работа [2,4 M], добавлен 22.08.2011

  • Принцип работы электрических термометров, преимущества использования. Структурная схема устройства, выбор элементной базы, средств индикации. Выбор микроконтроллера, разработка функциональной схемы устройства. Блок-схема алгоритма работы термометра.

    курсовая работа [3,6 M], добавлен 23.05.2012

  • Структурная и функциональная схема управления исполнительными устройствами на базе шагового двигателя. Проектирование принципиальной схемы управления шаговым двигателем, описание ее работы и входящих в нее устройств. Составление алгоритма работы системы.

    курсовая работа [613,8 K], добавлен 22.09.2012

  • Расчет параметров системы для осуществления автоматического слежения за объектом, перемещающимся в пространстве и излучающим электромагнитные волны. Разработка алгоритма и программы управления для токарного станка с ЧПУ для изготовления шахматных фигур.

    курсовая работа [443,4 K], добавлен 17.05.2013

  • Классификация и характеристика систем автоматического определения местоположения. Методы местоопределения по радиочастоте и навигационного счисления. Системы поиска и слежения: GPS-приемники, радиоконтроль и пеленгование. Варианты защиты от слежения.

    курсовая работа [190,3 K], добавлен 23.06.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.