Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Солнечная панель слежения за солнцем - зарядное устройство для телефона

Компоненты и расходные материалы

Arduino UNO
× 1
Сервоприводы (Tower Pro MG996R)
Сервопривод на 9 грамм, которому не требуется внешнее питание
× 1
Фоторезистор
× 2
Резистор 10 кОм
× 2
Повышающий преобразователь 2,5–5 В - адаптирован для USB
× 1
Солнечная панель - размер хобби
Подойдет любая небольшая панель, чем выше результат, тем лучше, но пусть она будет маленькой и легкой
× 2

Необходимые инструменты и машины

Паяльник (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Going Green

Я работал в индустрии возобновляемых источников энергии в Австралии и возился с Arduinos в течение некоторого времени, но только в этом проекте я наконец решил объединить их и построить свое собственное небольшое солнечное устройство. Одно небольшое замечание:этот проект, очевидно, требует 5 В для питания Arduino и сервопривода, которые используются для максимизации выходной мощности солнечных панелей, которые в лучшем случае производят 3,4 В. Так что это не совсем окупается. Однако концепция масштабируема, поэтому, если, например, вы использовали эту концепцию на массиве из 8 панелей, производящих 12 В, тогда вы могли бы включить Arduino и зарядить свой телефон без внешнего источника питания. Я планирую сделать это однажды и добавлю сюда ссылку, когда это произойдет.

Пока я здесь, мне лучше отдать должное своим источникам ...

Жизнь своими руками - http://www.the-diy-life.com/arduino-solar-tracker/

Гаджеты Brown Dog - http://www.instructables.com/id/Solar-Altoids-USB-Charger/

Оба являются хорошими источниками информации по этому вопросу, и откуда я взял эту концепцию.

НАЧАЛО РАБОТЫ

Итак, обо всем по порядку, вам понадобятся солнечные батареи. Я использовал два, хотя вы можете использовать сколько угодно, просто подумайте о том, сколько 9-граммовый сервопривод сможет поднимать / опускать (не делайте его слишком тяжелым). Панели, которые я обнаружил, были рассчитаны на выходную мощность 1,5 В, 0,75 Вт, что является нижним пределом, доступным в наши дни. Но они были легкими и дешевыми, и, учитывая, что для меня это доказательство концептуального проекта, результат не очень важен.

Я соединил две свои панели по краю эпоксидной смолой. Чтобы соединить панели в цепочку, просто припаяйте положительный вывод одной панели к отрицательному выводу другой, в результате чего у вас останутся положительный и отрицательный провод. Присоедините два LDR к каждой стороне солнечной панели (восточной и западной) и припаяйте один конец перемычки к каждому из их выводов. Легче припаять перемычку, если отрезать конец с одной стороны и зачистить провод примерно на 5 мм, чтобы оголить провода .

Чтобы Arduino мог читать LDR, нам нужна схема делителя напряжения для каждого. Смотрите здесь делители напряжения. В этой схеме LDR - это R1, и мы используем резистор 10 кОм для R2 и присоединяем перемычки к Arduino там, где встречаются два резистора. Если вы строите этот проект на макете, один вывод LDR будет идти к делителю напряжения, а другой - к положительной шине питания. См. Диаграмму Фритзинга ниже.

Структура трекера

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

Установка сервопривода

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

Калибровка сервопривода

Откройте новый эскиз и введите следующий код.

  #include  Серво myservo1; // Создание сервообъекта для управления сервоприводом pos =10; void setup () {myservo1.attach (9); // присоединяет сервообъект к выводу 9 ШИМ} void loop () {myservo1.write (pos);}  

Загрузите в свой Arduino и посмотрите, куда движется сервопривод. Продолжайте изменять значение «pos» между 0 и 180 в скетче и повторно загружать скетч, пока не найдете положения, в которых сервомеханизм указывает прямо вверх и вниз. Это ваши максимальные и минимальные значения. Для меня это было 15 и 140. Если значение каким-то образом перекрывается от 180 до 0, снимите сервомеханизм и переместите его так, чтобы его можно было правильно выровнять.

Размещение в вместе

Идите вперед, соедините все и введите следующий набросок.

  // Эскиз Sun Tracker //// Этот эскиз разработан для использования с сервоприводом на 9 грамм, // который может получать питание непосредственно от Arduinio без // внешнего источника питания. Диаграмму фритзинга см. В репозитории Github //https://github.com/nickalanf/Arduino--Projects// Раздел Serial monitor предназначен для целей отладки или для общего интереса, // когда устройство работает правильно, может быть отключенным //// Sketch by FIELDING - 8/2/18 # include  Servo servo; // Создание сервообъекта для управления сервоусилителем eLDRPin =A0; // Назначьте контакты LDR. Int wLDRPin =A1; int eastLDR =0; // Создаем переменные для сохранения в показаниях LDR int westLDR =0; int difference =0; // Создаем переменную для сравнения двух LDR'sint error =10; // Переменная для заметной разницы между буксировкой LDR'sint servoSet =130; // Переменная для положения сервопривода - будет разной для каждого устройстваvoid setup () {servo.attach (9); // подключает сервообъект к выводу 9 ШИМ Serial.begin (9600); } пустая петля () {eastLDR =analogRead (eLDRPin); // Считываем значения LDR westLDR =analogRead (wLDRPin); if (eastLDR <400 &&westLDR <400) {// Проверяем, есть ли слабый свет на обоих LDR while (servoSet <=140 &&> =15) {// если да, отправляем панели обратно на восток для servoSet восхода ++; servo.write (servoSet); задержка (100); }} разница =eastLDR - westLDR; // Проверяем разницу if (разница> 10) {// Отправляем панель к LDR с более высоким показанием if (servoSet <=140) {servoSet ++; servo.write (servoSet); }} else if (разница <-10) {if (servoSet> =15) {servoSet -; servo.write (servoSet); }} Serial.print (eastLDR); // Монитор последовательного порта может быть полезен для отладки / настройки Serial.print ("-"); // Используйте его, чтобы увидеть, заметно ли отличаются ваши LDR, когда Serial.print (westLDR); // Они имеют равный свет, если это так, исправьте значение ошибки Serial.print ("-"); Serial.print (разница); Serial.print ("-"); Серийный принт (servoSet); // Точная настройка сервоприводов для максимального увеличения доступного поворота Serial.print ("-"); Serial.println ("."); задержка (100);}  

Откройте Serial Monitor и направьте свет на LDR. Постарайтесь равномерно осветить оба и проверьте значение разницы, которое выводится на серийный монитор. Если его значение больше примерно 25 или меньше -25, вам необходимо добавить калибровку ошибки. Добавьте соответствующее значение ошибки в код, а затем добавьте или вычтите это значение из соответствующего LDR. Если значения разницы близки, можно оставить как есть.

Вы готовы его испытать! проще всего зайти в темную комнату и с фонариком / лампой. медленно переместите свет от одного LDR к другому и наблюдайте за перемещением панели. Вы также можете закрыть одну LDR, и панель должна отклоняться от нее.

БОНУС - ЗАРЯДНОЕ УСТРОЙСТВО

Если вы действительно хотите использовать выход панели, вы можете подключить повышающий преобразователь постоянного / постоянного тока 2,5–5 В непосредственно к выводам, выходящим из панелей. Это полностью отдельная схема от Arduino / макета. Обратите внимание, что стандартный телефон заряжается при 5 В, и ваши панели могут выдавать 5 В, но с низким током, поэтому, если ваша батарея полная или солнечный свет низкий, у вас не будет достаточно мощности для зарядки. Самый простой способ обойти это - просто добавить больше панелей!

Код

  • Sun Tracker
Sun Tracker Обработка
 // Скетч Sun Tracker //// Этот скетч разработан для использования с сервоприводом на 9 грамм, // который может получать питание непосредственно от Arduinio без // внешнего источника питания. Диаграмму фритзинга см. В репозитории Github //https://github.com/nickalanf/Arduino--Projects// Раздел Serial monitor предназначен для целей отладки или для общего интереса, // когда устройство работает правильно, может быть отключенным //// Sketch by FIELDING - 8/2/18 # include  Servo servo; // Создание сервообъекта для управления сервоусилителем eLDRPin =A0; // Назначьте контакты LDR. Int wLDRPin =A1; int eastLDR =0; // Создаем переменные для сохранения в показаниях LDR int westLDR =0; int difference =0; // Создаем переменную для сравнения двух LDR'sint error =10; // Переменная для заметной разницы между буксировкой LDR'sint servoSet =130; // Переменная для положения сервопривода - будет разной для каждого устройстваvoid setup () {servo.attach (9); // подключает сервообъект к выводу 9 ШИМ Serial.begin (9600); } пустая петля () {eastLDR =analogRead (eLDRPin); // Считываем значения LDR westLDR =analogRead (wLDRPin); if (eastLDR <400 &&westLDR <400) {// Проверяем, есть ли слабый свет на обоих LDR while (servoSet <=140 &&> =15) {// если да, отправляем панели обратно на восток для servoSet восхода ++; servo.write (servoSet); задержка (100); }} разница =eastLDR - westLDR; // Проверяем разницу if (разница> 10) {// Отправляем панель к LDR с более высоким показанием if (servoSet <=140) {servoSet ++; servo.write (servoSet); }} else if (разница <-10) {if (servoSet> =15) {servoSet -; servo.write (servoSet); }} Serial.print (eastLDR); // Монитор последовательного порта может быть полезен для отладки / настройки Serial.print ("-"); // Используйте его, чтобы увидеть, заметно ли отличаются ваши LDR, когда Serial.print (westLDR); // Они имеют равный свет, если это так, исправьте значение ошибки Serial.print ("-"); Serial.print (разница); Serial.print ("-"); Серийный принт (servoSet); // Точная настройка сервоприводов для максимального увеличения доступного поворота Serial.print ("-"); Serial.println ("."); задержка (100);} 

Схема


Производственный процесс

  1. Солнечный элемент
  2. Сбор данных солнечной панели в реальном времени с использованием Arduino
  3. Solar Tracker V2.0
  4. Солнечный трекер на основе Интернета вещей (IoT)
  5. Солнечная система слежения за Солнцем
  6. SmartPostBox
  7. Платформа солнечных панелей с сервоуправлением и отслеживанием света
  8. Панель солнечного трекера с двумя осями с автоматическим и ручным режимами
  9. Солнечная панель:вопросы качества и ключевые точки контроля
  10. Процесс производства солнечных панелей:как изготавливаются солнечные панели?