Вот в общем нарисовал что мне надо для станка с чпу
ДОБАВЛЕНО 27/09/2010 19:58
пока не разберусь какая именно нужна механика и считывающее устройство, предпологаю, что можно использовать схему какого нибудь счетчика...один импульс , одно деление(1 миллиметр к примеру)
ну так прилепить обычную и опртоном на отражение риски считать-в милиметр попадёшь(если такая точность устраивает)остальные способы с колёсиками менее точны
ДОБАВЛЕНО 27/09/2010 20:29
ну так прилепить обычную и оптроном на отражение риски считать-в милиметр попадёшь(если такая точность устраивает)остальные способы с колёсиками менее точны
ножет чуть схем подкинете для решения данной задачи? интересует как будет выглядеть линейка с оптопарами.
ДОБАВЛЕНО 27/09/2010 20:43
ну так прилепить обычную и опртоном на отражение риски считать-в милиметр попадёшь
========================================================================
и скока мне их поставить тогда нужно?
INSAN, ты бы сразу сказал про применение, лишних вопросов бы не было.
Координатные станки с ШД работают как правило БЕЗ обратной связи. Просто сначала производится установка исполн. органа в нулевое положение и "сброс" счётчиков координат контроллера (так называемая нуль-калибровка). Далее отсчёт всех координат производится по значениям счётчиков шагов двигателей. Потому тебе и писали в своё время - твои ЩД должны обладать мощностью, достаточной, чтобы исключить проскальзывание (пропуск шагов). Мало того, координатный счётчик Z (глубины сверления) двигатель которого при неверном выборе режима сверления несёт наибольшую нагрузку и вполне может проскальзывать, можно калибровать при каждом поднятии инструмента (сверла или фрезы). Сброс координат осуществляется при свободной подаче сигналов "обратного хода" на все координаты по ОС, например, фотодатчиков в "нулевой точке", или возврат в нулевую точку (упор) количеством импульсов гарантированной достаточности (в смысле - в количестве, более, чем достаточном для возврата саппорта с противоположного угла стола) с управлением двигателем в "мягком" режиме. Затем, стандартным образом - обнуление счётчиков, переключение двигателей в рабочий режим, и... Вперёд!
И что-то ты загнул с один такт на миллиметр. Это не точность - это САБОТАЖ и ДИВЕРСИЯ. Учитывая, что шаг двигателя мал сам по себе, да ещё привод ведётся через нехилые редукторы - либо червячный привод, либо тросиковый привод с шестерёнчатым редуктором - при условии наличия устройств "выборки" люфта точность определяется сотыми/тысячными долями миллиметра на импульс. Открой свою старую тему по станку - там были ссылки... Прочитай ВНИМАТЕЛЬНО. Таже уё@@щный станок-конструктор "Самоделкин", собранный на кривых направляющих и деревянном столе - это благодаря цифровому управлению ПРЕЦИЗИОННЫЙ инструмент с достойной уважения (по сравнению с ручной работой) точностью. даже одиночные случайные проскальзывания двигателей (хотя, откуда им взяться при такой редукции?) не имеют значения - тебя шибко волнуют сотые доли миллиметра?
ну вы мне тут экзамен устроили.
===============================================
= абы дать понять устройству что есть начало или конец =
================================================
использую к примеру энкодер и на ременчатой передаче , и не нужны будут концевики. вот только схему где надыбать счетчика , чтоб и в обратную сторону крутил.
ДОБАВЛЕНО 27/09/2010 22:04
-20 dB, ну это уже мы далеко зашли, меня пока интересует чисто линейка по которой я буду замерять размеры заготовки на рабочем столе.а вообще на этот раз, схему станка собираюсь делать с обратной связью.
...использую к примеру энкодер и на ременчатой передаче...
Да нафиг тебе энкодер? Сам ШД у тебя уже энкодер: контроллер "знает", сколько шагов он велел сделать двигателю, а потому "знает" и его текущее положение. То есть он выполняет функцию "обратного энкодера" - преобразует не перемещение в шаги, а наоборот, шаги в перемещение. Эти значения "сидят" в счётчиках контроллера, по этим значениям и управляющая программа компа управляет контроллером, а стало быть и двигателем - куда переместить инструмент и насколько зарыться для выполнения следующей операции. Ты лучше позаботься о прецизионных датчиках начальных позиций - а вот тут узкощелевые оптодатчики колёсика мыши прокатят на "Ура!". На крайняк - возьми готовые схемы управления координатно-фрезерными станками. Их в инете уже как мусора (сравнение, конечно, некорректное - я чисто о количестве). На разных контроллерах...
Иначе - зачем тебе ШАГОВЫЕ двигатели? Асинхронные или коллекторные и работают веселее, и шума от них меньше. Но вот такой точности они не обеспечат НИКОГДА, даже с самыми дорогостоящими лазерными или СВЧ системами измерения расстояний, и самый высококачественно изготовленный станок останется детской игрушкой. Впрочем, то же касается ШД при внешнем позиционировании - вся точность тут ляжет на измеритель позиции. А какой позиционер (энкодер) обеспечит тебе точность измерения, сопоставимую с точностью простого цифрового позиционирования ШД? Давай посчитаем - пусть у тебя паршивенький шаговый двигатель (100 полушагов, например), работает непосредственно (без редуктора) на паршивенький червячный привод суппорта (ну, 1 мм/виток, например) - точность позиционирования у тебя составит 0,001 мм/шаг! И это - примитив! ЧЕМ ты сможешь измерить такое перемещение? И ЗАЧЕМ, если у тебя уже есть измеренное значение шагов, достаточно для получения РЕАЛЬНОГО размера только умножить это количество шагов на величину шага? Все программы управления ЧПУ делают это автоматически - величину шага ты вбиваешь в прогу вручную - раз и навсегда для конкретного станка! Отдельно - для каждой координатной прямой (то есть даже движки и червяки, или редукторы - особенно при тросиковом приводе суппорта) можно взять РАЗНЫЕ, и прога всё равно ТОЧНО по количеству шагов будет знать (и показывать) положение исполнительного органа.
ДОБАВЛЕНО 28/09/2010 0:20 AM
Кстати, при произвольном закреплении заготовки, без привязки к "нулевой точке" станка, можно предусмотреть ручное перемещение инструмента (кнопками "вперёд-назад", в режимах "автоматически" и "пошагово" либо "быстро" - "точно" (с пониженной частотой шагов управления) для координат X и Y - для установки инструмента на нулевую точку самой заготовки. Затем - команда на обнуление счётчиков, и уже ИМЕННО ЭТА точка у тебя будет нулевой, именно она станет началом отсчёта. Это полуавтоматический режим установки, точность его при односторонней обработке детали даже выше, а вот при двусторонней - несколько меньше. Впрочем, в двустороннем варианте всё зависит от ТВОЕЙ точности повторной установки детали и калибровки нулевой точки - то есть на уровне визуального восприятия.
На пробном станке своём я уже проделывал эти операции в живую так, что всё это ме понятно.
ну а вот на счет , что вы пишете про дш как энкодеры не могу догнать, имеете в виду брать сигнал с самой платы управления дш?
INSAN, я дописал первую часть своего прошлого послания - вроде, всё должно встать на свои места. Тебе не надо БРАТЬ сигнал с платы управления - у тебя и так контроллер (вообще-то, точнее, сама программа управления на компе, ну это не суть как важно) считает количество шагов двигателя, начиная с нулевой точки. Можешь просто "выкачать" значения из контроллера. Так как станок у тебя работает с управлением от компа, прога управления станком САМА разобьёт все операции на шаги, (после того, как ты задашь ей шаг в миллиметрах по каждой координате) и покажет тебе текущее положение сверла (фрезы) уже в миллиметрах. Т.е после ввода размера шага количество ШАГОВ тебя волновать уже не будет.
Пример алгоритма (я не программер, поэтому на пальцах, так сказать, как сам понимаю):
Тебе надо профрезеровать цилиндрической фрезой две параллельные канавки с межцентровым расстоянием 1 см на расстоянии 2 см от верхнего края детали и на расстоянии 0,5 см от левого края и друг от друга, глубиной 2 мм. Центр координат (нулевая точка) у тебя в верхнем левом углу детали. Горизонталь - X, вертикаль - Y. Нулевая точка оси Z - точка контакта фрезы с деталью. Ну, возьмём для примера ещё и разный шаг по осям X и Y (ну, не удалось найти два одинаковых двигателя), например, соответственно 0,01 и 0,02 мм/шаг по осям. А потом - поменять инструмент и наковырять дырочек.
Ну, прорисовку чертежа пропускаем - замечу только, что канавки (а так же всё, что надо наковырять конкретно этой фрезой) изображаем в одном слое чертежа, другим инструментом - в другом, третьим - в третьем, и т.д.
Подготовительная стадия - вывести фрезу в нулевую точку детали (в режиме ручного управления по осям X и Y, вручную опустить фрезу до контакта с деталью, обнулить счётчики. Всё, все счётчики у тебя в нулях. В прогу с чертежом (нормальным, нарисованным в миллиметрах) на компе вбить шаг X: 0,01 мм, Y: 0,02мм, Z: 0,01 мм. Всё, эти значения вбиты раз и навсегда до реконструкции станка с изменением параметров.
Запускаем программу на компе. Программа командует контроллеру:
100 шагов минус по Z (поднять фрезу на миллиметр)
500 шагов плюс по X (переместиться на 5 мм по горизонтали)
500 шагов плюс по Y (переместиться на 10 мм по вертикали - не забываем, прога ПОМНИТ, что шаги у нас разные)
Значения заносятся в счётчики координат контроллера станка. Включаются двигатели, все три координаты "отрабатывают" одновременно, или поочерёдно - в данный момент без разницы, НО: каждая команда на шаг двигателя, отданная контроллером драйверу двигателя, декрементирует (уменьшает) содержимое соответствующего счётчика на 1. В результате, в тот момент, когда инструмент встанет в заданное положение, в счётчиках контроллера снова будет 0. Контроллер передаёт компу:
- Ваше приказание выполнено!
Комп:
- Ось Z: плюс 300 шагов! (помнит, сцуко, что для перемещения поднимал фрезу на минус100, и 200 - глубина фрезерования).
Контроллер - драйверу движка Z:
- Ай, пля, чо-то мне в счётчик Z упало. Эй, двигун Z, приступили к упражнениям! На раз-два (в прямом направлении) начи-най! Раз шаг (минус один в счётчик), два шаг (ещё единичку удаляем), три, четыре.... триста! Ну, всё, в счётчике - ноль!
Контроллер - компу:
- Ваше приказание выполнено!
Комп - контроллеру:
- Ось Y: плюс 500 шагов! (помнит, зараза, что по Y шаг в два раза крупнее)
Контроллер - драйверу движка Y:
- Раз, два, три, ...полтыщи!
Контроллер - компу:
- Готово!
Комп:
- Ось Z: минус 300 (поднять фрезу на три миллиметра от исходной точки, то есть на миллиметр от нулевой)
Контроллер - драйверу Z:
- На два-раз (в обратную сторону, поскольку - минус): раз, два, три...
...
Комп:
- Ось Y: минус 500! (переместить фрезу на то место, откуда начали фрезерование)
...
- Ось X: плюс 500! (сместить на полсантиметра вправо)
...
...
...
Контроллер - компу после последнего поднятия фрезы:
- Готово!
Комп:
"Так. на этом чертеже (в этом слое, если надо выполнить на этой детали НЕСКОЛЬКО разных операций) у нас всё. Однако, суммарно фреза у нас висит в позиции X: +1000: Y: +1000, что не есть комильфо".
Комп - контроллеру:
- Ось X: минус тыща, ось Y: минус тыща!
Контроллер драйверам:
- Эй, вы, оба (или по порядку): раз, два, три, ... тыща!
Контроллер - компу:
- Готово, вашблагородь!
Комп:
- Благодарю за службу!
Юзеру:
- А я чо? Я ничо! Я, хозяин, всё сделал!
(Движки, между собой:
- Фигасе! Он, б@я, СДЕЛАЛ!!!)
Юзер:
- Э, милок, погодь, ща фрезу на свёрлышко 0,8 поменяю!... А теперь включим слой с разметкой дырдочек... Выполнять!
Комп - юзеру:
- Бу сде, тврщ главком!
Комп - контроллеру:
- Эй, ты...!
Контроллер - движкам:
- Э, негры, кончай курить!..
...
...
...
...
(ну, упрощённо конечно - стековую память команд контроллера я выкинул - вообще-то, комп грузит сразу блок последовательных команд в стек, откуда уже контроллер поочерёдно их выдёргивает и отдаёт на исполнение движкам-неграм)...
Ну, и на кой тут чёрт обратная связь? (Это уже Я спрашиваю). Разве что возникнет проскальзывание шагов двигателя (например, при чрезмерной нагрузке), но пара-тройка проскальзываний практически никак не будет заметна, даже на таком, корявом станке с таким шагом - что такое 0,03 мм погрешности? Даже измерить-то нечем... Впрочем, это уже повод задуматься либо о повышении мощности движков, либо о увеличении редукции (кстати, в последнем случае не только усилие увеличится, но и шаг уменьшится, то есть те же 3 проскальзывания ещё в N раз меньше заметны будут).
Как вариант - на множестве струйных принтеров (где горизонтальное перемещение головки идет коллекторным двигателем) стоит готовый узел - прозрачная полоска с нанесенными рисками и оптический считыватель. Шаг - довольно мелкий 0.1-0.2мм (примерно). Принтеров таких дохлых в свое время было много.
а как насчет узла от старой мышки там шар и 2 строб датчика по х =и= y
Вози себе мышку и считай ..все что надо!
Упс ..как то просмотрел ,что уже предложили ...
Сорри
А вот еще мысля...
По принципу курвиметра ,в колесико магнит и платку с датчиком хола ..
Точность как у курвиметра будет ,если колесико сделать небольшим!
Сталкивался тут с REINSHAW если не путаю, стояло на раскроечном станке для пластиковых панелей. Что-то в пределах 1.5 х 3 м с точностью 0.1 мм с выносными блоками индикации отдельно по координатам, батарейное питание. Измерители старые, сняты с производства. Ленты были изувечены, менять их хозяева станка не захотели, заказали что-то другое, подробности если надо могу узнать.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять файлы Вы можете скачивать файлы