Отговори на тема  [ 19 мнения ]  Отиди на страница 1, 2  Следваща
Ограничаване по ток 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Ограничаване по ток
Постановката е следната:

DC/DC понижаващ конвертор, от 28V на 14V, изходен ток 100А, работна честота 40kHz, по J1939 мята разни параметри. Регулатора е изпълнен с PIC18 на 40MHz и работи перфектно, КПД към 90-92%, професора е натоварен на около 90%, в следващата версия го сменям с dsPIC. Външна хардуерна защита по ток ограничава широчината на PWM импулсите, ако детектира ток по голям от 100А. Отделно връща сигнал на INT0. Процесора измерва тока чрез токов сензор през канал на АЦП-то, но понеже усреднява стойностите измерването е към 4.8ms. Проблема е, че когато външната хардуерна защита започне да ограничава широчината на импулсите на моменти изчезват по няколко импулса което води до неприятно жужене от мощната индуктивност ( някъде 14uH ).

Приложих следното: когато токът е по-голям от 100А процесора започва да получава прекъсвания на всеки цикъл на PWM ( 25us ), съответно главната програма започва да лимитира максимума на PWM, така че PID закона каквото и да изчисли да не може да надмине тази стойност. Дотук добре, но това води до обратния проблем, когато товара намалее изходния ток също намалява, тогава започвам постепенно да увеличавам максимално допустимата широчина на PWM, PID закона си смята отделно, накрая сравнявам изчисленото от PID закона и ако е по-малко от максимално допустима широчина го зареждам, ако е по-голямо зареждам максимума. Получава се един цикъл на нагоре-надолу, който води до жужене и в крайна сметка понякога разбалансира системата.

Искам да направя така, че като надмине тока 100А да го огранича на 100А, когато товара намалее да заработи отново като стабилизатор на напрежение, прехода да е плавен, без отскоци. Някакви конструктивни идеи ?

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Сеп 29, 2010 3:40 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Сря Авг 24, 2005 1:11 am
Мнения: 60
Мнение 
Имаш ли рамп функция за зареждане на PWM-ите или ги зареждаш директно.


Сря Сеп 29, 2010 3:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
maker_1 написа:
Имаш ли рамп функция за зареждане на PWM-ите или ги зареждаш директно.


Какво имаш в предвид под рамп функция ?

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Сеп 29, 2010 4:14 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Сря Авг 24, 2005 1:11 am
Мнения: 60
Мнение 
Промяната на заданието става плавно. Картинката която съм дал е за електродвигател , но по принцип идеята е същата.


Прикачени файлове:
ramp.JPG
ramp.JPG [ 11.79 KiB | Прегледано 2307 пъти ]
Сря Сеп 29, 2010 4:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Имам такава функция при стартиране на конвертора, за да се получи мек старт. Всъщност точно това ми трябва и когато се задействува токовата защита, само дето идея си нямам как да я реализирам.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Сеп 29, 2010 4:59 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Сря Авг 24, 2005 1:11 am
Мнения: 60
Мнение 
Не познавам системата ти , но мога да ти дам едно предложение което върши работа.


Прикачени файлове:
Closed Loop.JPG
Closed Loop.JPG [ 14.61 KiB | Прегледано 2307 пъти ]
Сря Сеп 29, 2010 5:12 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Яну 04, 2007 12:43 am
Мнения: 178
Мнение 
А не можеш ли да имаш 2 PID-а за ШИМ - един за зададеното напрежение и друг за тока на защитата (в твоя случай 100A). За всеки цикъл ще избираш по-малкия от двата ШИМ-а.


Сря Сеп 29, 2010 6:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Имам вече 3 PID-а :-) , конвертора е част от по-сложна схема. Затова и следващия дизайн ще е с dsPIC , щото на този PIC18 му се изчерпаха ресурсите, а пък непрекъснато се добавят нови изисквания. В началото беше на 25% натоварен, но сега е на 90%.

Но дори да имах ресурси, идеята с 2 PID-а не мисля, че ще е приложима. Преди 2г. мислехме нещо такова, но не си спомням защо се отказахме.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Сеп 29, 2010 7:10 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Яну 04, 2007 12:43 am
Мнения: 178
Мнение 
Всъщност при някои от импулсните регулатори на Linear токовата защита е реализирана точно така - като се достигне прага не минава през плавен старт, а започва да работи като регулатор на ток. Разбира се, направено е по аналогов път.
А на ресурсите им се намира колая - я два ПИК-а, я един двуядрен... :) .


Чет Сеп 30, 2010 9:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение 
А възможно ли е натрупаната стойност на интегралната съставка на ПИД-а да предизвиква проблема? При ограничаване на ширината на ПВМ-а ПИД-а натрупва грешка в интегратора. Може би при ограничаване на ПВМ-а трябва да се "изключи" интегратора и да се запази стойността му каквато е била преди момента с ограничаването на ПВМ-а ...
Защо не пробваш какво ще стане без интегрална съставка на ПИД-а? Даже и без диференциална, а само с пропорционална.


Чет Сеп 30, 2010 11:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Проблема бе разрешен, получи се плавно ограничаване на изходния ток.

1-во, външната ми хардуерна защита беше с много ниски прагове, и започваше да ми праща импулси още от към 75А изходен ток, но тъй като не ги използвах до момента ги бях игнорирал. Вдигнах прага й на 105-110А изходен ток, добавих двузвенен RC филтър, защото изхода на токовия сензор беше доста зашумен, филтрирах източника на опорно напрежение с допълнителен кондензатор ( за сефте ми се налага да филтрирам с кондензатор източник на опорно :-) , имаше една дълга тема за TL431, ако някой още си я спомня ), на двата входни компаратора ( образуващи компаратор с прозорец ) добавих лека ПОВ, така че да осигуря лек хистерезис при задействане ( защитата по ток е за плюс-минус 100А, понеже както казах стабилизатора на напрежение е част от друго у-во, и когато се превключи в други режим тогава тока си сменя знака и тече през вътрешните диоди на мощните транзистор в обратна посока ).

Дотук с хардуерните промени и настройки, не се мина и без пипането на софтуера, бях загрузил и малко кода в главната програма. Добавих бъзикане на SetPoint-а когато през АЦП-то измеря ток по-голям от 105А, тогава на всеки цикъл на PWM-а започвам да намалявам с единица SetPoint-а, докато тока не падне под 100А. След което следя дали няма да се отнеме товара в един момент, т.е. тока да спадне, тогава обратно на всеки цикъл вдигам с единица SetPoint-a, докато не достигна първоначално зададения. Измерването на тока се наложи да го филтрирам, за да не се получават случайни сработвания.

Резултата е много добър, тока се свива много бързо и същевременно плавно, без да се получава "подскачане" на PWM-а. Остана малко с константите на PID закона да си поиграя, може още да се желае от тях. Засега мога само да приложа метода на настройка с единичен входен импулс, защото няма да доведе до евентуално повреда. Каквото и да стане с този метод на изхода след време ще се появи входното напрежение.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Пет Окт 01, 2010 11:50 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
И като заговорихме за настройка на пид ...

От две седмици чета и никъде нищо съществено не пише. Основната ми идея е да стане читав Auto Tune. Е, аз засега с температура си играя. Метода с единичен импулс нещо не ми вдъхва много доверие, ама пък и релейния нещо не дава добри резултати. Другия, с плавно увеличаване на П нещо не го виждам много-много в малък контролер за обща употреба, ама пък той сякаш ще даде задоволителен резултат. При все че на няколко места пише, че всички "авто" методики са ала-бала. Е все трябва да има начин ...

Иначе ръчно си ги настройвам, ама някак ми се ще да си начеша крастата.


Съб Окт 02, 2010 12:32 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
И аз изчетох доста по въпроса, ако ти трябва литература имам към 10-тина книги вече :D От колегата научих да се започва първо с пропорционалната ( интегрална и диференциална нула ), вдигаме я докато системата не започне да осцилира, след което я сваляме с 25% , после включваме интегралната, като гледаме отношението Kp/Ki да е много голямо, интегралната сума я правиме такава, че в установен режим, когато грешката е 0, да може да се покрие максималния PWM само с интегралната съставка плюс малко резерв отгоре. Ако системата реагира прекалено бързо при включване и изключване на товари увеличаваме още интегралната ( сумата съм я задал с макрос свързан с интегралната и автоматично се увеличава и сумата ), ако не помогне включваме много малка диференциална, вдигаме я, докато не започне да осцилира, след което я намаляме с 75%. След време започнах да ги въвеждам константите и интегралната сума по J1939, че е много по-лесно оттам да се задават. В нашите случаи става дума основно за DC/DC конвертори с мощност между 0.5 и 2kW, понижаващи и повишаващи, както и за един регулатор за алтернатор. Специално за алтернатора си играхме може би месец докато докараме читави константи, но си заслужаваше, защото се получи много добро регулиране, с меко стартиране, без отскоци, като PWM е изцяло софтуерен, защото честотата е само 100Hz, а PIC с вътрешен осцилатор на 8MHz, не може да извади такава ниска честота.

В случая с конверторите при мен позволява сравнително лесно да се изследва реакцията на входен импулс, тъй като меря входно и изходно напрежение и изходен ток, вместо регулиране по PWM пускам един импулс, и започвам само да меря входа, изхода и тока, измерените стойности изпращам по RS232 през PICKit2 към PC-то, след което импортвам данните в OpenOffice Calc и започвам да ги изследвам.


За в следващите дизайни прехвърлям всичко на dsPIC , едно че са с много по бързи CPU-та, друго, че имат много по-добра и бърза периферия, която практически позволява да вдигнем работната честота до към 150kHz, което пък води до много по-малки индуктивности. Тази за 40kHz/14V/100A е бахтий трупчето, тежи към килограм. Сеге намерихме едни СМД, всяка по 28А, вързахме 4-ри, две в паралел и две последователно, за 50А ток, другата седмица ще ги тестваме.

А как точно се прави Auto PID ми е мътен Китай и Индия, взети заедно :-)

Основен проблем си остават обаче гейт драйверите, колегата е фен на IRF и само такива използваме, но аз хич не ги харесвам, много са "кекави", все нещо им пречи, при нашите големи тоци докато настройваме системата обикновено по една шепа гейт драйвери подменяме. Сега съм се спрял на дизайн на гейт драйвер с импулсен трансформатор, мисля, че за нашите нужди ще заспи с трансформатор, вече има и много производители, избор голям на трансформатори, а галваничната изолация си е винаги предимство.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Съб Окт 02, 2010 2:15 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Ное 11, 2005 9:30 am
Мнения: 142
Местоположение: София
Мнение 
Не съм навътре в материята.
Може да се изказвам неподготвен.
Ето едно упътване как се настройват коефициентите на един терморегулатор.


Прикачени файлове:
scan0001.pdf [159.47 KiB]
182 пъти
Съб Окт 02, 2010 5:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
@xor, тия неща ги пише навсякъде. Лошото е, че истината е малко встрани и се пишат само общоизвестните неща. Не че искам някой да си каже тайните - тук идеята ми е да се стигне до някакви полезни изводи. Например аз направих елементарните измервания - амплитуда и време, направих сметките, въведох данните и ... ядец - далече от истината. Ясно е че ауто тюне няма да постигне перфектен резултат, ама поне да е близо до истината. Пък после на "око" се донастройва. Поне да може да го докара на лек овършот и съвсем слаби осцилации. Със сметките дето приложих ми се получи овършот по-голям отколкото само on/off. Е, аз се опитвам засега да го подкарам на поялника :) Работната система ще е по-инертна и по-мощна.
@Пирев, твоя процес не е инертен, а обратната ти връзка няма накъде да е по-добра. Ти гониш само плавно регулиране без отскоци. А аз се опитвам да направя терморегулатор дето да поддържа +/- 0.2 градуса отклонение. Има едни найлони за опаковки на вафли дето са много претенциозни към температура - 1 градус отдолу - не залепва, 1 отгоре се реже. В общи линии го правя от спортна злоба, щото такива регулатори се продават тук таме.


Нед Окт 03, 2010 6:33 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 19 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни