Перейти к содержанию
    

Система команд сервоконтроллера

Поздно, оптику надо

Вот, пожайлуйста, еще одна причина делать rs422, но не что-нибудь еще.

 

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

уже имеют библиотеки и ПО, поставляемое производителем.

Насколько сложнее будет сделать совместимый протокол, нежели свой ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Временем реакции системы на самое быстрое событие, делённым на количество управляемых осей.

Нет, даже еще хуже: деленным на количество устройств в сегменте сети. Их может быть немного больше чем осей :( Действительно, до фига большая скорость

 

Частота обновления командного регистра положения 0.5 - 0.1 от частоты токового регулятора.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поздно, оптику надо, это же привод,

а не описная сеть.

Можно использовать дешевый пластик POF . Есть программа MOST перевода автомобильной электроники на этот пластик.

http://www.pofto.com/ Аваго , Инфенион, Тайко собираются выпускать дешевые приемники и передатчики под этот стандарт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поздно, оптику надо, это же привод,

а не описная сеть.

А я воспринял Ваше сообщение, как иронию. Или неправильно воспринял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покопался в доках, можно почитать, как стандартизуют ПО для ПЛК.

Программирование ПЛК: языки МЭК 61131-3 и возможные альтернативы.

Теперь, если стремиться снизить требования к коммуникационному каналу, получается, что  рулят Techno IL и Techno ST

 

http://www.adastra.ru/products/overview/IEC61131/

 

ЗЫ: а если сервоцикл уложится в один период ШИМ? :) Причем это будут честные 4 кГц ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А как при таком управлении делать табличные корректировки положения, управлять приводами ведущий-ведомый ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется «в дебри улезли». Изначально планировалось полулюбительский контроллер. Таких контроллеров по 100-150$ много уже кто выпускает. Даже российский есть http://www.ellab.ru/russian/razrabotki/sva...rka_001_rus.htm. С приобретением особых проблем нет. Любители ЧПУ народ консервативный и будут покупать или изготавливать (ServoOpen) только многократно проверенные конструкции. И надо ещё видео на рабочем станке ЧПУ показать, а то так не поверят. Испытания желательно производить на станке с ЧПУ. _Pasha у Вас он есть? Испытания на столе никого не убедят в работоспособности. Я просто с этим уже столкнулся.

Сначала надо попробовать с «мощным» двигателем (хотя бы 110В, 10А) - возможно что и разговоры о протоколах не понадобятся – можно будет здесь «увязнуть». И если уж такой движок будет «послушным», то и от 24В подавно.

 

Если Вы действительно хотите сделать что-то полезное для любителей и которое пользовалось бы спросом, то я думаю преобразователь USB в Step/Dir было бы самое то. Например http://www.usbcnc.com/index_products.html или http://www.cnc4pc.com/Store/osc/product_in...products_id=185, только цену конечно не 180-320$.

За открытый проект или 50$ многие сказали бы спасибо. И на своих станочках начали бы ещё усерднее бороться с мировым кризисом. :smile3009:

К тому для этого никакого оборудования не надо.

А вообще то лучше конечно сначала пообщаться с теми кому это предназначено и из "первых рук" узнать что им надо. http://www.cnczone.ru/forums/index.php?&act=idx

http://forum.rcdesign.ru/f41

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, а кто нибудь может ответить на вопрос, как в интеллектуальном интерфейсе синхронизировать движение по двум осям? Если в системе step-dir эта задача висит на контроллере, то в сервоприводе у меня оси разезжаются внутри косого отрезка, хотя на концах отрезка- все нормально. Приходиться длины отрезков уменьшать, привод дергается, получается управление как на шаговиках, а не "плавно врезался и поехал фрезой под постоянной нагрузкой"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как при таком управлении делать табличные корректировки положения, управлять приводами ведущий-ведомый ?

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

2. Набор параметров управления

2.1. Управляющие параметры
- Координата S либо X,Y,Z в случае, если определены функции сервоконтроллера по перемещению  вдоль конкретной оси.
- Скорость V либо VX, VY, VZ
- Момент T либо TX, TY, TZ
- Прямой нормированный канал ШИМ U, либо UX,UY,UZ
- Интервалы времени du - в микросекундах, dm-миллисекунды ds-секунды dt-время в формате с плавающей точкой либо dt=<число><суффикс u|m|s>

2.2. Входы управления или источники команд
- Одиночная команда. Например S=1120,dt=1.09Е-2 или тоже самое S=1120,du=10900
- Интерполятор, например S= cspline(-11.24,-3.003,6.573,0) dt=1.09E-2
		   S= pwl((115,1120u),(220,2400u),(1120,10900u))

- Частота по входу, например S=freq(x1), где 
  x1 - символическое имя дискретного входа, 

- Период по входу, напр. S= per(x1,K)
- Напряжение по входу например S=an(x3)
Денормирующие коэффициенты хранятся в настройках

2.3. Вывод состояния сервоконтроллера - выходные параметры
- координата
- скорость
- момент
- прямой нормированный канал тока

2.4. Средства мониторинга выходных параметров
- прямой лог
- лог с интерполяцией
- лог о выходе за заданные пределы
- лог ошибки, например между заданным S и фактическим

2.5. Простые настроечные параметры в EEPROM - через символические имена
например Kp_speed = 16384  - коэфф пропорциональности в ПИ-звене контура 
регулирования скорости

Сразу говорю - просьба не пинать за этот поток сознания. Интересует, существуют ли где-то похожие концепции.

 

 

Испытания желательно производить на станке с ЧПУ. _Pasha у Вас он есть?

Ну, у меня есть хорошо "промаринованный" заказчик, который ловит каждое мое слово, а я, в свою очередь, стараюсь не наглеть и держаться на уровне. А у заказчика - станок. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...привод дергается, получается управление как на шаговиках, а не "плавно врезался и поехал фрезой под постоянной нагрузкой"

Что делать не подскажу, но такое дёргание в Mach происходит когда вместо G1 (линейная интерполяция) выполняется G0 (ускоренное перемещение) при одинаковых заданных скоростях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, а кто нибудь может ответить на вопрос, как в интеллектуальном интерфейсе синхронизировать движение по двум осям?

В идеале - перекрестной связью по датчику положения. В реале - :( кисло

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В идеале - перекрестной связью по датчику положения. В реале - :( кисло

Это как, доп раземы на драйверы сервомоашинок от енокдеров другой оси? А кто тогда математикой заведует?

Я уже не говорю, что заказчики "обнаглели" и присылают G-код с хеликоидальной интерполяцией или пытаются использовать

зуборезные пальчиковые фрезы- это когда отверстие и фрезеруется и резьба режется одной и той же фрезой и нужно согласованное

с вращением шпинделя движение детали по двум осям :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это как, доп раземы на драйверы сервомоашинок от енокдеров другой оси? А кто тогда математикой заведует?

Если есть проблемы - надо PLC дополнительный ставить. А перекрестная связь - это же теоретически 100% действенный метод.

ЗЫ мне кажется, средствами самого сервака трудно будет определить кто ведущий, а кто ведомый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я воспринял Ваше сообщение, как иронию. Или неправильно воспринял?
Вполне серьезно.

Вот энкодер с оптовыходом.

Изменено пользователем evgeny_ch

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу говорю - просьба не пинать за этот поток сознания.

 

Как по мне, то пинать совершенно не за что.

 

Я вообще считаю, что надо как можно больше мозга уносить ближе к исполнительным механизмам. Во-первых - снижается нагрузка на канал связи. Во-вторых - намного проще обеспечить действительно реалтайм работу - ну о каком вменяемом реалтайме может идти речь, если весь моск суть программа на большом брате работающем под виндой/никсами? А гарантированное время доставки? Как по мне - это сугубо говнопиар. А если пакет потеряется? Как-то мне никогда в описаниях протоколов не попадалась фраза "время доставки меньше T гарантируется с вероятностью X". А именно такая формулировка и должна присутствовать. Может, конечно, не туда смотрел, посему с удовольствием разую глаза по вашей фразе "А это ты внимательно курил?" и приложенной ссылке.

 

Однако, для такого управления необходимо помимо команд задания алгоритма движения необходимо еще предусмотреть выбор алгоритма на случай аварийной ситуации - например, серьезная авария при заклинивании механизма может быть обработана банальным обесточиванием, а вот, например, ситуация неприхода привода в точку финиша? Или большое отклонение от заданной траектории?

 

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

 

Пошел покурить про Mach3... Очень порадовало описанице на форуме :biggrin:

Програмное обеспечение с сайта производителя.

Без таблеток и кряков.

Ограничения производителя 1000сторк G-кода и 25000гц частота.

ВНИМАНИЕ!!!

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

После установки программы ОБЯЗАТЕЛЬНО перезагрузите компьютер.

Перед первым запуском запустите Driver Test.exe (по умолчанию в папке C:\Mach3\Driver Test.exe)

НЕ ИСПОЛЬЗУЙТЕ компьютер станка для задач кроме управления станком.

При отсутствии другого компьютера-разделите жесткий диск и поставьте ОТДЕЛЬНУЮ операционную систему ТОЛЬКО для задач управления станком.

Последние релизы программ на сайте производителя:

 

Болд мой :) Только вот фраза неправильная - "иначе реалтайм в виндах проблематичен". Правильная фраза "В любом случае реалтайм в виндах невозможен!"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...