Jump to content

    
alxkon

Правильное управление коллекторным двигателем постоянного тока

Recommended Posts

4 minutes ago, jcxz said:

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

Можно еще и учесть насколько равномерно они там приклеили магниты и насколько размеры магнитов идентичны друг другу.

Я писал в расчете на общий случай.

Share this post


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

Можно еще и учесть насколько равномерно они там приклеили магниты и насколько размеры магнитов идентичны друг другу.

Я писал в расчете на общий случай.

Тут частный случай. Если бы было много магнитов, то зачем два датчика  Холла? И угол между ними как бы намекает...

Share this post


Link to post
Share on other sites
Just now, Tanya said:

Тут частный случай. Если бы было много магнитов, то зачем два датчика  Холла? И угол между ними как бы намекает...

Для квадратурности.

Share this post


Link to post
Share on other sites
23 minutes ago, Tanya said:

Почему же?

Ваш вариант ?

Только аргументированный и без наездов.

23 minutes ago, Tanya said:

И сколько магнитов тогда?

Магнитов столько же. Второй датчик Холла смещен относительно первого на 90 электрических градусов. Что дает возможность детектировать направление вращения, а заодно и повышает разрешение без увеличения количества магнитов.

Предположим направление вращения детектировать не надо. Ставим один датчик и 7 магнитов. Работаем по обоим фронтам. Получаем 14 отсчетов на оборот.

Теперь хотим увеличить разрешение в два раза. Что будет выгоднее поставить еще 7 магнитов или поставить второй датчик Холла, смещенный относительно первого на 90 электрических градусов ?

А заодно, установленный таким образом, второй датчик дает информацию о направлении вращения.

 

Share this post


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

Можно еще и учесть насколько равномерно они там приклеили магниты и насколько размеры магнитов идентичны друг другу.

+ ещё учесть дрейф 0 компараторов, которые преобразуют аналоговый сигнал д.Холла в цифровой. И вообще - весь дрейф 0 схемы формирования сигналов д.Холла. А то поплывёт оно всё в температуре. А температура там ох как сильно меняться будет на работающем моторе!  :wacko::sarcastic:

Но если хочется приключений на ровном месте - то пожалуйста.  :unknw:

 

Проходили уже это, знаем....

29 минут назад, dimka76 сказал:

Теперь хотим увеличить разрешение в два раза.

Если "хотим увеличить разрешение", то просто ставим другой датчик углового положения. Например: ресольвер или синус-косинусный датчик или абсолютный энкодер. И получаем увеличение не в 2 раза, а многократно больше.

Share this post


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

+ ещё учесть дрейф 0 компараторов, которые преобразуют аналоговый сигнал д.Холла в цифровой. И вообще - весь дрейф 0 схемы формирования сигналов д.Холла. А то поплывёт оно всё в температуре. А температура там ох как сильно меняться будет на работающем моторе!  :wacko::sarcastic:

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

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

Share this post


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

Ваш вариант ?

 Ставим один датчик и 7 магнитов. Работаем по обоим фронтам. Получаем 14 отсчетов на оборот.

Теперь хотим увеличить разрешение в два раза. Что будет выгоднее поставить еще 7 магнитов или поставить второй датчик Холла, смещенный относительно первого на 90 электрических градусов ?

А заодно, установленный таким образом, второй датчик дает информацию о направлении вращения.

 

Посмотрите на фото. Сколько магнитов там можно приклеить? Редуктор на 1000. Люфт механики, пересчитаем.

Share this post


Link to post
Share on other sites
9 часов назад, jcxz сказал:

+ ещё учесть дрейф 0 компараторов, которые преобразуют аналоговый сигнал д.Холла в цифровой. И вообще - весь дрейф 0 схемы формирования сигналов д.Холла. А то поплывёт оно всё в температуре. А температура там ох как сильно меняться будет на работающем моторе!  :wacko::sarcastic:

Но если хочется приключений на ровном месте - то пожалуйста.  :unknw:

 

Проходили уже это, знаем....

Если "хотим увеличить разрешение", то просто ставим другой датчик углового положения. Например: ресольвер или синус-косинусный датчик или абсолютный энкодер. И получаем увеличение не в 2 раза, а многократно больше.

 

9 часов назад, dimka76 сказал:

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

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

Или нормальный энкодер и неколхозно-китайский двигатель с другим типом механики типа зубчатой планки  или небольшой шаговый двигатель с резьбовым валом. Тогда можно бы выбросить это колесо и пружину. История банальна - один ардуинщик спелся (или спился) с механиком вместе родили устройство - устаревший 5 вольтовый процессор которого теперь днем с огнём, level-shifters к остальной 3.3в логике, китайский двигатель сомнительного исполнения. Зато дёшево.  Изваял плату и программу прямо в Arduino IDE, так он и в .ino и осталось. Попробовали работает но не так как хотелось - добавили пружину. Улучшилось. Еще один умный человек на радости заказал тучу механических частей и гору моторчиков. А по факту как минимум 20% процентов этих мотров мусор - энкодеры не работают, на шестернях заусеницы, и пр. Но дёшево.

Управление на новой плате нужно уложить в ПЛИС, она там всёравно будет.  Можно будет использовать часть этого добра и параллельно подобрать энкодер и двигатель и запилить новую механику.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

На ПЛИС это точно работать не будет- точные системы позиционирования всегда аналоговые. Поэтому  STM32 вполне справится - квадратурный энкодер аппаратный, таймер с H - мостом на управление моторчиком, АЦП один канал на датчик тока мотора ( механический момент) и ЦАП и 2 канала АЦП на квадратурный датчик  LVDT. Про лазерный интерферометр в обратной связи не будем- это для субмикронной точности. Если диапазон перемещений большой ( более 5-10мм)-  то LVDT не справится. Прийдется лепить индуктосин самому, т.к купить готовые сейчас не реально. Емкостные линейки тоже можно применить, но у них рабочие частоты выше, STM32 не справится, надо будет делать внешний квадратурный фазовый детектор, что усложнит схему.

Share this post


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

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

На ПЛИС это точно работать не будет- точные системы позиционирования всегда аналоговые. Поэтому  STM32 вполне справится - квадратурный энкодер аппаратный, таймер с H - мостом на управление моторчиком, АЦП один канал на датчик тока мотора ( механический момент) и ЦАП и 2 канала АЦП на квадратурный датчик  LVDT. Про лазерный интерферометр в обратной связи не будем- это для субмикронной точности. Если диапазон перемещений большой ( более 5-10мм)-  то LVDT не справится. Прийдется лепить индуктосин самому, т.к купить готовые сейчас не реально. Емкостные линейки тоже можно применить, но у них рабочие частоты выше, STM32 не справится, надо будет делать внешний квадратурный фазовый детектор, что усложнит схему.

Какая точность 2 микрона? Если нулевыми точками отсчета перемещения являются "конечники"?

 

Share this post


Link to post
Share on other sites
13 minutes ago, wla said:

Какая точность 2 микрона? Если нулевыми точками отсчета перемещения являются "конечники"?

Вот эти
 

On 1/26/2022 at 9:57 PM, alxkon said:

Желаемая точность позиционирования 2 микрона. 

Тут только внешний датчик. И то с этим редуктором будет куча проблем. Конечники могут быть и оптические, не щелевые а сс микроскопическим объективом или например из лазерного CD pick-up переделанные- вполне микрон ловят.

 

Share this post


Link to post
Share on other sites
6 часов назад, khach сказал:

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

На ПЛИС это точно работать не будет- точные системы позиционирования всегда аналоговые. Поэтому  STM32 вполне справится - квадратурный энкодер аппаратный, таймер с H - мостом на управление моторчиком, АЦП один канал на датчик тока мотора ( механический момент) и ЦАП и 2 канала АЦП на квадратурный датчик  LVDT. Про лазерный интерферометр в обратной связи не будем- это для субмикронной точности. Если диапазон перемещений большой ( более 5-10мм)-  то LVDT не справится. Прийдется лепить индуктосин самому, т.к купить готовые сейчас не реально. Емкостные линейки тоже можно применить, но у них рабочие частоты выше, STM32 не справится, надо будет делать внешний квадратурный фазовый детектор, что усложнит схему.

Спасибо за подсказки, изучаю LVDT и емкостные датчики.

 

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.