Шаговые vs Коллекторных

Адепт
lm7805:

Два энкодера - для устранения сигнала ошибки по инрции двигателя. Можно обойтись и одним, но тогда нужно начинать как раз и считать программно все возможные ошибки. С двумя будеть очень просто построить логический анализатор на уровне попал - непопал и если не попал откат. и ускорения, скорости и резкие смены направления будут уже несмертельны.

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

olkogr

Непонимаю чт дадут 2 энкодера, как такой байдой ожно управлять. Все нужно делать по одному датчику (энкодеру) тогда вся система работает устойчиво если правильно настроить.
Я делал на аналоговых регуляторах управление позиционированием клапанов (там тоже точность ±0,05мм) Есть основаные на пневматике есть на сервоприводе. Но смысл одни и тот же в настроке ПИД параметров, по одному датчику (например еслинужно получить давление или проток подключаем датчик к регулятору, выставляем параметры и поехали).
Тоже делал на основе сервоприводов но на импульсных ПИД регуляторах, там управление точь в точь как на шаговигах есть 2 входа оди открывает клапан вверх на одну позицию (шаг) а другой вниз. Там в такой системе позиция клапана вообще не щитывается, главное показания датчика. Сама серва сделан из безколекторного двигателя и схемы управления которая при поступлении импульса поворачивает его на один оборот. Дальше подход к точке регулирования производится все тем же ПИД регулятором который нужно настраивать. Никакой простой логикой настроить нормальную и быструю работу таких систем практически невозможно.

Стрела_RoSa
Адепт:

цена реализации принятого решения соответствовало классу изготавливаемого изделия.

Не согласен с данной мыслю так как иновации всегда в начале стоят просто до фига так как почти рогами роют себе дорогу в светлое свое будущее 😉

Адепт
Стрела_RoSa:

Не согласен с данной мыслю так как иновации всегда в начале стоят просто до фига так как почти рогами роют себе дорогу в светлое свое будущее 😉

Когда речь идет не об инновациях, а уже проеденном этапе, когда правила достижения цели устаканены то первоочередной задачей становиться цена достижения цели. Или не так?
Среди широкого отряда хоббистов-самодельщиков с вариациями на тему хоббийно-наколенного оборудования обращать свой взгляд на промоборудование можно лишь в пылкой надежде на то, “что когда нибудь у меня это будет”. К сожалению незнание предмета или упрямое игнорирование чужого опыта порождает неожиданные вариации ограниченные по цене исполнения и это то и интересно кто как выкручивается, но прыгнуть сверх головы никогда не удается, как показывает этот же упрямый опыт.
Прошу прощение за лирическое отступление…

mt

Прошу прощения что вмешиваюсь в ваш разговор, но я не согласен почти со всеми.
Во первых я не определяю что хобби это занятие нищих людей. Скорее наоборот - человек знающий и умеющий многое скорее всего легко сумеет заработать деньги, “отодвинув” конкурентов по работе на второй план. Думаю что тот кто не может этого сделать скорее всего ни привод ни станок не соберёт, или если и соберёт, то это просто клоунада будет.
Второе. Почему вы считаете что пром. оборудование дорого стоит ? Оно просто дорого продаётся, т.к. спрос большой а предложение мало. Устройство пром контроллеров конечно сложнее наколенных поделок, но не в десятки же раз как отражено на ценниках.
Третье. Даже самое сложное и дорогое оборудование создаётся людьми, такими же как и мы. И это неправда что чем дороже привод тем больше людей его создавало. Я был на многих немецких выставках и видел конторы в которых всего 3-5 человек активных созидателей, при этом они предлагают очень достойное оборудование.

И поближе к вашей теме.
Управление шаговыми двигателями уже давно строится по принципу сервы. Другими словами на шаговик идёт модифицированная синусоида и замыкается через энкодер на ПИД. Ничего нового в этом нет. Это извесно уже наверное лет 20. Просто выключите свой компьютер и съездите за рубеж на любую крупную выставку и поговорите с разработчиками оборудования вживую. Подарите им бутылку русской водки и эти старые деды ( а так оно и есть - многим там по 60 ) расскажут вам все секреты управления перемещением. Никакой интернет не даст вам столько инфы. Одна из контор , которые мне нравятся www.ecostep.de/…/00_steuerungen_ecostep.html
А для тех кто думает что ПИД - это нечто сложное рекомендую купить вот эти чипы www.nipponpulse.com/Default.aspx?TabID=251&LangID=…

У привода на шаговом двигателе наверное только один недостаток - невысокая мощность. При малых мощностях ( до 500 вт ), привод на шаговике с ПИД выигрывает у сервы по всем показателям - я это неоднократно слышал от немцев. Многие просто начитались интернет-статей по управлению шаговиками десятилетней давности. Чтобы понять как это много попробуйте заменить свой мобильник на тот, который старее на 10 лет, или замените свой комп на 486.

ЛомиК
mt:

Прошу прощения что вмешиваюсь в ваш разговор, но я не согласен почти со всеми.

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

mt
ЛомиК:

А по конкретнее нельзя было написать?
Если нет четких аргументов за и против, а главное новых идей, нечего и писать,

Я не понимаю почему так получается, только напишешь что-нибудь своё - сразу наезды.
Я конечно понимаю, что многие рассматривают этот форум как свою часную собсвенность и “мочат” всех инакомыслящих. Почему-то человек написавший свободную лирику перед моим постом не получил “зубовтычину” ( Adept прости пожалуйста - так получилось, тебя в пример привёл ) Я тут решил своим опытом поделиться - и на тебе.

ЛомиК
mt:

Я не понимаю почему так получается, только напишешь что-нибудь своё - сразу наезды.
Я конечно понимаю, что многие рассматривают этот форум как свою часную собсвенность и “мочат” всех инакомыслящих. Почему-то человек написавший свободную лирику перед моим постом не получил “зубовтычину” ( Adept прости пожалуйста - так получилось, тебя в пример привёл ) Я тут решил своим опытом поделиться - и на тебе.

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

Прошу прощения за офтопик. Шот меня самого понесло нетуда…

lm7805

Немного в теорию. Допустим у нас есть винтовая пара, где один оборот смещение на 1мм. Допустим у шестерни которая ее крутит 100 зубов. Сие значит что 1 зуб = 0,01 мм. Достаточная точность для хобби? На этой шестерне висит кружок от принтера (который наверное все видели) Там больше чем 100 рисок и это хорошо. Далее еще шестерня и еще, нам они интересны только отношением и отсутствием люфтов. И вот наш горячо любимый дпр, но на его валу еще один диск с рисками. Пусть их будет 100 (для простоты модели) и отношение редуктора 1:100 (тоже для простоты). Итог: за один оборот шестерни дпр делает 100 оборотов. Теперь крутим ВП. Даем команду и ориентируемся на датчик ВП. Долетаем до нужного значения. Тормозим. Вот тут начнется гемор ввиде инерции и прочей коммерции:) По приходу “стопа” считаем импульсы на ДПР. И контроллером ДПР (назовем это так) возвращаем его на место шим-ом по количеству ошибки. Двигаться в этот момент он будет медленнее, но задержка пойдет только на пользу и не понадабится повторная коррекция. Теперь как это проверить. Я уже прикрутил на обычный какой-то моторчик хрень под названием HEDS-9700, которая добывается в НР принтерах. Кружочком на двигателе обычная шестеренка работает. Этот датчик очень точно считает зубья и на выходах формирует квадратуру. На снимке большая шестеренка лежит рядом. Отношение я не считал еще, но оно по виду для теста подойдет. Так же закреплю второй датчик но уже с кружочком с нужным количевством рисок. Его напечатаю на пленке на лазере. Теперь мне будет нужно только собрать н-мост и прицепить на лпт плюс визуал бэйсик. О результатах сообщу, но если есть желающие кто пишет простенькие программы могут ускорить этот процесс:)

На фотку не плюйтесь это мобильник а не макросьемка.

Адепт
lm7805:

…На фотку не плюйтесь это мобильник, а не макросьемка…

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

Адепт

Еще раз о промобразцах на двигателях постоянного тока
Торможение для подхода к точке осуществляется в зонах подхода и торможения
Их обычно задают две
Первая - зона подхода, где скорость, управляемая с тахогенератора или того же энкодера, снижается до приемлимой величины. Но при этом алгоритм управления не изменяется.
Вторая - зона торможения, где при входе в зону устанавливается оч малая скорость и при переходе через точку система не реагирует на сигнал компенсации ошибки. Точность такого алгоритма может быть порядка 1 мкм.

lm7805
Адепт:

Еще раз о промобразцах на двигателях постоянного тока
Торможение для подхода к точке осуществляется в зонах подхода и торможения
Их обычно задают две
Первая - зона подхода, где скорость, управляемая с тахогенератора или того же энкодера, снижается до приемлимой величины. Но при этом алгоритм управления не изменяется.
Вторая - зона торможения, где при входе в зону устанавливается оч малая скорость и при переходе через точку система не реагирует на сигнал компенсации ошибки. Точность такого алгоритма может быть порядка 1 мкм.

Дойдем и до этого. Я думаю как результат должна появиться схема контроллера двигателя постоянного тока на атмеле или пике со входами шаг/направление. Для замены обычных ШД без перелопачивания всей схемы.

ЛомиК

Lm7805
Насчет инерции, вообще я лично не вижу тут большой проблемы, учитывая что двигатель не свободно вращается а прилично тормозится всей ситемой. Кроме того, если сделать соответствующее управление, когда драйвер будет отрабатывать перемещение с некоторой задержкой (на пару, тройку шагов, это нужно продумать), то можно обеспечить режим плавного торможения, или даже кратковременного реверса для быстрой остановки, конечно такая задержка возможно только одновременно по всем координатам сразу.
Иначе нужно увеличить количество зубьев ведомой шестерни в два раза, и так же изменится погрешность, но нужно учитывать, что при увеличения коэффициента редукции увеличивается требования к максимальной скорости вращения двигателя и увеличивается износ шестерней.
Так что стоит задуматься о необходимости получения такой точности перемещения, а обеспечат ли все остальные детали станка такую точность?
У вас получается, что за 100 оборотов супорт сместится всего на 1 мм, для 10 мм понадобится уже 1000 оборотов, а для 10 см - 10 000, тоесть 10 см в минуту при высокооборотных двигателях, что врядле оправданно, надеюсь это только пример.

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

Адепт
ЛомиК:

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма приведет к наворачиванию системы компенсации зазаров, люфтов и величин упругих деформаций и только усложнит работу.

ЛомиК
Адепт:

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма без учета зазоров, люфтов и изгибов конструкции приведет к наворачиванию системы компенсации этих же зазаров, люфтов и величин упругих деформаций и только усложнит работу.

Я имел ввиду использование двух типов приводов одновременно, тоесть основным быдет ШД с прямым приводом на вал, а редуктор и бесколекторник как отдельный привод на том же валу для увеличения скорости пермещений, только такой подход удорожит конструкцию и усложнит схему управления, что врядли оправданно.
Насчет линейки согласен.

lm7805
ЛомиК:

Lm7805
Насчет инерции, вообще я лично не вижу тут большой проблемы, учитывая что двигатель не свободно вращается а прилично тормозится всей ситемой. Кроме того, если сделать соответствующее управление, когда драйвер будет отрабатывать перемещение с некоторой задержкой (на пару, тройку шагов, это нужно продумать), то можно обеспечить режим плавного торможения, или даже кратковременного реверса для быстрой остановки, конечно такая задержка возможно только одновременно по всем координатам сразу.
Иначе нужно увеличить количество зубьев ведомой шестерни в два раза, и так же изменится погрешность, но нужно учитывать, что при увеличения коэффициента редукции увеличивается требования к максимальной скорости вращения двигателя и увеличивается износ шестерней.
Так что стоит задуматься о необходимости получения такой точности перемещения, а обеспечат ли все остальные детали станка такую точность?
У вас получается, что за 100 оборотов супорт сместится всего на 1 мм, для 10 мм понадобится уже 1000 оборотов, а для 10 см - 10 000, тоесть 10 см в минуту при высокооборотных двигателях, что врядле оправданно, надеюсь это только пример.

Вообщето серву было бы неплохо использовать совместно с ШД только для быстрых перемещений инструмента.

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

Адепт:

Вообщето серва+ШД это как раз =безколлекторник, но я не об этом. Вернемся к моему посту.
Подход к точке осуществляется по сигналу от линейки. Именно линейка как последняя инстанция указывает абсолютную величину перемещения не взирая на зазоры и люфты исполнительного механизма. Пересчитывание от сигнала энкодера через параметры механизма приведет к наворачиванию системы компенсации зазаров, люфтов и величин упругих деформаций и только усложнит работу.

В бумагорезательной машине БР120 все сделано через редуктор и работает с точностью 0,01мм. Только есть одно но - люфты выбираются движением в одну сторону, т.е. если надо отехать от меньшего к большему то она прогоняет каретку еще дальше и возвращает ее. А винт там около 4см диаметром. а датчик - БС-155А.

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

Адепт
lm7805:

…В бумагорезательной машине БР120 все сделано через редуктор и работает с точностью 0,01мм. Только есть одно но - люфты выбираются движением в одну сторону

Не оч хороший пример ведь то, что строим по определению не должно быть зависимым от люфтов и зазоров.

lm7805
Адепт:

Не оч хороший пример ведь то, что строим по определению не должно быть зависимым от люфтов и зазоров.

В чем и вся фишка - система командует: - Шаг! Контроллер исполняет, вносит коррекцию. При следующем шаге и даже при смене направления (самый момент для люфта) контроллер исправит ситуацию за время, превышающее время прихода следущей команды.

Адепт
lm7805:

В чем и вся фишка - система командует: - Шаг! Контроллер исполняет, вносит коррекцию. При следующем шаге и даже при смене направления (самый момент для люфта) контроллер исправит ситуацию за время, превышающее время прихода следущей команды.

А можно и по другому.
Система командует: - Движение на 25 мм от текущей координаты со скоростью 100 мм/мин
Контроллер исполняет:

  1. Разгон до скорости 100 мм/мин на дистанции 5 мм
  2. Движение с заданой скоростью до зоны подхода к координате 25-5 мм
  3. Снижение скорости до величины 10 мм/мин
  4. Движение с заданой скоростью до зоны торможения к координате 25-1 мм
  5. Стоп
Адепт

Но к сожалению пример который я привел канает только для прямолинейных перемещений. Для криволинейных перемещений канает только пошаговая дискретизация и разложение траектории движения на кусочно-линейные участки для чего надо писать программу под контроллер сервопривода… Но вот вопрос, и нафига все это городить, если уже есть готовое программное обеспечение под шаговики, готовый драйвер (и не один), КАД-КАМ программы, создающие профиль, траекторию и управляющие движением… Могу понять лишь один ответ в данном случае: “А подолбаться?..”

ЛомиК

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

Я бы действовал по другому:
получение команды шаг
получение команды дир
комутация направления вращения
получение команды шаг(2)
оценка интервала времени между шагом 1 и шагом 2
установка скорости(или количества шагов) для перемещения
получение команды шаг(3)
перемещение в точку, определенную шагом 2(на заданное расстояние)
оценка интервала времени между шагом 2 и 3
если не изменилось, оценка правильности перемещения между точками заданными шагами 1 и 2, коррекция скорости(если нужно) продолжить движение до точки определенной шагом 3
если ожидаемое перемещение не совпало по времени, увеличить или уменьшить скорость
получение сигнала шаг 4, повторить те же операции что и после шага 3
-----------------------------------------------
неполучение сигнала 4 в ожидаемое время - замедлить скорость, с расчетом остановки в точке, определенной шагом 3
перемещение в точку, определенную шагом 3 и остановка до получения команд шаг 4 и дир

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