Выставить ноль после смены инструмента.

JohnSilver_Esq
ALEX_61:

Респект!
Не перевелись еще гении на земле нашей!

Почитал, офигел, страшно подумать что за станок вы конструируете если у вас такое для определения “0” инструмента.

Молодцы, Удачи!

Спасибо 😒

mura:

короче, пока мечты 😦

Мечты о чем?

Baha
JohnSilver_Esq:

Каждое элементарное перемещение задается вектором, этот вектор пересчитывается в количество шагов и скоростей по осям и передается по USB (на наших ноутбуках нету ни LPT, ни COM портов) контроллеру, который отрабатывает эту команду. У контроллера есть небольшой буфер на 6 команд. По мере выполнения команд из буфера программа добавляет новые. Естественно контроллер умеет отчитываться что происходит (какая команда выполняется и на каком именно шаге) по запросу программы.

Программа, откуда берет вектора перемещения по Z? А ускорение учитывается?

Soling
JohnSilver_Esq:

Песня такая (прошу не забывать, что мы оба программисты, в ЧПУ разбираемся на банальном уровне, потому не смейтесь над терминологией):

В общем, делать еще его и делать 😃

Не примите как злобный наезд!
😁
В конце концов - каждый чудит как хочет. Но… из чистого любопытства…

  1. Начиная работу Вы ознакомились с тем что уже есть в этой области?
  2. Что подвигло Вас заняться этой программой?
  3. Какие преимущества по сравнению с существующими она будет иметь?
  4. Планируется ли подключение к работе над ней технолога и конструктора?
  5. Чте Вас не устроило то, что уже создано?
  6. По каким соображениям выбран именно DXF формат?
JohnSilver_Esq
Baha:

Программа, откуда берет вектора перемещения по Z? А ускорение учитывается?

Про вектора по Z не совсем понял, что Вы имеете в виду.
А ускорением контроллер занимается (опять-таки, если я правильно Вас понял - старт и остановка плавные).

JohnSilver_Esq
Soling:

Не примите как злобный наезд!
😁

Боже сохрани!!! 😃

Soling:

В конце концов - каждый чудит как хочет. Но… из чистого любопытства…

  1. Начиная работу Вы ознакомились с тем что уже есть в этой области?
  2. Что подвигло Вас заняться этой программой?
  3. Какие преимущества по сравнению с существующими она будет иметь?
  4. Планируется ли подключение к работе над ней технолога и конструктора?
  5. Чте Вас не устроило то, что уже создано?
  6. По каким соображениям выбран именно DXF формат?
  1. Вкратце 😃 Точнее, ознакомились, но нас не впечатлило что тому же мачу нужно практически обеспечивать реал-тайм, запускаешь паралельно браузер - в тырнет посмотреть - и тормоза прослушиваются невооруженным ухом. Оно и понятно, и я не хочу влезать в дискуссии по поводу как правильно шимить и какие частоты приемлимы, и о преимущества степ/дира перед коллиматорным прицелом - зачем? Я же могу дать команду контроллеру - сделай 100 шагов по Х, 300 по Z и шага три по Y - и хай он себе шимит или степдирит до потери пульса - а мой ПК в это время будет мне HTML парсить, а не дрожать над милисекундами, тем более что сейчас мой контроллер на 40 МГц тактовой прекрасно справляется со всеми задачами.

  2. Мнэээ… Ну… Да! 😒

  3. О каких преимуществах идет речь? Откуда им там взяться 😃 ? Мне достаточно (пока), а там будет видно. Внимательно изучали линуховый live-cd с на борту, направление поняли, опять же - где смогли - подчитали (этот же форум, например), ну а что и сами додумали. Повторюсь - мы в этих вопросах чайники, и на нобелевку по точному позиционированию не претендуем 😃

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

  5. См. п.1.

6.Так это ж песня! Его все-все понимают, все-все умеют создать, распарсить его и скормить OGL-у - как два пальца об стол, обсчитывать тоже удобно. Ну и у него есть большой-большой плюс - на запрос в гугле dxf первая же ссылка - описание его формата 😃

Soling
JohnSilver_Esq:

Боже сохрани!!! 😃

Спасибо, что правильно поняли.
😁

На сколько я понял, в маче Вас не устроила его нетерпимость к совместной работе? Но… любой станок по своей природе есть аппарат реального времени. И, по той же природе, Винды в стандартном виде не переваривает. По этой причине все мало мальски серьезные станки снабжаются своими мозгами. Буфер в 6 команд Вас не спасет. Этого мало! Мультикам, нпример закачивает в буфер порядка 1000 строк. ( Ну на вскидку, это не точно ). Однако делать что то на компе. когда идет резка большого файла не советую. Умрет наткнувшись на занятый комп.
Теперь о Маче. Его работа рассчитана на выделенный комп. Но… при этом он абсолютно не прихотлив к этому аппарату.
Вы можете поставить на управление старый, никому не нужный хлам и его производительности с лихвой хватит на все Ваши запросы к станку. А стоить это будет копейки. Кроме того, Мач поддерживает USB, если оно так нужно. Да и по остальным возможностям вполне соответствует. Надо только разобраться в нем, что далеко не все делают, как показала практика. ( Проще объявить, что прога - барахло 😁. Это не к Вам, конечно. )
Вот с технологами плохо. Хотя бы один для постановки задачи нужен. Как программист Вы в курсе, что 90% успеха проги в этой самой постановке. Если программист не в курсе задачи, что он будет описывать?
Конечно, каждый волен распоряжаться собой. Но на мой взгляд, такую работу, не хилую по объему, затевают по конкретным причинам. Как то: уникальность станка, не поддерживающаяся готовым софтом. Желанием монополизировать продукцию, станок, то есть. Коммерческими интересами. В смысле продажи своего софта. И наконец, самой веской - “ХОЧЕТСЯ”.
😁
Что до DXF формата - Вы заблуждаетесь. Это не самый удачный вариант. Распостраненность его объясняется остаточной
популярностью АКАДа и принятому, когда то по ситуации, соглашению использовать этот формат для обмена. Но он безнадежно устарел. А кроме того проблема Z координат…

JohnSilver_Esq
Soling:

a) Буфер в 6 команд Вас не спасет. Этого мало! Мультикам, нпример закачивает в буфер порядка 1000 строк. ( Ну на вскидку, это не точно ).

б) Однако делать что то на компе. когда идет резка большого файла не советую. Умрет наткнувшись на занятый комп.
Теперь о Маче. Его работа рассчитана на выделенный комп. Но… при этом он абсолютно не прихотлив к этому аппарату.

в) Вот с технологами плохо. Хотя бы один для постановки задачи нужен. Как программист Вы в курсе, что 90% успеха проги в этой самой постановке. Если программист не в курсе задачи, что он будет описывать?

г) Конечно, каждый волен распоряжаться собой. Но на мой взгляд, такую работу, не хилую по объему, затевают по конкретным причинам. Как то: уникальность станка, не поддерживающаяся готовым софтом. Желанием монополизировать продукцию, станок, то есть. Коммерческими интересами. В смысле продажи своего софта. И наконец, самой веской - “ХОЧЕТСЯ”.

д) Что до DXF формата - Вы заблуждаетесь. Это не самый удачный вариант. Распостраненность его объясняется остаточной
популярностью АКАДа и принятому, когда то по ситуации, соглашению использовать этот формат для обмена. Но он безнадежно устарел.

е) А кроме того проблема Z координат…

Я позволил себе разбить Ваш пост на подсекции, чтобы не цитировать каждую отдельно.

а) Понимаю, что мало, но поскольку я рассчитываю таки приучить контроллер к G-кодам, то у меня просто не хватит памяти (там всего 2 КБ, поддержка USB жрет много, а для G-кодов нужны вычисления с плавающей запятой, т.е. как минимум по 6 байт на значение). Хотя я серьезно думаю над прилепить дополнительную память, скорее всего внешний EEPROM по I2C шине а то, опять же, ног не хватит на движки.

б) согласен на все сто, но мач не бесплатный, а как программист хорошо понимаю почему плохо не платить за софт - от этого карма портится 😎. Опять же, денег в принципе не жалко, но если есть возможность потратить их на дополнительный шаговик, а программу написать самому - выберу вариант 1.

в) опять-таки согласен. Но читание тырнета здорово помогает в плане образования. Да и книги всякие полезные бывают.

г) Ну, про нехилость по обьему - это Вы слегка завернули. Железо - ну купил я валы - каретки - винты - болты - гайки, это по большому счету конструктор - не туда вставить невозможно, все фрезеровано/полировано/резьбонарезано в заводских условиях, госты и допуски с посадками (я и такое слово знаю) не отменял никто - соответственно, сидит все как влитое, сверловку по-мелкому сам рожал - ну так это дело и нехитрое, по-большому счету. А с программной частью - 17 лет стажа дают о себе знать. Программу (до текущего состояния) писали 7 свободных вечеров (за вечер - распарсили dxf и прилепили OGL шоб видно было, еще три вечера - расчет столкновений, ну и плюс слегка геморрой по расчету подач плюс вылизывание) - для меня это не есть нечто неподьемное. Да и, программа все-таки в разработке, я (как программист) прекрасно понимаю что еще не один вечер уйдет на ловлю багов и на “вот тут вот еще чуть-чуть пестаттее хочу сделать” - ну и что? Ведь главный-то стимул - именно тот, который Вы и озвучили - ХОЧЕТСЯ 😃. А если оно в кайф - то мне и месяца не жалко будет, фиг с ним, любая работа в удовольствие - это удовольствие 😃.

д) Честно говоря, если Вы мне покажете пальцем и скажете - вот, удобный и красивый формат, и вот его описание, а вот тут вот видно что он все мэши строит красивыми треугольниками с уже обсчитанными нормАлями - то я может и поведусь на то, чтобы переписать свой парсер. А может и не поведусь 😃

е) вот я всё не пойму - в чём проблема с Z-координатами? Если обьясните, что Вы имеете в виду - буду благодарен, а то я наверное слона не вижу.

Soling
JohnSilver_Esq:

Ведь главный-то стимул - именно тот, который Вы и озвучили - ХОЧЕТСЯ 😃.

Наш человек!
😁 😁 😁
С форматом, не вдаваясь в глубь… посмотрите форматы Solid Works, Rhino. Последний , к стати, работает в сплайнах и нурбс. Удобен для 3D формат STL. ACAD же никогда не работал нормально с 3D. Так же возникают проблемы при трансляции сплайнов в его формат. А проблема совместимости форматов далеко не самая последняя. Неплохо проходит
также формат 3DMax.

А про контроллер… я бы все же поставил какую нибудь старенькую плату от PC. Пусть не для Мача, а для своей проги, поле все же шире. Не надо зажиматься ограничениями железа. А значит можно положить больше полезных примочек в прогу. При Ваших размахах, мне кажется Вы все равно к этому придете. Захочется больше, а некуда.

JohnSilver_Esq
Soling:

С форматом, не вдаваясь в глубь… посмотрите форматы Solid Works, Rhino. Последний , к стати, работает в сплайнах и нурбс. Удобен для 3D формат STL. ACAD же никогда не работал нормально с 3D. Так же возникают проблемы при трансляции сплайнов в его формат. А проблема совместимости форматов далеко не самая последняя. Неплохо проходит
также формат 3DMax.

Посмотрю, спасибо за наводку.

Soling:

А про контроллер… я бы все же поставил какую нибудь старенькую плату от PC. Пусть не для Мача, а для своей проги, поле все же шире. Не надо зажиматься ограничениями железа. А значит можно положить больше полезных примочек в прогу. При Ваших размахах, мне кажется Вы все равно к этому придете. Захочется больше, а некуда.

Ну как это, некуда… Шо ж у меня, паяльник отсох? Дойду до ручки - припаяю новую 😃
Правда, я еще одного не понимаю - почему Вы употребляете слово ‘размах’? Начитавшись местного форума рассчитывал услышать в свой адрес в лучшем случае ‘детский сад’.

Если честно - валяется у меня одноплатный Kontron-овский комп на первом пентиуме, и пара нотиков старых тоже найдется, но это всё запасной вариант. Как только упремся в ограничение своей технологии - абизательно задумаюсь над переходом.

Soling
JohnSilver_Esq:

Правда, я еще одного не понимаю - почему Вы употребляете слово ‘размах’? Начитавшись местного форума рассчитывал услышать в свой адрес в лучшем случае ‘детский сад’.

“Не задумывайтесь слишком над тем, что о Вас скажут окружающие. Они заняты именно этим же.”
Марк Твен.
😁
Размах, потому что не каждый возьмется за такую задачу, да с такими предпосылками. Я имею в виду сканирование инструмента, и т д. Бывает не хватает запала даже разобраться толком в существующих прогах. Но за то желание выставлять оценки у таких индивидуумов не угасает. Вот это точно - дет сад.
😁

JohnSilver_Esq
Soling:

Я имею в виду сканирование инструмента, и т д.

Тю… Для меня бОльшую проблему составляет отличить жесткость конструкции от упругости вала… Но это уже, видать, кто на что учился 😃

Спасибо за поддержку.

Baha
JohnSilver_Esq:

Тю… Для меня бОльшую проблему составляет отличить жесткость конструкции от упругости вала… Но это уже, видать, кто на что учился 😃

Спасибо за поддержку.

А как ваша программа из dfx формата передает Z на драйвер или контроллер? На чем собран ваш драйвер или контроллер? Значение ускорения как задается?
Или вы в драйвере жестко забили какое то значение ускорения?

maza

Насколько я понимаю программа пока расчитанна на резку 2д…
Даешь опен сорс =)

JohnSilver_Esq
Baha:

А как ваша программа из dfx формата передает Z на драйвер или контроллер? На чем собран ваш драйвер или контроллер? Значение ускорения как задается?
Или вы в драйвере жестко забили какое то значение ускорения?

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

Про железо уточню - сейчас контроллер собран на PIC18f4550, но скорее всего переделаю на связку PIC18F4550+PIC18F4431 (а может и нет - пока сомневаюсь). Микрошаг не использую, хотя, наверное, нужно. Двигатели включны униполярно, по две фазы одновременно (шоб момент поболе стал). Никаких дополнительных драйверов ШД не испольую, силовая часть - мосфеты напрямую управляемые от пика.
По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).

На всякий случай уточню - станок еще не готов посему, скажем, фотки не выложу, пока до ума не доведем. Ну, отдельных узлов, разве что. Испытания проводим или на временной платформе, или на тестовом стенде.

Пока, если подумать, действительно мечты - но вполне реальные.

maza:

Насколько я понимаю программа пока расчитанна на резку 2д…
Даешь опен сорс =)

Почему 2D? все три…
А опенсорс обязательно выложим - чего ж не поделиться…

Soling
JohnSilver_Esq:

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

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
Что бы избежать рывков на дугах, например, или при смене направления, прога делит отрезки на три части. Разгон - максимум - торможение. Часто участка не хватает для полного цикла и тогда средняя скорость падает, за счет того, что разгон в какой то момент переходит сразу в торможение. Для некоторых аппаратов это свойство жизненно важно.
500 = 600 кило портала в жестком режиме - кошмарный сон!
Кроме того, скорость ( максимальная ) обязательно задается в УП. Это один из важнейших параметров резки и он индивидуален для каждого сочетания инструмент - материал - шаг резки - глубина. втоматом можно задавать скорость, скажем, замеряя постоянно нагрузку на фрезе и корректируя скорость под заданную рабочую… но гимора в такой системе будет - немеряно!
Обороты шпинделя тоже надо задавать из УП и с возможностью ручной коррекции. При этом диапазон подстройки стоит сделать от 50% до 200% от заданного в УП.

P.S.
Вообще то тема как то вышла за рамки установки нуля. Может стоит перенести обсуждение в другую?

Baha
JohnSilver_Esq:

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

Про железо уточню - сейчас контроллер собран на PIC18f4550, но скорее всего переделаю на связку PIC18F4550+PIC18F4431 (а может и нет - пока сомневаюсь). Микрошаг не использую, хотя, наверное, нужно. Двигатели включны униполярно, по две фазы одновременно (шоб момент поболе стал). Никаких дополнительных драйверов ШД не испольую, силовая часть - мосфеты напрямую управляемые от пика.
По поводу ускорений - заданы жестко (точнее, экспериментально на глаз подбираю и записываю в епром, шоб не перешивать прошивку), но скорее всего придется делать воможность автокалибровки (хотя, если так подумать - смысл это делать есть только если предполагается смена шпинделя, а это, наверное, вопрос не скорого времени).

DFX то векторный 2d формат, я вас понял вы строите из 3D модели на двух плоскостях DFX срез.

Станок не интересен, его здесь полно как грязи, интересен самопальный софт и драйвер. А почему бы не использовать Атмегу 128?

Baha
JohnSilver_Esq:

Не пойму, что Вы все про Z спрашиваете… Я ж говорил - парсим dxf, т.е. строим 3d модель в памяти, соотв. все координаты известны, не только Z. Или я неправильно понял Ваш вопрос?

dxf это 2d формат, а откуда берете 3-ю координату? Реальный рельеф, как на картинке можно обработать на вашей программе?
Куб, прямоугольник, выборки или всякие пазы можно обработать с помощью dxf, но это не 3d, это 2 или 2.5d

JohnSilver_Esq
Soling:

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.

Кроме того, скорость ( максимальная ) обязательно задается в УП. Это один из важнейших параметров резки и он индивидуален для каждого сочетания инструмент - материал - шаг резки - глубина. втоматом можно задавать скорость, скажем, замеряя постоянно нагрузку на фрезе и корректируя скорость под заданную рабочую… но гимора в такой системе будет - немеряно!

Обороты шпинделя тоже надо задавать из УП и с возможностью ручной коррекции. При этом диапазон подстройки стоит сделать от 50% до 200% от заданного в УП.
P.S.
Вообще то тема как то вышла за рамки установки нуля. Может стоит перенести обсуждение в другую?

Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.

Сейчас у меня сделано следующим образом: есть закон изменения задержки межу шагами от фазы движения. Он линейный, но не проблема изменить, например, на первый полупериод синуса, но это не важно. Он описан двумя величинами: вектором пар фаза:задержка (f:p) и скоростью (s), заданной УП (в зависимости от материала). Соответственно, чем больше (s) - тем больше инкремент (f), т.о. огибающая скорости [почти] всегда имеет одинаковый вид.

Насколько я понял из Вашего поста - таблицу (f:s) мне нужно пересчитывать исходя из массы каретки - хотя делал, повторюсь, на глаз.

Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку. Т.е. если ток растет больше указанного значения - увеличиваем задержки между шагами. Т.о. отпадет необходимость контроля ускорений при старте, и пересчета скорости для разных материалов. Или это велосипед?

Регулятор оборотов шпинделя - в планах, но сначала хочу хоть уже до кучи собрать станок (ждем три хомута для ходовых гаек), что бы не на стенде гонять а в живую.

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

Про P.S. - можно и перенести, хотя мне кажется что все кому интересно - уже здесь и читают.

Soling
JohnSilver_Esq:

Вы знаете, после прочтения Вашего поста у меня слегка изменилось понимание того, что НУЖНО было сделать. Я себе так решил, что будет достаточно просто один раз (ну, иногда подправить) отладить ускорения при старте/останове прохода, и все.

Кстати сказать, по поводу измерения нагрузки на фрезе. У меня все крутится мысль сделать простой “авторегулятор” - навесить датчики холла на питание двигателей, и задавать не постоянную скорость а постоянную нагрузку.

В принципе старт - останов ставится один раз. Нужен он для компенсации момента масс механизьма. Со скоростью резки это не связано. Тут есть другая величина для рассчетов - подача на зуб. Для каждого материала она своя. Фактически это толщина стружки снимаемой зубом фрезы. Power Mill умеет считать скорость по этому параметру. Остальные ограничиваются ручным вводом скорости подачи, оставляя выбор оператору.
Мне кажется не имеет смысла завязывать двление фрезы и обороты. Во первых - система получится очень грубой. Учитывая мощности шпинделей и диаметров фрез, которые применяют для мелочевки… в общем датчик просто не заметит этих изменений. Больше подошли бы тензо датчики. Но и с ними беда. Слишком много возмущений от движения
кареток. Кроме того, при шаговых двигателях движение дискретно. Это для нас шаг в микрон исчезающе мал. А датчику это приличный всплеск нагрузки.
Так, что я думаю не стоит с этим заморачиваться. Овчинка не стоит выделки.

Zarko
Soling:

Если я правильно понял, речь идет режиме разгон - торможение. Скорость движения по траектории не постоянна.
Что бы избежать рывков на дугах, например, или при смене направления, прога делит отрезки на три части. Разгон - максимум - торможение. Часто участка не хватает для полного цикла и тогда средняя скорость падает, за счет того, что разгон в какой то момент переходит сразу в торможение. Для некоторых аппаратов это свойство жизненно важно.
500 = 600 кило портала в жестком режиме - кошмарный сон!

То же самое, только наглядно…

www.instankoservis.ru/index.php?option=com_content…

Galant1

На правах идеи…
А не пробовали использовать для калибровки сенсор оптической мыши?
Может быть интересно?