1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 2

Самодельный MPPT-контроллер для СБ

Тема в разделе "Возобновляемые источники электроэнергии", создана пользователем YurecV, 20.03.13.

  1. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    У меня очень много щелочных аккумуляторов, но использовать их внутри дома не рискую. Здесь и повышенное газообразование и возможность теплового разгона. Хотел сварить железный ящик рядом с домом и смонтировать банк из щелочи внутри него. Но все руки никак не дойдут.
    Лично мое мнение - щелочные ламельные (серия НК-55) можно использовать в помещении но с хорошей вентиляцией, а все что со спечеными пластинами - только вне дома в негорючем месте. В кемпере думаю те же требования.
    В репозитории прошивка
    2019.01.16_MPPT_V2.0_temp.ino.with_bootloader.standard_Max-45V.hex
    Ограничение напряжения выставлено на 45В.
     
    Последнее редактирование: 04.04.19
  2. Мax94
    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638

    Мax94

    ·

    Мax94

    ·

    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638
    Адрес:
    Калининград
    Вы это только @wcreader-у не говорите! :close:
     
  3. IgorPPP
    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1

    IgorPPP

    Участник

    IgorPPP

    Участник

    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1
    Спасибо за прошивку и советы!
     
  4. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Всем привет. Завершился грандиозный проект по осваиванию WIFI пространства. Темных мест почти не осталось, а то что сделано, работает стабильно, долго и радует результатами.
    Что было сделано...:
    Доведен до ума интерфейс общения зарядника с ПК посредством RS232 протокола.
    Написана программа приема, сохранения и анализа передаваемых данных через Serial port на ПК.
    Изготовлен и испытан WiFi переходник на ESP8266 позволяющий принимать сообщения с контроллера и транслировать их в эфир.
    Написаны средства приема этих данных из WiFi эфира и складирование их на Windows PС, в виде лога, формата CSV.
    Написан своеобразный GUI ввиде вэб странички который позволяет отслеживать состояние контроллера в текущий момент.
    Найдена и устранена накапливающаяся ошибка подсчета залитой и слитой емкости АКБ.
    Начата работа по отрисовке односторонней финальной платы.
    После завершения и теста отрисованной односторонней платы будет отрисована двусторонняя плата для заказа у производителей печатных плат. Планируется свободный доступ.
    Реализована (пока в тесте) защита от обратного тока в СП. + защита от КЗ по входу СБ.
    Переделана (пока в тесте) система управления выходом LOAD. Обеспечивающая гальваническую развязку и наличие защит выходных клемм от КЗ.
    Финальная версия рисуется и вскоре будет доступна в репозитории.

    Дальнейшее развитие невозможно из-за кончившейся памяти внутри контроллера. Грядет переход на ESP32.
    Когда таковое событие случится - создам новую ветку этого формума.
    Спасибо за что следите за темой.
     
  5. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Всем привет. Теперь контроллер автоматически переключает режимы работы в зависимости от выработки мощности СБ. При малой освещенности переходит в режим удержания напряжения солнечной батареи на 1,5В больше чем на аккумуляторе. При подходе напряжения АКБ к целевому переключается в режим DCDC контроллера для точного поддержания тока и напряжения. На лабораторном БП все работает отлично. Осталось дождаться сумеречной или пасмурной погоды чтобы проверить с реальными панелями.
    Алгоритм смены автосмены режимов в зависимости от выработки  .jpg
    На данный момент отрисована новая силовая и управляющие модули.
    Добавлено меню включения/отключения модуля WIFI.
    Теперь ночью нет обратного тока панелей.
    Теперь выход LOAD с общим минусом.
    Идет поузловая проверка и доводка финальной версии.
     
  6. Мax94
    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638

    Мax94

    ·

    Мax94

    ·

    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638
    Адрес:
    Калининград
    Советы- поработать на ярком Солнце с затенением части элементов- вплоть до полного затенения хотя бы одного; б. создать пасмурную погоду легко вспом. материалами...
     
  7. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Всем привет. К сожалению представленная выше схема потерпела полное фиаско. На протяжении одного пасмурного дня и двух ясных вечеров переход алгоритма Uсб = Uакб + 1,5В давал проигрыш в выработке нежели просто прямое подключение к панелям. Я сказал контроллеру чтобы он при выработке меньше 3Ватт переключался между ними с периодичностью раз в 6 секунд. На графиках это выглядит так.
    2019.05.30 20-13 picture.jpg
    Изменение напряжения добавки от 0,5В до 2В не сильно меняют ситуацию. Оставляю режим прямого подключения СБ к АКБ при низкой освещенности как основной.
     
  8. Vadim_Selvic
    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102

    Vadim_Selvic

    Живу здесь

    Vadim_Selvic

    Живу здесь

    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102
    Для формирования шим, используйте сумму выходов двух пи-регулятлров по току и напряжению, в эту же сумму добавьте МРРТ переменную, и все проблемы решатся разом. Когда МРРТ превысит напряжение или ток, пи-регулятор ее исправит. Точно так же ночью, когда тока мало, контур по напряжению начнет тянуть СП до АКБ автоматически. Только надо добавить условие, если выходной ток меньше 0.1 А -> МРР алгоритм прекращает поиск, МРР переменная фиксируется в последнем значении чтобы не мешать пи регуляторам. Еще остается проблема, когда контроллеров большечем одинили есть второй зарядник, тогда при зарядке акб выше уставки ркгулятора в контроллере, этот же самвй регулятор начинает повышать напряжен е акб до напряжения СП. Я пока решил это ограничив шим физически и поставил диод шоттки на входе, но пытался решать это через выходной ток, который для контроллера будет равный нулю. Но это может привести к перезаряду акб если нет никаких холостых потребителей. Т. к. ток на самом деле будет несколько больше чем нуль.
     
  9. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    К своему стыду так и не разобрался с ПИД регулированием. Все что делал работало из рук вон плохо. Видимо просто настроить не получилось. Корректно по сей день работает только П-регулирование. Оно используется в PWM режиме и показывает отличные результаты в установившемся режиме. При резкоменяющихся нагрузках есть незначительная перерегуляция, но совершенно не критичная.
    Если покажете как у вас в ПИ-регулирование заводятся три параметра - буду благодарен.
    Для максимального энергосбережения отслеживаю разницу напряжений на СБ и АКБ. При отрицательной - тушу ШИМ полностью, чтобы не таскать затворы попусту. Экономлю 40-70 мА на динамических потерях и питании вольтодобавки верхних ключей.
    Мне эта проблема не понятна. Видимо потому что у меня все попроще. Контроллер знает, что снижение потребления мощности от СБ возможно только лишь в трех случаях - если ШИМ выскочил из ТММ вниз, если уровень инсоляции снизился до минимума и если АКБ заряжены под завязку и срабатывает ограничение CCCV. Во всех этих случаях перевод в PWM режим по принципу
    PWM = PWM+1;
    if (Ibat>IbatLim | Ubat>UbatLim){
    PWM = PWM-2;
    }
    решает все эти проблемы идеально. В случае с проскоком ШИМа вниз - выводит обратно на уровень выработки и переключает в MPPT. В случае с полным зарядом АКБ - начинает очень точно держать напряжение и ток. Было предположение что при малой инсоляции можно будет снять больше тока за счет преобразования несколько повышенного входного напряжения, но оно не подтвердилось.
    MPPT у меня работает по классическому алгоритму от TI
    inc_cond_flowchart.png
     
  10. Vadim_Selvic
    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102

    Vadim_Selvic

    Живу здесь

    Vadim_Selvic

    Живу здесь

    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102
    Выполнять каждую миллисекунду:
    {

    /MAIN PID

    erramp=output_current_sm-20; /усилитель ошибки по току (в амперах).
    climit=climit+(erramp); /PID интегралка по току
    if (climit<0) climit=0;
    if (climit>2000) climit=2000;

    erramp_v=out_voltage_sm-charge_voltage; /усилитель ошибки по напряжению (вольт)
    vlimit=vlimit+(erramp_v); /PID интегралка по напряжению
    if (vlimit<0) vlimit=0;
    if (vlimit>2000) vlimit=2000;

    if (main_pwm<101) mppt_step+;
    if (main_pwm>1299) mppt_step-;
    if (manual_step>2000) manual_step=2000;
    if (manual_step<0) manual_step=0;
    if (mppt_step>601) mppt_step=601;
    if (mppt_step<-601) mppt_step=-601;
    if (output_current_sm<0.01)&&(inp_voltage_sm>40) vlimit-; ./защита от внешнего перенапряжения (другой зарядник)

    main_pwm=manual_step+(int16_t) mppt_step+(int16_t)(climit+(erramp)+(int16_t)(vlimit+(erramp_v);

    if (output_current_sm<0.01) mppt_step-; /подтягиваем ТММ к батарее ночью.

    }

    manual_step - ручное задание начала поиска, паспортная ТММ батареи, либо просто нуль (можно исключить когда алгоритм отлажен, на данный момент задан нуль)
    Переменные с индексом sm - smoothed. После цифровой фильтрации.
    П-составляющая это erramp добавленный в выходную сумму.
    ШИМ 2000 точек 24 кГц.
    Все сделано на float.
    Точность удержания напряжения до сотых долей вне зависимости от нагрузки. Интегралка на флоате дорабатывает точно.
    Проц stm32f030 48 мгц
     
  11. Vadim_Selvic
    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102

    Vadim_Selvic

    Живу здесь

    Vadim_Selvic

    Живу здесь

    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102
    У меня силовая часть это IR2104 и полумост., поэтому при неудачном значении ШИМ возможно обратное преобразование, повышает напряжение с АКБ и гонит обратно в СП. Поэтому в коде сделаны защиты от этого. КПд конечно хороший у синхронного выпрямления, но двунаправленность преобразования создает проблемы. Конечно если вместо нижнего ключа поставить просто диод шоттки код можно в половину сократить.
    В коде есть место где при экстремальном превышении на входе просто отрубается сам драйвер и глушит ключи наглухо, это на случай когда пид не успевает вдруг Так же стоит 100В варистор по входу. На всякий случай.
    Ну и сам ШИМ ограничил значением, чтобы больше 80 вольт не вдувало на вход ни при каких отклонениях. Жаль порты на контроллере закончились. раз уж я добавил диод шоттки на входе, можно мерить напряжение СП отдельно от преобразователя. Но пока острой необходимости нет, и так все отлично работает. 7 сегментный индикатор половину ног скушал :)
     
  12. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Я думал попозже добавить синхронный ключ, и в скетче бы почти ничего не поменялось бы наверное, за исключением того что включался бы он начиная с 20-40 ватт выработки. В остальное время его бы подпирала шотка. КПД бы остался на уровне, за то с обратнотоком при малом Кзап не было бы проблем. У меня пару раз нижний ключ хлопнул, после этого я перехотел синхронный транзисторный диод:).
     
  13. Vadim_Selvic
    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102

    Vadim_Selvic

    Живу здесь

    Vadim_Selvic

    Живу здесь

    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102
    У меня шим ограничен 100-1300 точекиэ из 2000, это уде хорошо помогает от хлопкоы, кросе этого в while добавлены строки мгновенной отсчечки по перенапряжению входа (блокировать вход sd на драйвере) + пи-регуляторы и в сумме это решило проблему, ща исключением холостого хода ночью 90 мА. Был бы свободный порт, я бы мог отдельно мерить напряжение СП и глушить шим. При этом перекмнуть вход с преоьразователя на СП я не могу т. к. этот параметртнужен для других защит. Если подключить i2c дисплей, нога для этого освободится. Но пока переделку не планирую, я на 4 значном индикаторе и так вижу все что надо, мощность, киловатт-часы, вольты вход-выход, амперы заряда. Достаточно. Лучшее враг хорошего) на все времени не хватит.
     
  14. Vadim_Selvic
    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102

    Vadim_Selvic

    Живу здесь

    Vadim_Selvic

    Живу здесь

    Регистрация:
    10.07.17
    Сообщения:
    136
    Благодарности:
    102
    Делаю еще один контроллер на 10А, с функцией сброса излишков на бойлер. Этот для СП ориентированной на запад.
    После испытаний внесу изменения в первый контроллер.
     

    Вложения:

    • IMG_20190607_125239.jpg
  15. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    А где и какая индуктивность у Вас используется? Какова общаяя ёмкость пленки?