[Программирование микроконтроллеров, 3D-принтеры, DIY или Сделай сам] Обзор PAT9125 оптического датчика филамента для 3d печати

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
05-Июн-2021 23:32


Добрый день друзья. Сегодня я хотел-бы рассказать вам про датчик филамента PAT9125, а так-же про мой опыт общения с ним.PAT9125 это оптический датчик который применяется на 3d принтерах Prusa. Этот датчик может отслеживать не только момент окончания филамента но и момент его застревания. Например если у вас возникла тепловая пробка.Главная проблема датчика, его нельзя подключить напрямую к плате с Marlin. Поскольку Marlin поддерживает только подключение энкодера, а этот датчик должен быть подключен по интерфейсу I2C. Чтобы разрешить эту проблему я использовал attiny85 digispark. Датчик подключается к Attiny а уже Attiny в свою очередь эмулирует работу энкодера.Настройка MarlinВ файле Configuration.h нужно раскомментировать параметр #define FILAMENT_RUNOUT_SENSOR . А вот параметр #define FIL_RUNOUT_PULLUP лучше закомментировать поскольку у нас ненастоящий енкодер то подтяжка attiny к линии питания будет только мешать работе.Кроме того нужно раскомментировать параметр #define FILAMENT_RUNOUT_DISTANCE_MM это скажет Marlin что у нас не концевой выключатель, а энкодер. Значение параметра надо уменьшить по умолчанию там стоит 25мм. Чтоб вы понимали сколько это, принтер успеет уложить два слоя калибровочного куба воздухом прежде чем заметит что что-то не так. Я поставил там 5мм можно и меньше но тогда можно столкнутся с ложными срабатываниями.В файле Configuration_adv.h нужно раскомментировать #define ADVANCED_PAUSE_FEATUREВ файле Pinout вашей платы надо задать пин к которому будет подключен датчик в параметре #define FIL_RUNOUT_PIN.Особенности работы датчикаВо первых я очень надеялся что поскольку я использую прозрачную трубку для филамента то датчик можно будет одеть прямо на неё и он будет видеть только филамент. Но оказалось, что датчик прекрасно видит эту прозрачную трубку и мне пришлось делать в ней окно.
Следующая особенность касалась уже Attiny. Сначала я подключил принтер к пину P3 и Attiny просто не стала запускаться. То есть без подключения к принтеру все прекрасно работает, а стоит подключить Attiny не стартует. После этого я подключил принтер к пину P5, Attiny загрузилась но порт просто не работал на нем всегда был высокий потенциал, возможно у меня оказалась бракованная Attiny. Все заработало только когда я подключил принтер к пину P1, пин на котором располагается диод.Также я хочу отметить что датчик отслеживает отдельно движение по оси X и по оси Y. В моем случае используется ось X, но если вы захотите расположить датчик по другому. Например расположить его перпендикулярно движению филамента, то надо в прошивке Attiny заменить ось X на Y.Ну и датчик сильно подорожал за последние время. Я его покупал на распродаже 11.11 он стоил 500р, а сейчас он стоит 900р почти двукратное подорожание, видимо дефицит полупроводников сказался. Вот так выглядит мой принтер с датчиком
Прошивка для Attiny https://github.com/Deema35/prusa_sensor_marlin2.0Ссылка на корпус для датчика https://www.thingiverse.com/thing:4878669
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie_mikrokontrollerov (Программирование микроконтроллеров), #_3dprintery (3D-принтеры), #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_pat9125, #_datchik_filamenta (Датчик филамента), #_3dpechat (3d-печать), #_programmirovanie_mikrokontrollerov (
Программирование микроконтроллеров
)
, #_3dprintery (
3D-принтеры
)
, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 20-Май 16:07
Часовой пояс: UTC + 5