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
    Адрес:
    Санкт-Петербург
    Я думаю что это все таки ошибка в монтаже или с контроллером что-то не так. Печатка 100% рабочая и внутрисхемное программирование работало и работает без нареканий.
    Если еще не разобрали ее - можем вместе пробежаться - проверить. Запустим уж как-нибудь. :)
    30ти ампер там еще пока нет :|:. А цифра эта обозначает лишь версию печатки. Мне просто надо было их как то отличать между собой. Их у меня несколько штук. Плюс в этой версии предполагалось использование уже 30 Амперных датчиков. Отсюда и название. Вижу что многих это смущает. Могу переименовать версию проекта - чтобы не вводить в заблужение. 30Ампер это не тот зарядный ток который меня остановит и рано или поздно я подойду к этому рубежу. Смысл в том чтобы на этом токе не использовать активное охлаждение, а это уже проблема посерьезнее. Но в целом решаема, как только найдется опытный человек и подскажет правильную разводку для использования боковых радиаторов.
    Спасибо Вам что помогаете тестировать проект. Жду от Вас критики и замечаний, любой баг, косметический или алгоритма хочу выявить и устранить, до перехода на 24 вольта.

    PS На данный момент решил что возможность видеть график и лог разрядки АКБ по Serial montor гораздо функциональнее, чем знать количество энергии в солнечных сутках. Выпилил таковую статистику и организовал обмен данными с ПК. Обнаружил что подходящей программы (для отрисовки длительных графиков) нету. Начал вспоминать VB для решения этой проблемы. Так что вскоре, надеюсь, дополню функционал этого скромненького процессора еще и такой возможностью.
     
    Последнее редактирование: 24.01.19
  2. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Всем привет. Хотел похвастаться скрином Serial логера. Сейчас отображатся шесть параметров с дискретностью в 1 секунду. Можно скрыть неинтересные графики оставив интересующий. На картинке пример зарядного тока
    Безымянный.png
    После Arduino IDE - Visual Studio 2017 это просто космос какой-то!
     
  3. kapik
    Регистрация:
    20.09.07
    Сообщения:
    2.118
    Благодарности:
    698

    kapik

    Живу здесь

    kapik

    Живу здесь

    Регистрация:
    20.09.07
    Сообщения:
    2.118
    Благодарности:
    698
    Адрес:
    Санкт-Петербург
  4. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Это программа - обработчик данных из Serial Port. То есть Serial port отправляет строку из 6 параметров. Программа которую я сейчас пишу должна развернуть эту строку, построить графики, добавить к данным метку времени и сложить в файл CSV на компьютере.
    Делаю так чтобы можно было использовать ее не только для моего контроллера а для любой поделки с Serial и данными которые нужно отрисовать и сохранить.
     
  5. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Вместо тысячи слов - первый график характеристик алгоритма контроллера заряда. Мелковато, поэтому довложил в архив оригинальную картинку.
    Время - полдень. Выборка 0,1секунда. Нагрузка - лампы общей мощностью ~70Ватт. Аккумуляторы заряжены.
    Провал зарядного тока на красном графе - подключение ламп нагрузки.
    Оранжевый граф - выработка в ваттах. Провал на графике - перевод контроллера в режим PWM. При этом коэфициент заполнения стал максимальным - аналог прямого подключения СБ к АКБ. Как видим мощность выработки снизилась на ~8 Ватт. Что при общей выработке в MPPT режиме 48 ватт составляет - 16%. В то же время прирост мощности от алгоритма МППТ по сравнению с PWM режимом составляет 48/40=1,20 то есть 20% плюсом только за счет алгоритма MPPT. И это на 12 вольтовых панелях. Правда они еще не успели нагреться на солнце и ТММ у них еще в районе 17 вольт. Когда прогреются под прямыми лучами станет 15,5-16,5В.
    Безымянный.png
    Я воочию в первый раз увидел результат работы моей поделки на графике. До сего момента еще сомневался в работоспособности устройства. Судил лишь по цифрам на дисплее. Сейчас сомнения развеялись.
     

    Вложения:

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

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

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

    Разрабатывая свой контроллер я решил, что раз уж он умеет делать автоматические КТЦ, то он просто обязан как - нибудь передавать информацию о их ходе на компьютер.

    Для этого проще всего использовать стандартный Serial (последовательный) протокол связи. В ардуино IDE он называется монитор порта.

    монитор порта.jpg

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

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

    Итак по порядку.

    1. Формат
    Программа понимает строку из шести параметров целочисленного или с плавающей запятой типа. Шесть параметров должны разделяться между собой “;” - точкой с запятой. Пример возможной строки: “0;1.0;2.22;3.333;4.4444;5.55555\n”

    Эту строку формирует простейшая функция в ардуино IDE
    void OutToSerial(){
    Serial. print (q,5);
    Serial. print (";");
    Serial. print (w,5);
    Serial. print (";");
    Serial. print (e,5);
    Serial. print (";");
    Serial. print (r,5);
    Serial. print (";");
    Serial. print (t,5);
    Serial. print (";");
    Serial. println (y,5);
    }
    Рекомендованная скорость порта 11520 бод.

    2. Интерфейс

    Делится на две области:

    1 - окно записи лога и отображения информации в реальном времени
    image17.png

    2 - Окно анализа сохраненных данных из лог-файла
    image16.png

    2.1 Окно записи лога

    Активируется по умолчанию.
    image7.png
    Cодержит в себе элементы управления:
    image6.png

    Кнопка ScanPort - ищет все доступные устройства с COM портами и выводит их в выпадающий список.

    Список BaudRate - позволяет выбрать одну из стандартных скоростей порта.

    Кнопка Connect/Disconnect - подключается к выбранному порту на выбранной скорости и начинает прием данных. На диске С:\ в папке SerialLog создается CSV файл с именем включающим текущую дату (пример: “2019.02.12 20-35 SerialLog. csv”). При поступлении из порта строки данных, к ней добавляется порядковый номер и метка времени. Новая строка дописывается в файл.

    Если поступление данных происходит слишком часто и нет необходимости в таком детальном логе, можно указать период сохранения данных в лог с помощью текстового поля Save to disc every.
    image14.png
    То есть в лог будет писаться каждый первый или тысячный фрейм поступающих данных. К примеру если контроллер отсылает данные раз в секунду, то для того чтобы сохранить его в лог как есть - нужно указать - “Сохранять на диск каждый (1) фрейм”.
    Если нужно сохранить значения в лог раз в минуту - нужно указать: “Сохранять на диск каждый 60 фрейм”.
    Если нужно сохранить значения в лог раз в 10 минут - нужно указать: “Сохранять на диск каждый 3600 фрейм”.
    Аналогично тому работает поле Show on chart every.
    image9.png

    При поступлении очередной строки из устройства можно указать какой фрейм из потока попадет на график.

    Запись значений в лог файл и вывод значений на предварительный график никак не связаны друг с другом. К примеру вы можете выводить только каждую десятую принимаемую из устройства строчку на графы, а сохранять в лог каждую третью.

    Строка
    image12.png
    показывает имя и путь записываемого в данный момент лога.
     
    Последнее редактирование: 12.02.19
  7. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Чекбоксы с уникальными именами
    image1.png
    позволяют указать программе какие из поступающих параметров будут отображаться на графике предварительных результатов. Для изменения названия графа можно щелкнуть по названию и изменить его на новое.

    Чекбокс From Zero - позволяет просматривать граф значения от нуля по Y (как ниже)
    image2.png

    или подогнать шкалу к автоматическим пределам (как тут)
    image15.png
    Движок Zoom Area
    image13.png

    устанавливает область графика в точках. Если количество принятых и отрисованных точек будет превышать это значение - включается автопрокрутка, на графике появится полоса прокрутки и старые значения (превышающие Zoom Area) скроются за левой границей графика. Имеется возможность промотать полосу прокрутки влево и посмотреть что происходило на графике ранее. При этом автопрокрутка графика отменяется. Для возобновления автопрокрутки - уведите полосу прокрутки вправо до упора.

    Если хочется подробнее рассмотреть часть графика по оси Y можно выделить ее мышкой
    image11.png

    и график примет вид
    image10.png

    При работе с графиком предварительного просмотра нужно помнить о том что скорость отрисовки зависит от мощности компьютера. При увеличении Zoom Area - нагрузка на процессор увеличивается и могут наблюдаться задержки отрисовки. Запись данных в лог при этом страдать не должна.
     
    Последнее редактирование: 13.02.19
  8. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    2.2 Окно анализа лога

    Содержит в себе элементы управления:
    Посмотреть вложение 6351595

    Кнопка Open Log - открывает сохраненный ранее лог через стандартное меню открытия файла Windows.

    Кнопка Save in *.JPG - сохраняет изображение поля графиков в картинку через стандартное меню сохранения файла Windows.

    Кнопка Refresh - перерисовывает графики

    Чекбоксы рисуемых графов - переименовываемые по клику мышки. Говорят отображать ли колонку лога с параметрами линией на графике. Название и состояние каждого чекбокса сохраняются при выходе из программы.

    Чекбокс From Zero - говорит программе отрисовать график от нуля координат или автоматически определить границу экстремумов графика. После установки требует перерисовки графика кнопкой Refresh. Состояние запоминается при выходе из программы.

    После нажатия кнопки Open Log и выбора файла лога, программа отрисовывает требуемые графы на поле графиков и подписывает их в соответствии с именем чекбокса.

    На картинке ниже можно видеть перекрестие курсора в точке соответствующей значению напряжения в момент окончания КТЦ - 12 Вольт. Слева от поля графиков отображается автоперемещающаяся, следящая подсказка, с точным значением напряжения в данной точке.

    Сверху поля графиков такая же подсказка отображает время в тот момент (21:05:41)
    image8.png

    Для более детального отображения отрезка времени с интересующим процессом можно выделить область на графике.
    image5.png

    При этом область укрупнится для более детального изучения до такого состояния:
    image18.png

    Следящие подсказки позволяют очень точно зафиксировать значение параметра и его временные метки. Таким образом разрешение графика можно менять в очень больших пределах добиваясь просто фантастической детализации. Вот пример показывающий небольшое изменение напряжения на продолжительном отрезке времени.

    Одна клетка по х = 10 минутам времени.
    image3.png

    Для выхода из режима детального просмотра - кликните по соответствующим кнопкам на концах полос прокрутки осей X и Y.

    Чем больше количество точек в логе - тем более заметна задержка при отрисовке графика. Для того чтобы комфортно работать при анализе - рекомендую здраво подходить к периоду выборки записи лог-файла. В папку с программой я добавлю пару демонстрационных CSV - файлов. Один из них на 1500 выборок (что соответствует 25 часам записи с выборкой 1 раз в минуту), второй на 95000 выборок (26 часов записи с выборкой 1 раз в секунду). Оцените детализацию и скорость работы на каждой из них. Как показывает практика оптимальным временем выборки можно считать 30-60 секунд.

    Итоги

    Все что мне нужно было для текущего и будущих проектов я реализовал. Старался сделать так чтобы у тех кому нужно отрисовывать данные со своих устройств не испытывали трудностей. Если будут вопросы или замечания - пишите.
    Сборка проекта доступна по https://drive.google.com/open?id=1oz6uj5gKBQPdesgnMrdvgGGbeDvg6t1V
     
  9. Andrey Ekt
    Регистрация:
    10.09.14
    Сообщения:
    40
    Благодарности:
    27

    Andrey Ekt

    Участник

    Andrey Ekt

    Участник

    Регистрация:
    10.09.14
    Сообщения:
    40
    Благодарности:
    27
    Автора замечательного девайса с Днем Рождения! Всего самого доброго, здоровья, счастья, и успехов на ниве электроники!

    Удалось доехать до дачи. Докладываю:
    Устройство отработало с 13 января. Закачало в АКБ 288 А/ч, при температурах окружающей среды до -35 (а может и ниже).
    Сегодня утром градусник в устройстве показывал -4,1 градуса.
    2 панели по сто ватт и две АКБ 132 А/ч в параллель.
    Жаль поздно увидел логгер. Проверю на неделе, с первым экземпляром.
     
  10. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Огромное спасибо за поздравления. Прикупил себе 3д принтер. Как только освою почти бесплатную печать, выложу корпус и метод с чертежами для общего пользования.
    Ps логер пока работает только с тестовой прошивкой. Для того чтобы не засорять тему не буду публиковать изменения в pcb и hex. Если кому то надо именно сейчас - стучитесь в личку. Сброшу схему подключения и прошивку. После завершения всех тестов естественно опубликую все фиксы и твики в репозитории.
     
    Последнее редактирование: 18.02.19
  11. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.786
    Благодарности:
    2.293

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.786
    Благодарности:
    2.293
    Адрес:
    Екатеринбург
    @Andrey Ekt, @Sapienz, можно попросить выложить реальные логи Ваших систем за небольшой промежуток времени, а так же подробности самих систем (размеры, углы наклона и тд).
     
  12. Sapienz
    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    У меня балконная сборка. Три панели параллельно строго вертикально. Одна панель - самосбор 50 ватт. Две панели покупные по 100 ватт. Окна из двойного стеклопакета, смотрят чуть правее юга. В период когда солнце в своей годовой НМТ - если и светит - то несколько десятков минут в сутки. Остальное время скрывает дом напротив. В текущее время ходит уже повыше, потому уже и выработка есть.
    Логов толком еще не снимал. В Питере солнце редкость. Могу только кусочек вчерашнего испытания приложить. Я понаблюдал какое то время за поведением системы при подключении лампочки в 50 ватт на выход LOAD, а потом (в 13:00) поехал по делам и оставил систему в покое.
    Файл можно посмотреть в моем логере. На дату внимание не обращайте (видимо сбита на нетбуке которым лог снимал).
    Безымянный.png
    2019.02.22 12-21 picture.jpg
     

    Вложения:

    Последнее редактирование: 22.02.19
  13. IgorPPP
    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1

    IgorPPP

    Участник

    IgorPPP

    Участник

    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1
    Здравствуйте, Sapienz.
    Если вы еще продолжаете вести эту тему, прошу помочь с наладкой железа. Что то у меня при подключетии АКБ контроллер входит в режим превышения непонятного напряжения (см. вложенное фото). Неоднократно проверял все напряжения, прозванивал дорожки - вроде все нормально. При неподключенном АКБ меню работает. В качестве СП использую отдельный БП.
     

    Вложения:

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

    Sapienz

    Живу здесь

    Sapienz

    Живу здесь

    Регистрация:
    07.04.12
    Сообщения:
    547
    Благодарности:
    256
    Адрес:
    Санкт-Петербург
    Приветствую. А АКБ используется 12 вольтовый?
    Если да - то ищите несоответствие номиналов входных делителей R9 и R10. Проверьте VCC (питание) Atmega - 5V.
    Еще можно почистить настройки контроллера из меню SERVICE. UbatCorrect при этом должно выставиться в умолчание 0.05344.
    Если напряжение АКБ 24 вольта - то тогда могу скомпилировать для Вас прошивку без ограничения верхнего напряжения. В данный момент оно составляет 18Вольт. О чем и говорит эта надпись.
    Работа над контроллером приостановилась. Работаю над WIFI свистком и программой записи логов на компьютер через него.
     
    Последнее редактирование: 03.04.19
  15. IgorPPP
    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1

    IgorPPP

    Участник

    IgorPPP

    Участник

    Регистрация:
    22.01.18
    Сообщения:
    5
    Благодарности:
    1
    СПАСИБО! Все заработало. Оказался номинал R9 4,7k. Сейчас хочу довести 12в вариант до ума для своего кемпера, а для брата сделать вариант на 24в. Буду очень благодарен за такую прошивку. Еще раз благодарю за проект.
    Видел на вашем видео про измеритель внутреннего сопротивления АКБ щелочные аккумуляторы. Стоит переходить на них в варианте 24в?