Контроллер оптических линеек / энкодеров (Step/Dir)

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

NKS писал(а):Блин, Михаил. Только что сломал мне мозг, поправив мой пост Я сидел минуты две и не мог понять, как так получилось что написано гораздо больше, чем я писал
Блин, извини, случается.
У меня кнопки правка и цитата очень похожи и расположены рядом.
А я не обратил внимания, что тега цитирования нет.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

NKS писал(а):Да, мерцание есть причём не при изменении размера окна, а в статике. Когда на полный экран разворачиваешь, мерцания нет.
В любом случае сделаю буфер перерисовки.
Похоже для программирования мой комп плохо подходит.
Для тестов нужно что-то древнее на Win95, без видеокарты, с 256 МБ оперативки и маленьким монохромным экраном. Чтобы все проблемы замечать.
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

Можно вопрос по допустимой величине рассогласования с линейкой.
По моему разумению должно быть два параметра: один (больший) - при достижении которого выдается сигнал на останов станка, желательно задавать еще время, как промежуток между замером с линейки и выдачей сигнала, как компенсация инерционности обратной связи.
И второй параметр: значение допустимой рассогласованности с линейкой, иначе шаговики будут все время находится в режиме регулирования.
Это здесь реализовано?
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):Это здесь реализовано?
Последние два поля:
Dead Band - диапазон в котором отключается регулирование.
E-Stop Error - величина рассогласования, приводящая к аварийной остановке.
maetr писал(а):желательно задавать еще время, как промежуток между замером с линейки и выдачей сигнала
У меня большие сомнения на этот счет.
Ошибка есть ошибка.
Я вас понял, что речь идет про "ты где там потерялся?" и "совсем потерялся!".
Но не хотелось бы усложнять логику происходящего. Ведь из за такой ерунды придется добавить еще несколько полей к настройкам.
А если делать интеллектуальную настройку этих параметров - то тогда уж стоит вообще сделать интеллектуальную настройку всего в этой программе.
Даже и программа то не нужна будет - Включил. Оно само поездило, настроилось и работай. :hehehe:
Но что-то мне это напоминает тенденции высокоинтеллектуальных систем в современном автомобилестроении.
И я уверен, что не смогу написать алгоритм идеальной автонастройки, учитывающий все внешние параметры.
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

Я бы все-таки не согласился насчет "ерунды". При малом времени даже легкого увязания в материале (а это вполне может быть при черновой обработке при недостаточном моменте на ШВП) хватит ,чтобы блок вывалился в аварийный режим. Что же, отказываться от черновой обработки. При высоких значениях будут недо-за-резы заготовки.
Практика конечно покажет реальную ситуацию, но лучше добавить такой параметр, убрать всегда можно.
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

на всякий случай дам другое определение этого временного параметра: это время, которое нужно, чтобы суппорт успел дойти до заданной позиции.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):При высоких значениях будут недо-за-резы заготовки.
Как допустимая величина рассогласования может повлиять на результат обработки?
maetr писал(а):но лучше добавить такой параметр, убрать всегда можно.
Какой именно?
Скорость затухания интегрированной ошибки?

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


Повторюсь, и объясню, почему я не хочу добавлять этот параметр.
Потому что я не хочу усложнять и перегружать программу настройки.

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

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

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

Для примера - в плате СтепМастера меня очень просили сделать возможность переключения DB25 на напряжение 3.3 В.
Это было не просто реализовать, т.к. переключать нужно и входящие и исходящие сигналы.
А, поскольку вход требуется сделать максимально устойчивым к влиянию помех - нельзя было поставить просто 74 микросхемы на вход, работающие и от 5 и от 3,3 В. Потребовалось сделать переключение уровней входных сигналов.
Реализовать это было не просто. Потребовало больших затрат времени и увеличило цену платы.
Но, никому из нескольких сотен покупателей не понадобилась данная возможность!
Судя по всему целью просьбы было - дать мне полезный совет.

Если вам действительно нужна данная возможность - я специально для вас сделаю отдельный вариант прошивки и программы настройки.
В этом случае и я не пострадаю. И вы сможете получить то, что вам требуется.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):на всякий случай дам другое определение этого временного параметра: это время, которое нужно, чтобы суппорт успел дойти до заданной позиции.
А у вашего станка система управления сразу же задает конечную позицию без учета скорости перемещения и ускорений?
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

michael-yurov писал(а):
maetr писал(а):на всякий случай дам другое определение этого временного параметра: это время, которое нужно, чтобы суппорт успел дойти до заданной позиции.
А у вашего станка система управления сразу же задает конечную позицию без учета скорости перемещения и ускорений?
Да, можно уменьшать время разгонов, искать компромиссы.
Просто я сейчас играюсь с драйвером Ледшайн с обратной связью HBS86H.
Подключил линейку, выставил значение разрешения в драйвере. Все. Обратная связь работает (при перемещении ползунка линейки, драйвер отрабатывает это шаговиком). Но когда подаешь команду на перемещение, драйвер пытается ее отработать, но впадает в ступор. Есть подозрение на влияние этого самого лага между отработкой линейки и поступлением сигнала с линейки на драйвер. Сейчас играюсь с параметрами драйвера, но без нормального описания этих параметров от китайцев это сделать сложно.
michael-yurov писал(а):Как допустимая величина рассогласования может повлиять на результат обработки?
Эту компенсацию временного лага сделать динамической сложно. Это будет постоянной величиной. И фактически она будет определять жесткость обратной связи. При слабой жесткости будут перебеги суппорта.

