Страница 3 из 17
Re: MESA 5i25
Добавлено: 22 янв 2013, 11:17
de-signer
Nick писал(а):Скинь свои hal и ini посмотрим...
На производство попаду только завтра-послезавтра к вечеру.
Вот тут нашёл:
http://emc.mah.priv.at/local/emc2-maste ... p-mesa.txt
Encoder will add < customname > +:
-position
-count
-velocity
-index-enable
-reset
Никакого scale нет =( , но и rawcounts тоже нет, а у меня есть.
Общая цель плясок вокруг gpio: нужно завести три phaseZ с трёх энкодеров. Есть куча свободных входов с питанием 24В, а энкодеры дают 5В сигнал. Мутить дополнительную схему - очень крайний вариант (да и не электронщик я). Завести их через LPT: боюсь предыдущей проблемы: энкодер на 2500 имп/об и параллельный порт может пропустить один или несколько сигналов и увидеть, скажем четвёртый - ну не хватает ему скорострельности или опрос в 20кГц медленноват, а комп больше дать не может =(
Re: MESA 5i25
Добавлено: 22 янв 2013, 11:19
nkp
Re: MESA 5i25
Добавлено: 22 янв 2013, 11:22
Nick
de-signer писал(а):Общая цель плясок вокруг gpio: нужно завести три phaseZ с трёх энкодеров.
Через такой GPIO не прокатит - он работает в servo-thread и может проворонить нужное значение. Заводить можно только на пин энкодера который загружен в hostmot2 MESA.
А остальные фазы этих энкодеров где обрабатываются?
Re: MESA 5i25
Добавлено: 22 янв 2013, 15:10
Lexxa
halcmd show сюда прицепи
Re: MESA 5i25
Добавлено: 23 янв 2013, 08:50
de-signer
Lexxa писал(а):halcmd show сюда прицепи
На производстве буду сегодня/завтра к вечеру.
Nick писал(а):А остальные фазы этих энкодеров где обрабатываются?
На контроллере(драйвере/блок управления). Он управляет приводом, на него подаются сигналы step/dir, в него заходит питание привода 70VDC, он же питает энкодер +5VDC, в него же заходят phaseA, phaseB, с него же снимается управление приводом +/- 70VDC, на нём же переменными сопротивлениями организован PID
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:11
Nick
А отдельный phaseZ тебе зачем?
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:26
de-signer
Точность позиционирования после выхода в станочный ноль. Как мне кажется медленный наезд на конечный выключатель, при условии, что конечник сейчас отработает на 0+0.1, а завтра на 0-0.1 = разница в 0.2 - довольно существенна.
Допустим допуск на размер в 0.01мм, в процессе работы случается форс-мажор (электричество пропало), после включения нужно повторно разъехаться в home position и перезапустить программу, если этот разъезд делается с точностьть до 0.2мм, то изделие есть брак =(
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:37
Nick
По идее этот пин можно нормально подключить только к быстрому порту. Т.е. либо lpt+base-thread, либо энкодер, но только тот, который на месе. Или придется очень медленно метку искать.
Меса общается с LinuxCNC раз в servo-thread, т.е. 1кГц. Если индексная метка за это время мигнет и погаснет, LinuxCNC этого может не заметить! Т.е. GPIO в данной ситуации плохой вариант.
Когда на самой месе работает компонент энкодер - он может правильно обнулиться по очень короткому импульсу. Надо посмотреть прошивку, в которой будет 7i76 и возможность подгружать энкодеры на 5i25.
А сколько у тебя там таких энкодеров?
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:41
de-signer
На 7i76 энкодер только один =(
Про gpio, я всё-таки рассчитывал, что даже короткий импульс MESA словит и до обращения к ней linuxcnc она его "продержит" в памяти, мол "да, тикнуло пару десятков микросекунд назад"
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:42
de-signer
И да, печально, что даже если я заведу phaseZ на MESA.encoder.idx, я не смогу его считать. Нет пина hm2_5i25.0.encoder.index =(
Re: MESA 5i25
Добавлено: 23 янв 2013, 09:44
Nick
de-signer писал(а):и до обращения к ней linuxcnc она его "продержит" в памяти, "да, тикнуло пару десятков микросекунд назад"
ИМХО на вряд ли оно будет так работать.
А сколько у твоего энкодера тиков на оборот?
de-signer писал(а): Нет пина hm2_5i25.0.encoder.index =(
Почему нету? Вроде был...

Re: MESA 5i25
Добавлено: 23 янв 2013, 09:51
de-signer
de-signer писал(а):энкодер на 2500 имп/об
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:03
nkp
Nick писал(а):Почему нету? Вроде был.
Код: Выделить всё
OPERATION
ENCODER INTERFACE
The 7I76 provide a one channel encoder interface with index. This is intended as
a spindle encoder but can be used for other purposes. The encoder input can be
programmed for differential or single ended encoders. The encoder interface also provides
short circuit protected 5V power to the encoder. When used with single ended encoders,
the ENCA+, ENCB+ and IDX+ signals are wired to the encoder and the ENCA-,ENCB-,
and IDX- terminal left unconnected.
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
РАБОТА
Интерфейс датчика
7I76 обеспечивает один канал энкодера с индексом. Это предназначено как
датчика шпинделя, но может быть использован для других целей.Вход датчика может быть
запрограммированы для дифференциальных или несимметричных датчиков.Интерфейс датчика также обеспечивает
защита от короткого замыкания 5V питание энкодера.
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:10
Nick
nkp писал(а):The 7I76 provide a one channel encoder interface with index
Там должен быть пин не index, а index-enable. Но суть та же при появлении 1 на этом пине encoder.position сбрасывается в 0.
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:18
de-signer
2nkp
Да. На 7i76 есть IDX, мне нужен он же со стороны hostmot2.
2Nick
index-enble, вроде был. Сейчас не вспомню. Только толку мне с него, если я самим hm2_5i25.0.encoder не пользуюсь. И его encoder.position _всегда_ равен 0.
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:25
Nick
de-signer писал(а):Только толку мне с него, если я самим hm2_5i25.0.encoder не пользуюсь.
Можно и воспользоваться
Я так понимаю, за один шаг движка энкодер делает несколько тиков? Тогда вообще хреново... эх замерить бы длину импульса фазы Z...
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:34
de-signer
Nick писал(а):Можно и воспользоваться
На 7i76 один энкодер, а у меня их три =(
Nick писал(а):Я так понимаю, за один шаг движка энкодер делает несколько тиков?
За один импульс STEP энкодер <делает> один импульс - это в эталоне.
Почему <делает> в скобках: на драйвере есть возможность пинами установить множитель. Сейчас он установлен в положение х2, т.е. за импульс STEP энкодер тикает 2 импульса, а движок прокручивается на два "шага";
Nick писал(а):эх замерить бы длину импульса фазы Z...
А вот это зависит от скорости вращения двигателя =)
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:35
Nick
de-signer писал(а):А вот это зависит от скорости вращения двигателя =)
Ну для целей обнуления оси можно взять совсем маленькую скорость, скажем 10мм/мин или меньше. Или даже проще 1 шаг за сервопериод или за 4 сервопериода, чтобы наверняка отловить два импульса.
Re: MESA 5i25
Добавлено: 23 янв 2013, 10:46
de-signer
Вот для этого и пробую завести на LPT. А затем задать LATCH_VELOCITY достаточную для того, чтобы LPT успел отловить импульс. Позавчера не хватило времени доразобраться. Не нашёл КУДА заводить phaseZ. Допустим всё работает и phaseZ приходит на parport.0.pin02 куда мне его надо слинковать на стороне axis.0.XXX ?
Re: MESA 5i25
Добавлено: 23 янв 2013, 12:37
Nick
хороший вопрос
По идее надо прилинковать его на
axis.N.home-sw-in IN BIT
Should be driven TRUE if the home switch for this joint is closed
Но включать только тогда, когда уточняем home...
о точно, пропускаем фазу z через and2 вместе с
axis.N.index-enable IO BIT
Should be attached to the index-enable pin of the joint’s encoder to enable homing to index pulse
И потом через or2 подаем на axis.N.home-sw-in вместе с концевиком.