Микроконтроллерный MPPT контроллер
Оказалось, что на форуме нет темы, в которой обсуждался бы MPPT контроллер.
Есть тема про безпроцессорный MPPT контроллер, а про уже ставший привычным MPPT контроллер с использованием микроконтроллера -- нет/ Исправляю этот недостаток. |
Предположим мы на максимуме мощности .Замеряем напряжение и ток , вычисляем мощность - дергаем полевик , через промежуток времени например 0.1 сек. снова замер - мощность убавилась - уменьшаем длительность имп. ШИМ и так прыгаем вокруг максимума .
Что еще нужно учесть ? Температуру панели ? Так понял чем горячей панель тем больше внутреннее сопротивление - значит слегка уменьшаем длительность ШИМ ? Хотя подумал - зачем нам замер температуры и замер вообще всего остального если мы отслеживаем максимум . Или я чегото не догоняю ? |
saschke, для поддержания положения в точке максимальной мощности при работе от СБ на аккумулятор -- ничего не надо, кроме мгновенного значения тока заряда аккумулятора.
Естественно, при этом имею ввиду то, что вторым параметром является запомненное значение знака изменения скважности. В более серьёзном аппарате можно замерять входные и выходные напряжения и токи, но это для индикации, сбора статистики и т.п. А так все изменения, такие, как температура панели, изменение интенсивности света, да даже его спектральной картины ! в итоге всего лишь изменяют положение и высоту горба на одногорбой характеристике СБ. Задача стоит в том. чтоб обеспечить сопротивление нагрузки в каждый кусочек времени таким, чтоб отдача СБ была максимальной. Или то же самое, но с другого боку : обеспечить напряжение на нагрузке таким образом, чтоб оно совпадало с напряжением СБ в точке её максимсльной мощности. А насчёт температуры и панели всё немного не так : СБ можно представить, как источник ЭДС с напряжением,например , вольт 30 -- 40 ( это для СБ из 36 элементов, у которых ТММ в районе 18 вольт ). Затем внутреннее сопротивление, которое как раз наоборот -- уменьшается с ростом температуры, и затем поперёк всего этого питания тупой стабилитрон, который тупо просаживает эти 30 -- 40 вольт до 18-и. Так вот этот стабилитрон существенно термозависим, и с увеличением температуры его напряжение стабилизации снижается. При таком взгляде на это хозяйство именно освещённость влияет на внутреннее сопротивление, уменьшая его при увеличении интенсивности света. |
Цитата:
|
983, Надобы пошагово все расписать , с временными значениями .Т.е. замеряем ток - сравниваем с предыдущим замером - если ток уменьшился то делаем так , если увеличился то делаем так ... время между замерами , частота ШИМ и т.д.
Одновременно перейдем к железу - у Вас в этом плане наработки есть поэтому с способом замера тока и с выбором и способом подключения ключа проблем не возникнет думаю ... |
983, ну ты и наворотил про стабилитрон:scratch_one-s_head:.
В элементах разных производителей и разных поколений ЭДС разное. А значит напряжение в ТММ будет разное. Батарею СБ можно собрать на 34,36 или 40 элементов. А значит напряжение в точке ТММ будет разное. И при нагреве СБ ТММ плывёт в сторону уменьшения. Поэтому нельзя базироваться на напряжение или ток на входе. Разве что только на мощность. По току на выходе, это да. Не зависимо от напряжения на АКБ он должен быть максимальным. Например при 10В на выходе он 15А, значит при 15В он будет 10А. Добавлено через 3 минуты Я не пророк, но в конце концов всё упрётся в качественный DC-DC преобразователь. |
Цитата:
Добавлено через 3 минуты Цитата:
|
Цитата:
Любой цифровой амперметр имеет маленький кусочек константана и простенькая ОУ. Изменяя коэф. усиления получаешь любые пределы измерения тока. |
Всем : датчик тока ловит кучу мусора, в DC-DC конверторе происходят переходные процессы, обратная связь то и дело норовит возьудиться.
Но все эти беды критичны в аналоговом, безконтроллерном MPPT. в контроллерном же , мусор можно нагло проинтегрировать, переходные процессы можно переждать, а возбуждаться там нечему. Добавлено через 41 секунду Цитата:
Добавлено через 2 минуты Цитата:
по этому замеряем ТОЛЬКО ток заряда аккумулятора. Учитывая , что напряжение на аккумуляторе слабо и медленно изменяющаяся величина, то просто тупо можно сократить мощность на эту величину и получить тот самый ток заряда аккумулятора. Добавлено через 5 минут saschke, в железе уже есть самостоятельный ШИМ. он управляется напряжением. Управляющее напряжение можно получить, имея ЦАП, а можно и ешё проще : имеем конденсатор некоторой ёмкости, с него и подаём напряжение на управляющий проводок ШИМа. PIC выдаёт на этот кондёр непродолжительные импульсы заряда или разряда ( в зависимости от принятия решения) такой длительности, чтоб напряжение на кондёре с одного импульса изменилось где то на 0,001 -- 0,01 В. вот и вся кухня. Добавлено через 13 минут Цитата:
но уже кажется вижу первые подводные грабли : схема мультиметра работает с отвязаным питанием ! Это что ж ? вешать всю цифровую часть контроллера на гальванически развязанное питание, а управлять ключами через оптроны ? Действительно ! а почему Бы и нет ? !!!! Классный вариант подкинул, возможно и сам того не желая ! Спасибо !!! :ток при таком раскладе можно мерять по общему, по необщему, по минусу, по плюсу, был бы кто третий, то и по нему ! тем более , что в данном случае совершенно не нужно точное значение, а достаточно лишь сравнивать 2 значения. |
Токи в каком диапазоне нужно мерить , от нуля (образно) и до ... ? Или не от нуля .
|
saschke, рабочие токи будут от 0 до максимального тока заряда аккумулятора.
Например 120 Вт СБ, значит ток аккумулятора при 12 В -- 10 А Например 500 Вт СБ, аккумулятор 24 В, значит ток 20, 85 А. Ну, и запас, естественно, хотя бы двукратный на всякий случай : например мороз, супер ясное небо, аккумулятор разряжен до безобразия, дополнительный отражённый поток света от снега, да ещё окно бликануло прямо в СБ. А вообще , наверно лучше двукратный запас относительно максимальной пропускной возможности силовой части DC-DC конвертора. Лишний запас тоже не очень полезен , особенно если битность ЦАП всего 8 бит : малые изменения просто не будут замечены микропроцессором. А так, при двукратном запасе рабочий диапазон тока впишется в 128 градаций, а это чуть меньше процента, -- и уже терпимо. Если цап 12 бит или выше, то можно запас городить в несколько раз больше : разрешающей способности хватит и на пятикратный запас. |
Вложений: 1
Нда , тут тогда может два шунта поставить - на ток примерно до 1 А и второй на ток до 50 А .
Набросал схемку переключения шунтов - так не делал , но наверняка пойдет ? Если на выходе С = 1 то включается канал А , если С=0 то В . |
Падение на шунте -- доли вольта.
Что он там намеряет ? надо ещё усилить, до приемлемого значения. А шунтирование высокоомного шунта полевиком, это прикольно )) Я думаю, если МК не будет озадачен индикацией и статистикой, то при малых токах, которые он ещё не видит, можно смело задавать максимальную скважность. Этот финт так же поможет безболезненно выскакивать из зоны неопределённости, когда ШИМ оказывается просто закрыт -- такое может быть, если контроллер по каким то причинам вдруг совсем "отпустил" СБ. А в чём рисуешь ? |
В Splan 7.0 рисую . Есть и покруче программы но уж както привык к нему .
В мк многих тоже есть усиление по входу АЦП , такчто нормально . Но мне кажется лучше слегка добавить сопротивление шунта (говорю о пределе до 500мА) для повышения падения чтоб усилитель не задействовать - меньше шумов ловить АЦП будет. Тем более основное время этот шунт будет закорочен полевиком , лиж на время замера он будет подключаться в "сеть" и поэтому не повлияет особо на зарядный ток |
Вложений: 1
Цитата:
Имхо, токи меньше 2 -- 3 % от максимального мерить собственно и не надо, то есть пусть считаются равными нулю. Стабильность работы от этого лишь увеличится, а на этих граммульках много не выиграешь, тем более, что эти токи пусть и валят себе напрямую в аккумулятор, потому, как при малой освещённости и точка максимальной мощности довольно низко находится, совсем близко к напряжению аккумулятора. следовательно и выигрыша от трансформации почти никакого. Реально точка уходит повыше уже где то с 10 % от максимального тока СБ, там и надо уже трансформировать. Вот характеристика снятая с реальной СБ ( производства Goga65) при низком солнце и дымке -- условно стабильной освещённости. Вложение 11185 на малых освещённостях характеристику не снимал, но по опыту знаю, что точка максимальной мощности гуляет где то в районе 13 -- 15 В. http://windpower-russia.ru/showthrea...5112#post35112 -- тут ещё есть характеристики, снятые в лучшее время, и характеристика СБ Сергея. Опять же повторюсь : справа от характеристики СБ есть нулевой горизонтальный участок, попав на который, контроллер растеряется и не будет знать, что ему делать. Так вот, при наличии напряжения с СБ и при отсутствии тока полюбому надо срочно перебираться на левое плечо характеристики. |
Понятно куда закапываться . Время появилось свободное - попробую чтото пописать на Аттини 261 ( модуль готовый имеется от сгоревшего вольтамперметра SVAL0013 )
Низнаю хватит ли памяти для ЖКИ - попробую подключить . Вот что дальше -? Как проверить систему ? Надо подумать . |
saschke, а сколько бит там АЦП ?
Есть ли аппаратный шим внутрях ? и какая битность регистра шим , если он есть, и какая частота возможна ? могут ноги иметь 3 состояния ? |
АЦП стандарт 10 бит. Частота ШИМ 31.250Гц - внутренний генератор использую - 8 Мгц (8000000/256 = ...). Ты вроде соображаеш и желание есть - почему не начинаеш юзать ? Я самто то всего месяца 3 - 4 как начал .
Третье состояние ног - Z имееш в виду ? Да. |
saschke, старый я, мозг у меня ржавый.
Поковырять имеющийся код ещё смогу, а сам с нуля написать -- уже не потяну. Если б там была система команд от I8080 , или структура и идеология построения сходная с ним, то ещё можно было бы рыпнуться. |
Написал , алгоритм такой - 10 раз в сек. замер тока и напр. (в течении 30 мс. делается 128 замеров и вычисляется среднее арифметическое), далее вычисление мощности - каждый предыдущий замер сохраняется и сравнивается с последующим - с увеличением мощи увеличивается скважность ШИМ - при уменьшении мощи уменьшается ШИМ но уменьшение происходит не просто - делаем два шага назад - замеряем - шаг вперед - опять замеряем и сравниваем .... это для поиска этого самого спада на правой стороне "холма". Подключил ЖКИ маленький - показание Вольт и Ампер. (Ватты) не умещаются .
Подключил на входе блок питания (3 - 18 В) , на выходе нагрузка 35 Ом (ток при 18 В - 0.5 А ) При уменьшении напряжения и соответственно мощности на нагрузке ШИМ уменьшается , и т.д. Вот как будет работать система с реальной СБ ? Что вообще изменить нужно в алгоритме ? ПС СредУ программирования Algorithm Builder попробуйте - как раз для нас непонимающих по англицки и не знающих языков прогр. Добавлено через 1 час 8 минут Тут подумал - зачем сделал регулировку ШИМ по левую сторону от вершины - шим должна быть максимальной до самой вершины. |
Приветствую форумчан. Даю ссылочку , может она вам поможет, в ней есть также ссылка на буржуев они пытались делать подобное. http://www.forumhouse.ru/threads/199302/ А то я сам заинтересован в таком девайсе, однако знаний нет чтоб разобратца и повторитью
|
wprezerf, если ты зарегистрирован на том форуме, то выложи пожалуйста сюда схему того контролера.
|
Вобщемто такойже алгоритм и у меня придумался, только нет ограничения напряжения 10 В и отсчетов у меня меньше в два раза.
|
saschke, всё получается очень похоже с тем, как я себе это представлял.
Пока не понял : это сделано на виртуальном макете на компе , или в железе ? ШИМ реализуется самим микропроцессором, или внешним ШИМ контроллером ? Напряжение и мощность для алгоритма поиска точки при работе на аккумулятор, собственно, и не нужны, но для простой активной нагрузки без этих вычислений не обойтись. Было бы приятно иметь возможность всё таки видеть мощность, особенно 2 мошности : входную и выходную. это если есть возможность переключать оежтмы отображения. У меня , собственно, ине стояла задача использовать индикацию, но если мощности микропроцессора хватает, то почему б ей не сделать ? а сделавши уже хочется побольше , н ораз есть техническая возможность отображать лишь 2 параметра одновременно, то просятся режимы отображения : 1) напряжение и ток на нагрузке 2) напряжение и ток на входе 3) ток на входе и на нагрузке ( позволяет оценить выигрыш по току от девайса) 4)мощность на входе и на нагрузке ( позволяет оценить потери в девайсе) 5)соотношение токов на входе и на нагрузке и соотношение мощностей ( это ващще песня!) Хочу предостеречь от мороки с переходными процессами : поэтому замер ( замеры) лучше производить через некоторое время после изменения скважности, навскидку это будет скорее всего 1/4 -- 1/3 длительности периода регулирования, то есть 0,025 --0,033 сек. потому что после изменения скважности некоторое небольшое время идут всплесковыбросы и прочая ерунда, которая будет вредить замерам. Кроме того можно не делать такое большое количество замеров, с последующим усреднением а тупо проинтегрировать всё это снаружи обычной RC цепочкой. Но если вычислительной мощи и так хватает с запасом, то пусть наверно будет. Добавлено через 11 минут И обязательно надо предусмотреть в алгоритме вывод из области неопределённости, которая находится справа от характеристики, то есть, если на входе есть напряжение, но нету тока, то делать шаги ТОЛЬКО ВЛЕВО до появления тока, например 5% от номинального лишь после этого запускать алгоритм поиска точки. там уже алгоритм подхватит управление и быстренько выберется на вершину. ( а на плоскости он весь в непонятках) На аналоговом контроллере это среализовалось просто : простыми резисторами стягивалась вся эта кухня куда то в область 13 -- 15 В , То есть немного левее точки. И когда следящая система оказывалась в непонятках, и валила мусор, в котором , к счастью, толчки вправо и толчки влево уравновешивали друг друга, вся система плавненько ползла в направлении точки, где заведомо всё будет работать. При этом управление подхватывалось само и очень резво, как только появлялся хоть небольшой ток. |
Это все в железе уже , сгоревший модуль ампервольтметра переделал слегка .
ШИМ в процессоре встроеный имеется . Для замера тока использовал АЦП с усилением 20 - шунт стандартный 75мВ падение напр. , в данном варианте манипулируем токами от 1мА до 999мА . Это для настройки , потом усиление АЦП отключить можно. Всегда так с мк - хочется забить всю память а потом в конце концов переходиш на более мощный проц - этого уже мало . Насчет алгаритма - если ток увеличивается то мы делаем 1 шаг вперед , замеряем и т.д. шагаем (увеличиваем) скважность ШИМ , это все просто. Теперь если мы справа от вершины - ток уменьшается - мы делаем 2 шага назад - замеряем - если ток вырос значит мы по алгоритму повышения тока делаем шаг вперед - замеряем - ток понизился так как мы на правом склоне - опять делаем 2 шага назад -.... и т.д. Если мы слева от вершины то так же и шагаем вниз - 2 назад -1 вперед - 2 назад - 1 вперед . Низнаю почему я так решил сделать , но штука работает . Насчет помех - Добавлено через 4 минуты Насчет помех - можно и RC фильтр поставить по входам , немного снизится быстродействие . А вообще замеры нужные производятся аккуратно перед расшифровкой тоесть когда они нужны . |
Вложений: 1
Вот схема .
|
Спасибо Павел, посмотрел.
Но я так и не понял зачем напряжение пускать через ОУ? Правая часть схемы вообще непонятно зачем. Может задача стояла не заряд АКБ, а что то другое? Сам МК выдаёт прекрасный ШИМ сигнал. Нагрузка оптрон, а дальше делай что хочешь... |
Сергей, Независимый, аппаратный ШИМ контроллер, конечно удорожает конструкцию, и в серии такой подход не рационален, но позволяет отдельно отладить, погонять на всех режимах силовую часть, выщемить слабые места, как в буквальном смысле, так и в смысле различных возбудов, нежелательных переходных процессов и прочих глюков.
А для экспериментальной модели такое разделение ролей -- только благо ! А вот трансформатор и выпрямитель, -- действительно , для чего ? можно только гадать. Похоже на схему получения 310 В для нарезки чистой синусоиды, но от СБ такое делать -- странно, разве что для синхронной подкачки энергии в сеть. |
983, в той схеме на TL-ку идёт постоянное управляющее напряжение.
Величина которого определяет скважность. А у вас как будет? |
А не знаю,
saschke, скорее всего будет получать ШИМ непосредственно на выходе микропроцессора, а у меня ТЛка управляется извне, как на схеме, приведённой Павлом. сейчас она управляется вручную с резистора, или от схемы, следящей за входным напряжением, или от моего аналогового МППТ гавноконтроллера. ( по другому пока назвать его не могу, за его лохматость и нестабильность). Однако, thucha уверяет, что упростил, усовершенствовал и довёл до ума мою схему, и она у него работает стабильно, так что не все надежды по поводу аналогового слежения за точкой, потеряны. |
ШИМ в контроллере можно получить максимум 78 кГц - это если кварц поставить на 20 Мгц. при этом две ноги нужно использовать а это роскош с восьминожным контроллером применяемом автором. Этой частоты вроде и нормально но желательно поболее частоту - в схеме автор поставил 494 - хорошая идея ,тем самым можно и поднять значительно частоту . ОУ на измерителе тока - не знаю ПИКов но понимаю так что в примененном контроллере нет усиления АЦП или выбираемое опорное напряжение высоковато . А правая сторона да - в 310 В преобразует , автор пишет .
Добавлено через 18 минут Да, так как в схеме автора шим управляет двумя ключами - максимальную частоту нужно поделить еще на 2 . (Можно конечно битность шима убавить для увеличения частоты но шаг скважности увеличится) |
Вложений: 1
Цитата:
|
Цитата:
|
Вложений: 1
jeriho, да никакой здесь затравки нету!
это мой старый дружище Woleh, мы с ним начинали кое что творить и исследовать. Но было это года 2 назад. Например вот здесь http://windpower-russia.ru/showthread.php?t=330 Вместе обуздывали Лайоут, пайку СМД шек и до ниток разбирали работу понижающего DC-DC. Но парень стал одержим пайкой и программированием, ему с нами альтернативщиками уже просто не интересно. Освоил двухсторонний монтаж, влупил туда часы:), одной Атмеги мало переходит на следующую и понеслось поехало. Вот часть схемы того, что он там нагородил. Но подход мне нравится! Достойные дравера перед полевиками, синхронное выпрямление как у материнок компа, четырёх строчный индикатор. И если мне не изменяет память, то нажимая одну кнопку он может изменять показания на дисплее. То есть сейчас он показывает это, нажав кнопку он будет показывать другие измерения и т.д. Но мне до этого уже далеко. Тут хотя бы мощный простой DC-DC сложить до кучи... |
Вот вот , можно так влезть что конца и края не видать . Брался за одно дело - начал с 8 Килобайтового контроллера , потом 16 ... 32 ... и так дошел до 128 Кбайт - потом уж начал подумывать о еще одном ядре - но всетаки остановился , это как наркотик . Вот сейчас решил 2 Кбайта мк включить в этот проект , хороший процик - не надо навешивать предусилителей , схема упрощается , можно и дисплей четырехстрочный повесить но много не напишеш на нем .
Заказал на всякий случай помощнее (8Кб) из тойже коллекции . Есть еще проблемка - проверить никак нельзя контроллер - нету у меня СБ , хоть и хочется для комплекта (может займусь поисками) - Зато есть действующий ветряк , для которого нужно сделать побыстрому контроллер простенький чтоб начал он наконец крутить в аккумулятор энергию . Добавлено через 1 минуту Сергей, А схема на драйверах пригодится ! |
Вложений: 1
983, Атмега 328 нам подходит для контроллера , тем более есть в загашнике .
Пойдет ? Какой ЖКИ используем , 16 знаков / 2 строки или 20 знаков / 4 строки ? Оба есть в загашнике . Вот нарисовал схему , может будет корректировка схемы входов замера токов - операционники может придется ставить . Остаются четыре ноги свободные , две из них (верхние) можно оставить для подключения к компу. Одна из нижних ног (15) может еще один ШИМ генерировать. |
Красота !
что делают кнопки ? что за цепь "защита" ? Не слишком ли злые делители на входы измерения напряжений ? -- подозреваю, что будут недозадействованы 1 -- 2 разряда АЦП, а это снижение точности в 2 -- 4 раза. ( хотя этотолько если для 12 В системы. как реализуется старт при подаче питания ? ( не вижу внешней цепочки сброса, как в старых микропроцессорах) -- есть смысл не кормить его от аккумулятора, а кормить от СБ / ветряка, а от аккума подавать лишь вручную, временно, если охота поюзать его ночью в качестве вольтметра, ну и вместо кренки со временем поставить DC/dc c нормальным КПД. и сколько оно ест ? , ато может и нет особого смысла не питать его ночью и заморачиваться с DC/DC? как я понял, питание с дисплея снимается самим МК , когда индикация не нужна. Добавлено через 2 минуты дисплей бы хорошо и такой и сякой предусмотреть. Есть возможность опроса дисплея, чтоб узнать автоматически, кто он такой ? -- такой себе плуг'н'плэй получится )) и в соответствии с этим МК бы выдавал на него инфу уже под конкретный дисплей. |
saschke, 983, хочу прикупить для начала экспериментов вот такую вещь http://www.ebay.com/itm/141152711772...%3AMEBIDX%3AIT пойдёт для начала?
|
Вложений: 1
DJ_Grom, уж больно оно мне напоминает то что у меня уже есть :).
Вложение 11889 По моему шо у Атмеги16 шо 32 по 40 ног. Так что похоже её там нет. Но всё равно оно того стоит хотя-бы из-за юсб программатора. Докупить МК, дисплей и вперёд периферию собирать. Цитата:
В начале написания исходника, ты выбираешь марку дисплея из библиотеки которая находится внутри той проги в которой пишется исходник. Потом в процесе написания будешь указывать, какой разряд дисплея что должен показывать. |
DJ_Grom, По программаторам не скажу - как взял специальный для моей среды программирования так с ним и работаю , стоит правда 750 р. но без проблем зато.
983, По дисплеям - посмотрим , на сколько останется памяти проца столько и включим. Но это геморно чую так как хотел в меню пользователя включить выбор отображения удобного . Кнопки могут быть многофункциональны , думаю средняя - меню ; ОК ; Старт ; и т.д. Две крайние - больше , меньше , и т.д. Защита - это быстрое отключение ШИМа DC-DC или "повышайки" в случае обрыва в цепи нагрузки , тоесть если во время зарядки случайно пропадет контакт с аккумулятором подскочит напряжение на выходе и убьет каку нибудь штуку . У меня так от блокинг генератора сгорел цифровой ампервольтметр и на днях выпрямсительные диоды по вторичке пуш-пула и синхронные ключи выпрямителя убились :cray: Эту простую схемку опробывал - работает быстро . Насчет делителей для замеров - для снижения потребляемого тока , но может придется уменьшить номиналы - посмотрим . Вообще же , делители и транзистор в цепи питания и подсветки дисплея это для уменьшения тока потребления в режиме сна (отсутствия достаточного напр. для зарядки). В режиме сна (например ночью) ток потр. схемы не привысит 1 мА думаю. При подаче достаточного питания мк сам прыгает на Reset (начало программы) Добавлено через 13 минут Ну ладно , раз схема пойдет то начну разводить плату ... под СМДишки , корпус мк TQFP-32 , завтра протравлю и начнем самое интересное . Писать буду для дисплея WH1602 . |
Часовой пояс GMT +4, время: 20:21. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2010 Windpower Russia