![]() Двухтактные топологии сварочных инверторов |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() Двухтактные топологии сварочных инверторов |
![]()
Сообщение
#841
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
В таком разе достаточно будет ссылочки на показон. Вот ссылочка на схему http://www.electrik.org/forum/index.php?sh...st&p=490205 (описание дивайса плюс минус пару недель в той и соседних ветках) Исходный код инициализации выкладывал несколько дней назад в ветке ПА2 с описанием что, зачем и почему! по сути соус переферии настраивается в любой контроллер. Если во схеме не всё понятно то дам пояснения на интересующие вопросы. да и периферия у стм пластилиновая позволит слепить хоть фазник хоть многодрочер. -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
|
![]()
Сообщение
#842
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 403 Регистрация: 23.7.2016 Пользователь №: 49672 ![]() |
В таком разе достаточно будет ссылочки на показон. Вы решили отказаться от ШИМ и рулить вых. током посрейством реахтивного балласта ? Оно канэчно можно, но диапазон изменения входного напряжения такой варылки становиццо с гулькин хрен. Опять же, ИМХО, моделька у вас больно школярская и рассуждать об одностороннем подмагничивании в двухтахтерах на ея основе не имеет смысла. Модель и правда школярская на посмотреть что будет. Вот ШИМ к ней прикручу тогда ясно станет можно ли совмещать и то и то. В этом случае об одностороннем подмагничивании даже не думал, для схемы с реактивным балластом вроде фазовое управление ложиться, оно описано в даташите на dsPIC33EPxxxGSxxx авторы говорят что камень может. Короче практические результаты пока скромные извиняйте. Но, с Вашей помощью, мне удалось составить для себя пошаговую инструкцию - типа на что обратить внимание и без чего не обойтись. Ну и блок схему ПО обдумал на словах. Честно говоря, что то медленно осваиваю TMS320. ПО сыровато, с той точки зрения, что не введен оверсемплинг и не настроен приоритетный контроллер прерываний еще. Пока работает только ПИД, фильтр, компаратор и протокол MODBUS. Короче заболтался и, с первого раза не получилось АЦП перевести в режим оверсемплинга и я забил на это дело недели на полторы, занимался ремонтом инверторов. А еще надо разрулить контроллер приоритетных прерываний, без этого код не выглядит полностью асинхронным, а без этого, двигаться дальше неприятно, синхронный код неудобен. Сообщение отредактировал astrahard - 15.6.2019, 6:37 |
![]() |
|
![]()
Сообщение
#843
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
Если я правильно понимаю, оптимально было бы вычисление взвешенной скользящей средней (WMA) для управления током. Не уверена, правда, что даже такой проц аппаратно-программно будет успевать делать все измерения-вычисления. АЦП - штука довольно медленная обычно (не знаю, как с этим у STM), как и операции деления/умножения. Но то, что у STM настолько гибкое управление периферией, это, конечно, впечатляет. ERika Вы с изяществом кошки мыслите, но также как она Вы и осторожничаете. При правильном коде, и к месту выбранного STM, при ШИМ до 50 кГц, в каждом такте можно выполнить блок математики достаточный для динамики сварочных процессов в наших сегодняшних подходах. |
![]() |
|
![]()
Сообщение
#844
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2184 Регистрация: 1.11.2011 Пользователь №: 24851 ![]() |
Видимо, можно принять как комплимент, спасибо
![]() ...Но лично я, за многия годы тусовок на подобных полянках, встретил лишь одного такового-Сэма, да и тот нынче "забил" на это дело. Я, так поняла, Сэм двухтакт на проце так и не победил.
Сообщение отредактировал ERika - 15.6.2019, 13:38 -------------------- Самый лучший учитель – опыт. Берёт, правда, дорого, но объясняет доходчиво…
|
![]() |
|
|
![]()
Сообщение
#845
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
а можно ли измерить амплитуду тока на входе? Быстрый компаратор для этого вряд-ли подойдёт, а АЦП вряд-ли успеет такое измерить. Т.е. чисто цифровая обработка вряд-ли возможна. В процах ориентированных на источники питания есть возможность производить выборку в УВХ в моменты коррелирующие с ШИМ, и причём по нескольким каналам одномоментно. |
![]() |
|
![]()
Сообщение
#846
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
Ссылочку посмотрел, благодарствуйте, работа проделана большая, но Average Carrent Mode Control не увидел. Похоже, мы говорим на разных языках. Но это не страшно, бо вы точили специализированный контроллер для варылок и я неверно истолковал вашу фразу про "любой ШИМ контроллер". Я особо не слежу за проциковыми управами для варылок, но впечатление такое, что вы "перепели" управу Электровоза на более современной элементной базе, бо даже выделение среднего напержения вы не стали делать программно, а юзаете "пильную" примочку на аналоховой рассыпухе от упомянутого товарижча. Равно как и фильтруете "базар от бздыка выпермительных диодеров" всё тем же аналоховым RC-фильтром, хотя данный проц позволяет всё это делать программно. Однако, моё дилетантское мнение не есть вердикт, а всего лишь предположение. Всё правильно вы истолковали и я говорил про то же!!!.В реализованной схеме-проекте действительно перенесён шим контроллер на постулатах электровоза без всякой математики в обработке, но вы наверное заметили что так же есть интегрирующие цепочки с которых через заводится сигнал на АЦП (пока эти сигналы не как не учитываются) вот в этом месте планирую сделать разные алгоритмы программной коррекции тока или напряжения есесно по среднему (наложить поцикловку аппаратную на программное посреднему) . Да и не стоит этот частный случай рассматривать как законченный проект это был так сказать только тест. По факту переферия настраивается как угодно и действительно можно на ней сотворить абсолютно любой Шим контроллер. Пример для частного случая, я привёл а далее только полёт мысли и моцги гуратора под подушкой ![]() -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
![]()
Сообщение
#847
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 403 Регистрация: 23.7.2016 Пользователь №: 49672 ![]() |
OlegarX-RUS Совершенно с Вами согласен, нужно ввести настройку кода на топологию без программирования. Чтобы не споткнуться в процессе расширения кода, я для себя сделал вывод, что код должен быть полностью асинхронным с обязательной настройкой приоритетов прерываний и режимом оверсемплинга для АЦП. Опасения ERika на счет нехватки производительности процессора это напрасно, конечно, для этого нужно выбирать контроллер для которого производителем заявлена его область применения.
Что касается Микрокапа, я перейду на LTspice он хоть и не так богат набором элементов, но хорош в плане редактирования своих spice элементов. Микрокап ни чем не лучше, кроме богатой библиотеки, кроме того платный. Сообщение отредактировал astrahard - 16.6.2019, 6:10 |
![]() |
|
|
![]()
Сообщение
#848
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 403 Регистрация: 23.7.2016 Пользователь №: 49672 ![]() |
Гиратор правильно напомнил и, я посмотрел на два имеющихся у меня китайских сварочника. Так все правильно, у них у всех есть врожденная ничем не скомпенсированная несимметрия, одна эта корректировка, а на процессоре она выполняется довольно легко добавкой константы, даст значительное повышение надежности, присовокупим избежание динамического прекоса и, уже два пунктика в плюс.
|
![]() |
|
![]()
Сообщение
#849
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
OlegarX-RUS Совершенно с Вами согласен, нужно ввести настройку кода на топологию без программирования. Чтобы не споткнуться в процессе расширения кода, я для себя сделал вывод, что код должен быть полностью асинхронным с обязательной настройкой приоритетов прерываний и режимом оверсемплинга для АЦП. Ещё раз повторюсь у меня подход другой!!! А именно: - ШИМ контроллер должен быть аппаратный - читай аналоговый и ничто в том числе и сама программа после его инициализации из периферии в недрах STM-ки не должна его больше менять читай перенастраивать! (молотит автоматом) точка! Все расчёты с помощью АЦП это как вспомогательное для МЕДЛЕННОГО читай посреднему отслеживания характеристик дуги и изменения напряжений на опорных входах компараторов ШИМ контроллера в зависимости от выбранных режимов. Эти опорные мы получаем с помощью ЦАП-ов. То есть чтоб с ядром не случилось или косяк в программной обработке или ещё что, то всё ровно отрабатывала поцикловка в любом из случаев!!!То есть по среднему можно как бы модулировать поцикловку, а можно не модулировать. В любом случае за приделы разрешенного вылететь ни получится. (это всё ровно что ручку тока бармалейника (потенциометр) крутить от минимума к максимуму (как не крути всё ровно в заданном интервале окажешься)) то же и с напряжением. А вот инициализацию переферии можно сделать уевой хучей способов тем самым как бы создавая тот именно контроллер который необходим и который молотит не зависимо от ядра от слова совсем.Да выводы и функции назначать-переназначать (кол-во реле, пороги температур, выбор режимов, время заряда банок, реакция на главную кнопку и т.д,), и сами параметры ШИМ контроллера такие как топология (однотакт, двухтакт, фазник), частота, макс скважность, пороги ОС, необходимое кол-во ОС и Т.Д. и Т.П. ну и ввести програмные алгоритмы которые по показаниям АЦП и дальнейшим расчётам будут задавать с помощью ЦАПов изменяющиеся опорное на компараторах тем самым модулируя поцикловку так как этого требуют програмные расчёты или не модулировать ни по каким алгоритмам при этом имея как бы обычный бармалейник с поцикловкой. Ещё раз повторяюсь воздействие на шим контроллер (инициализированный в недрах СТМ-ки) только с помощью опорных на компараторах и больше никак - совсем никак! ФУХХХХХ.......... помоему двузначно вышеописанный опис уже никак нельзя истолковать. P.S. Это моё ИМХО! Сообщение отредактировал OlegarX-RUS - 16.6.2019, 18:59 -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
![]()
Сообщение
#850
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
Ещё раз повторюсь у меня подход другой!!! А именно: В связи чем у Вас такая привязанность к поцикловки? Ну если не считать аварийно-устойчивость, чем по вашему она лучше в мостах в сравнении со средним? И всегда ли ПИД подходы применимые для источников питания, оптимальны для металлургии дуги, с динамикой её изменений? И не будет ли поцикловка при этом порождать резонансы? |
![]() |
|
|
![]()
Сообщение
#851
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
Я же написал что данные с АЦП обрабатываем по пока абстрактным алгоритмам (они мной не написаны и ни изучены на данный момент их просто нет у меня в коде) и накладываем посреднёнку на поцикловку Все ПИД алгоритмы и цикличность опроса АЦП пока не рассматриваем это всё программые штучки которые програмно и закладываются, единствинное это как правильно опрашивать АЦП (в какие моменты времени)) (возможно свой вариант очень медленный заложенный у меня в схеме я пересмотрю). А с чего бы поцикловке порождать резонанс ПИД то нахрена тогда.
У меня пока в проекте нет никаких динамических изменений на опорных ногох компараторов, напряжения прибиты наглухо гвоздять без динамики (голый бармалейник - чистая поцикловка, на данный момент АЦП отключены совсем, опорные напряжения компараторов = const) Сообщение отредактировал OlegarX-RUS - 16.6.2019, 19:25 -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
![]()
Сообщение
#852
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
А с чего бы поцикловке порождать резонанс ПИД то нахрена тогда. Если Вы в данный момент разговор ведёте о косом, то это - не моё, но тема о двухтактных, и именно здесь, как мне кажется начинают проявляться перекосы при поцикловках. А она бегая по ПИДу (а это не всегда так для металлургии дуги) всё равно будет модулировать ток, а тычки переходных процессов на дуге будут её подталкивать к ударным возмущениям, и прижиматься это будет при подходе тока к максимуму. На средних же токах в связи с повышением добротности могут появляться резонансы. А насчёт АЦП, если есть возможность, - настроить на одномоментное считывание тока и напряжения на дуге в каждом периоде ШИМ. Я Вас просто подталкиваю как мне кажется в сторону, где вас ждут наиболее интересные моменты - нежели важность универсальности внешней обшивки. Сообщение отредактировал LVS13 - 16.6.2019, 23:51 |
![]() |
|
![]()
Сообщение
#853
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
ERika, лучше всего в основном цикле вычислять всякую лабуду и делать ногодрыгные проверки некритичные ко временные исполнения кода, а чётко временные интервалы например опрос АЦП вызывать по прерыванию причём если прерывание вызывается циклично например по таймеру то надо контролировать чтоб код прерывания в любом случае поместился во временной интервал до следующего цикла вызова этого же прерывания. При этом если прерываний много то необходимо расставить приоритет что главнее и учесть одновременный вызов нескольких прерываний и тоже контролировать время их исполнения. В противном случае можно потратить всё время на обработку прерываний и не залетать в основной цикл вообще по этому весь код прерываний минимален во времени!
LVS13, Если бы вы читали внимательно текст что я пишу то увидели, что управа для двухтакта или для косого (используется один канал) и я не контрольрую одностороннего намагничивания так как для меня лучший двухтакт это противофазная спарка с к.тр. 1/3 в плечё.... а про АЦП (как его готовить я ещё много подумаю) от поцикловки не откажусь ни в коем разе! Сообщение отредактировал OlegarX-RUS - 16.6.2019, 21:05 -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
![]()
Сообщение
#854
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2184 Регистрация: 1.11.2011 Пользователь №: 24851 ![]() |
В основном цикле ничего не вычисляю. Настраиваю таймерами нужные интервалы, в прерываниях всё обрабатывается за считанные такты (в основном обработка флагов), приоритет прерываний в AVR задан аппаратно, одновременные прерывания обрабатываются последовательно, в зависимости от приоритета. Конструкции типа switch/case (динамическая индикация, например), на индексных переходах - одним словом всё максимально оптимизировано, переполнение стека исключено, свободного процессорного времени вагон и маленькая тележка, бесконечный цикл - только главный, из которого выходим только по прерываниям и состояниям флагов. Все вычисления - внутри подпрограмм, которые вызываются если нужно (по флагам).
Сообщение отредактировал ERika - 16.6.2019, 21:11 -------------------- Самый лучший учитель – опыт. Берёт, правда, дорого, но объясняет доходчиво…
|
![]() |
|
![]()
Сообщение
#855
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
|
![]() |
|
![]()
Сообщение
#856
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1514 Регистрация: 30.11.2008 Из: Россия, Крым, Симферополь Пользователь №: 12714 ![]() |
ERika, У меня кстати в инициализации (ту что выложил) таймера ТiМ1 видно что он вызывает прерывание
![]() ![]() ![]() LVS13, у меня под падушкой нет лишней головы гуратора! к тому же с экономической точки зрения размеров и кол-ва используемых элементов никакой разницы между технологиями не будет!!! Сообщение отредактировал OlegarX-RUS - 16.6.2019, 21:18 -------------------- В электронике есть два вида неисправности:
1) наличие контакта там где его не должно быть 2) отсутствие контакта там где он должен быть всё остальное домыслы :) |
![]() |
|
![]()
Сообщение
#857
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 403 Регистрация: 23.7.2016 Пользователь №: 49672 ![]() |
В связи чем у Вас такая привязанность к поцикловки? Ну если не считать аварийно-устойчивость, чем по вашему она лучше в мостах в сравнении со средним? И всегда ли ПИД подходы применимые для источников питания, оптимальны для металлургии дуги, с динамикой её изменений? И не будет ли поцикловка при этом порождать резонансы? толян все объяснял и не раз, такой подход работает и проверен на практике на миллионах экземпляров. У меня также все гладко. Две доп. меры, статическая коррекция и рационализация динамики добавлены. Это приносит результаты. Еще раз вспомню толяна и его "Вы просто не умеете готовить поцикловку" А это от OlegarX-RUS " лучше всего в основном цикле вычислять всякую лабуду и делать ногодрыгные проверки некритичные ко временные исполнения кода" У меня тоже другой подход, НЕТ в основном цикле обработчиков, только IDLE! Весь код сосредоточен в обработчиках прерываний. В основном цикле только IDLE while(1) { PORTC^=0x01; } В основном цикле ничего не вычисляю. Настраиваю таймерами нужные интервалы, в прерываниях всё обрабатывается за считанные такты (в основном обработка флагов), приоритет прерываний в AVR задан аппаратно, одновременные прерывания обрабатываются последовательно, в зависимости от приоритета. Конструкции типа switch/case (динамическая индикация, например), на индексных переходах - одним словом всё максимально оптимизировано, переполнение стека исключено, свободного процессорного времени вагон и маленькая тележка, бесконечный цикл - только главный, из которого выходим только по прерываниям и состояниям флагов. Все вычисления - внутри подпрограмм, которые вызываются если нужно (по флагам). Этот подход как раз я и применил. Приводил пример кода, где в основном цикле только IDLE т.е. while(1) { PORTC^=0x01; } Сообщение отредактировал astrahard - 17.6.2019, 6:59 |
![]() |
|
![]()
Сообщение
#858
|
|
![]() Посетитель ![]() ![]() Группа: Пользователи Сообщений: 118 Регистрация: 11.6.2018 Пользователь №: 54282 ![]() |
Две меры, статическая коррекция и рационализация динамики. Это приносит результаты. Еще раз вспомню толяна и его "Вы просто не умеете готовить поцикловку" Что Вы имеете ввиду, - говоря (статическая коррекция) и особенно (рационализация динамики) которая приносит результаты. Я думаю, под этим вы не имеете в виду динамику источников питания для менее динамичных нагрузок чем сварка? А о поцикловки мы не говорим, пока не будут настоящие двух-тактники, а не спарки, на настоящей дуге с настоящей (рациональной динамикой). |
![]() |
|
![]()
Сообщение
#859
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 403 Регистрация: 23.7.2016 Пользователь №: 49672 ![]() |
См. пост 729, 787, 804, 824, 847, 848. Динамику улучшает КИХ фильтр, вместо ФНЧ (ОС по напряжению). Это годно для всех случаев, так-как обобщение.
толян, ERika, гиратор авторы с которыми я полностью согласен. Сообщение отредактировал astrahard - 17.6.2019, 7:08 |
![]() |
|
![]()
Сообщение
#860
|
|
![]() =VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2184 Регистрация: 1.11.2011 Пользователь №: 24851 ![]() |
Поцикловка - она тоже разная бывает. Гиратор не так давно упоминал этот документ, думаю кому-то будет интересно:
Прикрепленные файлы
-------------------- Самый лучший учитель – опыт. Берёт, правда, дорого, но объясняет доходчиво…
|
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 4.7.2025, 14:52 |
|
![]() |