Как определить, когда остановился шаговый двигатель?

12

Как я могу определить, когда остановился шаговый двигатель?

Поиск в Google привел меня к некоторым людям, которые говорят, что, когда шаговый двигатель глохнет, ток резко возрастает, что легко обнаружить с помощью датчика Холла. (Или, я полагаю, с помощью любого из других датчиков тока, упомянутых в разделе «Как я могу определить ток двигателя?» ).

Однако я измерил ток через (один из 4-х проводов) моего шагового двигателя, и он всегда находится в пределах нескольких процентов от 0,5 A, независимо от того, удерживает ли мой шаговый драйвер одну позицию, перемещая ее нормально (что в моем приложении очень медленно ), или водитель шагового двигателя думает, что он говорит, что шаговый двигатель движется нормально, но двигатель не соответствует жесткому пределу. Измерение тока в источнике питания + 12 В, поступающего на драйвер шагового двигателя, также, по-видимому, давало довольно постоянный ток. Это может быть из-за того, что я уменьшил ограничение тока до этой величины на своем «шаговом» приводе шагового двигателя.

Я упускаю некоторые ключевые детали в подходе «измерить текущий»?

Поиск в Google привел меня к другим людям, которые измеряли обратную ЭДС (BEMF) в одной катушке шагового двигателя, в то время как драйвер шагового двигателя управляет только другой катушкой. Но это, кажется, только различает «двигатель двигается быстро» и «двигатель остановился», и, похоже, не различает мой случай «двигатель двигается медленно» и «двигатель остановился».

Есть ли способ применить BEMF-подход даже в системе, где я всегда медленно провожу шаговый двигатель и никогда не вращаю его быстро?

В настоящее время я использую плату с шаговым драйвером с микросхемой TI DRV8825, и я надеялась, что вывод «неисправности» сообщит мне, когда шаговый двигатель остановился против моего жесткого останова. Но, похоже, он ничего не делает - это должно сказать мне о киоске, но я просто неправильно его подключил?

Есть ли какая-то другая техника чипа или привода, которая определяет, когда шаговый двигатель остановился против жесткого упора?

Есть ли какой-то другой метод обнаружения жесткого срыва, который я могу «добавить» в систему с помощью готового драйвера шагового двигателя?

(Есть какой-нибудь другой сайт StackExchange, который больше подходит для вопросов о двигателях и драйверах?)

Дэвид Кэри
источник
Связанный: robotics.stackexchange.com/questions/865/…
Анонимный Пингвин
измерение тока через шунтирующий резистор, подаваемый на операционный усилитель на простой ПИД-регулятор, чтобы АЦП мог работать ...
А? Как это помогает мне определить момент остановки шагового двигателя? Как я упоминал в первоначальном вопросе: «Я измерил ток ... и он всегда находится в пределах нескольких процентов от 0,5 А, независимо от того, движется ли мой шаговый драйвер ... как обычно (что в моем приложении очень медленно), или водитель степпера думает, что он говорит, что степпер движется нормально, но двигатель не соответствует жесткому пределу ».
Дэвид Кэри
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любой пост .
Шахбаз
меня тоже обыскали Я думаю, что наилучший возможный способ использования датчика обратной связи, сравнивая угол шага и число шага с входным импульсом

Ответы:

6

Одним из вариантов является драйвер шагового двигателя, в котором используется система блокировки без датчика, например, STMicroelectronics L6470 dSPIN: Полностью интегрированный драйвер микрошагового двигателя с двигателем движения и SPI .

После калибровки он может обнаружить состояние остановки и поднять штифт FLAG высоко, чтобы предупредить UC о проблеме.

Марк Бут
источник
3
Добро пожаловать в робототехнику kurtnelle, и спасибо за ваш ответ. Я отредактировал его, чтобы предоставить немного больше контекста и предоставить достаточно информации по ссылке, чтобы люди могли найти информацию в другом месте, если ссылка гниет .
Марк Бут
Я обнаружил, что детектор L6470 очень сложно откалибровать. Мой процесс состоял в том, чтобы найти минимальные квалы, необходимые для надежной, нормальной работы (игнорируя порог сваливания). Затем я поднимаю порог задержки до тех пор, пока он не перестанет сообщать об ошибках блокировки. Тогда я увеличу это немного больше для запаса. Но много раз, это все еще не обнаруживает условие остановки ... у вас есть какие-либо предложения?
Дейв
4

Я обнаружил, что БПФ текущей формы волны шагового двигателя часто показывает гармоники собственной частоты системы двигатель + драйвер И что во время остановки появляются дополнительные гармоники частоты !!! все, что вам нужно, это быстрая двунаправленная ИС преобразования тока в напряжение и узкополосный фильтр, чтобы определить наличие дополнительных гармоник.

Макс Виттер
источник
2

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

Вы могли бы с легкостью обнаружить остановку, если бы добавили энкодер или использовали шаговый двигатель, который уже имел его.

Почему вы хотите обнаружить срыв шагового двигателя? В отличие от почищенного щеткой двигателя постоянного тока, остановка шагового двигателя, как правило, неплоха для него. Можете ли вы достичь той же цели с помощью концевого выключателя?

ryantm
источник
2
Обнаружение срыва важно для обнаружения пропущенных шагов, особенно в фрезеровке с ЧПУ, где допуски на детали являются критическими.
Старый пост, но обнаружение остановок также важно, если вы едете по одной оси (например, на станке с ЧПУ) с двумя двигателями. В противном случае вы хороший квадратный, тщательно обработанный и, без сомнения, дорогой портал, может разорваться в клочья.
3Dave
2

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

Обратите внимание, что на некоторых станках с ЧПУ необязательно обнаруживать пропущенные шаги; оператор должен не запрограммировать траекторию инструмента, которая слишком сложна для шпинделя и инструмента, и услышать проблему, когда это произойдет. Вместо этого эти ЧПУ просто используют концевые концевые выключатели, чтобы найти абсолютную точку отсчета, а затем работают полностью, предполагая, что шаги предприняты.

Кодеры могут также позволить вам поэкспериментировать с другими функциями, такими как использование вспомогательного двигателя постоянного тока для незанятых ходов для действительно быстрых порогов :-)

Джон Ватт
источник
2

Вам нужно дать количественную оценку: «Я измерил ток через (один из 4 проводов) моего шагового двигателя, и он всегда в пределах нескольких процентов от 0,5 А». «Несколько процентов» - это все, что вам нужно, чтобы обнаружить небольшой дополнительный ток во время задержки (если есть дополнительный ток, как я бы предположил, но должен был бы доказать), который можно определить и сравнить с нормальным током ступени. В некоторых случаях 40 мкА является основным, а в некоторых случаях 4 мА является основным отличием. Без параметров измерения от вас невозможно реально посоветовать.

Итак, что же является текущим для шага по сравнению с остановкой, и является ли разница последовательной? Я бы тоже измерил все провода ... Вы используете однополярный, правильно? Я использовал степперы, но никогда не пытался измерить ток, так как используемые степперы соответствовали требованиям нагрузки и никогда не останавливались. Итак, один быстрый ответ - просто получить больший степпер.

Wolly
источник