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

Расширение функциональности датчиков Холла.

Пришлось довольно много поработать с д.Холла в качестве датчиков положения ротора в PMSM-/BLDC-электродвигателях. Понимаю как их использовать для управления э/двигателями с ОС. И как повысить точность такого управления, расчётом промежуточных углов с помощью таймера и знания текущей скорости. Тема не об этом.

Но вот если возникает необходимость знания не только электрического угла, но и механического, а других датчиков, кроме д.Холла в системе нет? Использует ли кто-либо где-либо д.Холла для определения правильного механического угла положения ротора э/двигателя? Речь о тех д.Холла, которые реагируют на поле магнитов ротора. Т.е.  - изменяют своё состояние 6 раз на один электрический оборот.

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

Может кто-то слышал о подобных алгоритмах? И даст ссыль? Так как подозреваю, что скорее всего изобрёл велосипед.  :smile:

 

PS: Пытал чатГПТ на эту тему, но ничего путного от него добиться не удалось. Он строит из себя дурачка. :smile:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

речь про считать и запоминать количество переполнений "относительного" электрического угла, который меняется в N раз быстрее абсолютного из за наличия N полюсов на оборот?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, jcxz said:

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

Вот это всё нужно доказать сперва. И написать статью научную в серьезный журнал. Потому что додуматься-то можно до чего угодно, а вот реализовать абсолютное считывание в настоящем практическом pmsm/bldc моторе (с >2 полюсов ротора) - невозможно.

Изменено пользователем rkit

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 минут назад, _pv сказал:

речь про считать и запоминать количество переполнений "относительного" электрического угла, который меняется в N раз быстрее абсолютного из за наличия N полюсов на оборот?

Нет. Я же написал: речь об абсолютном угле, а не относительном. Т.е. - не зависимом от момента старта ПО устройства и т.п. Скажем: угол ротора ==153.4° в данной позиции вала. Который всегда должен давать 153.4° именно в этой позиции и ни в какой другой.

27 минут назад, _pv сказал:

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

Нет - без дополнительных датчиков углового положения! Только по данным д.Холла на магнитах ротора.

18 минут назад, rkit сказал:

Вот это всё нужно доказать сперва. И написать статью научную в серьезный журнал. Потому что додуматься-то можно до чего угодно, а вот реализовать абсолютное считывание в настоящем практическом pmsm/bldc моторе (с >2 полюсов ротора) - невозможно.

Возможно.  :wink:  И оно реализовано и работает.

Просто мне кажется такой способ очевидным. Для тех кто много работал с реальными д.Холла. Не мне одному. И чую, что должны быть реализации. Но вдруг реально - открытие и хау ноу? :umnik2::biggrin:

Не нашёл в сети и ИИ похоже ничего не знает. Или придуривается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Возможно слова надо знать ключевые, чтобы найти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, что в данном случае главный минус в том, что принципиально невозможно узнать точное положение ротора (механического угла) при старте устройства и без поворота ротора... Ротор, после отключения питания электроники мог оказаться в любом положении после любого механического воздействия на него... Если коротко - " пока не повернёшь - не узнаешь". Видимо не везде это приемлемо. Но это - просто мысли вслух...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, amaora сказал:

Ну так это не надёжно, если только не работать с двигателями специальной конструкции, где неравномерность магнитной системы Холлов будет выполнена намеренно и стабильно.

Сколько пробовал я моторов - везде неравномерность была такая, что алгоритм работал 100%-но чётко. Ни одного сбоя. Вот например делаю калибровку - сейчас кручу мотор равномерно, без ОС (просто синусом), без нагрузки на роторе с минимальным током при котором он ещё крутится (чтобы равномерно, без шажков):

image.thumb.png.25d0f9a9f6f925f085031ed6ea3045d1.png

