roboforum.ru

Технический форум по робототехнике.

G- коды Для калибровки оси Z и уровня стола

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

G- коды Для калибровки оси Z и уровня стола

Сообщение Diag2all » 04 фев 2014, 11:52

Предлагаю собраться мыслями и обсудить субж.
что он дает.
1) и самое главное это точность калибровки положения крайней точки экструдера относительно стола.
Никакая калибровка концевика или даже "авто калибровка" не даст такой точности в силу сл. причин
а) вы не сможете переместит концевик с точностью чем 0.2-0.3 мм (а программно можно перемещать ось Z 0.1 и выше)
б) Автокалировка также построенна на мех. датчике (в основном кустарного производства, ) и ее качество не выше.
2) Время программной калибровки стола 2-3 мин. Это ничто по сравнению в временем печати... повторная калибровка концевика Z может занять от 10 мин и более и не факт что это будет лучше чем было до этого.

вот пример кода калибровки оси Z от принтера Thing-O-Matic
(ЭТО ТОЛЬКО ПРМЕР что бы была понятна суть процесса)
M18 (This disables the stepper motors.)
M01 (Move the build platform until the nozzle lies in the center, then turn the threaded rod until the nozzle just touches the surface without pressing into it. Then, press yes to continue.)
G92 X0 Y0 Z0 A0 B0 (Declare the current position to be (0,0,0,0,0))
G162 Z F500 (Home Z axis maximum; go until reaching the end stop.)
G161 X Y F2500 (Home X and Y axis minimum; go until reaching the end stop.)
M131 X Y Z A B (record the current coordinates to the motherboard)
M00 (Congratulations, your coordinates are now saved! To tweak them, use the 'Motherboard Onboard Preferences' dialog in the Machine menu. <br/>Note: You will need to re-generate your gcode files using a new profile in order to use these saved settings.)

у конкретно этих кодов 2 проблемы
1) Эти коды (не все, например код G92 есть в марлине) работают только на прошивке Thing-O-Matic . но как видно из описания процесс калибровки примитивен. Достаточно Move the build platform until the nozzle lies in the center, then turn the threaded rod until the nozzle just touches the surface without pressing into it""
2) при калибровке не учитывается кривизна стола.

но есть наборы кодов (я видел результат из работы) когда пользователь ставить от 3 до 5 точек на печатном поле и все они записываются: 1) или в прошивку (и мы забываем про калибровку навсегда) 2) или в ЕПРОМ и калибруем каждый раз после включения принтера или в "Старт код" перед Слайсингом (по идее про калибровку тоже можно забыть навсегда)

Идея кода(на сколько я понимаю): высчитывание количества шагов от 0 (печатного поля ) до концевика Z Макс.
дальнейшая печать модели происходит с учетом количества тех шагов которые мы получили после измерения положения Экструдра в каждой точке.
i3 Arduino2560+RAMPS 1.3+LCD
Diag2all
 
Сообщения: 58
Зарегистрирован: 25 ноя 2013, 21:23
Откуда: Шанхай

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Radus » 04 фев 2014, 14:06

http://www.thingiverse.com/thing:220709
http://www.youtube.com/watch?v=qci2Qgi7VGE

Все равно нужны датчики, чтобы определять дотронулось сопло до стола или нет
Пластиковые детали для сборки принтеров на заказ
https://vk.com/album3660793_175845188
История создания моего принтера Reprap Prusa Mendel
vk.com/album3660793_161395751
Аватара пользователя
Radus
 
Сообщения: 581
Зарегистрирован: 14 фев 2013, 23:39
Откуда: Тольятти

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Diag2all » 04 фев 2014, 16:46

2 Radus НЕТ НЕНУЖНЫ но, поскольку вы в это (что датчики нужны)свято верите, переубеждать вам в обратном или доказывать свою правоту я не собираюсь.
i3 Arduino2560+RAMPS 1.3+LCD
Diag2all
 
Сообщения: 58
Зарегистрирован: 25 ноя 2013, 21:23
Откуда: Шанхай

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Екатеринбуржец » 04 фев 2014, 17:54

"Идея кода(на сколько я понимаю): высчитывание количества шагов от 0 (печатного поля ) до концевика Z Макс."

