Самодельный трекер для солнечных панелей

Как самостоятельно собрать трекер для солнечной батареи

Дата публикации: 26 апреля 2019

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

Преимущества и принцип работы

Установка трекера дает следующие преимущества:

  • рост коэффициента полезного действия на 40-45%;
  • увеличение производимой электроэнергии;
  • экономия финансовых средств.

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

Как уже было сказано выше, солнечный трекер выполняет 2 функции — отслеживание местоположения Солнца и поворот рабочей поверхности в нужном направлении. За установление параметров траектории движения светила и выявление точки максимальной концентрации солнечных лучей отвечает USB-приемник. Устройство принимает сигнал от спутника GPS-навигатора. В зависимости от того, какие данные получил приемник, дается команда на перемещение фотоэлектрического модуля. Система перемещения модулей оборудована серводвигателем. Его задача — изменение направления вращения вала. Благодаря этому панель перемещается по разным сторонам.

Читайте также:  Контроллер заряда автомобильного аккумулятора от солнечной батареи

Типы трекеров

По конструкции трекеры системы ориентации солнечных батарей разделяются на 2 основных категории — с одной и с двумя осями вращения.

У устройств с одной осью вращения одна степень свободы. Ориентация — с севера на юг. Этот вид по расположению оси вращения делится на следующие виды:

  • горизонтальная ось — находится в горизонтальном положении относительно земной поверхности;
  • вертикальная ось — расположена вертикально относительно земной поверхности;
  • наклонная ось — находится в промежутке между вертикальной и горизонтальной траекторией;
  • полярно ориентированная ось — ее местоположение зависит от того, где находится полярная звезда.

У двухосевого солнечного трекера отслеживания обе конструкции работают независимо друг от друга. Но они соединены в общую систему, которая обеспечивает движение трекера. Количество степеней свободы — две.

Отдельный подвид трекеров с двумя осями вращения — это те, которые укомплектованы опорным элементом. Есть 2 варианта таких устройств. Первый — роль опоры выполняет опорный столб. В верхней части располагается площадка, на которой установлен поворотный механизм. Второй вариант — роль основы выполняет круглая платформа или кольцо. На такой плоскости получится расположить сразу несколько панелей.

Как сделать трекер для солнечных батарей своими руками

Для работы понадобятся:

  1. Шесть длинных обработанных досок и 4 коротких.
  2. Два колеса от велосипеда.
  3. Железные детали для крепления малого размера с отверстиями по краям.
  4. Линейный привод на 12 вольт.
  5. Светодиодный датчик слежения.
  6. Гайки, болты, винты, кабель и провод.

Сначала нужно подготовить основу из дерева. Нужно отмерить длину и ширину досок, обработать их, сколотить 2 половины треугольником. Затем скрепить их поперечными досками. Затем нужно подобрать подходящие железные детали (как на картинке) и проделать в них 6 отверстий на одинаковых расстояниях. Затем крепления прикручиваются к доскам шурупами.

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

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

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

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

  • К 2030 году солнечные панели станут самым дешевым ВИЭ в Европе
  • Альтернативные виды энергии для дома и особенности их использования
  • Эффективный солнечный коллектор своими руками
  • Насос на солнечных батареях: применение, преимущества и недостатки

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

Вам нужно войти, чтобы оставить комментарий.

Источник

Двухосевой солнечный трекер на Arduino

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

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

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

Итак, что использовалось при сборке:

  • Arduino MEGA 2560 R3
  • Сервопривод Tower SG90 — 2x
  • Фоторезистор MLG4416 (90mW; 5-10kOhm/1.0MOhm) — 4x
  • Звонок пьезоэлектрический KPR-G1750
  • Металлический конструктор
  • Резистор выводной 10 kOhm; 0,25W; 5% — 4x
  • Печатная макетная плата, корпус, шнуры для соединения

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

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

Итак, начнём собирать трекер. Для начала разделим предстоящий фронт работ на условные четыре этапа: сборка подставки для солнечных панелей и крепление сервоприводов, крепление к собранной конструкции светочувствительных элементов, пайка и написание кода для Arduino.

Фигура первая: конструкторская

Путём интенсивного поиска была найдена парочка примеров конструкции подобных устройств. Наибольшего внимания удостоились два:

  • www.youtube.com/watch?v=SvKp3V9NHZY – победитель в номинации «Подача материала» проиграл в надёжности и практичности устройства: конструкция представляет собой соединение двух сервоприводов напрямую.
  • www.instructables.com/id/Simple-Dual-Axis-Solar-Tracker — собственно, отсюда и была взята основная идея моей конструкции, за исключением материала и общего внешнего вида поворотного корпуса.

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

Фигура вторая: схемотехническая

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

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

Немного схемотехники: подключение светочувствительных элементов осуществляется по схеме делителя напряжения, для чего потребовались указанные в списке элементов выводные резисторы. Все фоторезисторы припаяны к общему контакту, подключенному к пятивольтному выходу питания Arduino. Для удобства и эстетики ноги фоторезисторов припаяны к контактам двух трёхжильных изолированных проводов (один контакт остался неиспользуемым и спрятан). Все схемотехнические детали можно рассмотреть на схеме ниже.

Фигура третья: паяльная

Что-либо подробно описывать тут не несёт особого смысла, поэтому просто прилагаю фото используемых материалов и полученную в результате макетную плату.

Фигура четвёртая: с новым кодом!

Общий алгоритм работы заключается в обработке данных с фоторезисторов при помощи АЦП. Имеем 4 элемента, то есть 4 показания, находим среднее показание по левой стороне ((верхний левый + нижний левый) / 2), аналогично по правой, верхней и нижней сторонам. Если разница по модулю между левой и правой стороной больше порога, то осуществляем поворот в сторону с большим средним значением. Аналогично для верха и низа. Особые плюшки в коде: можно задавать вручную чувствительность срабатывания и максимальный и минимальный угол в двух плоскостях. Листинг рабочего кода приведён ниже.

Результат работы

Источник

Народный трекер для солнечных панелей

В России в декабре 2019 года приняли закон о микрогенерации, одновременно стоимость элементов для строительства домашних Электростанций снижается. Поэтому рынок зелёной энергетики будет в нашей стране активно развиваться. Смотрим видео на моем канале youtube

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

Основные компоненты солнечной электростанции (СЭС)

  • Солнечные панели
  • Рэйлинги и крепеж
  • Провода и кабели
  • Гибридный/сетевой инвертор
  • Аккумуляторная система храниения энергии
  • Электрощит и автоматические выключатели
  • Солнечный трекер (поворотная платформа приводами наклона)
  • Анемометр (датчик ветра)
  • Контроллер солнечного трекера

Схема контроллера солнечного трекера на часах реального времени

Скетч и библиотеки

Я нашёл интересную библиотеку SolarLib, написанную Люком Миллером в 2012 году. Правда в аннотации автор прямо пишет, что из-за высокой точности вычислений либа работает только на мощных 32 битных ARM микроконтроллерах, а на всяком маломощном старье типа ардуино уно/нано она даже не компилится.

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

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

Я решил принести миру немного пользы и на основе этих формул и частично либы Люка Миллера написал свою библиотеку SolarPos. Это простой пример использования моей библиотеки.

При инициализации объекта SolarPos ему передаются, часовой пояс и гео-координаты установки панелей, а методы getSEC_Corr() и getSAA() возвращают угол возвышения и азимут солнца в зависимости от текущего времени. Моя библиотека предназначена для работы совместно с часами реального времени, поэтому она использует объекты времени из библиотеки DS3231M.h. При этом, моя либа спокойно компилится под уно/нано и уж тем более под крутые еспшки и стмки, оставляя достаточно места под юзерский код.

Скетч найдёте на странице проекта на GitHub.

Описание режимов работы контроллера

Тут будет текст.

Поддержи Автора!

Это Проект большой и интересный. Чтобы довести его до ума понадобится много временных и материальных ресурсов, поэтому мне нужна ваша поддержка. Здесь будут выложены схемы, чертежи, 3D модели, полный список использованных компонентов и подробное руководство по сборке.

Если вам нравится идея проекта Народного трекера — поддержите автора!

Если проект народного трекера окажется востребованным, мы вместе сделаем Автономное электричество доступней.

статья находится в процессе написания…

124 комментария к « Народный трекер для солнечных панелей »

Добро!
методом исключение выяснил что проблема з библиотекой Timezone, когда добавляю выскакивают ошибки

ВСЕ СОБРАЛ НА ТРЕКЕРЕ ЗАПУСТИЛ
ВКЛЮЧАЕТСЯ РЕЛЕ ГОРИЗОНТАЛИ ПИН 8
БОЛЬШЕ НИЧЕГО
ПРОБОВАЛ КРУТИТЬ З САМОГО НАЧАЛА.
УГЛЫ И ИМПУЛЬСЫ ПОСТАВИЛ ВРОДИ ПРАВИЛЬНО

if (enc1Counter 99999) enc1Counter = 600; //счетчик для 1-го энкодера (горизонт)
if (enc2Counter 99999) enc1Counter = 45; //счетчик для 2-го энкодера (вертикаль)

if (old_Slegenie_G 99999) old_Slegenie_G = 450; //переменная направление для поворота по горизонту (180*10) 10-число импульсов на градус поворота
if (old_Slegenie_W 99999) old_Slegenie_W = 0; //переменная направление для поворота по вертикали

Можно попробовать еще здесь заменить все на нули, то сеть:

if (enc1Counter 99999) enc1Counter = 0; //счетчик для 1-го энкодера (горизонт)
if (enc2Counter 99999) enc1Counter = 0; //счетчик для 2-го энкодера (вертикаль)

if (old_Slegenie_G 99999) old_Slegenie_G = 0; //переменная направление для поворота по горизонту (180*10) 10-число импульсов на градус поворота
if (old_Slegenie_W 99999) old_Slegenie_W = 0; //переменная направление для поворота по вертикали

Спасибо, буду пробовать
Экранчик нужно, логика логикой, даже не знаю время правильно ли зашилось. Буду покупать в китае долго, буду искать по месту.
и сегодня было трудно подсчитать импульсы (в итоге поставил метку на «енкодере-герконе» маркером и сняли с женой видео потом просматривали 6 раз потом математика и калькулятор. Знаю точно (встречал где то на ютубе) что можно сделать проверочной прогон по осям для подсчета импульсов, траектория движение в градусах от и до программа уже знает. Легко вычислить. Прогон-проверку делать при нажатии какой то кнопочки (потом ее можно снять) а число записать в Епрон навсегда.

на столе, перестало включатся реле(LED на ардуино)
когда подключил к трекеру опять включилось реле
думаю правильно ли я подключаю пины:
d8,d9 реле горизонталь
d6 геркон горизонталь
d12,d13 реле вертикаль
d7 геркон вертикаль
txd — rxd- gps
rxd -txd gps
a4 — scl часы
a5 — sda часы

пересмотрел часы правильно
a5 — scl часы
a4 — sda часы
было подключено правильно

экран нашел оплатил жду пару дней почтой

Пины подключены правильно. Программу для проверочного прогона делать не обязательно. Достаточно просто подключить мотор актуатора к источнику питания напрямую и програнть от крайнего до максимального состояния. Число импульсов будет на экранчике. В ЕЕПРОМ так же не обязательно его записывать, достаточно ввести в скетч. Так как программа с открытым кодом, то есть есть исходник (скетч). В роли датчика положения трекера служит обычный геркон, потому нет точной привязки к координатам. После сброса питания трекер не понимает в каком положении он находится, куда направлен. Точка отсчета будет менятся. Для того чтобы запоминал координаты использую пин 2, подключенный к источнику питания 5в. А питание ардуины подключаю через диод и конденсатор достаточно большой емкости. Так же вместо кнопки, для записи координат в ЕЕПРОМ можно использовать реле, которое будет срабатывать при отключении питания. Это обязательно, или начнется чехорда…. Ну или вариант сделать как в принтерах например (или станках чпу), при включении питания трекер сначала возвращается в ноль, в крайнюю точку, а потом уже высчитывает координаты и поворачивается в свое рабочее положение.

экранчика нет но будет, увижу свои расчетные импульсы думаю погрешность 1-2 шт.
Наверное проще сделать второй вариант, так так электричество не часто пропадает можно и прогнать трекер

подключил экран, показывает в зеркальной отражении

Надо открыть файл lcd1202.cpp из библиотеки LCD1202 текстовым редактором найти подпрограмму инициализации дисплея и удалить или закоментировать две строки —

SendByte(LCD_C,0xC8); // mirror Y axis (about X axis)
SendByte(LCD_C,0xA1); // Инвертировать экран по горизонтали

ниже по тексту это как есть —

void LCD1202::Inicialize() <
pinMode(CS, OUTPUT);
pinMode(Data, OUTPUT);
pinMode(Clock, OUTPUT);

// Инициализация дисплея
dWrite(Clock, 0);
dWrite(Data, 0);
dWrite(CS, 0);
delay(20);
dWrite(CS, 1);

SendByte(LCD_C,0x2F); // Power control set(charge pump on/off)
SendByte(LCD_C,0xA4);
SendByte(LCD_C,0xC8); // mirror Y axis (about X axis)
SendByte(LCD_C,0xA1); // Инвертировать экран по горизонтали
SendByte(LCD_C,0xAF); // экран вкл/выкл
Clear_LCD();
Update();
>

https://drive.google.com/file/d/1TRqbJ1ODdGNgzMvQh5No_3x093yi_DZR/view?usp=sharing
вот время правильно показывает
азимут и склонение думаю так же правильно
сигнал GPS — НЕТ (наверное потому что в доме нет сигнала)
г:0 и в:0 — это импульсы.
и все время включается реле (выход с ардуино D8)
if (enc1Counter 99999) enc1Counter = 600; //счетчик для 1-го энкодера (горизонт)
if (enc2Counter 99999) enc1Counter = 45; //счетчик для 2-го энкодера (вертикаль
на нули поменял не сработало
Ардуино использую уже нормальную не WAVGAT (хотя с библиотеками под ее все завелось)

пока писал GPS сигнал уже ДА. ) хоть что то))))

Если не использовать сохранение координат в еепром по нажатию кнопки или падению напряжения, то в скетче надо удалить —

pinMode(2, INPUT);
// D2 это прерывание 0
// обработчик — функция SAVE_POS
// FALLING — при падении напряжения будет сигнал 0, его и ловим
attachInterrupt(0, SAVE_POS, FALLING);

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

GPS приемник имеет холодный старт и горячий. При первом включении (холодный старт) время поиска спутников может быть несколько минут.

г: и в: — это импульсы, должны меняться при срабатывании геркона.

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

к вопросу сохранение координат вернёмся у меня нет реле и сколько это достаточная емкость конденсатора?
а от почему включается реле — это проблема номер 1

и такой вопрос когда нажимаю ресет или пропадает питание часы, координаты возвращаются к тем которые зашивались сначала
может такое быть что модуль не DS3231 а DS1307 или надо что то поменять в скетче?

Скетч с установкой часов надо прошить только один раз, после закоментировать строку с установкой часов и еще раз прошить. Иначе при каждом старте и ресете часы будут переустанавливаться. Ежели DS1307 работает нормально с библиотекой от DS3231, то ничего менять не надо. Отличия этих часов только в точности (пишут что DS3231 точнее) и в DS3231 есть датчик температуры, что иногда очень удобно. По факту мой модуль часов DS1307 за год ушел всего на три секунды, вероятно мне повезло. При сбросе питания координаты будут возвращаться к зашитым изначально. Емкость конденсатора надо подобрать методлм тычка, 1000 мкф может будет достаточно, а может и нет. Реле включается по сигналу с D8 — это правильно. Нет сигналов с геркона, Г:0 — это неверное значение для трекера, должно быть значение равное Азимут на число импульсов, или максимальный угол для горизонта или минимальный для горизонта, но никак не ноль….. Надо проверять прохождение импульсов.

часики после прошивки- закоментировки- прошивки затикали правильно даже после выключение -спасибо.
сначала заказал DS1307 а когда прочитал что DS3231 точнее заказал в Китае еще не пришли, но если 1 раз в месяц будет сихронизация с GPS не очень и нужно даже если отклонение буде на 10 минут)))
реле кажется работает не правильно: пробовал до восхода солнца и уже после.
В моем случае трекер имеет амплитуду (дугу) всего 70 градусов от 135 до 204. 1 импульс = 1 градус.
сейчас должно быть на экранчике 70 импульсов и реле должно выключится. Провел експеримент наклацал (назамыкал) 70 импульсов (пробовал и 130 импусьмов больше смысла нет) и должно было выкючится реле. Так как парковка у меня на max (204 градуса) а возврат на 135 градусов (0 испульсов) только утром.

я Вас понял мое количество импулсов для выключение реле 204 (провел экспиримент); вертикаль также поправил
реле выключилось
но боюсь вертикаль я не смогу пока что реализовать в механике (нужно актуатор). нужно как то его отключить
если угол в скетче поставить например и максимальный и минимальный на уровне 35 градусов в моем случае 35 импульсов. По идее реле вертикали не должно срабатывать
Дмитрий Вы молодець.

экран показывает ноли времени и ноли дата
часы не тикают
вопрос: часы реального времени накрылись?
скетч пробовал с правильным временем зашивать — не выходит
ДО ЭТОГО ВСЁ РАБОТАЛО ХОРОШО

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

Часы сегодня будут новые, пытался засунуть систему в коробочку для монтажа на трекер наверное что то закоротил (навсегда:))
а я думаю как подключить через пин 2. и как оно работает. если основное питание приходит 12в. а на 5в. и 3.3в запитаны часы и ЖПС. которые также будут «садить» конденсатор.
идея с прогоном перед работой хорошая только не пойму зачем концевик к андурино цеплять
если можно включить реле на 60 секунд (на возврат) — (количество секунд у кажного будет разное должно настраиваться) мотор выключится физически концевиком, упрется в минимальный азимут возможной механикой. А теперь ми можем опять позиционировать азимута и наклон по импульсах и SolarPos как уже умеем.

з драйвером так же можно поступить

идея возврата трекера на исходную проста и не нужно дополнительной механики
прописать в скетче для исполнение только один раз при загрузки (включении) ардуино и не нужно настраивать даже при первом включении в систему.

а да и при включении в скетче выставлять по умолчанию положение угол азимут в градусах*на импульсы (те что уже извесны как минимальное положение миханики) и будет счастье

собрал с новыми часами, все работает
нашел ошибку в скетче
// потому следующие строки прописывают примерные цифры, не выходящие за пределы возможностей трекера
if (enc1Counter 99999) enc1Counter = 49; //счетчик для 1-го энкодера (горизонт)
if (enc2Counter 99999) enc1Counter = 189; //счетчик для 2-го энкодера (вертикаль)
Когда в скетче ставлю: 189 вертикаль (как в примере) на экранчику при включении показывает «Г: 189»
49 горизонт на экранчику при включении показывает «В: -1»

Это не ошибка скетча. Это что то еще, непонимаю пока. Сделал перерыв, хозяйственные дела. В скором времени попробую реазизовать трекер без еепром, по Вашему варианту, 60 секунд на возврат трекера в ноль и после рабочий режим. Не сложно, но с вариантами трекера (одна ось горизонт, одна ось вертикаль, двухосевой), чтобы можно было просто сделать в настройках пока не придумал как. Вероятно разные прошивки будут.

1.
if (enc1Counter 99999) enc1Counter = 135; //счетчик для 1-го энкодера (горизонт)
if (enc2Counter 99999) enc2Counter = 35; //счетчик для 2-го энкодера (вертикаль)
на
enc1Counter = 135;
enc2Counter = 35;
теперь всегда при включении стоят мои минимальные показание

2.
с вертикалю я поступил так поставил
#define MIN_W 35 // устанавливаем минимальный угол для трекера по вертикали
#define MAX_W 35 // устанавливаем максимальный угол для трекера по вертикали
произвольное число (у меня приблизительно под таким градусом стоят)
и поставил
enc2Counter = 35;
теперь реле программно не будет включатся и в любой момент можно будет поменять по нужные цифры
Вариант рабочий уже проверил

3.
#define DEBOUNCE_1 25 // таймаут антидребезга, миллисекунды
для себя поставил 25 так как 50 пропустило почти половину импульсов — полезная настройка «под себя»

4.
при срабатывание реле (выключение) сходит с ума экранчик, может поставить конденсатор
нужен совет куда поставить в какую цепь и какой

Хор. Понял про настройки типа трекера (одна ось или две). Все оказалось гораздо проще. По поводу реле не знаю. Скорее всего «шумит» обмотка реле из-за эдс самоиндукции в момент выключения. В результате «глючит» или ардуина или экранчик. Можно попробовать повесить керамические конденсаторы на цепях питания экранчика и ардуины. И еще как вариант керамический конденсатор на пине «reset» экранчика. Емкость 0.1 мкф.

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

снова новости
— припаял конденсаторы — экран работает без проблем
— занялся настройкой трекер — то спешит то отстает — проблема нужно на 1 градус ставить 1,6 импульса а такого не бывает
— опять згорели часы походу совпало с выключением реле — горели з дымком как положено
— сгорел стабилизатор AMS1117-5.0 на ардуино

что сделано и будет сделано
-купить часы
-купить стабизизатор
-уже на питание припаял конденсатор 1000 мкф.

вычитал не очень пойму как диод ставить- у меня модуль там вроди все это есть
Для цепей постоянного тока обязательно ставить мощный диод обратно-параллельно нагрузке, максимально близко к клеммам реле. Диод примет (замкнёт) на себя индуктивный выброс от мотора/катушки;
Туда же, на клеммы реле, можно поставить RC цепочку, называемую в этом случае искрогасящей: резистор 39 Ом 0.5 Вт, конденсатор 0.1 мкФ 400V (для цепи 220В);

Диод впаивается параллельно катушке реле, катод к плюсу управляющего напряжения, анод к минусу. Стабилитрон вылетел по причине того, что в момент выключения ЭДС самоиндукции дало импульс в цепь питания +12V. Стабилитрон не выдержал. Пишут, что ардуину лучше не питать от 12 вольт, так как это почти предельное напряжение для AMS1117-5.0 (в режиме нагрузки, и еще этот стабилитрон как положен китайский, с характеристиками сильно отличающимися от даташитов). На всякий случай можно ставить мощный стабилитрон на 13 вольт параллельно питанию 12 вольт, он возьмет на себя импульс. Искрогасящая цепь на клемах реле нужна только для снижения импульсных помех и снижения вероятности пригорания контактов при коммутации больших токов.

В том случае, если на градус поворота приходится не целое число импульсов, то решения два. 1 — перенастроить механику. 2 — ввести коэффициент пропорциональности.
В Вашем случае ставить в программе не 1.6 импульс на градус поворота, а 1.6*0.4=0.64. То есть ставите 0.64 импульса на градус поворота. Программа перемножит, округлит до целого числа. Будет примерно точно. Ну или еще точнее 1.6*0.39 = 0.62

Обновил архив на яндекс диске. Добавил Ваш вапиант, без еепром.

Все скетчи выдают ошибку при компиляции ‘minute’ was not declared in this scope, потом и часы и т.д.

Fursic, нужно скачать библиотеку Timezone в архиве она корявая (ранее писал про проблему как ее я решал)

спасибо большое.
буду тестить
нужно немного время железо привести в порядок
лучше программно регулировать импульсы,
есть вопрос число 1,6 импульсы а 0,39 думал гадал не придумал что за цифра.

очень интересно как у Вас продвигается проект?
я своими «хотелками» совсем ушел от вашей первоначальной идеи
а ж не удобно как то.

Мой проект никак не продвигается. Тарелка спутниковая есть. Моторы — редукторы есть. Нет только нормальных шпилек с тропецевидной резьбой. Раньше думал купить в леруа обычные шпильки. Но как то упустил тот момент, когда резьба на таких шпильках стала совсем не по госту. Отвратительное качество. И сейчас занимаюсь водоснабжением дома и канлизацией. Это по важнее будет. На счет скетча, мне совсем не трудно переделывать и доделывать. Для меня важнее обкатать схему и прошивку.

Коэффициент пропорциональности получил методом простого расчета. Нужно чтобы трекер всегда поворачивался на целое число импульсов. Градусы не стал трогать, чтобы не путаться с вводом значений. Потому решил с импульсами помудрить. Формула расчета простая: 160° * 1.6 * X = 100 импульсов. То есть при повороте на 160 градусов при 1.6 импульсов на градус нужно 100 импульсов. Остается найти X, это и будет коэффициент пропорциональности. А дальше, чтобы не переписывать все программу (формулы расчета), просто 1.6*0.39=0.62. Это число и вводим в число импульсов на градус.

согласен вода и канализация важней.
http://linear-tech.ru/shariko-vintovye-peredachi-shvp.html — намного дороже чем в строительном но это уже специально для ЧПУ качество получше.
вот у меня сейчас руки чешутся сделать вторую «крутилку» — трекер, жена обижается что меня не видит а если видит я не присутствую, где то летаю:))))
за пояснение спасибо буду дальше настраивать. уже с умом.
и не могу скачать Proteus 8.10 нормальный. один нашел открывает проект с кучей ошибок типа нет библиотек и т.д те что по младше просто ругается что версия не подходящая

Чтобы протеус не ругался на отсутствие бибилиотек, надо скачать библиотеки и модели дисплея нокиа. Это не офф. библиотеки, а самоделки. На сайте Kazus надо искать, ну или в поисковике. Название — Nokia LCDs — Proteus VSM Models. http://kazus.ru/forums/showthread.php?p=286765

ЭКРАН ДОБАВИЛ, НО СКЕТЧ НЕ ДАЕТ ДОБАВИТЬ
Proteus думаю глючный

Скетч не надо добавлять (в мои проекты). Наводите курсор на микроконтроллер,щелкаете сначала правой мышкой, потом левой, выбираете прошику (.hex или .elf). Запускаете симуляцию. Можно и в протеусе проекты создавать сразу с компилятором ардуино, но у меня в какойто момент компиляции начались с ошибками, потому я раздельно делаю.

— восстановил железо, стабилитрон на 13 вольт есть но не припаял пока

— добавил в скетч начальные импульсы для «нулевого» положение трекера разрешен механикой
enc1Counter = 110;
enc2Counter = 35;

— попробую на практике у суботу (правда долго ждать. )
— симуляцию пробовал но как менять файлы *.HEX, *ELF что бы свои эксперименты проводить

После компиляции скетча ардуино во временной папке (Temp) надо искать папку «arduino_build_ «. В этой папке будут файлы с расширением *.HEX, *ELF и другие. Можно скопировать и скинуть в папку с проектом. После закрытия ARDUINO IDE временные файлы автоматически удаляются, потому компилятор закрывать можно только после копирования файлов.

Спасибо за информацию
Вы на все мои вопросы отвечаете:
— где берёте терпение?
— как вы это всё знаете?:)

Я не спец по электронике и программированию, любитель самоучка. Электроникам — увлечение с детства. И часто что то либо разрабатываю либо ломаю. Потому все это опытным путем закреплено в сознании. Терпение — это черта характера и состояние сознания. В любой непонятной ситуации — медитируй:)

добрый день.
Сделано:
— у меня блок питание двигателя 36в от него стояла «понижайка» на ардуино и реле на 12в.
Для того что бы не горел стабилизатор на ардуино подключил другую»понижайку» на питание реле. теперь питание реле — 12в и ардуино отдельно — 9в
— добавил на всякий случай стабилитрон 13в паралельно основного питание 12в — как предлагалось выше к питанию реле
— в скетче прописал высчитанный коэффициент теперь трекер крутится точно за солнцем. Супер.
— для удобства в скетче: поставил начальные импульсы нулевого (возможный угол механики) положение трекера
enc1Counter = 68;
enc2Counter = 21;
и перевел их в градусы так информативнее и понятней
lcd.print(15, 11, enc1Counter/IMP_G);
lcd.print(65, 11, enc2Counter/IMP_W);
теперь экранчик показывает расчетное положение солнца и реальный азимут трекера в градусах

осталась проблема:
экранчик после добавление конденсаторов стал глючить намного меньше но проблема осталась. Нужен совет.

Прогнал управление трекера на протяжение дня. Работает хорошо. После выключение электричества трекер возвращается на «0» и снова стает на правильный азимут солнца.

недоделано:
-глючит экран
-не проверял (настраивал) смену времени лето/зима
-не проверял (настраивал) управление наклона трекера — нет установленого актуатора (будет в будущем. )

Так что проект удался. Дмитрий большое спасибо.

Здравия! Рад, что моя задумка удалась! Зима/лето (перевод часов) нужна только для отображения часов. Трекер работает круглый год по одним часам (без перевода). Потому, чтобы корректно работали часы с переводом на лето и зиму, а трекер работал без перевода, нужно скетч доработать. У нас в (в Рашке) пока что отменен перевод часов на лето и зиму (и это абсолютно правильно), биологические часы у животных и людей не зависят от этого перехода. Переход — это только лишний стресс. Я сейчас с другим солнечным калькулятором прошивку делаю, там эта функция есть. Попробую «портировать». С экранчиком как быть точно не знаю. Можно попробовать вывод RESET еще подтянуть к +5 вольт через резистор от 1.5 кОм до 10 кОм. И еще то же самое сделать с выводом CLK и CS. И еще можно попробовать все выводы дисплейчика подключить к ардуино через резисторы от 100 до 300 Ом. Ну и провода должны быть как можно короче. И еще как вариант — это сам по себе глючный экранчик.

день 2-й, полет нормальный.
при восходе солнца трекер вернулся на исходную, положение в 11:20 трекера на солнце правильное

что можно сделать для простоты настройки:
-число импульсов на 1 градус (коэффициент импульса) заменить на формулу высчитывание прямо в скетче. Будет точнее считать

выкладывайте портированую прошивку буду тестировать:)

заметил, не часто но бывает
когда происходит возврат на утро, импульсы считает не правильно (меньше)
так и не понял проблема с механикой или с скетчем
как вышел исправил: после возврата на исходную утро меняю количество импульсов которое должно быть
место
Slegenie_G = MIN_G*IMP_G; //установить минимальный угол поворота для трекера
Slegenie_W = MIN_W*IMP_W; //установить минимальный угол по вертикали
ставлю ( числа мой минимальный угол в импульсах)
enc1Counter = 68;
enc2Counter = 21;

предполагаю что проблема в
#define DEBOUNCE_1 15 // таймаут антидребезга, миллисекунды
пробовал разные ставить показание на от 0 до 100 — считает по разному + при одинаковый значениях таймаута так же по разному.
Актуатор заводской проблем с ним не должно быть
Идеи кончились.

просто для информации. когда делал эксперименты с прошивкой спалил ардуино. не провильно в шилд уставиновил.

если Вы не против буду тестить новые варианты мне интересно. Можно как то с Вами связатся? вайбер, эл почта, скайп, ватсап
моя почта sirenko13@gmail.com

Приветствую, а можно использовать плату от 3D принтера, она наверно подойдёт для 32 битной программы, про которое вы писали выше.

Источник

Оцените статью