Моя жена и ее сестры занимаются ткачеством не одно десятилетие. В конце 2024 года я купил 3D-принтер Elegoo Neptune 4 Pro, и начал осваивать проектирование деталей в TinkerCad. Параллельно, чтобы занять свободное время на пенсии, взялся за курс по программированию Arduino от CraftingTable (ранее — Inventr.io).

Идея родилась сама собой: почему бы не создать настольный автоматизированный ткацкий станок? Однако реальность быстро дала понять — задача не из легких. В этом дебютном для меня руководстве подробно описываю создание прототипа. Увидеть получившееся устройство в действии можно на моем YouTube-канале Greg Zwadlo.

Инструменты и материалы

На видео представлен один рабочий цикл — прототип захватывает нить. Разумеется, финальная версия должна получиться и быстрее, и эстетичнее. Однако текущая сборка уже доказала свою жизнеспособность — около 500 циклов без единого сбоя. В конструкции использованы стандартные аппаратные компоненты, которые легко найти на Amazon, поэтому не буду перечислять их здесь по отдельности.

Шаг 1. Выбор базовой модели для 3D‑печати

Отправной точной стали чертежи от Fraens Engineering. В одном ролике заметно, насколько плавно работает механизм, пока в него не заправлены нити основы и утка. Однако реальные попытки что‑то соткать принесли лишь скромные результаты. Главной проблемой стал челнок, который вел себя совершенно непредсказуемо — это прямо бросается в глаза на втором видео.

Шаг 2. Восемь валов во второй модели

Затем я приобрел у Fraens Engineering еще один комплект чертежей — на этот раз для печати восьмивального станка. Конструкция примечательна своей модульностью: позволяет установить не просто жаккардовый механизм, но и полноценную систему компьютерной автоматизации.

На фото — готовый станок в сборе. В работе он показал себя на отлично! Жена была искренне поражена самим фактом того, что полноценный инструмент можно просто напечатать из… обычного пластика! Я взял этот каркас за основу и начал добавлять компоненты для автоматизации. Весь процесс проектирования шел в TinkerCad, что для моего уровня владения САПР хватило с головой. На выходе получались чистые STL‑файлы, которые без проблем конвертировались в G‑код для печати. Все детали — из PLA‑пластика.

30+ бесплатных курсов на IT-темы в Академии Selectel

Для начинающих и опытных специалистов.

Изучить →

Шаг 3. Ключевые узлы тестового прототипа

Наблюдая за работой жены, я заметил, что получение ровных краев у ковров и дорожек требует недюжинного мастерства. В какой‑то момент на глаза попалась конструкция игольчатого станка Фраена. Я взял на вооружение похожий метод петлевого шва — в нем цепной стежок формируется по обеим сторонам полотна. Еще одним вызовом оказалась сама механика челнока. Для лучшего контроля над его движением позаимствовал концепцию из ткацкой машины Роджерса.

Весь процесс сборки разбит на шесть модулей. Проект прошел через множество итераций с постоянными доработками. Какие‑то узлы не пришлось покупать специально — пригодились прошлые наработки. Опишу финальную ��ерсию прототипа, на которой удалось получить ткань.

Список комплектующих, файлов инструкций и кода для Arduino не претендует на полноту — станок собирался из того, что было под рукой. Elegoo Neptune без проблем напечатал сотни элементов — причем настройки были стандартными для PLA+, вмешательство требовалось редко. Пластик получился самых разных цветов, потому что просто менял катушки по мере расходования.

В состав модулей входят:

  • механизм перемещения ремизок и вала;

  • система подачи и натяжения нитей основы;

  • бердо (модуль Рида);

  • система подачи челнока и уточной нити;

  • узлы натяжения полотна и формирования цепного стежка, а также рабочий стол и зажимы;

  • электроника, компьютерное управление и разработка программных файлов.

Шаг 4. Проектирование берда и вала

Первые тесты на станке Фраена подтвердили: стабильность процесса напрямую зависит от натяжения основы. Пришлось модифицировать отдельные ремизки, превратив их в подобие «жесткого берда». Правда позже выяснилось, что так ограничиваются варианты проборки нитей. Проблема решается использованием сменных наборов валов под разные схемы.

Для прототипа я сохранил восьмивальную конструкцию. Уменьшил толщину каждого вала до 4,5 мм, а ширину полотна — до 56 нитей основы. И все равно требуется семь повторений прямой заправки — работа кропотливая и трудоемкая. Глазки ремизок сделал размером 3 мм — этого вполне достаточно, чтобы 1,5‑миллиметровая хлопковая нить основы проходила сквозь них без излишнего трения.

Для опускания валов применил концепцию «упругости» по методу Фраена, а для их независимого подъема — систему шкивов с восемью шаговыми двигателями 28BYJ-48 и драйверами ULN2003. Такая конструкция исключает необходимость в педалях. Также реализовал схему «комбинированного зева», при которой в нейтральном положении нити основы располагаются по прямой линии.

Благодаря библиотеке AccelStepper все двигатели перемещают валы синхронно при каждом проходе — так называют движение челнока для продергивания одной уточной (горизонтальной) нити сквозь основу (вертикальные нити).

Для формирования ровных краев полотна добавил вспомогательный вал «вверх‑вниз». Он управляет двумя дополнительными нитями основы по обеим сторонам ткани. Эти «мини‑ремизки» поочередно поднимаются и опускаются при каждом прокидывании челнока сквозь зев, фактически фиксируя цепной стежок и удерживая кромку.

Шаг 5. Подача и натяжение основы

Для обратного натяжения подающего ролика понадобилась установка слиппера (муфты скольжения) — ее взял от радиоуправляемой машинки. С созданием нужного усилия отлично справился сервопривод с вращением на 360 градусов. Чтобы нити основы не путались и не разделялись, добавил в конструкцию разделительный гребень.

В этот же модуль интегрирован привод берда. Связка из шагового двигателя NEMA 17 и линейного редуктора гарантирует высокую точность его позиционирования при каждом движении.

Шаг 6. Прибивной механизм

Для перемещения берда выбрал горизонтальную линейную схему. Главная причина — возможность компактно разместить остальные узлы в зоне валов. Само бердо напечатано на 3D‑принтере из двух частей. Плотность зубьев составила 9,4 DPI (3,7 нити на сантиметр).

Значение подбиралось опытным путем: моделировал в UltiMaker Cura тестовые зазоры разной ширины, печатал их на Elegoo и проверял результат. Точность принтера при создании таких тонких прямых щелей меня впечатлила. Правда после, поиграв с настройками, увидел, что зазор наверняка можно было сделать и больше. Валы и линейные подшипники позаимствовал из своего старого ЧПУ‑проекта. В итоге механизм работает плавно и равномерно, обеспечивает качественный прибой уточной нити.

Отверстия по краям берда позволяют крючкам-защелкам беспрепятственно проходить сквозь него в момент прибоя нити. На обоих концах берда установлены специальные роговидные элементы — именно роговидные, а не Y-образные, — которые отвечают за работу крючков. Магниты, закрепленные на кончиках этих «рогов», гарантируют, что защелка будет открыта для захвата уточной нити из челнока и надежно закрыта при протягивании петли сквозь предыдущий стежок.

Шаг 7. Челнок и уточная нить

Для протяжки уточной нити сквозь зев используется челнок с «управляем��м» стержнем. При такой схеме на каждый проход ложится двойная нить из-за чего форма утка немного отличается от классической. Такое решение отлично подходит для создания полотна, где толщина утка сопоставима с шагом нитей основы. Нить подается с ролика через полый вал к кончику челнока и выходит из него на некотором удалении. Благодаря зазору крючок-защелка может беспрепятственно подхватить нить для формирования следующего цикла.

Челнок перемещается сквозь зев с помощью второго шагового двигателя NEMA 17, оснащенного линейным редуктором и направляющей. Такая связка гарантирует, что уточная нить всегда ложится точно под захват крючка‑защелки. После прохода челнок возвращается в исходную позицию и позволяет второму крючку подхватить нить с противоположной стороны полотна. Механика привода челнока получилась довольно сложной, но зато она обеспечивает строго прямолинейное движение, что критически важно, если некоторые нити основы вдруг ослабнут.

Ролик подачи уточной нити, как и в узле основы, приводится в движение сервоприводом с вращением на 360 градусов. Вторая муфта скольжения (слиппер) управляет намоткой и размоткой нити, а также регулирует натяжение при формировании цепного стежка. Именно стабильное натяжение критически важно для того, чтобы крючки надежно подхватывали нить и удерживали структуру края.

Конструкция подачи утка позволяет быстро менять катушки (шириной до 11 см) нитей разных цветов. В качестве уточной нити я выбрал хлопок 3/2 в восьмиунцевых катушках по 630 ярдов (226 г, 576 м — прим. пер.) толщиной 1,0 мм.

Примечание переводчика

В маркировке «хлопок 3/2» первое число указывает на толщину (номер) одиночной нити. Чем больше значение — тем тоньше нить. Второе — сообщает количество скрученных вместе нитей.

Таким образом, получается комплексная нить, состоящая из двух нитей 3‑го номера — довольно популярная в ткачестве, умеренно толстая и прочная.

Шаг 8. Механизм кромочного стежка и система фиксации ткани

Здесь потребовалось больше всего усилий, в первую очередь — из-за отладки для стабильного цепного стежка.

Рабочий стол станка расположен примерно в 100 мм от исходного положения берда — это придает полотну устойчивость в процессе работы. Кроме того, стол служит физическим ограничителем: он фиксирует точку, в которой завершается движение берда, что гарантирует одинаковое расстояние между нитями утка.

Зажим станка выполняет сразу несколько функций. Он формирует четкую границу зева при прохождении челнока и фиксирует полотно, обеспечивая стабильность цепного стежка. Кроме того, по краям зажима предусмотрены два перекрывающихся угла — они позволяют выдерживать нужное натяжение уточной нити в момент формирования стежка.

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

Для формирования цепного стежка используются обычные крючки‑защелки, которые можно найти в продаже. Важно, чтобы они были достаточно длинными — так удается подхватывать уточную нить с челнока и протягивать ее сквозь предыдущую петлю цепочки. В данной конструкции я применил крючки с прямыми ручками длиной 100 мм и высотой головки 5 мм. Чтобы защелка открывалась и закрывалась стабильно, на «рожках» гребня установлены магниты.

За перемещение крючков отвечают два сервопривода, соединенные с линейными приводами. Такая связка обеспечивает необходимое для стежка движение в горизонтальной и вертикальной плоскостях. Добиться точного позиционирования было непросто из‑за использования бюджетных сервомоторов. Направляющие для этого узла снова пришлось позаимствовать у старого ЧПУ‑проекта.

Для поддержания стабильного натяжения ткани в процессе работы используется шаговый двигатель NEMA 17. При этом такие факторы, как растяжение нити и изменение эффективного диаметра приемного ролика по мере намотки полотна, в данной системе не компенсировались.

Шаг 9. Качество цепного стежка

Фотографии выше наглядно показывают качество и стабильность цепного стежка. Чтобы добиться такого результата и избежать пропусков петель, крайне важно поддерживать постоянное натяжение нити. Большой плюс такого стежка при проведении тестов в том, что уточную нить можно легко вытянуть из полотна — это позволяет повторно использовать нити основы для дальнейшей отладки автоматизации.

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

Шаг 10. Схемотехника и программная часть

Управление станком реализовано на базе Arduino MEGA 2560 — выбор пал на эту плату из‑за огромного количества необходимых портов ввода‑вывода. Только для восьми драйверов ULN2003, управляющих шаговиками 28BYJ-48, требуется 32 цифровых пина. Крупные шаговые двигатели заняли еще шесть контактов, а семь сервоприводов — по одному на каждый.

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

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

Скетч, управляющий движениями на видео, обеспечивает строго последовательную работу каждого мотора и сервопривода. Одновременные движения пока не реализованы. В качестве меры предосторожности добавил в код алгоритм «остановки» на случай сбоев — например, если крючок не подхватит уточную нить. Каждый цикл занимает от 30 до 60 секунд, поэтому ткацкий процесс идет довольно медленно. Уверен, что за счет доработки механики и оптимизации ПО, скорость процесса можно значительно увеличить.

Скачать
Скетч управления узлами станка (фрагмент кода)
Алгоритм работы станка (версия от 10.01.2026)

Шаг 11. Код Arduino для управления валами

Для каждого вала в системе определено «нулевое», то есть центральное положение. На вход подается массив из восьми нулей и единиц — он определяет, должен ли каждый конкретный вал подняться или опуститься на заданное количество шагов согласно рисунку переплетения.

Из‑за плотной компоновки двигателей для экономии места, группы моторов ориентированы в разные стороны, что требует программной инверсии направления движения для части из них. Библиотека AccelStepper позволяет всем восьми валам перемещаться одновременно, формируя чистый зев.

Фрагмент кода ниже обеспечивает синхронное вращение восьми шаговых двигателей, воспроизводя выбранный паттерн из массива D_P[].

// Итерация по битам от старшего к младшему.
for (int i = 7; i >= 4; i--) {
    if (bitRead(D_P[j], i) == 1) {
        positions[i] = Heddles_5_8_Up;
    } else {
        positions[i] = Heddles_5_8_Down;
    }
}

// Итерация по битам от старшего к младшему.
for (int i = 3; i >= 0; i--) { 
    if (bitRead(D_P[j], i) == 1) {
        positions[i] = Heddles_1_4_Up;
    } else {
        positions[i] = Heddles_1_4_Down;
    }
}

// Блокировка до тех пор, пока все не займут свои позиции.
steppers.moveTo(positions);
steppers.runSpeedToPosition();

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

Скачать
Скетч для управления приводом валов станка

Шаг 12. Программная настройка рисунка ткани

Массив переменных для управления валами генерируется в Excel на основе выбранного паттерна. Хотя для проектирования узоров существуют специализированные программные пакеты, с этой задачей справляется и обычная таблица. Она вполне позволяет сопоставить переплетения нитей основы и утка для получения нужного рисунка. Для каждого прохода утка Excel формирует 8‑битное двоичное число, например 01001101, которое описывает положение всех восьми валов. Эти значения переводятся в десятичный формат, и полученный массив копируется из CSV‑файла напрямую в скетч Arduino.

Программа считывает эти числа и преобразует их обратно в команды для двигателей каждого вала. Код Arduino без проблем поддерживает длинные десятичные массивы. В будущем, для полностью автономной работы станка, можно будет использовать SD‑карту. Дополнительную информацию о принципах построения жаккардовых схем можно найти на профильных ресурсах, таких как Fraens Engineering.

Скачать
Конвертация схемы переплетения в десятичный массив данных

Шаг 13. Создание тестового прототипа

Изначально я ставил перед собой цель автоматизировать процесс ткачества, перейдя от традиционных схем к полноценной жаккардовой конструкции. Судя по результатам испытания прототипа, задача вполне осуществима. Идея в том, чтобы реализовать независимое управление каждой отдельной нитью основы! Возможно, это не так уж и просто, но совершенно точно, что реально. Концепции, изложенные в приложенных PDF-файлах — лишь отправная точка.

Итак, TinkerCad запущен, 3D-принтер прогрет — пора за работу.

Большое спасибо за внимание к проекту! Надеюсь, он станет доказательством того, что современные инструменты автоматизации позволяют нам, простым любителям, создавать по‑настоящему сложные и функциональные механизмы.