MPetrovich
-
Постов
796 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные MPetrovich
-
-
12 hours ago, аксим-м said:
диапазон 10000 ( десять тысяч ) к одному-вполне можно сделать на асинхроннике, невзирая на скольжение.Но необходимое условие для этого-наличие обратной связи по скорости.
Не могли бы Вы пояснить - что имеется в виду под диапазоном 10000/1? И зачем в данном случае ОС по скорости, если ротор стоит на месте (практически)?
-
Я правильно понимаю, что, подав на соответствующие фазы соответствующие величины постоянных напряжений (которые сформируются ШИМом нужного заполнения), я могу удерживать ротор двигателя в неподвижном состоянии? Даже под нагрузкой (например - подвешен груз на лебедке)?
-
On 4/12/2024 at 7:46 PM, amaora said:
В прямоугольной системе координат, вектор из двух элементов.
А эти проекции вектора на координаты являются двумя каким-либо фазами или чем-то ещё?
Вообще, преобразование 3-осевой системы координат в 2-осевую вращающуюся, называют везде преобразованием Кларка... Но там, по-моему, оси это момент и магнитный поток.
-
12 hours ago, amaora said:
Один раз настраиваете синхронное формирование ШИМ для трёх каналов, и дальше работаете только с заданными напряжениями (заполнениями ШИМ) по трём каналам,
Так вроде всё так и поступают))) Настраивают ШИМ-формирователи контроллера на выдачу трёх синхронных ШИМ, а потом только меняют к-т заполнения.
12 hours ago, amaora said:Преобразовать заданный двухфазный вектор в значения напряжений по трём каналам
Не понял что такое двухфазный вектор...
12 hours ago, amaora said:одна фаза оказывается с заполнением 0% фактически без ШИМ
Я полагаю это метод управления двигателем по двум фазам, в то время, как третья на земле (нижний ключ фазы открыт). Я таким пользуюсь, но в скалярном режиме.
-
8 minutes ago, vov4ick said:
Имеется в виду, конечно, период огибающей, а не период модуляции. То есть один электрический оборот двигателя делится на 6 логических частей.
"Вот оно чо, Михалыч!" (цитата)
Ну это ж совсем другое дело! Похоже на трапецидальное шестишаговое управление бесколлекторным двигателем...
Спасибо!
-
1 hour ago, vov4ick said:
Посмотрите Калачёв, Векторное регулирование, 2014. Там в последней главе про модуляцию, прямо то чем вы интересуетесь.
Посмотрел книгу. Я и раньше, как оказалось, её видел)
Однако запутался, похоже, ещё больше... По таблице 3 (стр. 60) выходит, что период ШИМ разбивается ещё на 7 (!!!) частей и внутри периода происходит СЕМИКРАТНОЕ переключение ключей. Т.е. выходит, что частота переключения (а она раньше и была частотой ШИМ) увеличиться в СЕМЬ раз... В моём случае частота ШИМ = 32кГц, а должна стать 32*7=224кГц! Или нужно уменьшить исходную частоту ШИМ 32/7=4,57кГц, чтобы скакать по ключам внутри периода ШИМ...
Или я неправильно интерпретировал эту таблицу, или подход к формированию ШИМа в МК мне нужно в корне менять...
Прикрепил файл с книгой, чтобы не искать, если кто захочет посмотреть.
-
Народ, неужто никто не ответит?
-
Испытал новую плату. Решил приделать защиту - шунт 0,1Ом в точку соединения истоков транзисторов нижних плечей стоек фаз; с него снимается напряжение пропорциональное токам через все фазы и, при превышении 2А (0,2В на шунте), срабатывает триггер на TL431+pnp-транзистор, который подает "единицу" на входы SD драйверов IR2113S.
Не могу понять - защитит ли эта защита от межфазного замыкания? Не погорят ли драйверы, ведь при межфазном КЗ коротятся друг на друга выводы Vs...
P.S. Забыл ещё написать, что ввёл в программу к-т V/f... Теперь от нуля до 50Гц ток силовой части стабилен, а не увеличен на низах, как раньше)))
-
On 3/25/2024 at 3:35 PM, Alex1603 said:
все ли используют делитель из резисторов между фазами и АЦП, который измеряет напряжение в момент отключения свободной фазы
Можно использовать компараторы для фиксации перехода через ноль. Я так делал в ATMega128. Но более универсальный способ (в смысле переноса кода на разные МК) всё же использовать АЦП.
Заметьте, на Вашей картинке на два поста выше обратная ЭДС справа и слева разной формы и даже разной длительности. Из-за этого, при внесении дополнительной расстройки в виде нагрузки, форма и длительность этих кривых ещё больше разнится. Оттого и срывается синхронизация.
Выход во внесении некого рекурсивного фильтра длительности периодов коммутации фаз.
Отфильтрованное время с момента предыдущей коммутации = (время с момента предыдущей коммутации + 3 * Отфильтрованное время с момента предыдущей коммутации) / 4
-
Решил написать в этой теме, дабы не плодить лишних веток...
Приветствую Всех читающих)
Я пока не до конца ещё разобрался в вопросах векторного управления 3-ч фазным асинхронным двигателем и, возможно, мои вопросы покажутся несколько глуповатыми. Заранее извиняюсь)))
Итак, насколько я смог понять, в процессе управления на стойках силовых ключей формируются векторы токов задающих направление магнитного поля в статоре и момент вращения ротора. Векторы тока в стойках формируются синусоидальными ШИМ-сигналами. В процессе вращения чередуются базовые векторы - в каждом секторе в 60гр. оперируют по два базовых вектора. Вот с этого места у меня начинается непонимание.
Для примера: в секторе 0-60гр. работают вектора 001 и 011, что эквивалентно следующему положению ключей в стойках:WL+UL+UH и WL+VH+UH, где U, V, W - фазы; L, H - открытые ключи (нижний и верхний соответственно). Вопросы вот в чём: открытый ключ в данном случае означает, что на нем есть ШИМ? И как одновременно ШИМить и не ШИМить фазу V - переключать её состояние каждый второй период ШИМа?
Другой вариант: L - означает, что нижний ключ замкнут без ШИМа. Тогда вроде складывается логичная последовательность чередования векторов через один период ШИМа. И ключи работают в режиме переключения меньше, а значит и потерь на тепло меньше. Так какой вариант модуляции здесь применим?
-
4 minutes ago, jcxz said:
PS: Ну чесслово - какой-то детский сад.....
Ну затупил, чо уж... 😳
С кем не бывает😳
Спасибо!
-
Благодарю за скорый ответ. Однако, я спрашивал не об этом.
Попробую подробно. Я выставляю потенциометром частоту фазовых синусоид. Получаю на выходе АЦП некое 10-битное число. После, в соответствии с этим числом, я должен посчитать к-т k=f/50 и на этот к-т умножить значения из таблицы формирующей синус на фазе. Уже в первом действии деление...
-
19 hours ago, Сергей Борщ said:
uint16_t Data; uint16_t Scale = 0.7 * (1 << 16); uint16_t Result = (Data * Scale) >> 16;
Для 8-битного контроллера uint8_t и сдвиг на 8
Извиняюсь за бестолковость, но как в 8-битном виде выглядит число 0,7?
13 hours ago, jcxz said:Даже в 8-битках, если они имеют команды умножения (любой разрядности), то замена деления умножением также должна дать выигрыш в скорости. А если у них при этом нет команд деления, то выигрыш будет даже больше, чем на Cortex.
Не сочтите за труд, напишите как умножить на 0,7 в 8-битных числах...
-
И снова здравствуйте😄
За время, которое прошло с последнего моего поста в этой теме, я уже запустил несколько асинхронников со своей прогой.
Вернулся к теме поскольку захотел отредактировать код для работы с изменяющимся напряжением сети. Есть довольно известная постоянная для асинхронников - v/f. Она означает, что если мотор разработан и изготовление для определённых напряжения и частоты сети, то соотношение v/f - константа для всех напряжений и частот, с которыми будет работать мотор выдавая тот же момент, что и для расчётных напряжения и частоты. Для сети 220вольт 50 Герц эта константа равна 4,4. Регулируя частоту вращения нужно изменять амплитуду напряжения фазовых синусоид.
К-т на который нужно множить значения Duty Cycle получается V=f/50. Соответственно, что при частоах меньше 50Гц он будет меньше нуля. Делить значения рабочего цикла ШИМ на числа не кратные степени 2 чревато длинной процедурой деления, а у меня и так контроллер молотит довольно длинные процедуры обработки прерывания с частотой 32кГц.
Хотелось бы каким-то образом оптимизировать процесс. Всё, что пока пришло на ум - таблица значений, из которой таскать значения для фиксированного количества частот. Однако, это не решает проблему, поскольку к-ты я буду таскать готовые, но делить то на них значения рабочего цикла всё равно придётся!
Может есть какие-то решения и я просто про них не знаю?
-
Я тут в одном Design Note DN0005 от ST вычитал такое интересное утверждение : для большинства случаев коэффициент/константу v/f для двигателя можно оценить по его номинальным характеристикам. Например, двигатель рассчитан на напряжение 120В для работы с частотой 60Гц, тогда v/f =120/60, т.е. 2.
Выходит для нашей сети это будет 220/50=4,4. Соответственно для частоты 100Гц нужно напряжение 440В, чтобы сохранить такой же момент на валу. И наоборот - при 10Гц нужно 44В.
Что думают знающие люди?
-
2 minutes ago, HardEgor said:
Ну тут , я ничем не могу помочь, как говорили в фидо - ССЗБ (каждый сам себе злобный буратина)
😀 Всё равно спасибо, что посмотрели.
-
59 minutes ago, HardEgor said:
Красный я так понимаю тантал? Его можно и один на плату оставить. Конденсаторы между 11и 15 надо вдоль микросхемы поставить. На верхней микросхеме забыли конденсатор по питанию.
Оставил по одному танталу на +3,3В и +12В.
Между 11 и 15 не получается вдоль м/сх, придется все сигналы с контроллера куда-то утаскивать.
Конденсаторы по питанию у всех трёх м/сх на месте (ноги 2 и 3)
1 hour ago, HardEgor said:А зачем вы перемычки короткие делаете, в результате дорожка странным образом изгибается и удлиняется(пин 2).
Я бы ещё управляющие сигналы куда-нибудь притянул резисторами.
Укоротил дорожки.
Внутри драйверов есть подтяжки входов к земле.
-
-
В прикрепленном файле откорректированная плата.
Ради эксперимента хотел запитать плавающую часть драйвера от отдельного источника. Отключил от транзисторов выходы драйверов Vs и соединил их вместе, соединил выводы Vb. На Vb подал +12,5В на Vs подал GND от отдельного ИП.
В результате при включении отдельный источник и высоковольтный источник ушли в защиту по току.
Восстановил всё обратно, всё работает. Не понял отчего такая ерунда...
-
3 hours ago, HardEgor said:
В высоковольтных драйвера опасно, когда земля подпрыгивает на индуктивности трасс - она может и в минус заскочить, тогда драйвер защелкнется и из него выходит весь "волшебный дым"... Я там design type приложил.
Я читал этот документ. Там, если я правильно помню, один из советов - увеличивать резистор в затворе во избежание таких ситуаций...
Однако, возвращаясь к моей печатке, что в первую очередь стоит переразвести?
Я спрятал трассу Vcc под драйверы, установил емкости на Vcc и VDD рядом с ногами драйверов, подвёл прямо от высоковольтной клеммы GND трассу к COM и VSS драйверов. Завтра выложу файл .lay
-
On 2/13/2024 at 3:26 PM, HardEgor said:
длинные трассы Vs и GND между микросхемой и ключами, это прямая диверсия)
Может имелось в виду Vcc? А куда его можно спрятать, чтобы он не шёл рядом с силовой землёй? Под драйверы запустить?
-
13 minutes ago, аксим-м said:
Петрович! Вам наверно нужны какие-то железобетонные аргументы за оптику?
Я против оптодрайверов не возражаю нисколько. Я уже даже заказал у китайцев десяток для экспериментов)))
Я просто высказался насчет питания выходного каскада этого самого оптодрайвера. На мой взгляд практичнее и дешевле использовать для этого конденсатор подкачки с диодом, чем дополнительный ИП.
13 minutes ago, аксим-м said:Аааааааа, черт побери, я же у вас не спросил : дальше то что?...будете собирать более мощные девайсы?....или вы остановитесь на этом а я тут сотрясаю воздух своим виденьем....?
Буду, конечно, собирать большей мощности. Это первый макет для отработки всех (по возможности) косяков)))
-
1 hour ago, kamil_yaminov said:
Бутстреп нужен только для верхнего плеча же вроде? Я думаю речь идёт о драйверах с отдельным подвешенным питанием для плечей, получаемым при помощи dc/dc.
Зачем отдельный DC/DC городить, если можно выходной каскад HCPL3120 просто посадить на конденсатор подкачки с диодом от +12В?
-
50 minutes ago, аксим-м said:
Это когда ротор опрокидывается.Когда момент нагрузки начинает превышать критический момент.Момент нагрузки может с оборотами расти а может не изменяться, но главное что критический момент при этом падает-он пропорционален квадрату напруги и обратно пропорционален частоте.
Да, спасибо, посмотрел описание процесса. У меня двигатель без нагрузки на валу и происходит опрокидывание ротора из-за превышения реактивного статического момента над критическим моментом. Критический момент уменьшается при повышении частоты вращения и когда он становится меньше статического, двигатель переходит в режим стоянки под током.
Вопросы про векторное управление
в Электрические машины, Электропривод и Управление
Опубликовано · Пожаловаться
Будет ли вектрным управление согласно изображения выше, если принять за проекции этого вектора на оси моментальные значения напряжений на фазах?
Поскольку в течении 120 градусов одна из фаз равна нулю, то оперировать придётся всего с двумя значениями вместо трёх. Это значительно упростит всё преобразования Кларка/Парка.
Единственной затыкой остаётся измеритель оборотов... Я пока так и не придумал каким образом его реализовать.
Да, ещё забыл уточнить- нужны датчики тока на всех 3-х фазах или достаточно одного общего?