Jump to content

    
jcxz

Качество изготовления датчиков Холла встроенных в мотор.

Recommended Posts

Имеется PMSM-мотор. Со встроенными датчиками Холла.

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

Записал получаемую последовательность состояний д.Холла. См. картинку:

hall-motor23pp.thumb.png.d8805907aeb304c73a6d16373e0de281.png

Самый левый (голубой столбец): номер электрического оборота внутри механического оборота (двигатель имеет 23 пары полюсов: соответственно 23 электрических оборота на 1 механический).

Синие столбцы (6 шт.): нормированные длительности 6-ти последовательных состояний д.Холла внутри электрического оборота. Каждое значение - длительность данного состояния, нормированная к средней длительности состояний на полном механическом обороте.

Самый правый столбец (в кв.скобках): суммарная длительность данного электрического оборота (в тактах).

Как видно - имеется довольно существенный разброс длительностей импульсов (до ~ +-8%) в пределах одного механического оборота.

Начиная со строки 23 начинается 2-й механический оборот и (как видно) - картина на нём повторяется. Со второго оборота показаны (фиолетовым) величины отклонений значений длительностей для 2-го мех.оборота относительно соответствующего значения в первом обороте.

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

 

Вопрос: Это мне так не повезло с двигателем, он так криво изготовлен, а у качественного двигателя длительности всех состояний были бы одинаковые?

Или это присуще всем подобным двигателям и все они имеют примерно такой же разброс значений углов, получаемых с д.Холла?

Share this post


Link to post
Share on other sites

По-моему, это нормально. Для датчика, реагирующего на магнитное поле. И, как бы, функцию свою тахогенератор выполняет. Не энкодер же это, всё-таки...

Впрочем, это ИМХО. Возможно, и существуют более точные тахогенераторы на датчиках Холла.

Share this post


Link to post
Share on other sites

магниты для ускорителей, которые собирают из отдельных постоянных магнитов, причём как правило с как можно более простой (прямоугольной геометрией) и качество поля потом "дорабатывается напильником" до 1e-4 (начальной сортировкой и подстройкой отдельных элементов),

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

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

 

 

Share this post


Link to post
Share on other sites

Приведу осциллограмму сигналов с этого двигателя (из стартового сообщения). Векторное управление в режиме стабилизации скорости, установившийся режим, нагрузка на валу - почти постоянная:

hall-motor23pp_osc.thumb.png.0597774ad9fd7d56cdd5b4db7e1cba3b.png

На осциллограмме видно влияние разброса длительностей импульсов.

Время идёт слева-направо (самые последние сэмплы - справа).

Голубой график - сигналы положения датчиков Холла;

Оранжевый график - вычисленное угловое положение (по д.Холла с линейной интерполяцией по таймеру);

Зелёный график - запрашиваемый векторным алгоритмом ток Iq;

Жёлтый график - реальный измеренный фазный ток по одной из фаз.

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

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

 

PS: Есть мысль - по заранее замеренной таблице (сверху) делать корректировку интерполированного углового положения и убрать эти скачки => повысить КПД.

Интересно - кто-нибудь уже делал подобное? И как вообще идея - стоящая?

Share this post


Link to post
Share on other sites

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

Лично мне сомнительно, что у идеи есть коммерческая перспектива, но очень хотелось бы узнать результат корректировки.

Share this post


Link to post
Share on other sites

Слишком большое искажение фазного тока, в чем то другом дело. У меня есть калибровка датчиков Холла, но это больше для упрощения подключения и диагностики, провода чтобы можно было перепутать. Интерполяция все равно будет работать неидеально когда скорость начнет менятся.

Share this post


Link to post
Share on other sites
1 час назад, amaora сказал:

Слишком большое искажение фазного тока, в чем то другом дело.

Понятное дело - там в этих искажениях не только вина д.Холла, но и влияние мёртвого времени (скорость вращения здесь небольшая, поэтому влияние мёртвого времени особенно сильно). Но всё же....

Цитата

У меня есть калибровка датчиков Холла, но это больше для упрощения подключения и диагностики, провода чтобы можно было перепутать.

А что у Вас включает в себя эта калибровка?

Цитата

Интерполяция все равно будет работать неидеально когда скорость начнет менятся.

Это понятно, но всё же сейчас интерполяция промахивается и из-за динамики скорости и из-за погрешностей д.Холла. Если один фактор исключить - картина однозначно должна стать лучше. Вопрос только - насколько?...

Да и чем больше пар полюсов мотора, тем меньше влияние динамики изменения скорости. А у меня довольно многополюсный мотор.

7 часов назад, Herz сказал:

Лично мне сомнительно, что у идеи есть коммерческая перспектива, но очень хотелось бы узнать результат корректировки.

Когда дойдут руки до реализации и если будут значимые результаты - выложу.

 

PS: Кстати (из уже реализованного) - сейчас по результатам калибровки д.Холла, автоматически определяется количество пар полюсов мотора. Т.е. - польза уже есть.  :wink:

Share this post


Link to post
Share on other sites
44 minutes ago, jcxz said:

А что у Вас включает в себя эта калибровка?

В стационарном режиме вращения заполняю таблицу из 6-ти состояний холлов. В каждом столбце количество попаданий в это состояние и сумма векторов положения. После беру среднее от этой суммы и получается среднее положение для каждого состояния холлов, оно и используется при интерполяции. Ну и отбраковка по количеству попаданий и величине ожидаемой суммы. Если одно из состояний ни разу не зафиксировано то ошибка, если одно состояние фиксируется в сильно разных положениях то ошибка. Можно придумать еще условий. Эталонное положение от бездатчикового наблюдателя.

51 minutes ago, jcxz said:

Кстати (из уже реализованного) - сейчас по результатам калибровки д.Холла, автоматически определяется количество пар полюсов мотора. Т.е. - польза уже есть.

По длине периода этих отклонений? Не надежно, но можно подумать.

Share this post


Link to post
Share on other sites
10 минут назад, amaora сказал:

По длине периода этих отклонений? Не надежно, но можно подумать.

По взаимной корреляции длительностей состояний д.Холла для каждой пары полюсов.

Почему не надёжно? Посмотрите на таблицу в самом верху - по ней чётко видно когда начинается новый механический оборот (просто сравните 0-ю строчку с 23-й, 1-ю с 24-й и т.д.). И соответственно алгоритм отрабатывает чётко - показатель корреляции на нужной позиции полюсности очень сильно отличается от других позиций. Ненадёжно будет если мотор будет изготовлен идеально, тогда длительности состояний д.Холла для каждой пары полюсов будут неотличимы от других пар. Но если считать что идеальных моторов не существует, то определение должно работать чётко.

Share this post


Link to post
Share on other sites

Работал всегда по одному датчику (фазы А) когда мотор набирает обороты, пока не раскрутился тоже самое, но у нас используются оптодатчики (да и моторы другого типа), а не холла и всё равно тоже самое. Тут только датчик абсолютного положения решит проблему (если говорить о датчиковом управлении).

Share this post


Link to post
Share on other sites

Это нормальная ситуация для датчиков Холла. Неидеальные 120 электрических градусов между датчиками при их размещении, разная геометрия магнитов ротора. Тут еще все относительно неплохо, мне попадались двигатели с датчиками, электрический угол одного из состояний составлял не 60, а 84 градуса. Благо, на валу двигатели был еще квадратурный оптический энкодер. Так как у меня ни разу не было задачи крутить двигатель на постоянных оборотах, интерполяцию я не делал, контур замыкал по энкодеру, по Холлам только брал нулевое положение.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.