avatar_Паяка

Универсальный модуль разрядной моргалки для Ардуино и не только

Автор Паяка, 17 Сен. 2018 в 15:11

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Паяка

[user]Яков93[/user], в моей нет, но можно сделать. По-старинке называю MPPT "согласованием сопротивлений", недавно упомянутым в соседней теме.  :-)
GT TF1 60V 20Ah Chilwee DZF

serggio

Цитата: Яков93 от 23 Нояб. 2018 в 19:12А в Вашей нагрузке есть режим поиска точки максимальной мощности (MPPT)?
Нет, это обычная китайская нагрузка, только в СС работает

Яков93

Цитата: Паяка от 23 Нояб. 2018 в 19:15
[user]Яков93[/user], в моей нет, но можно сделать. По-старинке называю MPPT "согласованием сопротивлений", недавно упомянутым в соседней теме.  :-)
Для "универсального модуля" наверное все что только можно придумать нужно впихнуть.

Паяка

[user]Яков93[/user], верно! Как раз доделываю первый экземпляр, после его испытаний можно будет добавить в скетч режимы постоянной мощности и согласованного сопротивления MPPT.
GT TF1 60V 20Ah Chilwee DZF

SapienzSPB

Цитата: Яков93 от 23 Нояб. 2018 в 19:12А в Вашей нагрузке есть режим поиска точки максимальной мощности (MPPT)?
А для чего он в нагрузке может понадобиться? С ним ёмкость можно подсчитать только в ватчасах. Амперчасы будут неправильными.
ВАХ и ТММ солнечных батарей колоссально зависит от температуры. У меня при 20 градусах - 18.2В. При 36 - уже 16.9В. Правда алгоритм и железо самодельные.

Яков93

Цитата: SapienzSPB от 23 Нояб. 2018 в 19:30
А для чего он в нагрузке может понадобиться? С ним ёмкость можно подсчитать только в ватчасах. Амперчасы будут неправильными.
Какие там "Ваттчасы", "Амперчасы"? Мы ж не емкость считаем, а силу тока и мощность - Амперы и Ватты. И почему они вдруг будут неправильными при правильной температуре?
Цитировать
ВАХ и ТММ солнечных батарей колоссально зависит от температуры. У меня при 20 градусах - 18.2В. При 36 - уже 16.9В. Правда алгоритм и железо самодельные.
Ок, зависят, ктож спорит. Характеристики аккумуляторов тоже зависят, что-ж теперь их характеристики из-за этого не снимать?

Паяка

Всё верно, получается многофункциональный измерительный прибор. С текстовым экранчиком, энкодером и легко перепрограммируемым по USB процессором на борту.
GT TF1 60V 20Ah Chilwee DZF

Яков93

#115
Так как не нашел готового скетча поиска MPPT сочинил свой. Может будет интересно.

Спойлер

int massiv[100][2];                         //массив на 100 строчек, в каждой 2 значения
int max_massiv=0;                           //номер строчки с максимальной мощностью
int w=0;
int g=0;

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  if(w<100)                                 //на 100 выборок
  {
    pos=w*120;                              //увеличение величины PWM нагрузки
    massiv[w][0]=pos;                       //забивка в массив цифры PWM
    massiv[w][1]=V*I/1000;                  //забивка в массим цифры мощности
     
      if(pos>0)
    {
       pwmWrite(PWM_NAGRUZ,pos);            //величина ШИМ на нагрузку
    }
    else
    {
      digitalWrite(PWM_NAGRUZ,LOW);
    }
     for(int p=0; p<100; p++)
    {
      if(massiv[max_massiv][1]<massiv[p] [1]) max_massiv=p;     //вычисление номера строки массива с максимальной мощностью
    }
   
    w++;
  }

  if(w>=100 && g<100)                           //второй этап точной подстройки
  {
   if(g==0) pos=massiv[max_massiv][0]+300;      //настраиваем ШИМ нагрузки на величину немного большую чем найденной максимальной
   
    massiv[g][0]=pos;                           //забивка в массив цифры PWM
    massiv[g][1]=V*I/1000;                      //забивка в массим цифры мощности
    pos=pos-6;                                  //плавное уменьшение ШИМ
     
      if(pos>0)
    {
      pwmWrite(PWM_NAGRUZ,pos);
    }
    else
    {
      digitalWrite(PWM_NAGRUZ,LOW);
    }
     for(int p=0; p<100; p++)
    {
      if(massiv[max_massiv][1]<massiv[p][1]) max_massiv=p;      //снова вычисляестя более точная величина ШИМ для максимальной мощности
    }
    g++;
  }

if(g>=100)
{
  pos=massiv[max_massiv][0];                  //уставливаем найденную величину ШИМ для MPPT
  pwmWrite(PWM_NAGRUZ,pos);                   //включаем нагрузку с найденным ШИМ

}
}

Алгоритм такой.
Постепенно увеличивается ток нагрузки, у меня получилось с шагом примерно 0,1А от 0 до 10А. Каждое значение примененного ШИМа забивается в массив. Напротив этого ШИМа в тот же массив забивается измеренная получившаяся мощность.
Массив на 100 строчек. Из них выбирается та у которой самая большая мощность, ее номер запоминается.
Второй этап. Немного отступаю вверх от найденного максимального ШИМ и начинаю медленно спускаться вниз. Не до конца, а тоже немного ниже прежней МРРТ.  Шаг делаю очень маленький, наверное 5 мА. И снова в эту же таблицу забиваю новые значение. Снова нахожу наибольшее.
Делал не для ATMega, а для STM32, там немного другие команды. Вместо analogWrite - pwmWrite например.

SapienzSPB

