ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
1213705 Топик полностью
Nikolay_Po (03.06.2022 08:54, просмотров: 380) ответил Dingo на А что за датчик уровня? Как выглядит, в комплекте шёл или докупали?
В FDM-печати используются три основных типа датчиков: 

- BLTouch - датчик касания с выдвижным щупом. Ставится у сопла. Если не ошибаюсь, момент касания определяется по ЭДС катушки, внутри которой находится магнит выдвижного штока. Подача тока в эту же катушку используется для выдвижения/уборки щупа. Плюсы - хорошая повторяемость замеров; отсутствие помех для печати (щуп убран и не мешает). Минусы - позиция XY щупа не совпадает с позицией сопла. Поэтому невозможно измерить весь стол под соплом. В карту стола вносятся искажения из-за прогиба балки X и разности расстояний датчика и сопла от оси X. Плохо работает на зернистых, эластичных и съёмных поверхностях стола (используются для лучшей адгезии и лёгкого съёма деталей). Точка срабатывания по оси Z не зависит от положения сопла. Поэтому, после замены сопла или переборки нагревательного блока, приходится заново подбирать "Z-offset" датчика.

- Индуктивный датчик. Ставится у сопла. Используется в случаях, когда поверхность не может быть достоверно измерена касанием - зернистая, съёмная. Лучше всего работает когда используются тонкие металлические подложки, удерживаемые столом на магнитах. В остальном - недостатки те же, что у BLTouch. Может помешать печати - не убирается. Плюс плохо работает через стекло - не компенсирует разность толщин самого стекла.

- Пьезо или тензо датчик. Ставится или на блок головки, или в стол, без разницы (у меня - в столе). По изменению нагрузки, по изгибу, определяет момент касания соплом поверхности стола. Самый удобный датчик. Само сопло и является щупом. Координаты XY щупа и сопла совпадают по определению, искажений, карты, связанных с разницей по оси X не возникает. Смещение по оси Z присутствует (время срабатывания*скорость ощупывания), поэтому датчик не требует калибровки после смены сопла. Недостатки - как и BLTouch плохо работает или даже не работает на зернистых эластичных поверхностях - не формируется достаточно крутой фронт звуковой волны для срабатывания датчика.


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

Лично для себя, я сконструировал такой (использует Arduino Nano и пьезо-датчики вообще без других компонентов, кроме контактов и проводов):



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

Мой датчик использует накачку разряда в пьезоэлементы при помощи короткой активации Pull-UP на выводе пьезоэлемента, а разряд происходит считыванием потенциала датчика АЦП микроконтроллера. Поэтому даже подтягивающих резисторов не требуется. Включением/выключением подтяжки вверх, код удерживает показания АЦП на уровне около 1В при опорном напряжении встроенного источника 1.1В, то есть, пытается стабилизировать напряжение на пьезоэлементе. Процесс происходит в прерываниях по 19277 раз в секунду на каждый датчик. Производится осреднение импульсов Pull-Up, и сравнение текущего среднего с ещё более осреднённым. Превышение порога разностью осреднённых на разных интервалах значений, вызывает срабатывание датчика (выход - типа "открытый коллектор" при напряжении выхода не более 5В. Сейчас датчик работает со входом МК 3.3В.