Оптические линейки и EMC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Ок, посмотрю. Да я хотел спросить как физически правильно подключить энкодеры к лпт (провода). Там vcc, Vo, phaze a, phaze b и экранирование. Вот vcc - это 5в, v0 - это GND?. Как правильно запитать энкодер чтобы не спалить лпт порт? Лпт вообще слабый порт и питание с него брать не самая хорошая идея.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7467
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3089
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Оптические линейки и EMC

Сообщение MX_Master »

Нужно брать питание не с LPT порта, а хотя бы с компьютерного БП (в худшем случае). В идеале - с отдельного БП 5V.

+5V от БП подать на VCC энкодера
GND от БП подать на V0 энкодера
объединить V0 энкодера с GND от lpt порта
phaze A и phaze B подать на нужные пины lpt порта
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Оптические линейки и EMC

Сообщение solo »

можно линейки запитать от ЮСБ разъема компа , я так сделал .
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Спасибо за ответы, буду пробовать!
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

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

Код: Выделить всё

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0x378 out 0xc010 in"
setp parport.0.reset-time 5000 - что значит этот параметр? Это связано с удвоением частоты генерации stepgen ?
#loadrt stepgen step_type=0,0,0
loadrt stepgen step_type=0,0,0 ctrl_type=v,v,v - тут управление по скорости для всех трех степгенов?
#loadrt stepgen step_type=0,0,0 ctrl_type=p,v,v
#loadrt pwmgen output_type=1
loadrt encoder num_chan=3
#loadrt pid num_chan=3
loadrt at_pid num_chan=3

addf parport.0.read base-thread
addf parport.1.read base-thread
addf stepgen.make-pulses base-thread - что значит эта строка?
#addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread
addf parport.1.write base-thread

#encoder - этот блок описывает общие параметры для компонента энкодера?
addf encoder.update-counters base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
#addf pwmgen.update servo-thread

addf encoder.capture-position servo-thread

addf pid.0.do-pid-calcs servo-thread - что это значит?
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread

#-------- Encoder-X --------# - этот кусок уже описывает параметры энкодера по оси Х, тут вроде понятно. Другие оси по аналогии.
setp encoder.0.position-scale 200.00
net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-phase-a <= parport.1.pin-02-in
net Xpos-phase-b <= parport.1.pin-03-in
       # Add feedback to motion. This replaces sepgen.0.position-fb
net Xpos-fb <= encoder.0.position
net Xpos-fb => axis.0.motor-pos-fb
    #-------- Encoder-X --------#

#-------- PID-X --------# кусок пид регулятора для оси Х
net Xpos-fb => pid.0.feedback
net Xpos-cmd axis.0.motor-pos-cmd => pid.0.command
net xenable <= axis.0.amp-enable-out => pid.0.enable
net Xvel-cmd <= pid.0.output
setp pid.0.Pgain 50.0
setp pid.0.Igain 0.0
setp pid.0.Dgain 0.0
setp pid.0.bias 0
setp pid.0.FF0 0
setp pid.0.FF1 1.018
setp pid.0.FF2 0.003
#setp pid.0.deadband 0.0025 - это что за параметр?
#setp pid.0.tune-mode 4 - это для at-pid ?
#setp pid.N.tune-cycles 4

    #-------- PID-X --------#

loadrt debounce cfg=4 - что это за параметр?
addf debounce.0 servo-thread - это фильтр "шумов"?
#addf debounce.1 servo-thread
#addf debounce.2 servo-thread

setp debounce.0.delay 30 - что означает?
#debounce.0.delay=1000

net home-x debounce.0.0.in - что означает?
net xhome-x debounce.0.0.out

net home-y debounce.0.1.in
net yhome-y debounce.0.1.out

net home-z debounce.0.2.in
net zhome-z debounce.0.2.out


net probe-in debounce.0.3.in
net probe-out debounce.0.3.out
net probe-out motion.probe-input
# что означает debounce и для чего он тут применен?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Вот еще забыл спросить:

Код: Выделить всё

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 15000 - это значение от драйвера шд зависит?
setp stepgen.0.dirsetup 15000 - это значение от драйвера шд зависит?
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
#net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd

net Xvel-cmd => stepgen.0.velocity-cmd
В ini файле вот что прописано:

Код: Выделить всё

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 35000 - тут max jitter latency test + dirsetup? 
SERVO_PERIOD = 1000000
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Оптические линейки и EMC

Сообщение solo »

может есть смысл прочитать первых четыре странички мануала , мне кажется , что 90% вопросов бы отпало , и потом если , что быстро бы ориентировался где, что найти при модификации хел и ини файлов
EMC2 Integrators Manual Перевод на русский язык #1
ну, а так на половину вопросов которые вами были заданы я не знаю ответов и свой хел файл делал по аналогии с той инфой которую находил на форуме, много раз что то писал , правил хел файл , потратил много времени , пока станок не заработал адекватно. Сейчас конечно по аналогии создать новый хел файл у меня занимает гораздо меньше времени, даже с учетом того , что не все до конца понимаю
ну а так
те вопросы которые пропустил есть самим ответом на вопрос

addf stepgen.make-pulses base-thread - что значит эта строка?
#encoder - этот блок описывает общие параметры для компонента энкодера?
addf encoder.update-counters base-thread
addf pid.0.do-pid-calcs servo-thread - что это значит?
Re: EMC2 Integrators Manual Перевод на русский язык #32
addf размефает компонент степенгер и энкодера ПИД в базовом регионе ( высокоскоростном)

setp pid.0.deadband 0.0025 - это что за параметр?
Re: EMC2 Integrators Manual Перевод на русский язык #34
устанавливает зону нечувствительности ПИД , то есть если ошибка будет меньше чем заданная величина ПИД выдаст на выходе 0 , это позволяет при простое оси избежать постоянного ерзания ШД в пределах люфта и одного значения энкодера

setp debounce.0.delay 30 - что означает? задержка 30 мсек для фильтрации импульсных помех с концевика

setp stepgen.0.dirhold 15000 - это значение от драйвера шд зависит?
setp stepgen.0.dirsetup 15000 - это значение от драйвера шд зависит?
эти параметры завися от механика станка и мощности ШД , задержка при смене направления движения , необходима чтобы погасить силу инерции подвижный частей станка
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Долгое время не доходили руки взяться за энкодеры, компутер и linuxcnc....вобщем недавно приступил к этой затеи. Взял шаговик и энкодер на 600имп/об....связал их в кучу. Для тестов взял комп на базе матери ASUS B75M-PLUS проц какой то xeon 3,08 ГГц вроде. К этому компу добавил планку LPT в PCI. По тестам комп показал jitter в районе 15000....результат не плохой считаю. Далее пошла в оборот китайская плата опторазвязки, и через входные пины подключил энкодер. Немного помучавшись смог понять какой адрес у LPT порта, далее через stepconfig настроил стандартную конфигурацию, где входные пины поставил как фазы А и В шпинделя....В итоге получилось читать данные с энкодера, но есть такая беда. При оборотах больше 180-190 об/мин комп начинает откровенно брехать, при дальнейшем увеличении скорости вращения энкодера вообще ересь показывает близкую к 0. По моим подсчетам на частоте выше 7360Гц уже происходит брехня......Внимание вопрос, что я делаю не так? :thinking: Опять же по моим подсчетам комп должен успеть переваривать 16000Гц при base period 31250....Т.е. при таком значении base period быстрый поток работает на частоте 32кГц. Делим пополам чтобы гарантировано успеть опросить энкодер, получаем 16кГц.....по факту 7,36кГц и до свидания.....Народ, кто сталкивался с такой проблемой? Уважаемый Solo, если я правильно понял, вы смогли реализовать схему ШД+Энкодеры=Linuxcnc+2LPT порта....Какие у вас получились результаты и скорости в итоге?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

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

Re: Оптические линейки и EMC

Сообщение Serg »

