Датчик уровня стола своими руками

Обновлено: 28.03.2024

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

Для установки этого зазора существует несколько технических(и не очень) решений. Например:

— Подкладывание листа бумаги, и установки начальной точки пока бумага не станет двигаться между соплом и столом с легким усилием.
— Использование микровыключателя, который нажимается при приближении экструдера к столу. Вместо микровыключателя иногда используют оптический датчик, что так же немного добавляет точности к измерениям.
— Емкостной датчик приближения.

Но все они имеют недостатки. Микровыключатель и емкостной датчик удалены на некоторое расстояние от сопла экструдера, и так же требуют калибровку высоты относительно уровня экструдера. Лист бумаги, мягко говоря, не технологичен, и с его помощью невозможно использовать функционал автобедлевела (измерение кривизны стола).

На моем Prusa Mendel i2 постоянно возникала необходимость установки высоты первого слоя после печати длительностью более часа. А когда принтер постоит без дела, приходилось опять корректировать высоту. Предполагаю, что при длительной работе принтера конструкция прогревалась и изменяла свои размеры, тем самым увеличивалась высота первого слоя. Т.к. после длительной работы необходимо было уменьшать высоту, а после остывания ее увеличивать.

Применив такой автолевел, я полностью избавился от «плясок с бубном» возле принтера при печати первого слоя.
Предлагаю «рукастым» обладателям 3D принтеров повторить мое решение.

Мной был разработан и успешно опробован на принтере Prusa Mendel i2, более точный метод установки расстояния между соплом экструдера и столом. Который основан на измерении силы прижима сопла экструдера к столу при помощи тензометрического датчика. Опытные пользователи и конструкторы ЧПУ скажут, что этот способ уже опробован и погрешность такого измерения будет зависеть от температуры окружающей среды, но поверьте (мне на слово, пока не дочитаете до конца), в данном решении нет зависимости от температуры.

Для повторения конструкции необходимо не так много:
— Тензометрический датчик.
— Усилитель сигнала с АЦП.
— 3D-принтер и немного пластика для печати некоторых элементов конструкции.

Первые 2 пункта стоят “копейки”: в Китае 200руб. (16.04.2015) или в России, естественно дороже. А наличие или приобретение в ближайшее время третьего пункта подтверждается тем, что вы еще читаете этот текст.

Время, необходимое на доработку принтера — не более одного вечера. Конечно, не считая времени, потраченного на печать элементов крепления при помощи 3D принтера.

А теперь подробности.

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

Что же такое тензодатчик и как он работает?

Тензометрический датчик (тензодатчик; от лат. tensus — напряжённый) — датчик, преобразующий величину деформации в удобный для измерения сигнал (обычно электрический):


Датчик, который я использовал, представляет из себя небольшой алюминиевый брусок 12,8 х 12,8 х 65мм, на двух его гранях приклеены 4 тензорезистора (резистор изменяющий свое сопротивление от величины растяжения). Эти резисторы соединены в мост Уинтстона. На вход этого моста подается напряжение, обычно 3-30 вольт, а на выходе мы получаем небольшое изменение напряжения от приложенного давления (искривления этого бруска) в пределах 0,7милливольт на 1 вольт подаваемого на вход. Но такие маленькие изменения напряжения невозможно измерить сразу при помощи микроконтроллеров, используемых в большинстве 3D принтеров.

К нам на помощь приходит небольшая и очень простая в использовании микросхема HX711 для усиления этого сигнала. Преимущество ее в том, что она не только усиливает, но и оцифровывает показания. Которые мы и считываем при помощи микроконтроллера принтера.

Приобрел микросхему уже вместе с необходимой обвязкой:


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

Я выбрал вариант с установкой датчика на экструдере.

В моей реализации это выглядит так:


Радиатор хотэнда закреплен на одном конце датчика при помощи напечатанного крепления (на рисунке красный). Второй конец датчика прикручивается к каретке экструдера. Крепление датчика к экструдеру не должно касаться корпуса каретки или шагового двигателя.

Процедура калибровки и поиск нулевой точки по оси Z (homing) должна производиться на разогретом экструдере. Так как измерение усилия датчика происходит с небольшой задержкой необходимой для оцифровки напряжения и передачу его управляющему контроллеру, то измерение производится 2 раза с разной чувствительностью датчика:
Измерение сильного давления (200-500 грамм), при этом стол немного но заметно прижимается экструдером. В этот момент происходит выдавливание «соплей» пластика, которые могут содержаться на экструдере или на столе.
Подъем на небольшое расстояние и повторное, точное измерение (10-50 грамм), происходит легкое, и очень точное касание экструдером стола.

В живую работает это так:

Но как позже оказалось, пришлось ее немного переписать.

Схема подключения датчика к ардуине, простая до безумия, нужно просто соединить 8 проводков к платке с АЦП.
4 к тензодатчику:
E+ красный
E- черный
A- зеленый
A+ белый

И 4 к RAMPS(шилд для ардуины):
GND Земля
DT D4 пин ардуины
SCK D5 пин ардуины
VCC +5v
Пины на плате предназначены для подключения сервоприводов и находятся рядом.

Приобрести датчик и микросхему АЦП с необходимой обвязкой можно на всем известных торговых площадках.
Датчик ищется по ключвым словам «load cell 5kg».
Микросхему можно найти по ее наименованию HX711.

Датчик автоуровня на основе датчика давления для Rostock

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

Во всех моих 3д-принтерах меня каждый раз неимоверно бесила необходимость выставлять высоту сопла над уровнем стола. Необходимость эта возникала регулярно, при каждой замене сопла или каких-то других действиях с хотэндом, требовавших его разборки.

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

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

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

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

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

Я заказал модуль АЦП HX711и сам датчик на 1кг. Спустя месяц ожидания все это дело было получено и настало время прикрутить эту красоту к принтеру.

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

Значит нам нужен второй вариант: подключить это через промежуточный контроллер, который будет прикидываться концевиком для мозгов принтера. Его и выберем.

  • Печатаем крепления датчика на эффектор
  • Подключаем датчик веса к Arduino
  • Подключаем Arduino с датчиком к мозгам принтера
  • Редактируем прошивку принтера.

Крепления можно скачать тут. Вариант сыроватый, но рабочий и дорабатываемый по мере выявления недостатков.

Теперь подключаем контроллер к АЦП. Я нарыл в закромах Arduino Nano, но это не принципиально. На время отладки и калибровки сойдет и так, а дальше я поменяю на Attiny13, которая будет монтироваться вместе с платой АЦП прямо на эффектор для уменьшения уровня наводок по всем этим трактам. Почему на эффектор, а не рядом с основными мозгами принтера? Потому что для наилучшей точности стоит максимально укоротить провода между АЦП и датчиком веса. А если мы монтируем туда АЦП, то есть смысл прицепить туда и контроллер, чтобы от эффектора просто вести три провода к мозгам.

Также с этим АЦП есть нюанс: по умолчанию частота выборок АЦП составляет 10Гц, что слишком мало для нашего применения. То есть, технически, будет работать и так, но точность срабатывания будет плохой.

Для нормальной работы надо перевести АЦП в режим частоты опроса 80Гц. Для этого надо отцепить ногу RATE от земли и посадить ее на VCC.

Датчик автоуровня на основе датчика давления для Rostock

Тут есть два варианта, зависят от ревизии платы HX711.

Вариант с новой ревизией - просто запаиваем перемычку на слева от которой написано 80Hz.

Датчик автоуровня на основе датчика давления для Rostock

Если не повезло и пришла старая ревизия, то надо отпаять от платы вторую сверху ногу со стороны 4х-пинового разъема и подпаять ее к VCC или первой сверху ноге.

Датчик автоуровня на основе датчика давления для Rostock

Все, модуль переключен в режим опроса 80Гц и наша жизнь стала немного прекраснее.

Зачем это проделывать? Так как показания датчика нестабильны из-за наличия вентилятора на голове и постоянных движений эффектора в процессе калибровки, то в скетче используется фильтр НЧ, который сглаживает скачки показаний датчика для большей надежности работы. Фильтр берет 10 значений веса и из них получает отфильтрованные показания. На частоте 80Гц выборка 10 значений занимает примерно 120мс, на частоте 10Гц - займет секунду. Соответственно, надо жертвовать фильтром, что будет приводить к ложным срабатываниям во время движения головы.

  • Красный -> E+
  • Черный -> E-
  • Белый -> A-
  • Зеленый -> A+

  • VCC -> 5V Arduino
  • DT -> A2
  • CLK -> A3
  • GND -> GND Arduino

и открываем в Arduino IDE скетч - *Tenso_sensor.ino*

В скетче меняем const bool DEBUG = false; на const bool DEBUG = true;

Заливаем скетч в Arduino и через Serial monitor смотрим за показаниями.

2 раза в секунду там должна появляться строка

current weight! [848342] [848267]

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

Убеждаемся, что значения датчика меняются при воздействии на него. Если меняются, значит, все собрано верно. Если нет - надо поменять местами провода DT и CLK. Я так один раз перепутал контакты DT и CLK: с виду все работало, но при попытке калибровки принтер попытался проломить соплом стол.

В установленном на принтер виде цифра от датчика должна увеличиваться при касании стола!

Вот так все это выглядит в установленном на принтер виде:

Датчик автоуровня на основе датчика давления для Rostock

Теперь сделаем из Arduino концевик для мозгов принтера.

Для управления принтером у меня используется плата Melzi. Для RAMPS все будет сильно проще с точки зрения получения пинов и настройки прошивки.

Для этого нам понадобится любой оптрон и резистор на 1кОм. Оптрон я использовал 4n35, потому что он был под рукой. Любой другой подключается аналогично с разницей на нумерацию ног.

На плате Melzi всего 3 пина под концевики, на Дельте они все используются для калибровки осей. Так что нам нужен какой-то другой концевик. На своем принтере я не использую экран с кнопками, и у меня есть целый свободный разъем на 10 пин рядом с ISP, так что я буду использовать пин A1 оттуда. Для RAMPS никаких подобных телодвижений не надо, благо, концевиков у него хватает.

  • Соединяем землю Arduino и пин 2 оптрона
  • Сажаем пин 1 через резистор на пин D7
  • Пин 4 оптрона соединяем с землей 10 пинового разъема на Melzi. Для RAMPS соединяем с землей концевика Z-Min
  • Пин 5 отпрона соединяем с пином A1 10 пинового разъема на Melzi. Для RAMPS соединяем с сигнальным пином концевика Z-Min.

Датчик автоуровня на основе датчика давления для Rostock

Устанавливаем датчик на принтер. После того, как все установлено, подводим датчик к столу. Задача - откалибровать порог срабатывания так, чтобы датчик срабатывал от касания стола, но не срабатывал от движений головы.

Для контроля срабатываний без заглядывания в сериал-монитор удобно подключить светодиод. Цепляем землю диода на пин 5 оптрона, а + через резистор на +5В. Теперь диод будет загораться при срабатывании датчика.

Теперь отредактируем прошивку.

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

Предполагается, что все остальное уже настроено для Дельты, принтер работает и нужно только автокалибровку прикрутить.

В принципе эта часть подойдет для любого принтера, а не только дельт. Разница только в том, что на дельтах можно использовать только автокалибровку под названием BILINEAR, а на остальных принтерах к ней добавится еще 2 вида.

Будем использовать самые последние решения в стане прошивкостроения.

Клонируем репозиторий Marlin

Переключаемся на бранч RcBugFix потому что в master и RC автокалибровка на дельтах не работает.

git checkout RcBugFix

Открываем прошивку в Arduino IDE. Настраиваем все, что необходимо, и приступаем к настройке автокалибровки.

*N.B.* Если у вас вообще не Дельта с хомингом в Z-MIN, то просто воткните Arduino в Z_MIN и смело пропускайте все настройки высот и прочее, что относится к дельтам или принтерам с хомингом стола в Z_MAX.

Первым делом нам надо добавить концевик Z-Min для Melzi. На RAMPS он есть, и этот пункт нужно пропустить.

Открываем вкладку pins_SANGUINOLOLU_11.h и после

Технически, должно хватить только указания Z_MIN_PIN, но в той ревизии, что сейчас лежит в гите, есть баг, и сборка падает, если не задан Z_MIN_PROBE_PIN.

Сохраняем файл и переходим в Configuration.h

false меняем на true

Выставим смещения Z-Probe на 0

Ну, и главная наша цель:

Тоже раскомментируем. Также раскомментируем строку

Это единственный доступный тип автоуровня для Дельты. Сопло проходит по всему столу и строит карту высот, по которой потом печатает.

регулируется кол-во точек на грани квадрата. Т.е., при настройке в 3 сопло проверит высоту в 9 точках. Если указать 9 - то точек будет 81, время калибровки возрастет соответственно.

Также стоит выставить высоту области печати в значение, близкое к реальному.

Высота должна более-менее совпадать с реальными цифрами!

Сопло после выполнения G28 и получения G29 идет в минимум со скоростью, указанной для хоминга. Скорость эта по умолчанию составляет 2000 мм/мин, на некотором расстоянии от поверхности стола скорость сбрасывается в 2 раза и на этой скорости происходит касание. Если заданная в прошивке высота области печати будет сильно больше реальной, то сопло просто врежется на полном ходу в стол и датчик может не успеть сработать. Точнее, датчику на срабатывание надо 120мс, за это время сопло пройдет 4мм вниз. А дальше все зависит от прочности конструкции и силы моторов. Один раз таким образом у меня получилось разбить стекло на столе.

А если область печати будет меньше реальной, то от заданной области печати сопло будет идти со скоростью в 2 раза меньше скорости калибровки, и ждать окончания процесса придется очень долго.

Скорости хоминга по Z регулирются этими строками:

Еще можно включить опцию двойного касания, дает большую точность (в теории), но и занимает больше времени:

Заливаем прошивку в принтер. Проверяем, что работает G28, командой M119 проверяем, что концевик Z-MIN в состоянии open.

Теперь откалибруем датчик веса на нужный уровень срабатывания.

Для этого подводим голову к поверхности стола и прижимаем сопло к столу. В этот момент должен сработать датчик. Если этого не произошло, уменьшаем порог срабатывания в прошивке датчика:

long trigger = 13000;

Имеет смысл уменьшать сразу на 1000, но это зависит от используемого датчика. У меня датчик срабатывает от легкого касания сопла пальцем. Чемь меньше будет порог срабатывания, тем лучше, но без фанатизма. Он не должен срабатывать от торможения каретки при калибровке, например.

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

Теперь, когда все проверено, говорим G29. Голова поедет вниз и начнет тыкаться в стол согласно количеству точек, указанных в прошивке. После окончания калибровки будет выдана карта высот. Стоит убедиться, что все значения в ней находятся на одном уровне в переделах погрешности (второй цифры после запятой). Ну, это если стол ровный, без бугров, впадин и перекосов.

Все. На этом процесс настройки автокалибровки завершен, и можно заняться ее тюнигом.

Подпишитесь на автора

Датчик уровня стола 3d принтера своими руками

Применив такой автолевел, я полностью избавился от «плясок с бубном» возле принтера при печати первого слоя.
Предлагаю «рукастым» обладателям 3D принтеров повторить мое решение.

Мной был разработан и успешно опробован на принтере Prusa Mendel i2, более точный метод установки расстояния между соплом экструдера и столом. Который основан на измерении силы прижима сопла экструдера к столу при помощи тензометрического датчика. Опытные пользователи и конструкторы ЧПУ скажут, что этот способ уже опробован и погрешность такого измерения будет зависеть от температуры окружающей среды, но поверьте (мне на слово, пока не дочитаете до конца), в данном решении нет зависимости от температуры.



Готов выслушать вопросы, дополнения и исправления.

Автокалибровка уровня стола датчиком индуктивности

Всем привет! Текста равно как и картинок будет не много.

Не знаю насколько это актуально для печатников, но мне надоело постоянно крутить винтик концевика оси Z при изменении температуры стола. А так как не единым PLA печатаю и вдобавок бывает несколько подряд идущих распечаток разными видами пластика, настройка уровня просто утомляла.

Дальнейшие правки кода у всех будут свои насколько я понимаю.

Дальше изменил точки взятия пробы:

Значения смещения датчика от сопла выставил в 0:

Можете поставить реальные значения смещения, но у меня почему-то принтер печатал не по середине стола, если вводил значения отличные от ноля.

В слайсере добавил строки:

G92 Z0.6 ; позитивное значение z — опустить сопло, отрицательное значение — поднять

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

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

Ну и напоследок пара фотографий как все это выглядит))

Как откалибровать стол правильно, и почему на самом деле не работает метод «бумажки»

Всем доброго времени суток, в этой статье хотелось бы разрушить твердо устоявшийся миф о том, что уровень стола необходимо настраивать при помощи листа бумаги.

Да, знаю, что многие люди это делают, и у них это даже работает — нет, не работает, физика ведь та еще стерва. 🙂

так делают все

Для начала разберем, что происходит при классической настройке уровня стола бумажкой:

Нагрели стол и сопло, опустили(подняли) стол до уровня сопла, винтами отрегулировали уровень стола так, чтобы сопло слегка(насколько?) прижало лист бумаги, повторили по всем углам стола.

что неверно?


Лист бумаги имеет толщину 0.15-0.25 мм(вы же замеряли, да?), и выставив уровень стола таким образом вы не только сделали это на глаз, ведь бумага имеет свойство проминаться под нагрузкой, так еще и зазор между соплом и столом сделали не пойми какой.

чем грозит?

И когда принтер начнет печать, скажем, слоем 0.2 мм, то отсчет он начнет от вашего, нереального нуля, и вместо ожидаемого принтером расстояния между соплом и столом — он получит высоту слоя плюс толщину листа бумаги!


Здравствуй, родная деламинация!

А теперь представьте, что печатаете слоем 0.15 или даже 0.1 мм?

У вас зазор между соплом и столом станет в три-четыре раза больше толщины слоя!

Пожалуйста, не создавайте себе проблем на ровном месте. 🙂

Ноль по оси Z это ноль — сопло касается стола! И иного не дано!

как же правильно настроить?

  1. выбросить бумажку и купить в автомагазине щуп на 0.2 мм(или набор щупов)
  2. вручную, через слайсер или меню принтера поднять(опустить) стол на высоту 0.2 мм, т.е. толщину щупа
  3. барашками выровнять все четыре угла стола так, чтобы щуп плотно входил в зазор между соплом и столом. Касался своей поверхностью нижней части сопла, но не задевал его боковую поверхность



Всё — стол выровнен и реально существующий ноль по оси Z совпадает с ожиданием принтера.

Пластик ложится как положено, прилипание резко улучшается.



А как же зазор? Нам нужен зазор! Без него не работает. 111


Нужен зазор — сделай его под конкретную печать.

А на этом у меня всё, всем желаю чистой печати. =)

Устройства для автокалибровки стола 3d принтера

Качество печати 3D принтеров, работающих по технологии FDM,наиболее распространенной и доступной на сегодняшний день, зависит от многих факторов (материала печати, режимов работы нагревательного стола, экструдера, температуры внутри принтера и т.д.

Кроме вышеперечисленных факторов большое значение имеет печать первого слоя, формируемого на печатном столе. Ведь от того, насколько качественно он напечатан, зависит как адгезия пластика к печатному, так и качество конечной модели в целом. В этой связи большое значение приобретает автокалибровка печатного стола.

В сущности, суть ее заключается в том, что 3D принтер посредством специального устройства (щупа, зонда, или иного устройства) проверяет плоскостность печатного стола при касании в нескольких точках (задаваемых программно в прошивке) после чего выстраивает «свою горизонтальную» плоскость. Понятно, что это плоскость может и вообще не совпадать с реальной горизонтальной плоскостью. Просто 3d принтер строит свою новую систему декартовых координат, внося в алгоритм перемещения необходимую «дельту»

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

Существует несколько основных механизмов определения «горизонтальности» печатной плоскости 3D принтера:

1. Зонд (контактного датчика)


В интернете описано много схем и способов для изготовления контактных устройств.

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

У этого типа конструкций есть недостаток. Во-первых, необходимо каким-то образом организовать подъем щупа после калибровки, во-вторых, датчики контактного типа имеют свойство несколько «расшатываться» после некоторого количества циклов срабатывания. Ну и необходимо калибровать уровень срабатывания датчика и уровня сопла.

Принцип работы данного варианта заключается в следующем: под поверхностью печатного стола 3D принтера размещается несколько датчиков давления (тонкопленочные FSR сенсоры), таких как эти:

Как только носик сопла экструдера касается поверхности печатного стола 3D принтера, он производит давление, которое определяет датчик давления и формирует сигнал.

Таким образом, сопло экструдера является самим щупом в системе нос экструдера – датчик давления. Далее представлено видео, где подробно отображен данный процесс:


В данном варианте реализации автокалибровки стола 3D принтера используется пьезоэлектрический эффект – эффект возникновения разности потенциалов на поверхности диэлектриков при механическом воздействии на них.

Этот эффект бывает как прямой, так и обратный. Суть применяемого здесь метода в следующем: при касании сопла экструдера по поверхности стола происходит генерация звука (удар), затем акустические вибрации формируют механические, тем самым в пьезокерамическом излучателе формируется сигнал, который и преобразуется в конечном итоге в результат столкновения стола и экструдера. И далее по общей схеме формируется набор точек, по которым и строится «горизонт» плоскости печати.

Данный тип автокалибровки был реализован, как показано на видео ниже:


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

Итак, начнем с теории. Датчик приближения используется во многих устройствах, в том числе и на мобильных, планшетах, смартфонах и т.д. Его основная задача – снижение энергопотребления мобильного устройства и увеличение срока работы на одной зарядке.

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

Чаще всего применяют емкостные бесконтактные датчики. Принцип работы таких датчиков следующий.

Датчик с системой коммутации расположен под специальным защитным слоем. Два проводящих элемента, находящиеся в непосредственной близости друг к другу, имеют некоторую емкость. Это емкость (в пФ) возникает между проводящим слоем заземления и контактной площадкой самого датчика.

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

Основные плюсы таких датчиков:

1. Малый габаритный размер

2. Высокая точность измерений (достигается при калибровке)

3. Большая зона обнаружения

4. Долговечность и надежность

5. Относительно невысокая цена;

Однако есть и небольшие ограничения: объект, приближающийся к датчику, должен быть токопроводящий.

В любом случае, мы будем двигаться в направлении реализации установки данного вида датчиков на наши дельта 3D принтеры с целью упрощения автокалибровки печатного стола.

Датчик выравнивания стола 3d принтера своими руками


щупов необходима калибровка при смене сопла, так как плывет расстояние между соплом и датчиком, этот вариант лишен этого недостатка. Сам датчик изготавливается из пьезо излучателя. Излучатель, как и все излучатели подобного типа, работает на обратном пьезо эффекте.


Пьезо излучатель

Есть еще тонкие пьезы, которые которые надевают на сопло — но я человек ленивый, и не хочу этим заниматься при каждой печати.


Пьезо щуп


Схема крепление пьезо датчика к столу 3D принтера

но этот вариант плох тем,что стол я грею до 110 градусов на АБС пластике, а пьезо начинает врать после 70 градусов. Пробы беруться на горячем столе, и я не был уверен, что она не нагреется выше 70, поэтому от прямого контакта со столом я отказался. Это дало положительный результат. Затем я распечатал крепление всего под 1 диск, его даже сверлить не надо, и закрепил согласно этой схемы И эта схема работала прекрасно, несмотря на 1 датчик, но вибрация моторов оси зет губила все на корню. Чувствительность мне удалось настроить такую, что датчик срабатывал от легкого прикосновения пальца к столу, и мне кажется, если чихнуть рядом, то он бы сработал. Подробнее смотрите в видео на моем канале, ставте лайки, подписывайтесь, вам не сложно, а мне стимул развивать канал и блог дальше.

Архив с печатной платой и STL файлами найдете __ЗДЕСЬ__

Автокалибровка стола в 3D-принтерах


Автокалибровка рабочего стола — это функция, доступная в некоторых FDM 3D-принтерах по-умолчанию, с завода. Кроме того, опытные специалисты могут самостоятельно установить датчик автокалибровки.


Рассказываем в этой статье о том, для чего нужна эта функция, и как её использовать.

Содержание

Зачем нужна калибровка печатного стола

Большинство FDM 3D-принтеров — это устройства, которые требуют активного участия мастера в процессе подготовки к печати. Одной из особенностей аппаратов является необходимость регулярной проверки уровня печатного стола. С течением времени конструкция FDM 3D-принтера может “разболтаться”. И это связано не только с регулировочными винтами стола, но и люфтом абсолютно всех винтовых соединений. Чаще всего это проявляется в вибрациях в процессе печати.


В результате отклонения стола от заданного уровня, расстояние между соплом экструдера и печатным столом меняется, на разное расстояние в разных точках. Это может привести к деформации печатной модели, искажению размеров и пропорций, засорению экструдера (когда сопло вплотную к столу и пластик не может выйти).

Это может быть вызвано отсутствием фиксатора резьбы и плохим качеством винтов регулировки уровня платформы. Также ошибка может быть обусловлена и действиями пользователя, например — если он неравномерно наклеил на печатный стол скотч.

Чтобы избежать проблем, пользователю необходимо проводить регулярную калибровку печатного стола. В бюджетных моделях эта работа выполняется вручную. Для этого стол оснащается регулировочными винтами. Однако на рынке представлены модели 3D-принтеров с автокалибровкой печатного стола, которая значительно упрощает эксплуатацию принтера.

Принцип автокалибровки стола 3D-принтера


Как следует из определения, автокалибровка стола 3D-принтера — это механизм, который позволяет автоматически отрегулировать устройство. Перед началом печати 3D-принтер определяет положение печатного стола относительно экструдера и, при необходимости, регулирует положение сопла при печати.

Как правило, 3D-принтер с автоматическим выравниванием имеет сенсор приближения или контактный концевой датчик на уровне сопла печатающей головки, который «исследует» определенные точки на платформе при запуске процесса автокалибровки. Иногда, снабженный энкодером обратной связи, таким датчиком служит сам экструдер, а его щупом — сопло.

Одно из преимуществ автокалибровки в том, что она позволяет напечатать качественное изделие, даже если на столе есть визуально незаметные неровности. Такая ситуация может возникнуть при длительной эксплуатации аппарата при высоких температурах нагрева печатного стола.

Поскольку 3D-принтер в автоматическом режиме корректирует положение сопла относительно плоскости, сопло всегда находится на оптимальном расстоянии от печатной модели в процессе работы аппарата. Это, в частности, улучшает адгезию слоёв и качество печати.

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

Автокалибровка на примере Simplify3D


Рассмотрим настройку автокалибровки на примере использования одной из самых популярных профессиональных программ для 3D-печати — Simplify3D.

Если 3D-принтер имеет функцию автоматического выравнивания печатного стола, то профиль Simplify3D для аппарата должен быть настроен для автокалибровки в начале каждой печати.

Если принтер используется впервые, можете загрузить стандартный профиль Simplify3D для определенного устройства, выбрав в программе пункт «Справка» > «Помощник по настройке». После загрузки профиля нажать «Изменить параметры процесса», перейти на вкладку «Сценарии» и выбрать сценарий запуска. Этот набор команд определяет действия, которые 3D-принтер будет выполнять в начале каждой печати.


Для выполнения автокалибровки 3D-принтера следует внести правки в G-code сценария. Для этого: в начале файла необходимо добавить команду G29, которая сообщает принтеру, что нужно выполнить процесс автокалибровки стола. При этом 3D-принтер должен выполнить стандартную операцию возврата в исходное положение, прежде чем начнет процесс выравнивания, то есть команду G29 необходимо поместить после команды G28 (команда возврата в исходное положение) в сценарии.

Сценарии запуска могут отличаться в зависимости от модели. Существует несколько различных типов команд G28, таких как обычная «G28» (исходная точка координат по всем осям), «G28 X0 Y0» (только исходные координаты по X и Y) или «G28 Z0» (только исходное положение по оси Z). Чтобы сценарий работал корректно, команда G29 должна стоять после самой последней команды G28.


После внесения этих изменений необходимо сохранить новые настройки принтера. Чтобы проверить, были ли изменения успешными, достаточно начать новую печать на 3D-принтере и убедиться, что процесс автокалибровки стола выполняется в начале печати.

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

Итого

Процесс автокалибровки упрощает 3D-печать, поскольку избавляет от необходимости проводить длительную ручную настройку. 3D-принтер с автокалибровкой гарантирует получение качественного результата при каждой печати.

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

Проведите апгрейд, профилактику или ремонт своего 3D-принтера в Сервисном центре Top 3D Shop — квалифицированный персонал, качественные материалы и гарантия на все работы к вашим услугам.

Датчик калибровки стола 3д принтера своими руками

Калибровка стола 3D принтера.

Здравствуйте, новички и профессионалы!

Я совсем недавно пришёл в мир 3D печати и имею совсем не много опыта в этом деле. Но кое что хотелось бы поведать. А именно идею калибровки стола принтера.

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

Идея такой калибровки возникла после такой картины:




Как видно из картинок, верхняя часть каймы напечатана хорошо, склеена между собой (толщина 0,2мм), а нижняя часть не склеена (толщина 0,3мм).

Для калибровки стола Вам потребуются:

Набор ключей/отвёрток для регулировки стола, кто чем регулирует;

Штангенциркуль (в идеале с нониусом (шкалой) 0,05);


В моём случае стол регулируется тремя винтами, поэтому модель выглядит так. Каждый круг около своего винта. Л — Левый, П — Правый, З — Задний, Ц — центр (для определения кривизны поверхности). Толщина слоя 0,2 мм с каймой. В вашем случае можете сделать по своему.


Берём лист А4 и настраиваем стол так, как рассказано во многих статьях и видео в интернете.

Данным методом можно достаточно точно настроить стол, но! На ощупь не получится определить достаточную/недостаточную силу зажима бумаги. Лёгкое скольжение может быть у каждого своё.

В общем — примерно настроили.

Скачиваем модель по вышеуказанной ссылке, или рисуем свою.

Печатаем модель. Как видно из скриншота — печатается она 2 минуты, с учётом отклонений и разогрева — минут 5.

Ждём пока модель остынет чтобы отклеить. Я не ждал а просто поддел канцелярским ножом, ABS даёт такую возможность.

Отклеили кружочки, берём штангенциркуль и замеряем толщину. В моём случает должно быть 0,2 мм.

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

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

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

Автоматическая калибровка стола BFPTouch

Собран принтер полностью из метала нет ни одно печатной детали, кроме одной это датчик авто уровня стола BFPTouch. До этого был датчик с сервой и микриком, как автоуровень работал плохо а вот как коцевик Домой прекрасно справлялся, но то что у него был рычаг при не аккуратном движение были сломаны шестиренки в серве. Было решено напечатать BFPTouch.

На его создание все было, старая серва со сломанной шестерёнкой которая починилась паяльником, Оптический концевик от принтера, и схемка с 2мя сопротивлениями и 1 диодом.

Моя модификация под оптический датчик от принтера.




Собирал я датчик тот что ( Slim ) не люблю громоздкость, в общем подводя итог, как автоуровень я его ни юзаю, служит он мне как концевик, почему именноконцевик, потомучто приходится снимать стекло что бы оторвать деталь и отмыть стекло, поменять на другое и заниматься рукоблудием каждый раз с подстраиванием концевика мне ни хочется. А данный датчик прощает даже порой 3 мм искривления стола на маленькой детали, так как отбивка стола происходит в середине где и печатается деталь.

Оптический датчик подключен как штатный датчик вместо оси Zmin

SERVO подключена на первый порт подключения сервопривода.

Использую MEGA 2560 & RAMPS 1.4

На Zmax и Ymax — подключен датчик окончания филамента и кнопка включения стола до 90градусов. на какой именно что не помню легко проверить замыканием контактов.

Читайте также: