Принцип работы системы обратной связи по линейкам в ЧПУ

Общие вопросы станкостроения и организиции труда.
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

День добрый.
Интересно сделать систему обратной связи по линейкам для ЧПУ или начать, чтобы кто-то подхватил (готов со своей стороны помочь в написании кода для контролера, по мере сил). Так сложилось, что у меня уже есть такая система, поэтому интерес у меня скорее академический.

Основная идея, получить блок, который реализует обратную связь по линейкам/энкодерам для контролеров и программой ЧПУ без обратной связи с минимальными фин. затратами, с кодом под GPL. Данная идея возникла случайно, благодаря aftaev и моему, замечу не скромному оптимизму :D, что это можно сделать.

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

Отбросим такие мелочи, как контролер, библиотеки, код и т.д. Интересна сама суть процесса, вот как она мне видеться:
1. Между контролером ЧПУ и драйвером шагового двигателя ставится блок управления, который вносит корректировку в движение по каждой оси.
2. От контролера заводим в блок управления STEP\DIR\ENABLE, из блока управления пробрасываем STEP\DIR\ENABLE.
3. К блоку подключаем 3 линейки.

Контролер генерирует импульсы STEP\DIR которые передает в блок управления. Блок управления пробрасывает каждый импульс на драйвер шагового двигателя, после каждого импульса проверяет положение линейки, добавляет импульсы (возможно через ПИД, пока не понимаю, как его прикрутить).

Немного подробнее, импульсы от контролера идут с частотой в зависимости от скорости перемещения. Когда мы отправляем G0 X100, то Mach3 берет данные по максимальной скорости оборотов для G0. К примеру 1000 оборотов, ШВП пусть будет с шагом 5мм, получаем 5 метров в минуту и около 84мм в секуду. В одном миллиметре пусть будет 320 шагов (1/16 микрошаг), получается в секунду при такой скорости нужно сформировать 26880 импульсов, пока грубо округлим до 27Khz. Получается каждые 0,000037c или 37 миллисекунд идет импульс, определенной длины.

Блок управления хранит в себе настройки по кол-во шагов в 1мм.
Пробрасывая каждый шаг на драйвер шагового двигателя у нас есть около 37 миллисекунд до следующего импульса, мы смотрим после каждого шага.

Рассмотрим линейку.
Максимальная скорость линейки 60м\мин, 120м\мин, в секунду минимум 1м. В метре 1000 миллиметров, разрешение 0,001 получается 1Mhz. Да там будут еще расчеты и т.д. грубо возьмем до 500Khz. Получается, что после изменения шага, мы тут же получаем изменение положения, примерно через 2 миллисекунды.

Если мои размышления верны, то получается у нас есть время около 35 миллисекунд после каждого шага, для внесения поправки. Но тут возникает вопрос, с какой скоростью может работать шаговый драйвер, к примеру EM402 всего 50KhZ максимум, что можно выжать 1 шаг на исправление в 1 шаге. Мои AM882 дают до 200Khz, это примерно 7 шагов между каждым шагом.

Такие заключения лучше проводить, после просмотра осциллографом или логическим анализатором, но до станка доберусь не скоро, тем более с такими инструментами. А пока бросаю курить (увы грешен), как там у классика - Нет ничего проще чем бросить курить я 1000 раз делал это..., есть время поразмыслить.

И напоследок еще вопрос, это кому-то нужно?

UPD. Нашел отличную тему, Исследование генераторов шагов LinuxCNC, Mach и прочих #1.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение nkp »

Alex1982 писал(а):И напоследок еще вопрос, это кому-то нужно?
я думаю,что нужно многим...
иначе этого бы не сделали несколько десятилетий назад ;)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Alex1982 писал(а):И напоследок еще вопрос, это кому-то нужно?
я думаю,что нужно многим...
иначе этого бы не сделали несколько десятилетий назад ;)
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

nkp писал(а):я думаю,что нужно многим...
иначе этого бы не сделали несколько десятилетий назад
Если Вас правильно понял, все это давно есть в том же LinuxCNC.
Или других аппаратных решениях, которые кстати, не дешевы.

Другими словами Вы считаете, что нет ни какого смысла делать велосипед, пусть и с минимальной стоимостью (цена STM32F4 Discovery).

Спасибо за ответ.
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

nkp писал(а):я думаю,что нужно многим...
иначе этого бы не сделали несколько десятилетий назад
Если Вас правильно понял, все это давно есть в том же LinuxCNC.
Или других аппаратных решениях, которые кстати, не дешевы.

Другими словами Вы считаете, что нет ни какого смысла делать велосипед, пусть и с минимальной стоимостью (цена STM32F4 Discovery).

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

Меня в последнее время все чаще просят сделать такое устройство.
Видимо, буду делать. Но после того, как куплю пару линеек для себя, иначе будет очень сложно проверить устройство в работе.
Когда куплю для себя линейки - неизвестно. Среди прочих дел приоритетность покупки линеек ниже плинтуса.
Alex1982 писал(а):других аппаратных решениях, которые кстати, не дешевы.
Предположительная цена готового блока контроля на 1 канал в моем исполнении составит 2000 - 2500 руб.
Диапазон рабочих частот - до 5 МГц (в отличии от китайских блоков на 80 кГц). Можно и больше, но нужно ли?
GPL не будет.

:attention: Тему отделил: http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=11787
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

michael-yurov писал(а):Предположительная цена готового блока контроля на 1 канал в моем исполнении составит 2000 - 2500 руб.
Диапазон рабочих частот - до 5 МГц (в отличии от китайских блоков на 80 кГц). Можно и больше, но нужно ли?
На каждый канал отдельное устройство, может быть, лучше делать сразу на 3 оси?

Код будет открытым?
Если да, готов помогать, по мере сил (разумеется бесплатно).

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

Alex1982 писал(а):На каждый канал отдельное устройство, может быть, лучше делать сразу на 3 оси?
Может быть и лучше, но мне так проще (меньше усилий на разработку), и не всем нужно 3 оси.
Мне вот нужно две.
Alex1982 писал(а):Код будет открытым?
Нет, не будет. Код у меня уже есть (требует небольших изменений), и он, скорее всего, никогда не будет открытым.
Alex1982 писал(а):Что касается цены, она отличная, недавно покупал значительно дороже, удачи!
Не хотел составлять конкуренцию, и лишние сложности, но так уж вышло, что решение о разработке принял уже несколько дней назад, и, в общем-то не пытался держать эту информацию в секрете - потому и отписался в этой теме.
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение N1X »

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

N1X писал(а):
michael-yurov писал(а):Когда куплю для себя линейки - неизвестно.
Купи угловые энкодеры и поставь на другой конец вала. Для электроники те же яйца, для тебя дешевле...
Так я с пользой хочу контроллер то сделать.
Мне бы на раскладчике линейки пригодились бы.
Иначе никакого интереса в разработке.
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

michael-yurov писал(а):Может быть и лучше, но мне так проще (меньше усилий на разработку), и не всем нужно 3 оси.
Мне вот нужно две.
Понятно.
michael-yurov писал(а): Нет, не будет. Код у меня уже есть (требует небольших изменений), и он, скорее всего, никогда не будет открытым.
Спросил лишь потому, что если бы код открытый и не написанный, готов был принять участие в разработке.
michael-yurov писал(а):Не хотел составлять конкуренцию, и лишние сложности, но так уж вышло, что решение о разработке принял уже несколько дней назад, и, в общем-то не пытался держать эту информацию в секрете - потому и отписался в этой теме.
Конкуренции у нас с Вами не будет :) .

Дело в том, что решение о создании данной системы, было из-за того, что никто не хотел ее делать.
К тому же у Вас должно получиться лучше. Во первых Вы не дилетант в ЧПУ (в отличии от меня), во вторых я даже не планировал делать платы, только код. А платы Вы делаете достойные, по ним я пробежался.

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

Alex1982 писал(а): Спросил лишь потому, что если бы код открытый и не написанный, готов был принять участие в разработке.
У меня ушел год на создание этой прошивки.
(речь о прошивке степмастера; она подходит для контроллера линеек).
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

michael-yurov писал(а):Alex1982 писал(а):
Спросил лишь потому, что если бы код открытый и не написанный, готов был принять участие в разработке.

У меня ушел год на создание этой прошивки.
(речь о прошивке степмастера; она подходит для контроллера линеек).
Если говорить о контролере ЧПУ, то разработка впечатляет :good: .

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

Alex1982 писал(а):За разработку контролера ЧПУ с нуля, я бы не взялся, говорил исключительно о коробочках.
Так у меня там и есть почти коробочка. Только петля обратной связи внутри процессора.
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

michael-yurov писал(а):Так у меня там и есть почти коробочка. Только петля обратной связи внутри процессора.
У Вас не совсем коробочка.

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

По поводу петли внутри процессора, не совсем понимаю о чем Вы.
Нужно получать сигналы, линейки, как это сделать вопрос возможности конкретного микроконтроллера. То же получение данных от линейки (подсчет импульсов), можно сделать на прерываниях, можно на таймерах в режиме энкодеров (если таковые есть), можно работать с таймерами через DMA (если есть поддержка) и т.д.
Бармалей писал(а):Для ТС - маст рид
http://www.chipmaker.ru/topic/100711/
Не заметил, спасибо.

Прежде чем прикручивать ПИД регулировку, надо понять общую схему работы, этим и занимался.
Бармалей
Мастер
Сообщения: 1205
Зарегистрирован: 14 янв 2013, 16:46
Репутация: 144
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Бармалей »

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

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

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

Бармалей писал(а):Но тут непонятно, как настраивать регуляторы. Без настройки регуляторы будут работать только для оч. ограниченного набора систем.
Придется вывести регулировку наружу.
Alex1982
Кандидат
Сообщения: 53
Зарегистрирован: 18 апр 2016, 19:35
Репутация: 8
Настоящее имя: Александр
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение Alex1982 »

Бармалей писал(а):Имеется в виду, что до собсно ЧПУ сигналы ОС не доходят, петля замыкается раньше.
Видимо начинаю тупить, на сегодня все, завтра перечитаю.
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Принцип работы системы обратной связи по линейкам в ЧПУ

Сообщение N1X »

michael-yurov писал(а):Придется вывести регулировку наружу.
В любом случае совсем немой система такого уровня не получится ) выводить если не координату, то хотябы готовность/аварию нужно. ЧПУ полезно знать, если система по рассогласованию стала )
Ответить

Вернуться в «Общие вопросы»