antoxa-kylibin писал(а):Т.е. при таком значении base period быстрый поток работает на частоте 32кГц. Делим пополам чтобы гарантировано успеть опросить энкодер, получаем 16кГц.....по факту 7,36кГц и до свидания.....
Поток-то работает на частоте 32кГц, только вот генерить сигнал он может с частототой 32кГц/2, т.е. в течении секунды случится 32000 тактов, которые сгенерят 16000 импульсов и 16000 пауз между ними.
Ну а дальше вспоминаем теорему Котельникова и получаем эти самые ~8кГц.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Оптические линейки и EMC

Сообщение nkp »

опыты полезные
но может все таки есть смысл потратить ~100$ и получить возможность подключать с десяток энкодеров даже с большим числом тиков
я про плату mesa
вроде бы совсем небольшая цена даже для "настольного" станка
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Скажите где купить за такие деньги месу и какую именно? 5i25 походу сама не справится, к ней надо дочернюю плату? Задача простая. 3 оси соответсвенно 3 шаговика и 3 энкодера. Вместо энкодеров может быть и оптическая линейка. Что скажете?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

Ну и вдруг если шаговиков станет мало по скорости, то уже сервоподобное что то можно поставить. Для платы меса помоему скорости не проблема....
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

UAVpilot писал(а):
antoxa-kylibin писал(а):Т.е. при таком значении base period быстрый поток работает на частоте 32кГц. Делим пополам чтобы гарантировано успеть опросить энкодер, получаем 16кГц.....по факту 7,36кГц и до свидания.....
Поток-то работает на частоте 32кГц, только вот генерить сигнал он может с частототой 32кГц/2, т.е. в течении секунды случится 32000 тактов, которые сгенерят 16000 импульсов и 16000 пауз между ними.
Ну а дальше вспоминаем теорему Котельникова и получаем эти самые ~8кГц.
Появился вопрос, почему тогда мастер конфигураций пишет что может генерить сигналы степ/дир на частотах около 30кГц? Тайминги драйверов 2500,2500,5000,5000?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

И ведь по факту шаговик раскручивает до 1200 об/мин при микрошаге 1/8...?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Оптические линейки и EMC

Сообщение aftaev »

antoxa-kylibin писал(а):И ведь по факту шаговик раскручивает до 1200 об/мин при микрошаге 1/8...?
мастер не ведает что к нему подключены шаговики или сtрвы с степ/дир. Ограничивает частоту обычно железо (комп) LPT
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Оптические линейки и EMC

Сообщение nkp »

antoxa-kylibin писал(а):Скажите где купить за такие деньги месу и какую именно? 5i25 походу сама не справится, к ней надо дочернюю плату? Задача простая. 3 оси соответсвенно 3 шаговика и 3 энкодера. Вместо энкодеров может быть и оптическая линейка. Что скажете?
5i24
stepgen_s аппаратные + энкодеры
где купить в твоей стране - не знаю
а так - у производителя в свободной продаже в интернетмагазине
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Оптические линейки и EMC

Сообщение antoxa-kylibin »

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

Re: Оптические линейки и EMC

Сообщение Serg »

antoxa-kylibin писал(а):Появился вопрос, почему тогда мастер конфигураций пишет что может генерить сигналы степ/дир на частотах около 30кГц?
Действительно может, но только на "внешних" выходах LPT порта. Но HAL-компоненту encoder это никак не поможет.
http://linuxcnc.org/docs/2.7/html/hal/p ... doublestep
antoxa-kylibin писал(а):Ага, нашел....доставка 65 бакинских с половину стоимости платы)))....для этой платы разные прошивки есть я так понял, от этих прошивок зависит конфигурация?
С некоторых пор для отправки в восточную Европу используют службы с гарантированной доставкой и полной страховкой... Пользуйте посредников.
Хотя с постоянными клиентами не гнушаются работать как и раньше. :)
nkp писал(а):5i24
Не надо этих старушек брать - их уже далеко не во всякий комп вставишь. Лучше брать сетевые или хотя-бы 6i25. Сетевые и в монтаже гораздо удобнее.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «LinuxCNC»