Яков, мне не понятно зачем в электронной нагрузке, используемой для разряд(АКБ) на активную нагрузку (резистор) МППТ режим. Ведь МППТ режим это метод согласования источника тока с источником напряжения. СБ с АКБ соответственно. А зачем источнику напряжения(АКБ) МППТ режим?
Цитата: Яков93 от 23 Нояб. 2018 в 19:34Какие там "Ваттчасы", "Амперчасы"? Мы ж не емкость считаем, а силу тока и мощность - Амперы и Ватты.
Смысл МППТ режима - преобразовывать токи и напряжения при постоянстве мощностей. Вот и получается, что при одинаковых входной и выходной мощности входной и выходной ток может быть разным. Какой считать истинным?

Яков93

Цитата: SapienzSPB от 23 Нояб. 2018 в 20:06
Яков, мне не понятно зачем в электронной нагрузке, используемой для разряд(АКБ) на активную нагрузку (резистор) МППТ режим. Ведь МППТ режим это метод согласования источника тока с источником напряжения. СБ с АКБ соответственно. А зачем источнику напряжения(АКБ) МППТ режим?
Мне кажется Вы совсем неправильно понимаете смысл MPPT. Аккумулятор тут совершенно ни при чем, кстати говоря, он тоже источник тока, а не напряжения.
Цели согласовывать СБ и АКБ в данном случае не стоит, стоит задача определить характеристики солнечной панели, например если она собрана самостоятельно. В частности установить ее максимально возможную мощность, найти напряжение и силу тока в этой точке.
Если Вы сталкивались с заводскими солнечными батареями наверное замечали, что на них имеется табличка с такими характеристиками.
Цитировать
  Смысл МППТ режима - преобразовывать токи и напряжения при постоянстве мощностей. Вот и получается, что при одинаковых входной и выходной мощности входной и выходной ток может быть разным. Какой считать истинным?
Нет тут ни МPPT контроллера, ни аккумулятора, только СП и нагрузка. Поэтому и ток только один - от СП к нагрузке.

SapienzSPB

Цитата: Яков93 от 23 Нояб. 2018 в 19:57Так как не нашел готового скетча поиска MPPT сочинил свой
Этот метод сканирует диапазон с постоянными интервалами времени. Недостаток в отсутствии динамической подстройки под резкоменяющиеся величины инсоляции. К тому же на время сканирования отдача мощности прекращается. Эффективен при недостаточной освещенности. В остальном потери мощности составляют до 15%. ( где то читал, не помню)...

Яков93

Цитата: SapienzSPB от 23 Нояб. 2018 в 20:14
Этот метод сканирует диапазон с постоянными интервалами времени. Недостаток в отсутствии динамической подстройки под резкоменяющиеся величины инсоляции. К тому же на время сканирования отдача мощности прекращается. Эффективен при недостаточной освещенности. В остальном потери мощности составляют до 15%. ( где то читал, не помню)...
Это не алгоритм для контроллера (пока) тут он разово применяется для нахождения характеристик батареи, которую еще и надо повернуть на нужный угол и дождаться идеального солнца.
Хотя у меня и промышленные контроллеры тоже раз в несколько минут замирают и ничего не отдают пока ищут эту MPPT.

SapienzSPB

Цитата: Яков93 от 23 Нояб. 2018 в 20:13Если Вы сталкивались с заводскими солнечными батареями наверное замечали, что на них имеется табличка с такими характеристиками.
Я потому и сказал сразу о том, что замерить эту максимальную мощность будет весьма проблематично. Панели очень быстро нагреваются и ТММ смещается вниз.
Цитата: Яков93 от 23 Нояб. 2018 в 20:13Мне кажется Вы совсем неправильно понимаете смысл MPPT.
Поверьте это не так. О МППТ я могу Вам рассказать очень много. Естественно то о чем не говорят производители оборудования.

Яков93

Цитата: SapienzSPB от 23 Нояб. 2018 в 20:22
Я потому и сказал сразу о том, что замерить эту максимальную мощность будет весьма проблематично. Панели очень быстро нагреваются и ТММ смещается вниз.
Чтобы сделать 200 выборок с небольшими перерывами требуется пара минут. Ничего там катастрофически не нагреется, тем более по нынешней погоде. Да и не стоит задача проводить все измерения в полном соответствии с ГОСТами, какие уж там госты на самодельные солнечные батареи. Просто чтоб самому понимать, что от них можно ожидать.

SapienzSPB

Если хотите - стукнитесь в личку. Дам кусок скетча МППТ с пояснениями.

serggio


Паяка

GT TF1 60V 20Ah Chilwee DZF

S_Kov

Цитата: Яков93 от 23 Нояб. 2018 в 19:57Второй этап. Немного отступаю вверх от найденного максимального ШИМ и начинаю медленно спускаться вниз. Не до конца, а тоже немного ниже прежней МРРТ.
На мой взгляд алгоритм неоправданно сложный.
Я бы сделал так.
Взял бы за исходную точку любую разумную нагрузку. Ну, например, 100мА. Посмотрел и запомнил отдаваемую мощность. Сделал шаг (например, 10мА) вверх на нагрузке. Для надежности снял бы 10 замеров. Посмотрел на мощность. Стало лучше? если да, то перенес текущую рабочую точку вверх. В противном случае, проверил точку на 10мА вниз. Стало лучше по мощности? - перенес бы рабочую точку вниз. И т.д. Этот метод
будет автоматически отслеживать рабочую точку преобразователя при изменении температуры, угла освещенности, облачности и цен на вашем рынке на Терской ;)
Можно придумать красивый алгоритм изменения величины шага перехода выше или ниже, чтобы улучшить скорость сходимости алгоритма к оптимальной точке.