Делать этот параметр или не делать - это Ваше право. Но в реальной системе этого параметра может как раз и не хватить. А реализовать идею (сброс настроек в дефолтное состояние) как у Ледшайн нельзя?
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):А реализовать идею (сброс настроек в дефолтное состояние) как у Ледшайн нельзя?
Об этом подумаю.
Спасибо.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение Serg »

maetr писал(а):Но когда подаешь команду на перемещение, драйвер пытается ее отработать, но впадает в ступор.
Что значит "впадает в ступор"?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

UAVpilot писал(а):Что значит "впадает в ступор"?..
Пытается отработать команду и при этом поворачивает шаговик на какой-то угол. Но после этого возвращает шаговик в исходное положение и переходит в режим удержания. Правда один раз у меня получилось заставить драйвер работать как надо, но, увы, все потом вернулось на круги своя.

Тут подумал над алгоритмом работы блока обратной связи и получается, что как раз малая компенсация лага приведет к перебегам.
Допустим дали команду на перемещение, а из-за лагов в цепочке блок-драйвер-шаговик-ШВП-суппорт-линейка-блок на последний будет приходить меньшее кол-во импульсов за временной промежуток, чем надо. блок будет думать ,что суппорт не доехал и будет добавлять вдогонку импульсы на драйвер, итого: здравствуй перебег.

Ладно, это все теория, хотелось бы побыстрее пощупать практику. А то сейчас висит вопрос, покупать ли на АЛИ китайские блоки обратной связи или же дождаться Российского продукта.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):А то сейчас висит вопрос, покупать ли на АЛИ китайские блоки обратной связи или же дождаться Российского продукта.
Выпустить тестовую версию в свет смогу ближе к лету.

В общем-то работы по доведению программы и прошивки до завершенного состояния - на неделю. Но нет у меня этой недели.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение michael-yurov »

maetr писал(а):блок будет думать ,что суппорт не доехал и будет добавлять вдогонку импульсы на драйвер, итого: здравствуй перебег.
Никто не говорил, что в китайском гибридном приводе есть вообще отдельный драйвер и импульсы шагов.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение Serg »

В этом драйвере наверняка реализован классический PID по позиции...
Что представляет собой "команда на перемещение"?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение sidor094 »

У себя в приводе так и делал.Только два контура регулирования П по скорости внутри П по позиции.Без И- интегрального коеффициента. В шаговике он ни к чему. Скорость жестко зависит от скорости поворота поля.
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

michael-yurov писал(а):
maetr писал(а):блок будет думать ,что суппорт не доехал и будет добавлять вдогонку импульсы на драйвер, итого: здравствуй перебег.
Никто не говорил, что в китайском гибридном приводе есть вообще отдельный драйвер и импульсы шагов.
В данном случае я пытался влезть в алгоритм Вашего блока. Как работают китайские, я думаю и китайцы особо не понимают. Если вообще не слизали с кого-нибудь.
UAVpilot писал(а):В этом драйвере наверняка реализован классический PID по позиции...
Что представляет собой "команда на перемещение"?
Обычная команда G1 через Mach, выдает медленное вращение шаговика. Играться со скоростями и ускорениями уже пробовал, не помогает.
sidor094 писал(а):У себя в приводе так и делал.Только два контура регулирования П по скорости внутри П по позиции.Без И- интегрального коеффициента. В шаговике он ни к чему. Скорость жестко зависит от скорости поворота поля.
Ох, реальное общение с техникой позволяет сомневаться в отсутствии лага в такой длинной цепочке блок-драйвер-шаговик-ШВП-суппорт-линейка-блок.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение Serg »

maetr писал(а):Обычная команда G1 через Mach, выдает медленное вращение шаговика. Играться со скоростями и ускорениями уже пробовал, не помогает.
Вообще ничего не понятно... Т.е. по G1 оно едет куда надо?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
maetr
Новичок
Сообщения: 12
Зарегистрирован: 02 дек 2016, 13:06
Репутация: 0
Настоящее имя: Artem
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение maetr »

тут не важно куда оно едет ))).
Не надо усложнять. Контроллер выдает PUL/DIR сигналы на драйвер, он их должен отрабатывать медленным вращением шаговика. Другой китайский драйвер без обратной связи их отрабатывает как надо, Ледшайновский начинает капризничать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Блок контроля для оптических линеек (проект)

Сообщение Serg »

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

Вернуться в «Электроника»