Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Энкодер и алгоритм

  1. #1

    По умолчанию Энкодер и алгоритм

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

    Мой тупик, это калибровка осей.
    Алгоритм достаточно простой, но при этом я в полной прострации.
    Это должно работать так.
    Ось движется в определенном направлении.
    Энкодер дает неизвестное кол-во импульсов на оборот, при этом в энкодере есть выход Z срабатывающий на полный оборот винта. Оборотов много.
    1. Нужно вычислить кол-во импульсов на оборот и запомнить это значение. пусть будет (Х). (Энкодеров несколько, они с разным кол-м импульсов, но принцип работы одинаков, хочу написать FB)
    2. Каждый раз при срабатывании входа (Z) счетчик импульсов со входа (А) обнуляется.
    Есть концевой выключатель, при срабатывании которого и начинается процесс калибровки.
    2. После сработки концевика нужно вычислить сколько импульсов осталось выдать энкодеру на выходе (А) до завершения полного оборота. От (Х) отнимем текущее показание счетчика и получим остаток импульсов (Y) до полного оборота и нулевого положения.
    3. отнимаем от (Y)-(T), где Т- кол-во импульсов для компенсации инерции двигателя. При достижении счетчиком значения (Y-T) останавливаем двигатель и ось долетает до нужного нам нуля по инерции. (в симуляторе T будет =0).



    Привод.
    Асинхронник 1230 об/мин с тормозом и редуктор 1/40. Энкодер на винте после редуктора.

    Буду благодарен за помощь.

    Фото станочка.
    1_217_5301754850_IMG_20170530_105236.jpg
    Последний раз редактировалось Deanisii; 26.03.2019 в 01:17.

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,246

    По умолчанию

    На ПЛК Овен вы этого не сделаете, т.к. нет прерываний и в цикле обработать позиционирование не получится.
    Для прерываний по таймеру 20 мкс не получится, т.к. можно выполнять в подпрограмме только простые функции.
    Возьмите для этого ПЛК с поддержкой позиционирования по осям.
    Или лучше программу для управления и ПК.
    к примеру тут
    https://purelogic.ru/
    https://darxton.ru/

  3. #3

    По умолчанию

    Если есть ПЛК110-М02-К, то на нём это без проблем делается. Лучшим ПЛК для движения он, явно, не является, но "посчитать количество импульсов на оборот" и "вовремя выдать команду на останов" -- вообще не проблема.
    Hardella и PRU -- будет вам управление быстрыми входами/выходами. Но их, конечно, немного.

  4. #4

    По умолчанию

    Спасибо за проявленный интерес.

    Оборудование выбрал следующее.
    Головное СПК107
    Модуль ввода МВ210-202 они имеет быстрые входы для трех энкодеров. Столько из у меня на станке.
    Модули вывода МУ210 2 штуки.

    Винты с энкодерами вращаются макс 0,5об/сек. Энкодер дает 400 импульсов на оборот. В общем все очень медленно. Мне кажется задача выполнима для СПК Овен.

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



    Позиционирование я написал, все работает.

    Траблы именно с калибровкой.

    Могу выложить файл проекта (только не ругать сильно, помним, я не программист) если кому охота глянуть.

  5. #5
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,246

    По умолчанию

    я вам писал, что не будет работать.
    Связь обрабатывается только в цикле.
    Владимир Вам написал, что только при прямом подключении ко входам ПЛК и при использовании стороннего (его) ПО.
    При этом как вы будете модель вводить?
    Проще через автокад в джикодах или вы хотите пальцем программы набирать.

  6. #6

    По умолчанию

    Я видимо не очень понятно объяснил суть вопроса.
    Мне не нужно в станке ни каких моделей. Задача одно. поставить ось на нужную высоту и стоять там неподвижно. Все. Во время цикла ось никуда не движется, энкодеры не крутятся, только каретка с деталью проезжает от одного концевика до другого и возвращается обратно. Затем каретка стоит на месте, ось меняет позицию, останавливается и каретка опять отрабатывает по концевикам. Все очень просто. У меня проблема только с колибровкой оси и все. Все остальное я написал и оно работает.

  7. #7

    По умолчанию

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

    Про первые две можно почитать в теме https://www.owen.ru/forum/showthread.php?t=21940
    Про последнюю -- в руководстве на модуль (~15мс для простых, небыстрых выходов)

    Пальцем в небо -- у вас будет разброс ~20-50мс. Иными словами, если вы будете повторять одну и ту же калибровку, то в зависимости от фазы луны выход будет выключаться то раньше, то позже.

    0.05сек * 0.5об/сек == 0.03 об == 9 градусов. По сути, это минимально достижимый разброс вала, с учётом того, что механика отрабатывает каждый раз одинаково.

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

  8. #8

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    ...
    Про последнюю -- в руководстве на модуль (~15мс для простых, небыстрых выходов).....
    По ссылке почитаю.
    На модуле ввода что я выбрал обмен с спк идет по изернету и на бору модуля быстрые входы для трех энкодеров. Неужели не будет работать? Если так, то это более чем странно.

    Тем временем у меня получилось написать некий алгоритм калибровки.
    В эмуляции все работает как нужно. Прикрутить поправку на инерцию уже не сложно.

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

  9. #9

    По умолчанию

    Поеду завтра за СПК и остальным борахлишком.
    Кстати, у СПК время цикла ещё больше гулять будет, чем у ПЛК.

    На модуле ввода что я выбрал обмен с спк идет по изернету и на бору модуля быстрые входы для трех энкодеров
    А выходы где? Или выходы на самом СПК?

    Прикрутить поправку на инерцию уже не сложно.
    Тут вопрос не только в поправке на инерцию, но и в том, что есть *случайная* составляющая. И её вы просто так не сможете компенсировать.

  10. #10

    По умолчанию

    Конечно случайность есть.
    Сейчас на станке это реализовано и работает. Точность позиционирования 0,1мм, если в градусах поворота винта то это 1,8 градуса.
    Повторяемость 100%.
    Калибровка осей работает по концевику и останавливается в нулях в 100 из 100 повторений. Контроллеру 18 лет. На платах выходов омроновские релюшки, дальше реле симменс и затем пускатель симменс. Цепочка механических связей от компьютера до двигателя оси содержит минимум 3 звена с механическим приводом контактов. При этом все работает.
    Как они это смогли реализовать?
    Как мне видится это можно сделать только подсчетом импульсом и внесение програмных коррекций на стоп оси. По моему все.
    Там нет больше ни каких механизмов контроля позиционирования. Только энкодер и мотор с тормозом.
    Может есть другие способы получить нужный результат?

    ps
    Частотников тоже нет.
    Последний раз редактировалось Deanisii; 26.03.2019 в 23:01.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Как реализовать алгоритм
    от Shodi в разделе Среда программирования OWEN Logic
    Ответов: 9
    Последнее сообщение: 24.10.2018, 12:46
  2. Нужен алгоритм на ПЛК 150.
    от ouakari в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 14.09.2012, 13:33
  3. САУ-МП алгоритм 20
    от незарегистрированный в разделе Подбор Оборудования
    Ответов: 15
    Последнее сообщение: 15.12.2008, 17:56
  4. САУ-МП изменть алгоритм
    от Serg_ в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 14.12.2008, 05:04
  5. Алгоритм ПВУ
    от Назаров Александр в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 05.06.2008, 21:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •