Перейти к содержанию
    

MPetrovich

Свой
  • Постов

    796
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные MPetrovich


  1. On 4/10/2024 at 10:47 PM, MPetrovich said:

    Two-Phase_Modulation.jpg

    Будет ли вектрным управление согласно изображения выше, если принять за проекции этого вектора на оси моментальные значения напряжений на фазах? 

    Поскольку в течении 120 градусов одна из фаз равна нулю, то оперировать придётся всего с двумя значениями вместо трёх. Это значительно упростит всё преобразования Кларка/Парка. 

    Единственной затыкой остаётся измеритель оборотов... Я пока так и не придумал каким образом его реализовать. 

    Да, ещё забыл уточнить- нужны датчики тока на всех 3-х фазах или достаточно одного общего? 

  2. 12 hours ago, аксим-м said:

    диапазон 10000 ( десять тысяч ) к одному-вполне можно сделать на асинхроннике, невзирая на скольжение.Но необходимое условие для этого-наличие обратной связи по скорости.

    Не могли бы Вы пояснить - что имеется в виду под диапазоном 10000/1? И зачем в данном случае ОС по скорости, если ротор стоит на месте (практически)? 

  3. Я правильно понимаю, что, подав на соответствующие фазы соответствующие величины постоянных напряжений (которые сформируются ШИМом нужного заполнения), я могу удерживать ротор двигателя в неподвижном  состоянии? Даже под нагрузкой (например - подвешен груз на лебедке)? 

  4. On 4/12/2024 at 7:46 PM, amaora said:

    В прямоугольной системе координат, вектор из двух элементов.

    А эти проекции вектора на координаты являются двумя каким-либо фазами или чем-то ещё? 

    Вообще, преобразование 3-осевой системы координат в 2-осевую вращающуюся, называют везде преобразованием Кларка... Но там, по-моему, оси это момент и магнитный поток. 

  5. 12 hours ago, amaora said:

    Один раз настраиваете синхронное формирование ШИМ для трёх каналов, и дальше работаете только с заданными напряжениями (заполнениями ШИМ) по трём каналам,

    Так вроде всё так и поступают))) Настраивают ШИМ-формирователи контроллера на выдачу трёх синхронных ШИМ, а потом только меняют к-т заполнения. 

     

    12 hours ago, amaora said:

    Преобразовать заданный двухфазный вектор в значения напряжений по трём каналам

    Не понял что такое двухфазный вектор... 

     

    12 hours ago, amaora said:

    одна фаза оказывается с заполнением 0% фактически без ШИМ

    Я полагаю это метод управления двигателем по двум фазам, в то время, как третья на земле (нижний ключ фазы открыт). Я таким пользуюсь, но в скалярном режиме. 

     

    Two-Phase_Modulation.jpg

  6. 8 minutes ago, vov4ick said:

    Имеется в виду, конечно, период огибающей, а не период модуляции. То есть один электрический оборот двигателя делится на 6 логических частей.

    "Вот оно чо, Михалыч!" (цитата) 

    Ну это ж совсем другое дело! Похоже на трапецидальное шестишаговое управление бесколлекторным двигателем...

    Спасибо!

  7. 1 hour ago, vov4ick said:

    Посмотрите Калачёв, Векторное регулирование, 2014. Там в последней главе про модуляцию, прямо то чем вы интересуетесь.

    Посмотрел книгу. Я и раньше, как оказалось, её видел) 

    Однако запутался, похоже, ещё больше... По таблице 3 (стр. 60) выходит, что период ШИМ разбивается ещё на 7 (!!!) частей и внутри периода происходит СЕМИКРАТНОЕ переключение ключей. Т.е. выходит, что частота переключения (а она раньше и была частотой ШИМ) увеличиться в СЕМЬ раз... В моём случае частота ШИМ = 32кГц, а должна стать 32*7=224кГц! Или нужно уменьшить исходную частоту ШИМ 32/7=4,57кГц, чтобы скакать по ключам внутри периода ШИМ...

    Или я неправильно интерпретировал эту таблицу, или подход к формированию ШИМа в МК мне нужно в корне менять...

    Прикрепил файл с книгой, чтобы не искать, если кто захочет посмотреть.

    Kalachev_Yu_N_Vektornoe_regulirovanie.pdf

  8. Испытал новую плату. Решил приделать защиту - шунт 0,1Ом в точку соединения истоков транзисторов нижних плечей стоек фаз; с него снимается напряжение пропорциональное токам через все фазы и, при превышении 2А (0,2В на шунте), срабатывает триггер на TL431+pnp-транзистор, который подает "единицу" на входы SD драйверов IR2113S. 

    Не могу понять - защитит ли эта защита от  межфазного замыкания? Не погорят ли драйверы, ведь при межфазном КЗ коротятся друг на друга выводы Vs...

     

    P.S. Забыл ещё написать, что ввёл в программу к-т V/f... Теперь от нуля до 50Гц ток силовой части стабилен, а не увеличен на низах, как раньше)))

  9. On 3/25/2024 at 3:35 PM, Alex1603 said:

    все ли  используют делитель из резисторов между фазами и АЦП,  который измеряет напряжение в момент отключения свободной фазы

    Можно использовать компараторы для фиксации перехода через ноль. Я так делал в ATMega128. Но более универсальный способ (в смысле переноса кода на разные МК) всё же использовать АЦП.

    Заметьте, на Вашей картинке на два поста выше обратная ЭДС справа и слева разной формы и даже разной длительности. Из-за этого, при внесении дополнительной расстройки в виде нагрузки, форма и длительность этих кривых ещё больше разнится. Оттого и срывается синхронизация. 

    Выход во внесении некого рекурсивного фильтра длительности периодов коммутации фаз.

    Отфильтрованное время с момента предыдущей коммутации = (время с момента предыдущей коммутации + 3 *  Отфильтрованное время с момента предыдущей коммутации) / 4

  10. Решил написать в этой теме, дабы не плодить лишних веток...

    Приветствую Всех читающих)

    Я пока не до конца ещё разобрался в вопросах векторного управления 3-ч фазным асинхронным двигателем и, возможно, мои вопросы покажутся несколько глуповатыми. Заранее извиняюсь)))

    Итак, насколько я смог понять, в процессе управления на стойках силовых ключей формируются векторы токов задающих направление магнитного поля в статоре и момент вращения ротора. Векторы тока в стойках формируются синусоидальными ШИМ-сигналами. В процессе вращения чередуются базовые векторы - в каждом секторе в 60гр. оперируют по два базовых вектора. Вот с этого места у меня начинается непонимание.

    Для примера: в секторе 0-60гр. работают вектора 001 и 011, что эквивалентно следующему положению ключей в стойках:WL+UL+UH и WL+VH+UH, где U, V, W - фазы; L, H - открытые ключи (нижний и верхний соответственно). Вопросы вот в чём: открытый ключ в данном случае означает, что на нем есть ШИМ? И как одновременно ШИМить и не ШИМить фазу V - переключать её состояние каждый второй период ШИМа?

    Другой вариант: L - означает, что нижний ключ замкнут без ШИМа. Тогда вроде складывается логичная последовательность чередования векторов через один период ШИМа. И ключи работают в режиме переключения меньше, а значит и потерь на тепло меньше. Так какой вариант модуляции здесь применим?

  11. Благодарю за скорый ответ. Однако, я спрашивал не об этом. 

    Попробую подробно. Я выставляю потенциометром частоту фазовых синусоид. Получаю на выходе АЦП некое 10-битное число. После, в соответствии с этим числом, я должен посчитать к-т k=f/50 и на этот к-т умножить значения из таблицы формирующей синус на фазе. Уже в первом действии деление... 

  12. 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-битных числах... 

  13. И снова здравствуйте😄

    За время, которое прошло с последнего моего поста в этой теме, я уже запустил несколько асинхронников со своей прогой. 

    Вернулся к теме поскольку захотел отредактировать код для работы с изменяющимся напряжением сети. Есть довольно известная постоянная  для асинхронников - v/f. Она означает, что если мотор разработан и изготовление для определённых напряжения и частоты сети, то соотношение v/f  - константа для всех напряжений и частот, с которыми будет работать мотор выдавая тот же момент, что и для расчётных напряжения и частоты. Для сети 220вольт 50 Герц эта константа равна 4,4. Регулируя частоту вращения нужно изменять амплитуду напряжения фазовых синусоид. 

    К-т на который нужно множить значения Duty Cycle получается V=f/50. Соответственно, что при частоах меньше 50Гц он будет меньше нуля. Делить значения рабочего цикла ШИМ на числа не кратные степени 2 чревато длинной процедурой деления, а у меня и так контроллер молотит довольно длинные процедуры обработки прерывания с частотой 32кГц. 

    Хотелось бы каким-то образом оптимизировать процесс. Всё, что пока пришло на ум - таблица значений, из которой таскать значения для фиксированного количества частот. Однако, это не решает проблему, поскольку к-ты я буду таскать готовые, но делить то на них значения рабочего цикла всё равно придётся! 

    Может есть какие-то решения и я просто про них не знаю? 

  14. Я тут в одном Design Note DN0005 от ST вычитал такое интересное утверждение : для большинства случаев коэффициент/константу v/f для двигателя  можно оценить по его номинальным характеристикам. Например, двигатель рассчитан на напряжение 120В для работы с частотой 60Гц, тогда v/f =120/60, т.е. 2.

    Выходит для нашей сети это будет 220/50=4,4. Соответственно для частоты 100Гц нужно напряжение 440В, чтобы сохранить такой же момент на валу. И наоборот - при 10Гц нужно 44В.

    Что думают знающие люди?

  15. 2 minutes ago, HardEgor said:

    Ну тут , я ничем не могу помочь, как говорили в фидо - ССЗБ (каждый сам себе злобный буратина)

    😀 Всё равно спасибо, что посмотрели.

  16. 59 minutes ago, HardEgor said:

    Красный я так понимаю тантал? Его можно и один на плату оставить. Конденсаторы между 11и 15 надо вдоль микросхемы поставить. На верхней микросхеме забыли конденсатор по питанию.

    Оставил по одному танталу на +3,3В и +12В. 

    Между 11 и 15 не получается вдоль м/сх, придется все сигналы с контроллера куда-то утаскивать.

    Конденсаторы по питанию у всех трёх м/сх на месте (ноги 2 и 3)

    1 hour ago, HardEgor said:

    А зачем вы перемычки короткие делаете, в результате дорожка странным образом изгибается и удлиняется(пин 2). 

    Я бы ещё управляющие сигналы куда-нибудь притянул резисторами.

    Укоротил дорожки.

    Внутри драйверов есть подтяжки входов к земле.

    plata-1.JPG

    IR2110_BLOCK_DIAGRAM.JPG

  17. В прикрепленном файле откорректированная плата.

    Ради эксперимента хотел запитать плавающую часть драйвера от отдельного источника. Отключил от транзисторов выходы драйверов Vs и соединил их вместе, соединил выводы Vb. На Vb подал +12,5В на Vs подал GND от отдельного ИП. 

    В результате при включении отдельный источник и высоковольтный источник ушли в защиту по току.

    Восстановил всё обратно, всё работает. Не понял отчего такая ерунда...

    PowerStage.lay6

  18. 3 hours ago, HardEgor said:

    В высоковольтных драйвера опасно, когда земля подпрыгивает на индуктивности трасс - она может и в минус заскочить, тогда драйвер защелкнется и из него выходит весь  "волшебный дым"... Я там  design type приложил.

    Я читал этот документ. Там, если я правильно помню, один из советов -  увеличивать резистор в затворе во избежание таких ситуаций...

    Однако, возвращаясь к моей печатке, что в первую очередь стоит переразвести?

    Я спрятал трассу Vcc под драйверы, установил емкости на Vcc и VDD рядом с ногами драйверов, подвёл прямо от высоковольтной клеммы GND трассу к COM и VSS драйверов. Завтра выложу файл .lay

  19. On 2/13/2024 at 3:26 PM, HardEgor said:

    длинные трассы Vs и GND между микросхемой и ключами, это прямая диверсия)

    Может имелось в виду Vcc? А куда его можно спрятать, чтобы он не шёл рядом с силовой землёй? Под драйверы запустить?

  20. 13 minutes ago, аксим-м said:

    Петрович! Вам наверно нужны какие-то железобетонные аргументы за оптику?

    Я против оптодрайверов не возражаю нисколько. Я уже даже заказал у китайцев десяток для экспериментов)))

    Я просто высказался насчет питания выходного каскада этого самого оптодрайвера. На мой взгляд практичнее и дешевле использовать  для этого конденсатор подкачки с диодом, чем дополнительный ИП.

    13 minutes ago, аксим-м said:

    Аааааааа, черт побери, я же у вас не спросил : дальше то что?...будете собирать более мощные девайсы?....или вы остановитесь на этом а я тут сотрясаю воздух своим виденьем....?

    Буду, конечно, собирать большей мощности. Это первый макет для отработки всех (по возможности) косяков)))

  21. 1 hour ago, kamil_yaminov said:

    Бутстреп нужен только для верхнего плеча же вроде? Я думаю речь идёт о драйверах с отдельным подвешенным питанием для плечей, получаемым при помощи dc/dc.

    Зачем отдельный DC/DC городить, если можно выходной каскад HCPL3120 просто посадить на конденсатор подкачки с диодом от +12В?

  22. 50 minutes ago, аксим-м said:

    Это когда ротор опрокидывается.Когда момент нагрузки начинает превышать критический момент.Момент нагрузки может с оборотами расти а может не изменяться, но главное что критический момент при этом падает-он пропорционален квадрату напруги и обратно пропорционален частоте.

    Да, спасибо, посмотрел описание процесса. У меня двигатель без нагрузки на валу и происходит опрокидывание ротора из-за превышения реактивного статического момента над критическим моментом. Критический момент уменьшается при повышении частоты вращения и когда он становится меньше статического, двигатель переходит в режим стоянки под током.

     

×
×
  • Создать...