Отследить вмешательство в работу ШД
- Войдите на сайт для отправки комментариев
Втр, 16/06/2020 - 11:22
Камрады, подскажите оптимальный способ отслеживания вмешательства человека в работу шаговика. Допустим есть шаговик (даже с энкодером) который вращается 10 об/мин, человек начал ему помогать рукой и обороты повысились, например, до 15 об/мин, как отследить? По току получиться на таких малых величинах? Или как-то считать по энкодеру скорость изменения положения? Одним словом, идея остановить управление двигателем, если его хочет крутить человек рукой.
По току получиться на таких малых величинах?
На каких таких? А вообще по энкодеру, конечно.
На каких таких?
Пока не известно. Но не думаю что там сильно увеличится ток, если буквально чуть-чуть помочь ему вращаться быстрее.
А вообще по энкодеру, конечно.
Тогда получается надо отказываться от ускорения/замедления, т.к. невозможно будет отследить. Спасибо.
Тогда получается надо отказываться от ускорения/замедления, т.к. невозможно будет отследить. Спасибо.
почему? - не понял логики...
Энкодер вам даст количество шагов за какой-то период, из которых легко вычисляется и скорость и ускорение...
С чего бы невозможно-то. Даже если ты не сам генерируешь шаги - не проблема их посчитать.
почему? - не понял логики...
Энкодер вам даст количество шагов за какой-то период, из которых легко вычисляется и скорость и ускорение...
Потому что в интервале ускорения человек тоже может вмешаться и начать ускорять со скоростью программного ускорения, т.е. будет одинаковый интервал.
"Ускорять со скоростью программного ускорения" - не делать ничего, другими словами.
"Ускорять со скоростью программного ускорения" - не делать ничего, другими словами.
Именно, но знать что это делает человек, а не программа надо на 100%, потому пока ускорение не рассматриваем, хрен с ним. Будем пробовать по энкодеру отслеживать, спасибо.
Нужно точно знать что человек не делает ничего - ок. Тогда действительно невозможно. Ни с ускорением, ни с энкодером - никак.
Именно, но знать что это делает человек, а не программа надо на 100%
а как это? - человек оторвал провода от привода и крутит его сам вместо мотора? другого варианта, как можно "ускорять со скоростью программы" во время работы самой программы - что-то мне не приходит в голову.
Чисто философски - если вмешательство дает то же ускорение, какое было бы и без него - значит вмешательства нет.
Александр, может вы как-то четче задачу обозначите?
Нужно точно знать что человек не делает ничего - ок. Тогда действительно невозможно. Ни с ускорением, ни с энкодером - никак.
Ну в принципе верно. Вот например, есть заслонка, которая открывается/закрывается как автоматически, так и человеком, и надо отследить что человек хочет открыть/закрыть руками (пофиг ваще как и с каким ускорением) и отключить автоматику навсегда )). И если заслонка в автомате будет ускоряться от 0 до 30 градусов, например, от 0 до 50 об/мин за две сек, то и человек может ее также ускорять и уже не будет видно кто это делает, автоматика или человек, что недопустимо. Потому от ускорения отказываемся.
то философски - если вмешательство дает то же ускорение, какое было бы и без него - значит вмешательства нет.
Именно. Но оно есть и это надо знать. )
И если заслонка в автомате будет ускоряться от 0 до 30 градусов, например, от 0 до 50 об/мин за две сек, то и человек может ее также ускорять и уже не будет видно кто это делает, автоматика или человек, что недопустимо. Потому от ускорения отказываемся.
по-моему,кроме сигнала энкодера надо отслеживать управляющие сигналы автоматики - и тогда задача решаема. Смотрим на энкодер - если заслонка открывается. а сигналов автоматики на открытие не было - значит это делает человек.
И если заслонка в автомате будет ускоряться от 0 до 30 градусов, например, от 0 до 50 об/мин за две сек, то и человек может ее также ускорять
Тогда она будет ускоряться от 0 до 100 за 2 секунды, если человек так же ускоряет. Ускорение складывается.
по-моему,кроме сигнала энкодера надо отслеживать управляющие сигналы автоматики - и тогда задача решаема. Смотрим на энкодер - если заслонка открывается. а сигналов автоматики на открытие не было - значит это делает человек.
Ну это само собой, и даже наоборот, когда управление есть а сигнала с энкодера нет, то это тоже человек не дает двигать и тоже выключаем.
А зачем так сложно ?
Шаговый двигатель , он сам себе "энкодер", т.е. если его крутить рукой, то на обмотках будут импульсы.
Вот и стоит наверное проверять наличие этих импульсов , вне момента шага.
Та не, энкодер есть полюбому, причем абсолютный, т.е. мы знаем точный угол после подачи питания, если в его отсутствие было перемещение. Короче энкодер это не сложно.
Отследить "лишние шаги" ещё проще
Уже 17 сообщений, а еще не прозвучало слово "видеокамера". Для отслеживания вмешательства человека - самое оно. Даже если он делает то же самое, что и автоматика.
Уже 17 сообщений, а еще не прозвучало слово "видеокамера". Для отслеживания вмешательства человека - самое оно. Даже если он делает то же самое, что и автоматика.
Самолет видел? Рычаги управления двигателями (РУД). Они в автопилоте управляются автоматикой, как только человек пересилил значения автоматики - автопилот вырубается (ну не сам автопилот, а управление тягой) . На древних самолетах в набалдажничках рычагов стояли концевики, теперь же программно отслеживается что дальше тягой будет управлять человек и автоматика вырубается. Со штурвалом такая-же херня, в автопилоте его двигает автоматика, но если возьмет штурвал в руки человек, то тоже автоматика вырубается.