Хочу обсудить идею - звуковой датчик z-probe

Подписаться на 3Dtoday
Sanja
Идет загрузка
Загрузка
30.09.17
1381
18
Техничка
5
Привет. Я продолжаю измываться над своим дельта-принтером в поисках лучшего датчика Z-probe для калибровки.

В последней итерации я посадил heated bed на стойки-винты, подпружинил и снабдил пьезо-датчиками с просверленной дыркой. Когда сопло касается стола, пьезодатчики, надетые на стойки, слегка сжимаются и выдают ток, который раз в 100нс замеряет отдельная Arduino Nano через аналоговые входы. Чтобы избавляться от помех, Nano вычисляет скользящее среднее 3 последних замеров и сравнивает результат с порогом. Если порог пробит, то Arduino через оптопару имитирует RAMPS-плате принтера срабатывание концевика, замыкая сигнальный контакт на землю.

Всё работает хорошо, но если соплом поколотить в одну точку стола, стандартное отклонение у трёх десятков замеров получается около 0,03мм. Можно было бы его уменьшить, снизив Z-probe speed, но в этом случае удар мягче и пьезодатчики срабатывают хуже.
3a543449fdc0735459e88b1f0b6efb4d.jpg
PREVIEW
(Ещё один пьезодатчик я засунул под скобу, которая удерживает в эффекторе хотэнд, но от его использования я отказался - слишком сложно отличить помехи при простых движениях принтера от сигнала при касании стола.)

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

В этот момент возникла бредовая идея - а что если бесполезный пьезодатчик на хотенде заставить "петь", скажем, в районе 50 кГц, чтобы человеческому уху не было слышно, а пьезодатчиками под столом эту частоту ловить? Тогда можно будет выставить Z-probe speed в черепашью величину и плевать на помехи от шаговиков, вентиляторов и дросселей блока питания. В качестве частоты "несущей" можно выбрать вовсе какое-нибудь простое число, чтобы уж наверняка.

На этом месте я подумал, что наверняка эта светлая идея пришла в голову не только мне и кем-то всё это давно реализовано. Дорогой коллективный разум, подскажи, сталкивался ли ты с готовой реализацией подобного?
Подписаться на 3Dtoday
5
Комментарии к статье

Комментарии

1 Окт 00:21
0
Вот нечто похожее, но уж больно замороченно: https://hackaday.com/2016/07/18/sonic-3d-printer-auto-bed-leveling-makes-swoosh/

А на пьезах, вообще, очень неплохо получается у этих ребят: http://forums.reprap.org/read.php?1,767998,page=1

Но я рекомендую глянуть в эту сторону: https://www.duet3d.com/DuetAddons/DeltaSmartEffector Open source, если что.
1 Окт 01:06
0
Первая ссылка - очень похоже, на то, что придумал я - но товарищ решил ловить не частоту, а амплитуду.

№2 - один в один моё текущее решение с пьезо

№3 - непонятно, как реализовано (вроде бы strain resistor в плате)
1 Окт 12:27
0
1 - Там в комментах к статье утверждают, что передавая белый шум повышают мощность излучения или как-то так (не вникал). Типа на 1 частоте хуже.

2 - да, но при этом хорошо работающее и почти "серийное".

3 - именно так. на плате есть очень длинная дорожка с обоих сторон (видно на схеме). Плата (при касании соплом стола) изгибается, изменения в сопротивлении верхней и нижней дорожек усиливаются операционником и подаются на вход тиньки, тинька программно обрабатывает. Схема платы, разводка платы и исходники для тиньки в открытом доступе.
1 Окт 12:51
0
Насчёт пьез, кстати - они напрямую ко входам ардуины подключены или там всё же есть цепи, защищающие входы от высокого напряжения от пьез?
1 Окт 20:41
0
резистор на 1 МОм и zener - решают вопрос с выбросами напряжения и со стеканием заряда с "конденсатора", которым становятся пластины пьезо
1 Окт 20:18
2
В Смарт эффекторе стоит тензометрический датчик уровня стола, вместе с обвязкой (стабилизатор напряжения, усилитель и микроконтроллер управления). Чувствительность датчика может настраиваться программно (0-255) для плат Duet (для остальных работает в режиме по-умолчанию). Плюс бонусом подсветка, индикация режимов работы, модульная конструкция и вообще видно что сделан с умом. Но стоит денег.
Пробовал почти все возможные виды датчиков (и IR, и пьезо как по №2).
При правильной настройке и условиях на дельте они все могут дать калибровку с максимальным разбросом <0,01 мм.
Но IR датчик плохо работает на стекле и на некоторых полупрозрачных или отражающих покрытиях. Плюс еще некоторые нюансы работы с ним есть.
Precision Piezo от DjDemonD неплох, но требует адаптации под конкретный эффектор.
Остановился на Delta Smart Effector от Duet3D. На плате DuetWiFi cамая простая и легкая калибровка в полном автомате, работает на любой поверхности и очень быстро. У меня калибруется с разбросом 0,007-0,005 мм.
e65f119c4663e3827590ef41bf5e9827.jpg
a2c5b98e8dc51df5b9c4efdb3d363b3b.jpg
1253dcc00d0871b3806b0ae1d1de3451.jpg
5719a9b555e7074c21116b897161f3a8.jpg
1 Окт 20:56
0
Вот я и говорю, что обзор надо запилить! :))
1 Окт 21:01
0
:D
3 Окт 01:29
0
В Смарт эффекторе стоит тензометрический датчик уровня стола
Плюсодин к ждунам обзора. Я эту штуку вместе с дуетом не купил так как банально не понял её функционала, да и не совсем понял чем оно вообще лучше самопечатного эффектора. Теперь вот потихоньку понимаю, глядя на те-же допуски по геометрии для тех палок с изолентой, которые в дельтах используют...
1 Окт 02:06
0
Когда речь идёт о пении тензодатчиков по оси Z,
да ещё и на Дельта-принтере,
у меня возникает только одна ассоциация,
быть может, она Вам поможет в принятии решения по правильной реализации:

https://youtu.be/rJqsrBwZVBo
1 Окт 09:31
1
хорошие вам ассоциации в голову в третьем часу ночи приходят :)
1 Окт 12:57
0
Тензометрические 'сиськи" - тема раскрыта.
1 Окт 09:54
2
Простите, но есть несколько вопросов. Неисклечено, что глупых...
1)А нафига такие точности? 0,1 для 0,2 сопла вполне хорошо и достижимо простой кнопкой. Для более высоких точностей имхо нужна другая техника (ювелирные всякие машины). Я перепробовал массу вариантов и остановился на выдвижной кнопке под соплом.
2) какое ПО используется непосредственно для калибровки? и для печати? Тоже перепробывал тьму программ, скриптов и алгоритмов, а в итоге, повседневно пользую КУРУ ))))
3)зачем барашки регулировочные? У меня точно такой-же сендвич теплоизоляции, нагреватель на 220 и все это вместе с блоком питания в подвале принтера спрятано. Результат меня прямо ОЧЕНЬ радует. И основная проблема была в надежной фиксации этого бутерброда чтобы он не деформировался и не сдвигался, а оставался на месте. все остальное делает автокалибровка. Это хорошо работает только при хорошей фиксации, пока ее не было, я маяца 3 страдал и не мог откалибровать.
Но пьезозвуковую идею я считаю очень красивой с инженерной точки зрения. Удачи!
1 Окт 12:32
1
на фото виден "экзоскелет" из 3мм стали, она обеспечивает "хорошую фиксацию".

"бутерброд" стоит на болтах M5 из нержавейки и подпружинен очень жёстко, сдвиги невозможны. Барашковые гайки позволили выставить стол абсолютно перпендикулярно башням - практика показала, что лучше выровнять так, чем полагаться на математику. Я много экспериментировал с OpenDACT, Escher3D и другими; оказалось, что приемлемое качество (печать по всей площади стола ровным слоем) можно обеспечить лишь за счёт tower offsets и ручного выравнивания стола. Точный датчик мне нужен для "последних штрихов" - вычислить точные поправки к углам башен.
1 Окт 20:20
1
Разброс 0,1 ОГРОМЕН :)
2 Окт 09:21
0
Этож максимальный. Для большинства повседневных задач это хорошо. Я даже ювелирщикам печатаю макеты. Хоть они и не всегда довольны качеством бывают, но тогда тут уже совсем другое оборудование нужно, которое стоит милионы. Тут что все детали космических ракет печатают, я не пойму? ))))
2 Окт 15:30
0
Могу тебе еще идею кинуть. На хотенд поставь маленький вибромоторчик от телефона.

Сам пробовал и пьезы и просто микрофон с усилителем. Микрофон для дельты самое-то имхо. Клац соплаа по стеклу ловит отлично, у прюши скорости не хватает для хорошего клаца.
5 Окт 18:34
0
Можно еще проще сделать - допустим, есть тензо(пъезо)датчик. Далее, головкой с определенной частотой (скажем, 20 гц или сколько там механика позволит) делаем микродивжения вверх-вниз, и фильтруем амплитуду колебаний тензодатчика на этой частоте (возможно гармоники и фаза поможет уточнить результат). Медленно опускаем голову, повторяя замеры и сохраняя результаты в табличку. Потом анализируем полученную таблицу и высчитываем с большой точностью где же был стол. Небыстро, но точность на порядок возрастет.

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

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Ищем болт и гайку в Blender

Ultik и втулки 141091 CARGO - печаль тоска

Резиноподобный PLA

Маска Нуб Сайбота или что делать, когда ошибся с размерами

Самодельный корпус для мини ПК и детали для него на 3d принтере

ВИЛС, СПбПУ, Altair Engineering и CompMechLab займутся совместным продвижением аддитивных технологий в промышленности