А на сколько я понимаю предварительно все равно надо в ручную установить зазор между хотендом и столом. И в данном случае z-max - аварийный выключатель.
Сбой зазора по моему происходит когда отдираешь напечатанную деталь. Стол иногда ходуном ходит. Когда просто выставляешь зазор и гоняешь хотенд - зазор не сбивается. Следовательно даже точности микриков хватает.
По мне так auto leveling bed в Марлине нормальная вещь. Только вот если както исхитрится и использовать вместо серво простые датчики.
Printer: Haeckel Custom Edition
Firmware: Marlin
Host: Cura 14.01
Slicer: Cura 14.01
Filament: ABS - 1,75 mm
Nozzle: 0,4 mm
Electronics: Arduino Mega + RAMPS 1.4
Екатеринбуржец
 
Сообщения: 213
Зарегистрирован: 04 янв 2014, 18:33

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Diag2all » 04 фев 2014, 20:53

Екатеринбуржец писал(а):А на сколько я понимаю предварительно все равно надо в ручную установить зазор между хотендом и столом. И в данном случае z-max - аварийный выключатель.
Сбой зазора по моему происходит когда отдираешь напечатанную деталь. Стол иногда ходуном ходит. Когда просто выставляешь зазор и гоняешь хотенд - зазор не сбивается. Следовательно даже точности микриков хватает.
По мне так auto leveling bed в Марлине нормальная вещь. Только вот если както исхитрится и использовать вместо серво простые датчики.

вы хотя-бы на секунду вдумывались в чем смысл этих 2х строк кода ?
G92 X0 Y0 Z0 A0 B0 (Declare the current position to be (0,0,0,0,0))
G162 Z F500 (Home Z axis maximum; go until reaching the end stop.)
походу дела НЕТ

зачем вам простые датчики ?
б) Автокалирбвка ОНА-ЖЕ auto leveling bed также построена на мех. датчике (в основном кустарного производства, ) и ее качество не выше.
i3 Arduino2560+RAMPS 1.3+LCD
Diag2all
 
Сообщения: 58
Зарегистрирован: 25 ноя 2013, 21:23
Откуда: Шанхай

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение baru » 04 фев 2014, 22:11

Diag2all писал(а):2 Radus НЕТ НЕНУЖНЫ но, поскольку вы в это (что датчики нужны)свято верите, переубеждать вам в обратном или доказывать свою правоту я не собираюсь.
зачем топик открывал?
Diag2all писал(а):вы хотя-бы на секунду вдумывались в чем смысл этих 2х строк кода ?
G92 X0 Y0 Z0 A0 B0 (Declare the current position to be (0,0,0,0,0))
G162 Z F500 (Home Z axis maximum; go until reaching the end stop.)
походу дела НЕТ
у вас какой принтер? вот у меня например, мендель90. А вот в вашем коде инструкция
Diag2all писал(а):then turn the threaded rod until the nozzle just touches the surface without pressing into it.
которую, я надеюсь, вы подскажете как планируете осуществить. Я её, кстати, в ручном режиме, использую, когда хотенд меняю временно, а перепрошивать смысла нет. Я паркую Z вверху, потом пригоняю её к столу, с помощью репитера опускаю до касания хотенда, отправляю G92 Z0, убираю G28 из кода и вперед. Но смысл автолевела, как мне кажется, в том, чтобы не было "вручную", а для этого нужен датчик.
baru
 
Сообщения: 212
Зарегистрирован: 11 июл 2013, 20:24
Откуда: г. Харьков

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Екатеринбуржец » 05 фев 2014, 07:41

Признаю - в G кодах я полный ноль.
Как и многие на этом форуме.
Поэтому я не понимаю - если я вручную установил начало печати и максимальная высота печати ограничена в прошивке и программе управления то зачем мне гонять каретку по Z туда-сюда?
И полностью согласен с baru - смысл автоустановки - отказ от ручных операций. А для этого программе надо знать начальную точку отсчета. Датчик дает эту точку без вашего участия.
Printer: Haeckel Custom Edition
Firmware: Marlin
Host: Cura 14.01
Slicer: Cura 14.01
Filament: ABS - 1,75 mm
Nozzle: 0,4 mm
Electronics: Arduino Mega + RAMPS 1.4
Екатеринбуржец
 
Сообщения: 213
Зарегистрирован: 04 янв 2014, 18:33

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение baru » 05 фев 2014, 11:10

Екатеринбуржец писал(а):Поэтому я не понимаю - если я вручную установил начало печати и максимальная высота печати ограничена в прошивке и программе управления то зачем мне гонять каретку по Z туда-сюда?
смысл предложенного способа, в том, что максимальные значения сначала не прошиты или требуют корректировки. сейчас мы пользуемся: хоум по концевику и контроллер берет из прошивки количество шагов до центра. А ТС предлагает: ставите центр вручную, нажимаете home и контроллер считает сколько сделал шагов до концевика и это число записывает себе за максимум (или минимум) и потом им пользуется. Можно несколько точек так указать и контроллер запомнит "кривизну стола". Я себе автолевел пока не делал и похоже, если разобраться в программной его реализации, предложенный способ может помочь обойтись без датчиков, смирившись с "вручную".
baru
 
Сообщения: 212
Зарегистрирован: 11 июл 2013, 20:24
Откуда: г. Харьков

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Екатеринбуржец » 05 фев 2014, 16:07

А поскольку столик смещается то каждый раз ручками устанавливать зазор. Чем это лучше датчика?
ТС утверждает, что точность датчиков низкая. Возможно. Сегодня поставил два самодельных датчика на Z, соединенных последовательно.Один срабатывает когда каретка в левой части другой когда каретка в правой. Выставил параллельность стола. Погонял автолевел. Разница в показаниях датчиков сотые доли миллиметра. 0.01-0.04! Причем датчики отрегулировал без особого труда.
Теперь тестирую в работе. По первым впечатлениям зазор автоматом нормально выставляет.
DSC00765.JPG
DSC00764.JPG
DSC00763.JPG
Printer: Haeckel Custom Edition
Firmware: Marlin
Host: Cura 14.01
Slicer: Cura 14.01
Filament: ABS - 1,75 mm
Nozzle: 0,4 mm
Electronics: Arduino Mega + RAMPS 1.4
Екатеринбуржец
 
Сообщения: 213
Зарегистрирован: 04 янв 2014, 18:33

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Diag2all » 05 фев 2014, 18:03

2 baru (сори что на ты) у меня i3. топик я открыл не для того что бы доказать что это возможно а для совместного поиска решения проблемы. Концевики нафиг ненужны. СОВСЕМ. ибо у тебя есть количество шагов между 0 и HOME. и эти шаги благодаря ПО ты сможешь выставить с точностью до 0.01 Вот чем плох "автолевел" см. ниже.
Екатеринбуржец писал(а):Погонял автолевел. Разница в показаниях датчиков сотые доли миллиметра. 0.01-0.04! Причем датчики отрегулировал без особого труда.
Теперь тестирую в работе. По первым впечатлениям зазор автоматом нормально выставляет.

Не верю что человек руками (тут я имею ввиду что при тех инструментах которыми мы пользуемся сейчас.) сможет выставить (тем более 2 датчика) на одном уровне с точностью до сотых ММ. Ну выставить он конечно сможет (рано или поздно произведя с 10к замеров и по капле двигая датчик в нужном направлении) на на это уйдет куча времени.
Я не утверждаю, Я знаю что их погрешность срабатывания от 20% и выше, самые дорогие заводские дают от 5 то 10%
а у вас датчики самодельные... какая у них тогда погрешность 30-50% ???
Теперь математика 3 класс.
Ход штока у концевика допустим 1.5 мм погрешность срабатывания ( у самого хорошего) +-10%
итого ваш датчик может сработать в 1.65 или 1.35 "клиренс" 0.3 мм ,и это ваш стол с лева на права.
и это еще я взял золотые "концевики" а не дешевку китайскую. Откуда при такой погрешности вы взяли "сотку" точности ?

Зачем вобще "Автолевел" ?
1)компенсировать кривизну стола каждый раз перед каждой печатью ? тогда проще направить свой мозг на решение проблемы кривизны стола!
2)Компенсировать кривизну стола каждый раз перед 1й печатью ? тогда ценность это калибровки теряется в силу ее большой погрешности!

З.Ы. 2 Екатеринбуржец увидел ваши фотки и понял про какие датчики вы ведете речь...я же говорю про датчики на "серво приводе" или на "магнитике". и у вас не "автолевл" вы просто выравняли ось относительно горизонтали.... к положению стола и его кривизны эти датчики имеют отношение мало. Я не вижу где к вас происходит калибровка головы относительно поверхности стола (а я говорю именно про нее)????
i3 Arduino2560+RAMPS 1.3+LCD
Diag2all
 
Сообщения: 58
Зарегистрирован: 25 ноя 2013, 21:23
Откуда: Шанхай

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение baru » 05 фев 2014, 20:57

Diag2all писал(а):2 baru (сори что на ты) у меня i3. топик я открыл не для того что бы доказать что это возможно а для совместного поиска решения проблемы. Концевики нафиг ненужны. СОВСЕМ. ибо у тебя есть количество шагов между 0 и HOME. и эти шаги благодаря ПО ты сможешь выставить с точностью до 0.01 Вот чем плох "автолевел" см. ниже.
я вообще никакой проблемы не вижу и что тут ты собрался искать, мне до конца не ясно. Если я каждый раз буду руками пригонять хотенд к столу, да мне не нужен будет концевик Z, но мне и HOME тогда не нужен, о каких шагах тогда ты говоришь. Весь смысл калибровки, выставить 0, если я его руками выставлю и скомандую, что это 0, то хоум может быть хоть на луне. А если мне как и всем, каждый раз этими приближениями заниматься не улыбается, то концевик или автолевел с задачей справляются. Зачем мне точность 0.01, если у меня пива на 10 слоев? Я последнее время очень редко калибрую, проще слой рафта положить, он все неровности скроет.
baru
 
Сообщения: 212
Зарегистрирован: 11 июл 2013, 20:24
Откуда: г. Харьков

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Екатеринбуржец » 06 фев 2014, 07:57

Ну допустим у меня не сервопривод. Он что обязателен? Кривизна прощупывается кончиком хотенда не хуже чем сервоприводом. Компенсация происходит программно в марлине. Вбил в слайсер две команды начала кода g28 g29 и он без моего участия КАЖДЫЙ раз перед печатью калибрует стол. Занимает это времени - как раз пока хотенд нагревается.
Левый датчик регулирую только минимальное положение при котором он не разомкнется при движении по z это надо потому что шпильки несколько гуляют. Правый датчик регулирую так чтобы его показания совпадали с левым. Для этого сначала вручную выставил зазор хотенд-стол .
Дальше про точность датчиков - прогоняю один раз g29 - снимаются показания. Прогоняю второй раз g29 показания отличаются на сотые доли мм.
Смысл автолевела - установка зазора между кончиком хотенда и столом без всякого участия с моей стороны!

Добавлено спустя 35 минут 27 секунд:
Кстати с Repetier-Host 0.9.0C марлиновский автолевел не дружит. После модификации прошивки подключаю - ругается, неизвестная команда. После введения g28-g29 по Y вручную не двигается. После запуска теста меняет оси Y и X. Загрузил последний репетир - он весь изругался :)
Printer: Haeckel Custom Edition
Firmware: Marlin
Host: Cura 14.01
Slicer: Cura 14.01
Filament: ABS - 1,75 mm
Nozzle: 0,4 mm
Electronics: Arduino Mega + RAMPS 1.4
Екатеринбуржец
 
Сообщения: 213
Зарегистрирован: 04 янв 2014, 18:33

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Diag2all » 06 фев 2014, 08:53

Екатеринбуржец писал(а):Кривизна прощупывается кончиком хотенда не хуже чем сервоприводом.

каким образом ? хотэнд это кусок пластика и металла! как из него получился датчик ?(у меня есть конечно идея как но из фото и видео не ясно правильно я думаю или нет). Я посмотрел видео раза 3-4 от radus и я (и не только я, судя по каментам на thingiverse) не понимаю, как работает его Auto touch Z end-stop. Если смотреть на фото, "зеленое" основание оси X имеет 1н контакт "желтая" дополнительная "фигулина" 2й контакт. Все это движется вместе. Смотрю на видео. Хотенд "таранит" стол (на 1-2 мм в низ) каждый раз при калибровке.

2 radus не могли бы вы дать подробные Коментарии к вашему видео.Auto touch Z end-stop

2 baru
я не говорю про каждый раз....
1)компенсировать кривизну стола каждый раз перед каждой печатью ? тогда проще направить свой мозг на решение проблемы кривизны стола!
2)Компенсировать кривизну стола каждый раз перед 1й печатью ? тогда ценность это калибровки теряется в силу ее большой погрешности!
Руками 0 (действительно 0 в пределах погрешности конструкции)не выставить за короткий промежуток времени, и я написал почему см. выше. Слой рафта ничего не скроет, это фикция. если у тебя один край стола выше (ниже) другого на 0.2 или 0.3 то твой Рафт ляжет на стол с такой-же кривизной, или ты хочеш сказать что (допустим с лева 0) и там рафта не будет а с права (где стол выше на 0.2) будет рафт ? тогда опишите математику по которой ты включаеш экструдер с лева и включаеш его с права ? (или куда девается пластик который выдавлен с лева ?)

Екатеринбуржец писал(а):Кстати с Repetier-Host 0.9.0C марлиновский автолевел не дружит. После модификации прошивки подключаю - ругается, неизвестная команда. После введения g28-g29 по Y вручную не двигается. После запуска теста меняет оси Y и X. Загрузил последний репетир - он весь изругался :)

Я пока ковыряю прошивку для "репитера" (и прога рептер и прошивка репитер) там даже меню экрана веселеле и каментов больше в настройках. :)
i3 Arduino2560+RAMPS 1.3+LCD
Diag2all
 
Сообщения: 58
Зарегистрирован: 25 ноя 2013, 21:23
Откуда: Шанхай

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Екатеринбуржец » 06 фев 2014, 09:49

Интерфейс репетира мне тоже больше нравится. Нормально работает встроенный слайсер. Без проблем можно вручную двигать деталь. В пронтерфейсе взаимодействие со слайсером какое-то заумное.
А работает Auto touch Z end-stop так: каретка едет вниз - хотенд упирается в стол (со стола надо убрать пружины тогда проседать не будет) - каретка останавливается - толкатели каретки продолжают ехать вниз до разрыва контакта - программа считывает данные точки - по 4 точкам вычисляется наклон стола - в программе указывается на сколько приподнять хотенд перед печатью чтоб был нужный зазор - при печати программа корректирует высоту хотенда в зависимости от наклона стола - - в слайсере прописываются в начальных кодах g29. Далее автоматически работает.
Printer: Haeckel Custom Edition
Firmware: Marlin
Host: Cura 14.01
Slicer: Cura 14.01
Filament: ABS - 1,75 mm
Nozzle: 0,4 mm
Electronics: Arduino Mega + RAMPS 1.4
Екатеринбуржец
 
Сообщения: 213
Зарегистрирован: 04 янв 2014, 18:33

Re: G- коды Для калибровки оси Z и уровня стола

Сообщение Radus » 06 фев 2014, 13:28

Diag2all писал(а):Я посмотрел видео раза 3-4 от radus и я (и не только я, судя по каментам на thingiverse) не понимаю, как работает его Auto touch Z end-stop. Если смотреть на фото, "зеленое" основание оси X имеет 1н контакт "желтая" дополнительная "фигулина" 2й контакт. Все это движется вместе. Смотрю на видео. Хотенд "таранит" стол (на 1-2 мм в низ) каждый раз при калибровке.
2 radus не могли бы вы дать подробные Коментарии к вашему видео.Auto touch Z end-stop

Почитайте вот эту тему
forum107/topic13732.html
Пластиковые детали для сборки принтеров на заказ
https://vk.com/album3660793_175845188
История создания моего принтера Reprap Prusa Mendel
vk.com/album3660793_161395751
Аватара пользователя
Radus
 
Сообщения: 581
Зарегистрирован: 14 фев 2013, 23:39
Откуда: Тольятти

След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron