Как сделать измеритель нити 3D: 5 шагов

Как сделать измеритель нити 3D: 5 шагов
Как сделать измеритель нити 3D: 5 шагов
Anonim
Image
Image
Что вам нужно
Что вам нужно

Возможно, вы работаете с несколькими катушками с трехмерной нитью и хотите знать, сколько вы потребляете с каждой катушки, чтобы лучше контролировать свой запас. Мы знаем, что катушка весом примерно 1 кг имеет 330 м, поэтому, если мы измерим расходуемые нами счетчики, мы сможем с определенной точностью интуитивно определить, когда она будет закончена.

С другой стороны, я также заметил, что программы слайсеров не измеряют точно ни время, ни затраченную длину. Для всего этого я решил создать устройство, которое могло бы измерять время и счетчики, потребляемые каждой из моих катушек, я задокументировал, но не нашел того, что мне действительно нужно, поэтому я сделал ремикс измерителя нити, который я нашел в инструкциях (Здесь de оригинальный проект).

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

Следуй за мной в Instagram -> @ BJ3D

Шаг 1. Что вам нужно

Что вам нужно
Что вам нужно
Что вам нужно
Что вам нужно
  1. Плата Arduino (я использовал Arduino UNO для прототипирования и Arduino Pro Mini для устройства)
  2. ЖК-дисплей 16x2 (я использовал ЖК-дисплей I2C, потому что использую только 4 контакта, но с обычным ЖК-дисплеем все в порядке)
  3. Устройство чтения карт памяти Micro SD и карта памяти Micro SD.
  4. 3 переключателя
  5. Оптические датчики (я переработал их из старого принтера, вы также можете купить их с кабелями)
  6. Сопротивления

    1. 2 х 1К
    2. 2 x 12K (я использовал 4 x 6,8K, потому что у меня не было больше)
    3. 1 x 6,8 тыс.
    4. 1 х 480R
    5. 1 х 2,2 тыс.
  7. Перфорированная плита
  8. Некоторые кабели

Шаг 2: Припаиваем печатную плату

Припаиваем печатную плату!
Припаиваем печатную плату!
Припаиваем печатную плату!
Припаиваем печатную плату!
Припаиваем печатную плату!
Припаиваем печатную плату!

Я оставляю схему на случай, если кто-то захочет это сделать.

- Источник питания электроники принтера (5V и GND).

- Для подключения датчика биения вам понадобится штырь от MCU для управления положением переключателя (точно так же, как концевой выключатель).

Вы должны определить его в файле pins_XXX.h, соответствующем плате (где XXX - ваше имя в Marlin), назначив этот номер вывода параметру FIL_RUNOUT_PIN.

Наконец, вы должны включить функцию в файле Configuration.h в следующих строках:

#define FILAMENT_RUNOUT_SENSOR

#if ВКЛЮЧЕНО (FILAMENT_RUNOUT_SENSOR)

#define NUM_RUNOUT_SENSORS 1 // Количество датчиков, до одного на экструдер. Определяет FIL_RUNOUT # _PIN для каждого

#define FIL_RUNOUT_INVERTING false // установите значение true, чтобы инвертировать логику датчика

#define FIL_RUNOUT_PULLUP // Используйте внутреннюю подтяжку для выводов биения нити

#define FILAMENT_RUNOUT_SCRIPT "M600"

#endif

Параметры, которые необходимо настроить, довольно очевидны: количество датчиков (если экструдеров более одного), логика переключения (как в концевых выключателях), включение внутренних подтягивающих резисторов (в случае использования прямой линии) к MCU.) и скрипт, который будет выполнен при активации конца нити.

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

Если он оставлен по умолчанию, вы должны активировать функции ADVANCED_PAUSE_FEATURE в файле Configuration_adv.h, чтобы в файле configuration.h были активированы команды M600 и NOZZLE_PARK_FEATURE, поскольку это необходимо для работы предыдущего.

Я подключил свой датчик к контакту 11 и GND, я использую mks gen v1.4. Если у вас такая же плата, выберите Ramps 1.4 в Marlin, перейдите в файл pins_Ramps.h и измените FIL_RUNOUT_PIN с вывода 4 на 11, что сработало для меня.

Если у вас есть рампы по умолчанию, он использует серво штифт 3.

- Я подключил измеритель нити к контакту D57 моего mks gen, это дополнительный контакт, он используется для отправки сигнала для сохранения информации на SD-карте по окончании печати.

Вы должны поместить в свой слайсер в стартовый код:

M42 P57 S0 -> помещает вывод 57 в GND

и в конце код:

M42 P57 S255 -> ставит вывод 57 на + 5V

Вы можете спрашивать все, что хотите.

Схему я делал в "easyeda" в бесплатном онлайн-приложении.

* клавиатуру лучше разделить, чтобы можно было сделать устройство более компактным.

Шаг 3. Код и тестирование

Код и тест
Код и тест
Код и тест
Код и тест
Код и тест
Код и тест

Я объясню здесь важные вещи, возьму кофе

3.1. Создайте файл.csv:

CSV (значения, разделенные запятыми) - это тип документа в простом открытом формате для представления данных в виде таблицы, в которой столбцы разделены запятыми, а строки - переносами строк.

Это будет наша база данных, мы можем добавить всю катушку, какую захотим. Я перечислил катушку следующим образом: # 001, # 002, # 003… На каждую катушку вы помещаете наклейку с этой ссылкой, и вы будете знать, какая из них. вы используете в каждый момент. Чтобы создать csv, создайте электронную таблицу с помощью excel, open office или google drive. Не забудьте писать все как обычный текст, так как наша SD-карта будет читать только обычный текст. Затем экспортируйте его как file.csv, будет создан текстовый файл с данными, разделенными запятыми.

3.2. Настройте скетч Arduino:

Скачайте скетч и откройте его.

Вам нужно будет изменить только две переменные, чтобы адаптировать его к вашим потребностям. Первая - это num_bobinas, которая указывает количество имеющихся у вас катушек. (Не забудьте добавить их вручную в свою базу данных). Второй - это массив, POSITIONS ["количество катушек"] = {"Здесь вы укажете позицию, в которой начинается строка каждой катушки, я объясню вам это лучше *}

* Пояснение -> SD-карта считывает наш текстовый файл в виде строк символов, каждый символ считается как один, но на каждом конце строки есть «\ r / n», которое считается как 2. Например, в первой строке у нас есть «SPOOLS, SPEND METERS, TIME PRINTED (DD: HH: MM: SS) r / n», если мы посчитаем, это 47 символов, поэтому наша первая позиция, где начинается катушка № 001, будет 47.

Это будет следующая строка «# 001, 000000, 00: 00: 00: 00 / r / n» (25 символов) и т. Д.

3.3 Колесо и энкодер:

Я сконструировал колесо таким образом, чтобы у него было 7 зубцов и 7 отверстий. Оптические датчики должны быть размещены таким образом, чтобы они одновременно могли быть закрыты зубом, а также чтобы они одновременно были свободны в отверстии.

Если они расположены правильно, при вращении колеса будет сформирована последовательность: HH-LH-LL-HL и повторить. Когда вся последовательность в программе будет выполнена, счетчик увеличит свое значение (оно также уменьшается при движении назад), а затем умножит его на переменную, в которой указаны пройденные метры, это объясняется ниже.

Один зуб имеет 24,2º, а одно отверстие - 27,3º.

7 * 24,2 + 27,3 * 7 = 360º

К колесу прикреплена переработанная резина из принтера, которая трется о нить и поворачивает ее. Когда я вставляю нить накала, один полный оборот колеса эквивалентен 5,3 см, это может быть другим для вас, если вы используете другой диаметр резины, я объясняю расчеты.

Счетчик увеличивается, когда зуб и отверстие проходят через энкодер, то есть

24,2º + 27,3º = 51,5º

Таким образом:

360º --------- 5,3 см

51,5º -------- x

x = 0,76 см = 0,0076 м для каждой последовательности для моего колеса. Я поместил это в свои переменные «метры» программы и готово.

3.4 Теперь вы можете загрузить код и протестировать все:

  1. Выберите катушку
  2. Вы можете увидеть данные этой катушки
  3. Начать измерение
  4. Сохранить в SD
  5. Убедитесь, что он был добавлен
  6. Он у вас уже есть!

Шаг 4: 3D-печать и сборка

Некоторая 3D-печать и сборка
Некоторая 3D-печать и сборка
Некоторая 3D-печать и сборка
Некоторая 3D-печать и сборка
Некоторая 3D-печать и сборка
Некоторая 3D-печать и сборка

Я напечатал детали из PLA слоем высотой 0,2 мм, и только для enclosure_bottom нужны опоры.

Для сборки электроники я использовал переработанные винты и клей.

Самая проблемная часть - это колесо, вам нужно найти точную точку трения с нитью, чтобы колесо вращалось, но не тормозило нить слишком сильно. В деталь «направляющая нити» и в часть датчика биения я вставил тефлоновую трубку для скольжения нити.

Наконец, я вкручиваю все в свой алюминиевый профиль принтера и подключаю питание электроники принтера и датчик биения к контакту D11 моего mks gene v1.4.

У вас есть файлы stl, step и Fusion 360.

Шаг 5: Как использовать метр

Как пользоваться счетчиком
Как пользоваться счетчиком
  1. Включите ваш принтер.
  2. Выберите нить.
  3. Выберите свой gcode и начните печать.
  4. Нажимаем "старт" на счетчике.
  5. Когда печать закончится, нажмите «ОК», и изменения будут сохранены на SD.
  6. Вы можете увидеть данные катушки.