jcxz 208 Вторник в 10:12 Опубликовано Вторник в 10:12 · Жалоба Пришлось довольно много поработать с д.Холла в качестве датчиков положения ротора в PMSM-/BLDC-электродвигателях. Понимаю как их использовать для управления э/двигателями с ОС. И как повысить точность такого управления, расчётом промежуточных углов с помощью таймера и знания текущей скорости. Тема не об этом. Но вот если возникает необходимость знания не только электрического угла, но и механического, а других датчиков, кроме д.Холла в системе нет? Использует ли кто-либо где-либо д.Холла для определения правильного механического угла положения ротора э/двигателя? Речь о тех д.Холла, которые реагируют на поле магнитов ротора. Т.е. - изменяют своё состояние 6 раз на один электрический оборот. Как-то (несколько лет назад) в одном из проектов на д.Холла, я реализовал такой алгоритм. Вычисления механического угла на основании исключительно данных д.Холла встроенных в двигатель. Придумал и реализовал это сам. А не потому, что где-то в сети нашёл информацию о таком способе. Но вот берут сомнения - неужто кто-то где-то ранее уже не додумался до такого? Может кто-то слышал о подобных алгоритмах? И даст ссыль? Так как подозреваю, что скорее всего изобрёл велосипед. PS: Пытал чатГПТ на эту тему, но ничего путного от него добиться не удалось. Он строит из себя дурачка. PPS: Да - речь об абсолютном механическом угле. А не относительном. Т.е. - таком, который неизменен от одного запуска двигателя к другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 54 Вторник в 13:02 Опубликовано Вторник в 13:02 · Жалоба речь про считать и запоминать количество переполнений "относительного" электрического угла, который меняется в N раз быстрее абсолютного из за наличия N полюсов на оборот? делал как-то, только не с непосредственно датчиками двигателя, а с магнитом на валу положение которого отслеживалось какими-то магниторезистивными датчиками, которые вместо поля измеряли квадрат поля, соответственно с двумя периодами на оборот вала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 5 Вторник в 13:11 Опубликовано Вторник в 13:11 (изменено) · Жалоба 2 hours ago, jcxz said: Как-то (несколько лет назад) в одном из проектов на д.Холла, я реализовал такой алгоритм. Вычисления механического угла на основании исключительно данных д.Холла встроенных в двигатель. Придумал и реализовал это сам Вот это всё нужно доказать сперва. И написать статью научную в серьезный журнал. Потому что додуматься-то можно до чего угодно, а вот реализовать абсолютное считывание в настоящем практическом pmsm/bldc моторе (с >2 полюсов ротора) - невозможно. Изменено Вторник в 13:11 пользователем rkit Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 208 Вторник в 13:22 Опубликовано Вторник в 13:22 · Жалоба 27 минут назад, _pv сказал: речь про считать и запоминать количество переполнений "относительного" электрического угла, который меняется в N раз быстрее абсолютного из за наличия N полюсов на оборот? Нет. Я же написал: речь об абсолютном угле, а не относительном. Т.е. - не зависимом от момента старта ПО устройства и т.п. Скажем: угол ротора ==153.4° в данной позиции вала. Который всегда должен давать 153.4° именно в этой позиции и ни в какой другой. 27 минут назад, _pv сказал: делал как-то, только не с непосредственно датчиками двигателя, а с магнитом на валу положение которого отслеживалось какими-то магниторезистивными датчиками, которые вместо поля измеряли квадрат поля, соответственно с двумя периодами на оборот вала. Нет - без дополнительных датчиков углового положения! Только по данным д.Холла на магнитах ротора. 18 минут назад, rkit сказал: Вот это всё нужно доказать сперва. И написать статью научную в серьезный журнал. Потому что додуматься-то можно до чего угодно, а вот реализовать абсолютное считывание в настоящем практическом pmsm/bldc моторе (с >2 полюсов ротора) - невозможно. Возможно. И оно реализовано и работает. Просто мне кажется такой способ очевидным. Для тех кто много работал с реальными д.Холла. Не мне одному. И чую, что должны быть реализации. Но вдруг реально - открытие и хау ноу? Не нашёл в сети и ИИ похоже ничего не знает. Или придуривается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 22 Вторник в 16:28 Опубликовано Вторник в 16:28 · Жалоба Ну так это не надёжно, если только не работать с двигателями специальной конструкции, где неравномерность магнитной системы Холлов будет выполнена намеренно и стабильно. Очень узкий диапазон условий куда можно это применять, кто-то делает и не говорит. Возможно слова надо знать ключевые, чтобы найти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
варп 19 Вторник в 17:32 Опубликовано Вторник в 17:32 · Жалоба Мне кажется, что в данном случае главный минус в том, что принципиально невозможно узнать точное положение ротора (механического угла) при старте устройства и без поворота ротора... Ротор, после отключения питания электроники мог оказаться в любом положении после любого механического воздействия на него... Если коротко - " пока не повернёшь - не узнаешь". Видимо не везде это приемлемо. Но это - просто мысли вслух... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 208 Вторник в 17:54 Опубликовано Вторник в 17:54 · Жалоба 1 час назад, amaora сказал: Ну так это не надёжно, если только не работать с двигателями специальной конструкции, где неравномерность магнитной системы Холлов будет выполнена намеренно и стабильно. Сколько пробовал я моторов - везде неравномерность была такая, что алгоритм работал 100%-но чётко. Ни одного сбоя. Вот например делаю калибровку - сейчас кручу мотор равномерно, без ОС (просто синусом), без нагрузки на роторе с минимальным током при котором он ещё крутится (чтобы равномерно, без шажков): На участке "HALL 000 ... HALL 119" выполняется до 120 калибровочных электрических оборотов (из расчёта максимального возможного числа пар полюсов <=60) и измеряются неравномерности сигналов д.Холла. Каждый эл.оборот - 6 значений. Где каждое значение - это величина отклонения момента изменения фазы д.Холла в ту или иную сторону. Или в большую (>1.0) или в меньшую (<1.0). В конце дампа, по полученному дампу отклонений, алгоритм вычисляет число пар полюсов мотора (14 в данном случае). А затем запускается алгоритм поиска текущего положения ротора. И в сообщении "rK ..." печатается текущее найденное положение (номер эл.оборота внутри мех.оборота) и рассчитанная величина вероятности правильного вычисления. Как видно - вероятность растёт с числом оборотов (при равномерном вращении) и когда превышает некоторый порог - положение считается найденным. Эта табличка запоминается в энергонезависимой памяти и потом, при каждом старте, алгоритм запускается и ищет положение. Да по этому дампу даже на глаз видно - сколько пар полюсов у мотора. Неравномерность достаточная и повторяемая. И какие я бы моторы не смотрел - везде неравномерность была чётко видна. И повторялась от мех.оборота к мех.обороту. 32 минуты назад, варп сказал: Мне кажется, что в данном случае главный минус в том, что принципиально невозможно узнать точное положение ротора (механического угла) при старте устройства и без поворота ротора... Ротор, после отключения питания электроники мог оказаться в любом положении после любого механического воздействия на него... Если коротко - " пока не повернёшь - не узнаешь". Видимо не везде это приемлемо. Но это - просто мысли вслух... Это да - чтобы узнать, надо провернуть хоть немного. Но например если применение - улучшение качества управления, за счёт увеличения точности определения угла - этого вполне достаточно. Как видно по дампу - разброс значений д.Холла от самого минимального до максимального - составляет более 35%! Из-за этого точность векторного управления сильно страдает. А применив корректировку по такой таблице, можно существенно повысить КПД привода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 208 Вторник в 18:10 Опубликовано Вторник в 18:10 · Жалоба 1 час назад, amaora сказал: если только не работать с двигателями специальной конструкции, где неравномерность магнитной системы Холлов будет выполнена намеренно и стабильно Вот кстати - у меня даже возникает мысль: А не закладывают ли производители моторов специально неравномерность в сигналы д.Холла, из расчёта, что в инверторе есть подобный алгоритм (как у меня)? И тогда уже никакая неравномерность не страшна, а даже наоборот - полезна. Почему у меня и возникла мысль о том - не описан ли где-то уже такой метод калибровки? Потому как дамп этот снят с довольно качественного и дорогого мотора. А такой разброс..... Как будто его специально внесли... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 22 Вторник в 18:39 Опубликовано Вторник в 18:39 · Жалоба Это же надо магниты неравномерно клеить? Датчики Холла рядом с обмотками на статоре? Или отдельная магнитная система для датчиков? 1) Когда датчики в обмотках, надо ещё анализировать как это будет работать на максимальном токе, паттерн может поменяться; 2) Стабильность на разной температуре и от старения; 3) Если магниты неравномерно расположены, то не будет ли видно эту нерегулярность по токам и напряжениям? А если добавить неравномерность количества витков на разных зубцах статора? 😁 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 208 Вторник в 19:19 Опубликовано Вторник в 19:19 · Жалоба 44 минуты назад, amaora сказал: Это же надо магниты неравномерно клеить? Датчики Холла рядом с обмотками на статоре? Или отдельная магнитная система для датчиков? Магниты на глаз - наклеены идеально. Явно на станке. И сами - идеально одинаковые. А вот обмотки - намотаны по всякому, внавал. Все разные. Датчики Холла находятся возле обмоток - сбоку от них. Работают видимо или от магн.поля магнитов или от поля обмотка-магнит. Я думаю - даже при идеальных внешне магнитах, во-первых: они могут быть намагничены немного по-разному; во-вторых - при таких разных обмотках, будет разница в окружающем магнитном поле системы обмотка-магнит и влияние этого поля на д.Холла. Отсюда думаю и разница в моментах срабатывания. 44 минуты назад, amaora сказал: 1) Когда датчики в обмотках, надо ещё анализировать как это будет работать на максимальном токе, паттерн может поменяться; Не совсем в обмотках - сбоку. Но прям рядом, впритык к обмоткам. 44 минуты назад, amaora сказал: 2) Стабильность на разной температуре и от старения; 3) Если магниты неравномерно расположены, то не будет ли видно эту нерегулярность по токам и напряжениям? А если добавить неравномерность количества витков на разных зубцах статора? 😁 Магниты на глаз - прям идеально одинаковые и наклеены идеально равномерно. Количество витков думаю - не может быть неравномерным, должно быть одинаковым. А вот намотка - сильно корявая. Такое ощущение, что магниты клеил хорошо смазанный робот, а обмотки мотал пьяный китаец. PS: Смотрю не тот же самый мотор (который померян), а аналогичный разобранный, того же производителя, такого же типоразмера, чуть другая модель. Но внешне - очень похожие. Думаю и внутри конструкция одинакова. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 5 Среда в 08:03 Опубликовано Среда в 08:03 · Жалоба 18 hours ago, jcxz said: Возможно. И оно реализовано и работает. Замечательно доказал. Теперь верю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 153 Среда в 18:11 Опубликовано Среда в 18:11 · Жалоба В 25.06.2024 в 13:12, jcxz сказал: PPS: Да - речь об абсолютном механическом угле. А не относительном. Т.е. - таком, который неизменен от одного запуска двигателя к другому. Был у меня проект один - серводвигатель. В моторе датчиков не было, но они и не помогли бы. Из-за большого коэффициента передачи редуктора и малого рабочего диапазона вращения выходного вала (примерно 0...15 градусов) установил абсолютные магнитные энкодеры как на вал двигателя, так и на выходной вал. Поэтому при включении в любом положении знал это самое положение. Датчики от ams OSRAM, 14-битные. Я понимаю, что речь о датчиках холла, встроенных в двигатель. Но, ИМХО, стоит ли оно того? Ведь, насколько я понимаю, Вы должны калибровать каждый двигатель. Ну а дальше - тепло/холод, механическое расширение магнитов, как следствие - небольшое изменение геометрии = небольшие изменения измерений. Вибрации - туда же. Ремонт в виде замены двигателя без процедуры шаманства с неким программным обеспечением - наверное невозможен и т.д. Поэтому, ИМХО, не особо распространено, тем более, когда есть альтернативы в виде внешних прецизионных датчиков угла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 22 Среда в 21:23 Опубликовано Среда в 21:23 · Жалоба On 6/25/2024 at 10:19 PM, jcxz said: Магниты на глаз - прям идеально одинаковые и наклеены идеально равномерно. Количество витков думаю - не может быть неравномерным, должно быть одинаковым. А вот намотка - сильно корявая. Может быть ещё, что вращение не равномерное. Увеличить момент инерции не пробовали? Вращать внешним независимым приводом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 208 Четверг в 21:17 Опубликовано Четверг в 21:17 · Жалоба В 26.06.2024 в 21:11, Arlleex сказал: Я понимаю, что речь о датчиках холла, встроенных в двигатель. Но, ИМХО, стоит ли оно того? Ведь, насколько я понимаю, Вы должны калибровать каждый двигатель. Ну а дальше - тепло/холод, механическое расширение магнитов, как следствие - небольшое изменение геометрии = небольшие изменения измерений. Да - речь именно о д.Холла. Что существуют другие типы датчиков углового положения - я знаю и использую их. А насчёт тепла/холода и т.п. - думаете ваши магнитные энкодеры к ним не чувствительны? Если уж ожидаете, что перепады температур настолько велики, что влияют на внутренние д.Холла, так они точно так же будут влиять и на внешние датчики углового положения. И кстати (насколько мне известно) - аналоговые д.Холла (которые скорее всего стоят в ваших магнитных энкодерах) - они как раз очень чувствительны к изменению температуры. Если только в них не встроена какая-то компенсация. И как выше уже писал - разброс значений длительностей от минимума до максимума, который я наблюдаю на своём моторе - превышает 35% (даже доходил до 40%!). Чтобы причиной такого разброса была температура, мой привод должен телепортироваться с Плутона на Венеру и обратно. Вибрация тоже отсутствует - двигатель надёжно закреплён, а на роторе нет никакого дополнительного веса - соответственно нет эксцентриситета и болтанки из-за него. И двигатель новый - не разболтан, не изношен. К тому-же Вы пишете: "поставили 2 энкодера на один двигатель". У меня в устройстве всего 5 моторов. Т.е. - довольно много нужно датчиков. И моторы эти кстати - без валов. У них ротор (который вращается) - внешний корпус. Там не так просто закрепить датчик углового положения. Хотя это конечно вообще не относится к теме. У нас планируются исполнения как с внешними датчиками углового положения (только синус-косинусными) так и со встроенными д.Холла (более дешёвый вариант). Вот для 2-го варианта и хочется улучшить качество работы. В 26.06.2024 в 21:11, Arlleex сказал: Ремонт в виде замены двигателя без процедуры шаманства с неким программным обеспечением - наверное невозможен и т.д. При замене двигателя, скорей всего всё равно нужна будет настройка параметров (под новый двигатель). А калибровку у меня выполняет прошивка самого инвертора. Нужно только обеспечить холостой ход (отсутствие нагрузки на роторе) и дать команду калибровки. И подождать несколько секунд. Да и без этой калибровки он тоже будет работать. Просто КПД будет немного ниже и шум больше. 23 часа назад, amaora сказал: Может быть ещё, что вращение не равномерное. Увеличить момент инерции не пробовали? Вращать внешним независимым приводом? Пока нормального стенда нет - мотор просто закреплён на столе, без возможности дать равномерную нагрузку на ротор. Когда стенд будет - попробую. Но даже сейчас я для тестового вращения устанавливаю минимальный уровень ШИМ-а, при котором ротор ещё вращается без пропусков эл.оборотов. А так как скорость вращения довольно высока (частота вращения поля = 40 Гц; соответственно механическая частота вращения = 40/14 = почти 3 об/сек) при предельно низком поле, то инерция даже пустого ротора должна более-менее сглаживать толчки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться