Ветроэнергетика и альтернативная энергетика.

Ветроэнергетика и альтернативная энергетика. (http://windpower-russia.ru/index.php)
-   Электроника (http://windpower-russia.ru/forumdisplay.php?f=9)
-   -   MPPT контроллер для ветра (http://windpower-russia.ru/showthread.php?t=232)

Tema0 21.11.2011 11:07

А зачем измерять силу тока датчиком холла???
да и вообще... зачем нам сила тока как таковая...
есть другое решение.
мы оперируем мощностью на выходе системы. посему измерять нужно именно мощность.
т.к. в основном у народа проблемы с программированием, то нужно процесс перемножения вынести наружу.
а именно ... поставив измерительный шунт снять с него напряжение (пропорциональное току в нагрузке) и перемножить с текущим напряжением исползуя аналоговый перемножитель двух сигналов...
например вот такой http://w-metr.narod.ru/
с выхода этой преблуды мы имеем сигнал ( напряжение) пропорциональное отдаваемой в нагрузку мощности...
ее мы и загоняем в PIC и на нее мы ориентируемся при манипуляциях с нагрузкой

Дмитрий 31 21.11.2011 15:56

Сложность в том, на сколько на данный момент разобрался в теме с MPPT - это адаптивность нагрузки. То есть нагрузка должна быть с максимальным отбором мощности в определённый момент времени, естественно зависящий от силы ветра. И без неё, перемножитель просто займётся измерением напряжения к сожалению. Думаю в ПИКе должно присутствовать семейство нагрузочных характеристик генератора, а не зря предлагаемый датчик (и лучше не один, а как можно больше) Холла позволит с большей точностью следить за угловым ускорением, что в итоге будет говорить о мощности на валу
, которую можно использовать опять-же в данный момент времени.

Измиритель мощности нам тоже нужен будет для контроля максимальной нагрузки на генератор, для предупреждения его перегрева, допустим информируя об оставшемся 10% запасе от максимально выдаваемой мощности.

Tema0 21.11.2011 16:45

Лишнее это....
разбиваем задачу на две части... абсолютно разных
1. Выжимание максимума из источника
ну давай пока для упрощения представим что нагрузка - есть бездонная бочка и о ней мы ничего не знаем
а наш контроллер - это кран, регулирующий напор подаваемой в бочку воды из некоего неизвестного нам источника.
для прояснения пишу что НАПОР - ЭТО КОЛИЧЕСТВО ПРОХОДЯЩЕЙ ЧЕРЕЗ СИСТЕМУ ВОДЫ В ЕДИНИЦУ ВРЕМЕНИ
и заведомо решим... что забирая из источника энергию мы на него влияем, по пофиг какому закону... нам это не важно... важно что влияем!!!
т.е безоговорочно нагрузка сможет утилизировать 100% мощности которую мы в нее запихнем.. (как это делается позже решим)
есть у меня параметр - мощность (напор) я его могу прекрасно оценить при помощи некоего "Ваттметра"
а теперь используя кран и ваттметр нужно добиться такого режима, чтобы напор был максимален...
крутя кран мы по неизвестным нам законам влияем на источник(ветроголовку)...
измеряя мощность мы делаем вывод - позитивно эти изменения сказались или негативно...
если позитивно, то повторяем это действие с некоторым таймаутом на некоторую величину, если напор уменьшился то совершаем действие обратное с некоторым таймаутом на некоторую величину.

таймаут
и Величина это константы зависящие от механических свойств системы... как то масса инерция и.т.д. но и они могут быть найдены автоматом в ходе недлительного процесса "стартового обучения" системы

на мой взгляд все понятно.
термины которые тут использованы: кран - ШИМ
для отладки этой части программы используем банальное КЗ в качестве бездонной бочки

2 часть - утилизация этого максимума....
за ранее решаем что для универсальности и повторяемости нагрузка и ее характер нам неизвестны...
а дальше напишу если сообщество одобрит первую часть алгоритма

baysun 21.11.2011 18:19

Что то уж больно всё сложно. Я не знаю что вы задумали, но в моём варианте должно всё быть проще. Я знаю какая нужна нагрузка при достижении определённого напряжения на выходе генератора.
У меня 4 ступени, напруга поднимается до 60 вольт подключается первая нагрузка - 98 Ом, напряжение поднялось до 75 вольт, ещё один тен - и того 48 ом. Растёт дальше и при 90 волтах подключается ещё 2 тена = 24,5 ома. Выростает до 110 вольт подлючается ещё 2 тена = 16 Ом - это полная нагрузка гены. Защита срабатывает когда генератор выдаёт 130-150 вольт (хвост складвается)
Зная напряжение и сопротивление нагрузки можно расчитать линейность. Помоему это самый простой вариант.

Александр 21.11.2011 21:41

Цитата:

Сообщение от baysun (Сообщение 16137)
Помоему это самый простой вариант.

И самый неудачный...
Такой вариант не отслеживает точку наибольшей мощности, а только приблизительно, да и то с большой натяжкой, подгоняет несколько точек на кривой винта. Да и использование нагрузки из кучи переключающихся ТЭНов не является лучшим способом. То, что предлагает Tema0, должно работать на любую нагрузку, к которой оно должно само приспосабливаться. И на любом ветряке. Именно к этому нужно стремиться. А сложным всё будет выглядеть до тех пор, пока не будет отточен алгоритм.

krauser2 21.11.2011 22:37

to Tema
Алгоритм то правильный и красивый, но надо иметь время и здоровье это все реализовать. В этом году времени хватило только на реализацию, похожую на алгоритм Baysun. Только ступеней нет (у меня это скорее контрольные точки), переключение от мощности и тенов нет (импульсный преобразователь все утилизирует).
В вашем алгоритме может быть много подводных камней. Например то, с чем конкретно я столкнулся. Меряем мощность, меняем ШИМом параметры преобразователя, меряем опять. Что получается. ШИМ отпустил турбину и пока она не раскрутилась до новых оборотов измеряемая мощность равна нулю. Если померять невовремя, получим неправильный вывод о напрявлении изменения параметров преобразователя. Если сделать таймаут слишком большим турбина будет раскручиваться недостаточно резво. А ветер часто бывает порывами.

Появилось сегодня немного времени, накидал схему своего контроллера. В ней пока только блок самого микроконтроллера. Дальше выложу схемы датчиков напряжения, тока, оборотов. Схема импульсного преобразователя есть в учасниках, потом тоже нормально сделаю (она простая как 5 копеек). В архиве есть еще архив с проектом microC.
Важно!!! если вы не понимаете что происходит в схеме не вздумайте ее делать. Сам девайс на даче, делал по памяти. То, что я сейчас выкладываю это скорее подсказка для конструирования своего контроллера.

http://windpower-russia.ru/forum/att...1&d=1321897108

З.Ы. Универсальность не всегда хорошо. Наиболее реальным и простым вариантом я думаю будет снять нагрузочную характеристику турбины и отталкиваться от этого.

petruha256 21.11.2011 23:22

Свои пять копеек.
Предположим, что ветер Х м/с, из скоростной характеристики турбины знаем, что на этом ветре она должна вращаться со скоростью Y и при этом выдавать мощность Z. Способ измерения мощности, как предложил Tema0 в посте #51.

теперь алгоритм
первый вариант - частота вращения (измерять по частоте тока ) из таблицы (в ROM) дает значение мощности, которое нужно получить, если оно превышает измеренное значение мощности то меняем скважность в одну сторону, если меньше измеренного значения мощности - скважность в другую сторону.


второй вариант - так же как в первом варианте измеряем обороты и мощность,
подгоняем скважностью мощность в соответствие с табличным значением

еще измеряем угловое ускорение (дифференциал частоты).
значение дифференциала частоты (опять же из скоростной характеристики турбины) однозначно дает значение действующей скорости ветра в настоящий момент.
Если дифференциал=0, значит обороты турбины соответствуют расчетным для текущего ветра - никаких действий, продолжаем отслеживать соответствие мощности текущим оборотам

Если дифференциал>0, значит обороты турбины растут, что по скоростной характеристике дает значение большей скорости ветра и больших расчетных оборотов - отпускаем винт на холостую (или 20% или хз сколько% от расчетной нагрузки), до тех пор, пока обороты не станут расчетными для новых условий, после чего врубаем нагрузку для новых расчетных оборотов.

Если дифференциал<0, значит обороты турбины падают, что по скоростной характеристике дает значение меньшей скорости ветра и меньших расчетных оборотов - грузим винт по полной (200% или хз сколько% от расчетной нагрузки, но с ограничением по току, дабы генератор не спалить), до тех пор, пока обороты не станут расчетными для новых условий, после чего снижаем нагрузку до соответствия новым оборотам.

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

Александр 22.11.2011 04:07

petruha256,
Вполне допустимо не уменьшать нагрузку на винт при порывах. Порыв никогда не бывает абсолютно мгновенным, усиление ветра происходит хоть и быстро, но не скачком. А окружная скорость винта достаточно высока и существенно превышает скорость ветра при порыве. Поэтому изменение угла набегания невелико и винт очень быстро разгоняется. Эти выводы сделаны при наблюдении за моим винтом, который продолжает меня удивлять своей работой, в том числе и при порывистых ветрах.
Можно для начала создать базовый алгоритм отслеживания точки пика мощности, а уже потом можно его изменять в нужную сторону.

baysun 22.11.2011 11:30

krauser2 хотел посмотреть твою ссылку, пишет " вложения не существует". Что там?

Tema0 22.11.2011 11:44

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

НО... я уже писал... это все лишнее. для того чтобы снять максимум мощности с ветряка в конкретный момент времени нам кроме величины мощности отдаваемой ветряком больше ничего и не нужно. Все временные задержки которые будет иметь система выявляются на этапе "обучения контроллера"


Часовой пояс GMT +4, время: 22:54.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2010 Windpower Russia