На участке "HALL 000 ... HALL 119" выполняется до 120 калибровочных электрических оборотов (из расчёта максимального возможного числа пар полюсов <=60) и измеряются неравномерности сигналов д.Холла. Каждый эл.оборот - 6 значений. Где каждое значение - это величина отклонения момента изменения фазы д.Холла в ту или иную сторону. Или в большую (>1.0) или в меньшую (<1.0). В конце дампа, по полученному дампу отклонений, алгоритм вычисляет число пар полюсов мотора (14 в данном случае). А затем запускается алгоритм поиска текущего положения ротора. И в сообщении "rK ..." печатается текущее найденное положение (номер эл.оборота внутри мех.оборота) и рассчитанная величина вероятности правильного вычисления. Как видно - вероятность растёт с числом оборотов (при равномерном вращении) и когда превышает некоторый порог - положение считается найденным. Эта табличка запоминается в энергонезависимой памяти и потом, при каждом старте, алгоритм запускается и ищет положение.

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

32 минуты назад, варп сказал:

Мне кажется, что в данном случае главный минус в том, что принципиально невозможно узнать точное положение ротора (механического угла) при старте устройства и без поворота ротора... Ротор, после отключения питания электроники мог оказаться в любом положении после любого механического воздействия на него... Если коротко - " пока не повернёшь - не узнаешь". Видимо не везде это приемлемо. Но это - просто мысли вслух...

Это да - чтобы узнать, надо провернуть хоть немного. Но например если применение - улучшение качества управления, за счёт увеличения точности определения угла - этого вполне достаточно. Как видно по дампу - разброс значений д.Холла от самого минимального до максимального - составляет более 35%! Из-за этого точность векторного управления сильно страдает. А применив корректировку по такой таблице, можно существенно повысить КПД привода.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, amaora сказал:

если только не работать с двигателями специальной конструкции, где неравномерность магнитной системы Холлов будет выполнена намеренно и стабильно

Вот кстати - у меня даже возникает мысль: А не закладывают ли производители моторов специально неравномерность в сигналы д.Холла, из расчёта, что в инверторе есть подобный алгоритм (как у меня)? И тогда уже никакая неравномерность не страшна, а  даже наоборот - полезна. Почему у меня и возникла мысль о том - не описан ли где-то уже такой метод калибровки?

Потому как дамп этот снят с довольно качественного и дорогого мотора. А такой разброс..... Как будто его специально внесли...  :umnik2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это же надо магниты неравномерно клеить? Датчики Холла рядом с обмотками на статоре? Или отдельная магнитная система для датчиков?

1) Когда датчики в обмотках, надо ещё анализировать как это будет работать на максимальном токе, паттерн может поменяться;

2) Стабильность на разной температуре и от старения;

3) Если магниты неравномерно расположены, то не будет ли видно эту нерегулярность по токам и напряжениям? А если добавить неравномерность количества витков на разных зубцах статора? 😁

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, amaora сказал:

Это же надо магниты неравномерно клеить? Датчики Холла рядом с обмотками на статоре? Или отдельная магнитная система для датчиков?

Магниты на глаз - наклеены идеально. Явно на станке. И сами - идеально одинаковые. А вот обмотки - намотаны по всякому, внавал. Все разные.

Датчики Холла находятся возле обмоток - сбоку от них. Работают видимо или от магн.поля магнитов или от поля обмотка-магнит.

Я думаю - даже при идеальных внешне магнитах, во-первых: они могут быть намагничены немного по-разному; во-вторых - при таких разных обмотках, будет разница в окружающем магнитном поле системы обмотка-магнит и влияние этого поля на д.Холла. Отсюда думаю и разница в моментах срабатывания.

44 минуты назад, amaora сказал:

1) Когда датчики в обмотках, надо ещё анализировать как это будет работать на максимальном токе, паттерн может поменяться;

Не совсем в обмотках - сбоку. Но прям рядом, впритык к обмоткам.

44 минуты назад, amaora сказал:

2) Стабильность на разной температуре и от старения;

3) Если магниты неравномерно расположены, то не будет ли видно эту нерегулярность по токам и напряжениям? А если добавить неравномерность количества витков на разных зубцах статора? 😁

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, jcxz said:

Возможно.  :wink:  И оно реализовано и работает.

Замечательно доказал. Теперь верю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 25.06.2024 в 13:12, jcxz сказал:

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

Был у меня проект один - серводвигатель. В моторе датчиков не было, но они и не помогли бы. Из-за большого коэффициента передачи редуктора и малого рабочего диапазона вращения выходного вала (примерно 0...15 градусов) установил абсолютные магнитные энкодеры как на вал двигателя, так и на выходной вал. Поэтому при включении в любом положении знал это самое положение. Датчики от ams OSRAM, 14-битные.

Я понимаю, что речь о датчиках холла, встроенных в двигатель. Но, ИМХО, стоит ли оно того? Ведь, насколько я понимаю, Вы должны калибровать каждый двигатель. Ну а дальше - тепло/холод, механическое расширение магнитов, как следствие - небольшое изменение геометрии = небольшие изменения измерений. Вибрации - туда же. Ремонт в виде замены двигателя без процедуры шаманства с неким программным обеспечением - наверное невозможен и т.д. Поэтому, ИМХО, не особо распространено, тем более, когда есть альтернативы в виде внешних прецизионных датчиков угла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

On 6/25/2024 at 10:19 PM, jcxz said:

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

Может быть ещё, что вращение не равномерное. Увеличить момент инерции не пробовали? Вращать внешним независимым приводом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 26.06.2024 в 21:11, Arlleex сказал:

Я понимаю, что речь о датчиках холла, встроенных в двигатель. Но, ИМХО, стоит ли оно того? Ведь, насколько я понимаю, Вы должны калибровать каждый двигатель. Ну а дальше - тепло/холод, механическое расширение магнитов, как следствие - небольшое изменение геометрии = небольшие изменения измерений.

Да - речь именно о д.Холла. Что существуют другие типы датчиков углового положения - я знаю и использую их.

А насчёт тепла/холода и т.п. - думаете ваши магнитные энкодеры к ним не чувствительны? Если уж ожидаете, что перепады температур настолько велики, что влияют на внутренние д.Холла, так они точно так же будут влиять и на внешние датчики углового положения. И кстати (насколько мне известно) - аналоговые д.Холла (которые скорее всего стоят в ваших магнитных энкодерах) - они как раз очень чувствительны к изменению температуры. Если только в них не встроена какая-то компенсация.

И как выше уже писал - разброс значений длительностей от минимума до максимума, который я наблюдаю на своём моторе - превышает 35% (даже доходил до 40%!). Чтобы причиной такого разброса была температура, мой привод должен телепортироваться с Плутона на Венеру и обратно. :wink:

Вибрация тоже отсутствует - двигатель надёжно закреплён, а на роторе нет никакого дополнительного веса - соответственно нет эксцентриситета и болтанки из-за него. И двигатель новый - не разболтан, не изношен.

 

К тому-же Вы пишете: "поставили 2 энкодера на один двигатель". У меня в устройстве всего 5 моторов. Т.е. - довольно много нужно датчиков. И моторы эти кстати - без валов. У них ротор (который вращается) - внешний корпус. Там не так просто закрепить датчик углового положения. Хотя это конечно вообще не относится к теме. У нас планируются исполнения как с внешними датчиками углового положения (только синус-косинусными) так и со встроенными д.Холла (более дешёвый вариант). Вот для 2-го варианта и хочется улучшить качество работы.

В 26.06.2024 в 21:11, Arlleex сказал:

Ремонт в виде замены двигателя без процедуры шаманства с неким программным обеспечением - наверное невозможен и т.д.

При замене двигателя, скорей всего всё равно нужна будет настройка параметров (под новый двигатель). А калибровку у меня выполняет прошивка самого инвертора. Нужно только обеспечить холостой ход (отсутствие нагрузки на роторе) и дать команду калибровки. И подождать несколько секунд.

Да и без этой калибровки он тоже будет работать. Просто КПД будет немного ниже и шум больше.

23 часа назад, amaora сказал:

Может быть ещё, что вращение не равномерное. Увеличить момент инерции не пробовали? Вращать внешним независимым приводом?

Пока нормального стенда нет - мотор просто закреплён на столе, без возможности дать равномерную нагрузку на ротор. Когда стенд будет - попробую. Но даже сейчас я для тестового вращения  устанавливаю минимальный уровень ШИМ-а, при котором ротор ещё вращается без пропусков эл.оборотов. А так как скорость вращения довольно высока (частота вращения поля = 40 Гц; соответственно механическая частота вращения = 40/14 = почти 3 об/сек) при предельно низком поле, то инерция даже пустого ротора должна более-менее сглаживать толчки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

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

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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