Кремень КД Реклама
Кремень КМ Реклама

Датчик диаметра филамента, простой недорогой из доступных деталей

test3210
Идет загрузка
Загрузка
27.09.2018
22437
50
Техничка

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

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

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

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

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

стл модель 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

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

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

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

76
Комментарии к статье