Датчик диаметра филамента, простой недорогой из доступных деталей
Сел и стал разрабатывать свой. Остановился на датчике холла с линейной характеристикой. Попробовал, работает, но убил температурный дрейф. Стал думать как выйти из положения, сначала смотрел в сторону датчиков с термокомпенсацией. Дорого и под заказ. Пришла мысль поставить пару датчиков и считать разницу, так как дрейф однонаправленый. Проверил. Работает.
стл модель http://3dtoday.ru/3d-models/detali-dlya-3d-printerov/raznoe/datchik_diametra_i_okonchaniya_filamenta_/
Один датчик стоит вниз второй вверх. магнит на подвижной планке примерно между ними снизуВ планке стоит подшипник, сам подшипник должен быть качественным, так как его биения влияют на точность. И запрессован магнит. Поработав немного решил объеденить датчик с фильтром для филамента, особых сложностей это мне не принесло а польза налицоВ качестве процессора взял недорогую ардуино , добавил функции датчика окончания филамента, точнее контроля диаметра. Можно задать верхний нижний лимит и если они будут превышены то выдавать сигнал. Например не стоит толкать через боудет пластик больше чем 1.95 , вероятность застрять высока, да и меньше 1.55 тоже не все хорошо будет ..
Добавил выход на звуковой сигнал если нить за диапазоном для тех кто захочет его использовать
прикинул, пружина для авторучки подходит , так что желающие могут собирать детали. Как включить в прошивке я потом распишу.
итак список деталей с ссылкой где брал
датчики холла, 2 шт https://arduino.ua/prod1474-datchik-holla-ss49e Неодимовый магнит 5x2мм - 1 шт (есть в том же магазине )
Радиальный подшипник F623ZZ 3х10х4мм (есть там же но бьют сильно)
Arduino Nano ATmega168 CH340 нераспаянная (самая дешевая из подходящих) можно Arduino Nano ATmega 328 но она дороже.
Провода и разъемы по вкусу, можно взять шлейф 10-жильный 28AWG разноцветный 50 см, немного распустить и на все хватит скорее всего, или взять метр ... На сам датчик с ардуино нано идет 4 провода, и 3 провода (если не подключать датчик окончания филамента) либо 4 если подключать датчик окончания на рампс (ну или что там у вас)
Активный динамик (buzzer) может быть подключен вместо или вместе с выходом на рампс и пищать если кончился филамент
резистор на 1 -3 ком и конденсатор 0.1-4.7 мкф всегда можно где нибудь выковырять
Резистор я ставил между d10 и d11 ногой ардуины конденсатор + на 11 и минус на 12 , это если конденсатор полярный, если нет то как угодно.
с 11 ноги идет выход напряжения на рампс - диаметр филамента. 7 нога выход датчика окончания, 6 пищалка минус , + пищалки на 5 вольт.
Настройка датчика состоит из 2 частей.
1 настройка самого датчика.
Необходимы 2 сверла 1.5 и 2 мм для калибровки. в принципе сами по себе размеры не обязательно такие, их можно ввести при калибровке главное чтобы это были известные размеры.
Подключаемся к ком порту ардуины нано через встроенный терминал ардуино, скорость 115200
при подключении получаем список команд
ставим 1.5 мм штырь , набираем cal1 - калибруем толщину 1.5 мм
ставим 2.0 мм штырь , набираем cal2 - калибруем толщину 2 мм
если все сделано правильно то после этого измерение будет идти верно
настройка марлина
Configuration.h
устанавливаем диаметр
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
Configuration_adv.h
Включаем датчик
#define FILAMENT_WIDTH_SENSOR
#define MEASUREMENT_DELAY_CM 12 // (cm) The distance from the filament sensor to the melting chamber
указываем расстояние от датчика до экструдера
#define FILWIDTH_ERROR_MARGIN 0.25 // (mm) If a measurement differs too much from nominal width ignore it
указываем допустимый разброс, после которого сигнал датчика игнорируется
#define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
выделяем память для , значение должно быть больше чем MEASUREMENT_DELAY_CM
#define FILAMENT_LCD_DISPLAY
это по желанию, отображает диаметр и множитель потока при печати
и возможно temperature.cpp (у меня в 1.1.19 версии была ошибка, не хотело компилировать )
что менял уже не помню, помню что переносил какую-то переменную из функции в глобальную (за пределы функции)
как вложить файл не нашел , выложил на гугл диск
прошивка https://drive.google.com/file/d/12rh00LAVtfr45crQdMc4H-ATQN8bqSHz/view?usp=sharing
Еще больше интересных статей
Замена нагревательного элемента на хотэнде QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Как определить высоту слоя прерванной печати
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Очень интересно посыпались рол...
У меня посудомока DEXP она же....
Спасибо за файлы с опозданием....
Добрый вечер! Подскажите пожал...
Всех приветствую, у меня 3д пр...
Печатаю на принтере Ender 3 v3...
ellego