Страница 1 из 2

Смена инструмента

Добавлено: 30 янв 2015, 16:44
Zaharich
Добрый день всем!
Прошу помощи как правильно сделать!
Задача.
Есть диск с отверстиями через отверстие свет фото датчик.
Надо чтобы по команде смены инструмента начал вращаться мотор до тех пор пока сработает датчик.

Датчик на просвет 5+. Когда нету просвета 0.
Двигатель постоянник управляю через реле.

Re: Смена инструмента

Добавлено: 30 янв 2015, 16:50
NightV
чем управляется?

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:02
Zaharich
LPT порт.

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:25
aftaev
Zaharich писал(а):LPT порт.
LPT порт это не чем управляется, это куды железки подключены.
А управление Мач, ЕМС2 и тд....

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:42
S500
то что у вас на схеме и такой простой мотор не подойдет, здесь нужен сервомотор или на крайний случай степ мотор, во всяком случае чтобы умел ходить по шагам :)

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:46
Zaharich
Прошу прощения LinuxCNC 2.5.

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:47
aftaev
Zaharich, в магазине инструмента сколько?

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:50
verser
Я бы задействовал в linuxcnc только один output pin, на который подавал бы импульс на реле нужной длины G4 P#<delay> при необходимости повернуть магазин, таким набором команд

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

M64 P0
G4 P#<delay>
M65 P0 

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

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:52
aftaev
verser писал(а):Я бы задействовал в linuxcnc только один output pin, на который подавал бы импульс 5в нужной длины G4 P#<delay> при необходимости повернуть магазин, таким набором команд
как linuxcnc узнает какая щас позиция инструмента? При включении нужно не только станок но и магазин гнать в НОМЕ

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:55
aftaev
Zaharich, как вариант вместо твоей схемы поставить либо геркны+магниты или индуктивные датчики. И сигнал с каждого датчика зависти в ЧПУ. Тогда linuxcnc будет крутить барабан пока тот не до едит до нужного инструмента. Если по каким то причинам инструмент не может найти за заданное время(20сек) то linuxcnc выбрасывает ошибку и останавливается.

У меня на токарном это так работает на обычном асинхронном моторе.
https://www.youtube.com/watch?v=XkbXEF414KA

Re: Смена инструмента

Добавлено: 30 янв 2015, 17:56
Zaharich
Это круглый стол конвейер на 3и операции.
Принцип работы такой.
1.Ставим изделие.
2.Поворачиваем стол до срабатывания датчика.
3.Выполняем технологические операции.
4.Переход к пункту 1.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:13
Zaharich
verser писал(а):Я бы задействовал в linuxcnc только один output pin, на который подавал бы импульс на реле нужной длины G4 P#<delay> при необходимости повернуть магазин, таким набором команд

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

M64 P0
G4 P#<delay>
M65 P0 

а сигнал с датчика использовал бы напрямую в схеме, чтобы просто точнее остановиться.
не знаю как завести сигнал с датчика в linuxcnc.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:17
Nick
Нужно именно смену инструмента, со всеми параметрами, или просто диск повернуть?

Если полноценная смена - то надо делать через ladder.

Что-то типо такого:
Re: Смена инструмента на токарнике #12
или
Re: Восстановление токарного 16К20Т1 ЧПУ #1770
Только вместо присвоения по каждому входу, делаем увеличение на +1 по срабатыванию датчика.

Начни по тихоньку ladder рисовать, дальше поможем. Для начала заведи в него все входы.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:22
Zaharich
Просто диск повернуть.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:27
verser
Zaharich писал(а): не знаю как завести сигнал с датчика в linuxcnc.
Если обязательно сигнал с датчика заводить, то потребуется уже 1 input pin + 1 output pin. При таком раскладе уже полноценную смену инструмента можно организовать.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:33
verser
Zaharich писал(а): не знаю как завести сигнал с датчика в linuxcnc.
Посмотри как в конфигах сделан probe, по аналогии с ним.

Re: Смена инструмента

Добавлено: 30 янв 2015, 18:36
Serg
S500 писал(а):то что у вас на схеме и такой простой мотор не подойдет, здесь нужен сервомотор или на крайний случай степ мотор, во всяком случае чтобы умел ходить по шагам :)
Не нужно. Управляющий импульс заставляет крутиться мотор до срабатывания датчика. Следующий импульс - следующая позиция. LinuxCNC тут вообще нафик не нужен - пары чипов дискретной логики вполне достаточно.
aftaev писал(а):как linuxcnc узнает какая щас позиция инструмента?
Ещё одного датчика будет достаточно, но похоже это и не понадобится.

Re: Смена инструмента

Добавлено: 30 янв 2015, 19:13
aftaev
а ведь на форуме была уже подобная тема стол поворачивать под операции ;)

Re: Смена инструмента

Добавлено: 31 янв 2015, 01:56
NightV
verser писал(а):Если обязательно сигнал с датчика заводить, то потребуется уже 1 input pin + 1 output pin. При таком раскладе уже полноценную смену инструмента можно организовать.
неполучится, нужно два входа, HOME - первый инструмент и тикалка на каждый, у меня так на пром станке.
и один выход, у меня это правда, через инвертор с плавным торможением сделано, магазин большой (20) и каждый инструмент до 8кг (ограничение по паспорту) итого до 160кг, не считая веса самого магазина

ПС после каждого включения станка, магазин хомится, тоесть делает оборот (или сколько нужно) до поиска нулевого инструмента.
да да, не ржите.. НУЛЕВОГО!! так, пойду в позитиве это опишу :)

ПС
описал Re: Кусочек позитиФФа #2420

Re: Смена инструмента

Добавлено: 02 фев 2015, 12:33
Zaharich
Прощу прощения что отсутствовал в выходные.
Делал поворот стола на МК.
Как реализовать такую же конструкцию но при помощи EMC.


Tablerot: 'Подпрограмма поворота стола
If Pinc.0 = 1 Then
Portd.3 = 0
Wait 1
Portd.3 = 1
End If

While Pinc.0 < 1 'Поворачивать до срабатывания следующей точки
Portd.3 = 0
Wend
Portd.3 = 1
Return

Pinc.0 - это вход датчика
PORTD.3 - это выход на реле
Логика датчика если есть просвет то логическая 1 если нету просвета то логический 0.

Логика работы такая.
1.цикл IF
При подаче сигнала вращения Включается подпрограмма Tablerot
Если Датчик просвещается (стоит в нужном положении). Тогда включаем реле сдергиваем датчик с позиции в которой есть просвет.
Держим реле включенным принудительно 1 секунду что бы точно с ехать с положения просвета. После того как прошла 1 секунда выключаем реле стол останавливается.

2.цикл while
Смотрим просвещается ли датчик. Если датчик не просвещается то включаем реле до тех пор пока датчик начнет просвещаться.
Как только датчик начнет просвещаться выключаем реле и считаем что операция прошла успешно.

Большое спасибо за ваше внимание.