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

Вернуться   Ветроэнергетика и альтернативная энергетика. > Технический раздел > Электроника
Статьи Справка Сообщество Календарь Сообщения за день Поиск

Электроника схемы, устройства, справочники и т.п.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.11.2012, 21:11   #161
Александр
Администратор
 
Аватар для Александр
 
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10
Александр на пути к лучшему
По умолчанию

Микроконтроллер может очень сложные программы выполнять. Дай Бог нам их написать.
По поводу лёгких винтов. Тут есть проблема: если винт слишком лёгкий, то механическая прочность его может оказаться недостаточной. Я не могу сказать, что у меня винт лёгкий, однако при усилении ветра от пяти до десяти метров в секунду он разгоняется очень быстро. Где-то примерно за секунду. И чтобы успевать за ним, мне пришлось проводить замеры знака ускорения в каждой положительной полуволне напряжения с генератора, а в отрицательной полуволне проводить коррекцию нагрузки.
Если ветряк попадает в точку равенства мощностей, контроллер не даёт ему там застрять. Он его оттуда сталкивает. Поскольку он знает, что если скорость растёт либо стабильна, то нужно увеличить нагрузку. И делать это до тех пор, пока скорость не начнёт снижаться. В идеале должно получаться, что контроллер балансирует на восходящей ветви перед самой вершинкой. По реальным наблюдениям что-то в этом духе происходит.
Александр вне форума   Ответить с цитированием
Старый 19.11.2012, 21:38   #162
BenGunn
VIP
 
Регистрация: 16.05.2012
Адрес: Пермь
Сообщений: 641
Вес репутации: 12
BenGunn на пути к лучшему
По умолчанию

Цитата:
Сообщение от Александр Посмотреть сообщение
Микроконтроллер может очень сложные программы выполнять. Дай Бог нам их написать.
А на каком языке надо писать программы?

Цитата:
Сообщение от Александр Посмотреть сообщение
По поводу лёгких винтов. Тут есть проблема: если винт слишком лёгкий, то механическая прочность его может оказаться недостаточной. Я не могу сказать, что у меня винт лёгкий, однако при усилении ветра от пяти до десяти метров в секунду он разгоняется очень быстро. Где-то примерно за секунду. И чтобы успевать за ним, мне пришлось проводить замеры знака ускорения в каждой положительной полуволне напряжения с генератора, а в отрицательной полуволне проводить коррекцию нагрузки.
По мне, такой скорости реакции вполне достаточно. Главное поймать ветряк в нужном месте.

Цитата:
Сообщение от Александр Посмотреть сообщение
Если ветряк попадает в точку равенства мощностей, контроллер не даёт ему там застрять. Он его оттуда сталкивает. Поскольку он знает, что если скорость растёт либо стабильна, то нужно увеличить нагрузку. И делать это до тех пор, пока скорость не начнёт снижаться. В идеале должно получаться, что контроллер балансирует на восходящей ветви перед самой вершинкой. По реальным наблюдениям что-то в этом духе происходит.
Александр, а можете поподробнее рассказать о своем алгоритме. У вас нагрузка меняется всегда с постоянным шагом или с переменным?
BenGunn вне форума   Ответить с цитированием
Старый 19.11.2012, 23:02   #163
Александр
Администратор
 
Аватар для Александр
 
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10
Александр на пути к лучшему
По умолчанию

BenGunn, Большинство пишет программы на СИ, некоторые - на Ассемблере. Кому что ближе и понятнее. Для различных МК могут быть и ещё какие-нибудь дополнительные языки. Я вообще, смеха ради, решил попробовать Bascom AVR, на нём и сделал прогу для МК.
Шаг изменения остаётся неизменным. Пока сделал так. Однако меняется скорость реагирования. Она всегда синхронна с частотой генератора, поэтому чем выше частота, тем быстрее происходит реагирование.
Алгоритм составлен из нескольких модулей:
-измеритель длительности импульса
-акселерометр
-граничные условия.
И ряда подпрограмм:
-управление повышением мощности
-управление снижением мощности
-вывод на дисплей нужных параметров
-вычисление скорости вращения винта в RPM.
В измерительном модуле в самом начале производится запись предыдущего результата измерений. (Он потребуется акселерометру в дальнейшем.) Затем МК ожидает прихода единички на измерительном входе, а когда она появляется, начинает отсчёт времени, прекращая его при появлении нуля. Теперь мы получили значение длительности импульса. И программа переходит в модуль акселерометра. Там сравнивается предыдущий результат с самым последним измерением, на основании чего МК делает вывод о том, чем занят в данное время винт. Если скорость винта растёт, либо стабильна, МК исполняет п/п управления повышением мощности, делая один шаг, после чего возвращается туда, откуда была вызвана, то есть, в акселерометр. Если же в акселерометре определилось, что скорость падает, то следует переход к п/п управления снижением мощности, там делается шаг назад, после чего идёт проверять граничные условия. Там проверяется, не слишком ли мала скорость винта, и если она ниже установленной, то нагрузку следует снять совсем. Это делается для того, чтобы винт не останавливался при запредельно малом ветре. У меня это соответствует примерно двум метрам в секунду. Параметр можно установить любой - по вкусу. Кроме того, в граничных условиях может содержаться информация о подключении второго канала ШИМ, если скорость вращения винта это позволяет. (У меня пока он не задействован). По завершении модуля граничных условий МК возвращается к началу цикла, тут же переписывает ячейку предыдущего результата и снова измеряет импульс. И так всё время по кольцу... Время от времени МК выкидывает на дисплей данные о скорости вращения и величину длительности импульса.
Александр вне форума   Ответить с цитированием
Старый 20.11.2012, 00:34   #164
BenGunn
VIP
 
Регистрация: 16.05.2012
Адрес: Пермь
Сообщений: 641
Вес репутации: 12
BenGunn на пути к лучшему
По умолчанию

Александр, я все равно не понимаю один момент в вашем алгоритме. Если скорость винта стабильна, то мы нагружаем его. Он начинает тормозить, контроллер это замечает и уменьшает нагрузку. Винт опять раскручивается и т.д. В чем смысл?
BenGunn вне форума   Ответить с цитированием
Старый 20.11.2012, 01:48   #165
Александр
Администратор
 
Аватар для Александр
 
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10
Александр на пути к лучшему
По умолчанию

Здесь две причины. Первая обусловлена тем, чтобы не дать системе стабилизироваться. Система всё время должна находиться в поиске, иначе может произойти стабилизация на произвольном участке кривой винта. Если же система раскачивается, то хочет она того, или нет, но ей придётся отыскать точку наибольшей мощности. Вторая причина, это ВРШ. Здесь есть одна особенность. Когда винт стабилизировался аэродинамически, мы должны продолжать наращивать мощность на нём, отслеживая момент, когда скорость винта начнёт снижаться. Это и будет точка максимума. И для разной скорости ветра при одних и тех же оборотах винта она будет существенно отличаться. При условии, что генератор позволяет это. Мой как раз позволяет.

Цитата:
Сообщение от BenGunn Посмотреть сообщение
Винт опять раскручивается и т.д.
Пусть это никого не смущает. Контроллер замечает малейшее изменение скорости, отличие в длительности импульса в несколько микросекунд уже приводит к изменениям. На глаз это даже не заметно. Когда я только начинал над этим алгоритмом работать, я аккуратно нарисовал его на бумаге, много думал над возможными ошибками, проигрывая возможные ситуации. Вышло довольно сложно и монстрообразно. Затем сел и написал такую же монстрообразную программу в точном соответствии с моими идеями...
...И программа работала коряво. Тогда я немного подумал, выкинул из неё всё, что там было, после чего она заработала. А затем расставил вокруг себя кучу приборов для измерения ветра, мощности и скорости вращения (тахометр в МК я встроил несколько позднее, когда мой электромеханический тахометр, подключенный к ветряку, благополучно дал дуба) и начал отладку программы. После сотой с чем-то там версии всё заработало, как мне было нужно. Или почти так, как мне было нужно. Из чего я сделал вывод, что при аналитическом решении задачи у нас недостаточно данных - мы не знаем реальную динамику винта, которая обусловлена не только его инерционными свойствами, но и взаимодействием с реальным ветром, которое, к сожалению, достоверно нельзя смоделировать, только очень приблизительно и только с целой кучей допущений.
Отчасти мне самому было интересно попытаться реализовать алгоритм поиска точки максимума наиболее простыми средствами и я не вижу особых ограничений на то, как это можно достигать. Поэтому и решил попробовать завязать нагрузку непосредственно на винт. Поскольку именно он всё определяет, а мощность генератора - вещь вторичная. Собственно, генератор - это согласующее звено между винтом и нагрузкой. Посредник, так сказать. Ну и не хотелось связываться с измерительными примочками. Если напряжение ещё получается нормально и простыми способами измерить с помощью контроллера, то датчик тока довольно-таки дорогой.
Александр вне форума   Ответить с цитированием
Старый 20.11.2012, 07:23   #166
cheese
новичок
интересующийся
 
Регистрация: 03.01.2011
Адрес: Samara
Сообщений: 181
Вес репутации: 14
cheese на пути к лучшему
По умолчанию

Александр, Вы собираетесь как то продвигать контроллер в массы?
cheese вне форума   Ответить с цитированием
Старый 20.11.2012, 08:30   #167
BenGunn
VIP
 
Регистрация: 16.05.2012
Адрес: Пермь
Сообщений: 641
Вес репутации: 12
BenGunn на пути к лучшему
По умолчанию

Александр, спасибо вам за подробные ответы.
Цитата:
Сообщение от Александр Посмотреть сообщение
Контроллер замечает малейшее изменение скорости, отличие в длительности импульса в несколько микросекунд уже приводит к изменениям.
Я примерно так и подумал, что засчет неодинаковости торможения и раскрутки точка постепенно будет смещаться.

Цитата:
Сообщение от Александр Посмотреть сообщение
Ну и не хотелось связываться с измерительными примочками. Если напряжение ещё получается нормально и простыми способами измерить с помощью контроллера, то датчик тока довольно-таки дорогой.
Т.е. с измерением мощности на нагрузке могут возникнуть проблемы?
BenGunn вне форума   Ответить с цитированием
Старый 20.11.2012, 20:30   #168
Александр
Администратор
 
Аватар для Александр
 
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10
Александр на пути к лучшему
По умолчанию

Цитата:
Сообщение от BenGunn Посмотреть сообщение
Я примерно так и подумал, что засчет неодинаковости торможения и раскрутки точка постепенно будет смещаться.
Да, я тоже так считаю.

Цитата:
Сообщение от BenGunn Посмотреть сообщение
Т.е. с измерением мощности на нагрузке могут возникнуть проблемы?
Особых проблем нет, покупаем дорогостоящий сенсор тока, затем пишем подпрограмму чтения данных с этого сенсора, затем паяем схему для измерителя напряжения пишем п/п измерения напряжения, затем пишем арифметику, которая всем этим будет пользоваться, после чего начинаем возиться уже с самим алгоритмом поиска максимума... В принципе, ничего особо страшного, возни только намного больше.

Цитата:
Сообщение от cheese Посмотреть сообщение
Александр, Вы собираетесь как то продвигать контроллер в массы?
Пока рановато. Он ещё сыроват.
Александр вне форума   Ответить с цитированием
Старый 20.12.2012, 05:52   #169
vitalkalm
VIP
 
Регистрация: 22.06.2011
Адрес: 123
Сообщений: 19
Вес репутации: 0
vitalkalm на пути к лучшему
По умолчанию

Доброго здоровья! Повторил в BASCOM-е алгоритм Александра - нахождение максимума в зависимости от оборотов. При моделировании в Протеусе све пашет как надо. Но дальше затык. Не могу понять каким образом выщитать мощность, которую отдавать в балласт.
И как подсчитать мощность в КВт*часах? Прийдется цеплять внешние часики от Dallas?

Последний раз редактировалось vitalkalm; 20.12.2012 в 08:57. Причина: Новая мысля...
vitalkalm вне форума   Ответить с цитированием
Старый 20.12.2012, 10:25   #170
Tema0
VIP
 
Регистрация: 20.12.2010
Адрес: Россия, Самара
Сообщений: 833
Вес репутации: 14
Tema0 на пути к лучшему
Отправить сообщение для Tema0 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Александр Посмотреть сообщение
.......Особых проблем нет, покупаем дорогостоящий сенсор тока,
не.. покупаем недорогой измерительный шунт под нужный ток и измеряем падение напряжения на нем.

Добавлено через 1 минуту
Цитата:
Сообщение от vitalkalm Посмотреть сообщение
..............
И как подсчитать мощность в КВт*часах? Прийдется цеплять внешние часики от Dallas?
можно задействовать внутренний таймер контроллера для этих целей.
выставляете его на 1 сек. и по сработка снимаете денные с шунта и с канала АЦП следящего за напряжением
перемножаете это и кладете в ячейку Х1
при следующей сработке таймера снова проделываете эту операцию и усредняете значение из ячейки Х1 с вновь полученным значением.
делаете это в цикле 3600 раз..
после окончания цикла сбрасываете значение из ячейки Х1 в организованную в памяти таблицу мощностей ( это у вас и будет мощность в час) меняете у этой таблицы адрес на след ячейку, сбрасываете в ноль значение Х1 и снова запускаете цикл...

в результате у вас будет
1. мгновенная секундная мощность
2. средняя мощность в текущем часе
3. Статистика по отдаче ветряка за некий период времени (определяется размером таблицы)

Последний раз редактировалось Tema0; 20.12.2012 в 10:39.
Tema0 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.

Быстрый переход

Яндекс.Метрика Рейтинг@Mail.ru Индекс цитирования
Flag Counter

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


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