Оглавление:
- Шаг 1. Что такое MPPT и зачем он нам нужен?
- Шаг 2: КАК РАБОТАЕТ MPPT?
- Шаг 3: реализация MPPT на Arduino
- Шаг 4: понижающий преобразователь
- Шаг 5: Последний штрих -
- Шаг 6: ОБНОВЛЕНИЕ: - Фактическая принципиальная схема, спецификация и код
Видео: Arduino - солнечное зарядное устройство PV MPPT: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
На рынке доступно множество контроллеров заряда. обычные дешевые контроллеры заряда неэффективны для использования максимальной мощности от солнечных батарей. Те, которые эффективны, очень дороги.
Поэтому я решил сделать свой собственный контроллер заряда, который был бы эффективным и достаточно умным, чтобы понимать потребности батареи и условия солнечной энергии. он принимает соответствующие меры для получения максимальной доступной энергии от солнечной батареи и очень эффективного использования ее в батарее.
ЕСЛИ ВАМ НРАВИТСЯ МОИ УСИЛИЯ, ПОЖАЛУЙСТА, ГОЛОСОВАТЬ ЭТИ ИНСТРУКЦИИ.
Шаг 1. Что такое MPPT и зачем он нам нужен?
Наши солнечные панели глупы и не умеют понимать состояние батареи. Предположим, у нас есть солнечная панель 12 В / 100 Вт, и она будет давать выходную мощность от 18 В до 21 В в зависимости от производителя, но батареи рассчитаны на номинальное напряжение 12 В, в условиях полной зарядки они будут 13,6 В и будут 11,0 В при полной нагрузке. увольнять. Теперь предположим, что наши батареи заряжаются на 13 В, панели выдают 18 В, 5,5 А при 100% эффективности работы (100% невозможно, но давайте предположим). Обычные контроллеры имеют ШИМ-регулятор напряжения ckt, который понижает напряжение до 13,6, но не имеет усиления по току. он обеспечивает защиту только от перезарядки и тока утечки на панели в ночное время.
Итак, у нас 13,6 В * 5,5 А = 74,8 Вт.
Мы теряем примерно 25 ватт.
Чтобы столкнуться с этой проблемой, я использовал конвертер smps buck. такие преобразователи имеют КПД выше 90%.
Вторая проблема - это нелинейная мощность солнечных панелей. они должны работать при определенном напряжении, чтобы получить максимальную доступную мощность. Их производительность меняется в течение дня.
Для решения этой проблемы используются алгоритмы MPPT. MPPT (отслеживание максимальной точки мощности), как следует из названия, этот алгоритм отслеживает максимальную доступную мощность от панелей и изменяет выходные параметры для поддержания состояния.
Таким образом, при использовании MPPT наши панели будут генерировать максимальную доступную мощность, а понижающий преобразователь будет эффективно передавать этот заряд в батареи.
Шаг 2: КАК РАБОТАЕТ MPPT?
Я не собираюсь подробно это обсуждать. так что, если вы хотите понять это, взгляните на эту ссылку -Что такое MPPT?
В этом проекте я отслеживал входные характеристики V-I и выходные V-I. умножив входное V-I и выходное V-I, мы можем получить мощность в ваттах.
Допустим, у нас есть 17 В, 5 А, т.е. 17x5 = 85 Вт в любое время суток. в то же время наша мощность составляет 13 В, 6 А, т.е. 13x6 = 78 Вт.
Теперь MPPT будет увеличивать или уменьшать выходное напряжение до по сравнению с предыдущей входной / выходной мощностью.
если предыдущая входная мощность была высокой, а выходное напряжение было ниже, чем существующее, то выходное напряжение снова будет ниже, чтобы вернуться к высокой мощности, а если выходное напряжение было высоким, то текущее напряжение будет увеличено до предыдущего уровня. таким образом, он продолжает колебаться около точки максимальной мощности. эти колебания минимизируются эффективными алгоритмами MPPT.
Шаг 3: реализация MPPT на Arduino
Это мозг этого зарядного устройства. Ниже приведен код Arduino для регулирования вывода и реализации MPPT в одном блоке кода.
// Iout = выходной ток
// Vout = выходное напряжение
// Vin = входное напряжение
// Pin = входная мощность, Pin_previous = последняя входная мощность
// Vout_last = последнее выходное напряжение, Vout_sense = текущее выходное напряжение
пустое регулирование (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) || (PinVout_last)))
{
если (рабочий_цикл> 0)
{
duty_cycle - = 1;
}
analogWrite (buck_pin, duty_cycle);
}
иначе если ((Vout
{
если (рабочий_цикл <240)
{duty_cycle + = 1;
}
analogWrite (buck_pin, duty_cycle);
}
Pin_previous = Пин;
Vin_last = Вин;
Vout_last = Vout;
}
Шаг 4: понижающий преобразователь
Я использовал N-канальный МОП-транзистор, чтобы сделать понижающий преобразователь. Обычно люди выбирают МОП-транзистор с P-каналом для переключения на высокой стороне, и если они выбирают МОП-транзистор с N-каналом для той же цели, то потребуется ИС драйвера или загрузочная обвязка ckt.
но я модифицировал понижающий преобразователь ckt, чтобы иметь переключение на низком уровне с использованием N-канального МОП-транзистора. Я использую N-канал, потому что это низкая стоимость, высокая номинальная мощность и меньшее рассеивание мощности. В этом проекте используется МОП-транзистор логического уровня IRFz44n, поэтому он может напрямую управляться выводом PWM Arduino.
для более высокого тока нагрузки следует использовать транзистор, чтобы подать 10 В на затвор, чтобы полностью довести МОП-транзистор до насыщения и минимизировать рассеяние мощности, я также сделал то же самое.
как вы можете видеть в ckt выше, я поместил МОП-транзистор на -ve напряжения, таким образом используя + 12В от панели в качестве земли. Эта конфигурация позволяет мне использовать N-канальный МОП-транзистор для понижающего преобразователя с минимальным количеством компонентов.
но у него есть и недостатки. поскольку у вас есть обе стороны, разделенные по напряжению, у вас больше нет общего опорного заземления. поэтому измерение напряжений очень сложно.
Я подключил Arduino к входным клеммам Solar и использовал его линию -ve в качестве заземления для Arduino. мы можем легко измерить входное напряжение на этом этапе, используя делитель напряжения ckt согласно нашим требованиям. но не можем так легко измерить выходное напряжение, потому что у нас нет общей земли.
Для этого есть хитрость. вместо того, чтобы измерять напряжение на выходном конденсаторе, я измерил напряжение между двумя отрицательными линиями. используя Solar -ve в качестве земли для Arduino и выход -ve в качестве измеряемого сигнала / напряжения. Значение, полученное в результате этого измерения, следует вычесть из измеренного входного напряжения, и вы получите реальное выходное напряжение на выходном конденсаторе.
Vout_sense_temp = Vout_sense_temp * 0,92 + float (raw_vout) * volt_factor * 0,08; // измеряем напряжение между входной землей и выходной землей.
Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // изменяем разницу напряжений между двумя землями на выходное напряжение..
Для измерения тока я использовал токоизмерительные модули ACS-712. Они были запитаны от Arduino и подключены к входу gnd.
внутренние таймеры модифицированы для усиления ШИМ 62,5 кГц на выводе D6. который используется для управления МОП-транзистором. Для обеспечения защиты от обратной утечки и обратной полярности потребуется выходной блокирующий диод. Для этой цели используется диод Шоттки с желаемым номинальным током. Значение индуктора зависит от требований к частоте и выходному току. Вы можете использовать доступные онлайн калькуляторы понижающего преобразователя или использовать нагрузку 100uH 5A-10A. никогда не превышайте максимальный выходной ток индуктора на 80% -90%.
Шаг 5: Последний штрих -
вы также можете добавить к зарядному устройству дополнительные функции. Как и у меня, ЖК-дисплей также отображает параметры и 2 переключателя для ввода данных от пользователя.
Я обновлю окончательный код и завершу схему ckt очень скоро.
Шаг 6: ОБНОВЛЕНИЕ: - Фактическая принципиальная схема, спецификация и код
ОБНОВИТЬ:-
Я загрузил код, бомбу и схему. он немного отличается от моего, потому что его легче сделать.
Рекомендуемые:
Старое зарядное устройство? Нет, это гитарный усилитель и педаль для гитарных наушников RealTube18: 8 шагов (с изображениями)
Старое зарядное устройство? Нет, это гитарный усилитель и педаль для гитарных наушников RealTube18: ОБЗОР: что делать во время пандемии, с устаревшим зарядным устройством для никель-кадмиевых аккумуляторов и устаревшими автомобильными радиолампами 60-летней давности, нуждающимися в переработке? Как насчет разработки и сборки низковольтной общей аккумуляторной батареи, состоящей только из ламп
Эльвит. Кинетическое зарядное устройство Powerbank: 8 шагов (с изображениями)
Эльвит. Kinetic Charger Powerbank: Однажды я был в поездке, и у меня возникла проблема с подзарядкой моих гаджетов. Я долго ехал в автобусе, у меня не было возможности зарядить телефон и я знал, что скоро останусь без связи, поэтому пришла идея создать кинетическую карту
Запасное USB-зарядное устройство NB-6L для Canon CB-2LYE: 9 шагов (с изображениями)
Запасное USB-зарядное устройство Canon CB-2LYE NB-6L: у меня есть камера Canon SX 540HS с супер-зумом и зарядным устройством CB-2LYE и аккумулятором NB-6L. Зарядное устройство работает от 240 В переменного тока, и из-за его размера его нельзя носить с собой в сумке для камеры. Во время моего недавнего визита на станцию в Чанд
Легкое 5-минутное USB-зарядное устройство на солнечной батарее / USB-зарядное устройство для выживания: 6 шагов (с изображениями)
Легкое 5-минутное USB-зарядное устройство на солнечной батарее / USB-зарядное устройство для выживания: Привет, ребята! Сегодня я только что сделал (наверное) самое простое зарядное устройство для солнечных батарей usb! Во-первых, мне очень жаль, что я не загрузил некоторые инструкции для вас, ребята … Я сдал несколько экзаменов за последние несколько месяцев (на самом деле не несколько, может быть, неделю или около того ..). Но
Сделай сам, более эффективное долговечное USB-устройство или любое зарядное устройство: 6 шагов
Сделай сам, более эффективное долговечное USB-устройство или ЛЮБОЕ зарядное устройство: в этом уроке я расскажу, как сделать одно из самых эффективных долговечных USB-зарядных устройств. На данный момент существует два типа зарядных устройств. Первое зарядное устройство потребляет более высокое напряжение и снижает его, выделяя тепло, i