Обсуждаем цифровые устройства...
Ответить

Автоматический намоточный станок

Вс янв 24, 2021 00:04:36

Приветствую всех заглянувших сюда!

Хотел бы поделиться проектом полноценного намоточного станка с автоматической укладкой провода.

Сначала небольшая предыстория. Этот проект создавался по просьбе моего хорошего знакомого Яна (здесь он присутствует под соответствующим ником). Он нашёл и повторил вот эту конструкцию, но, как оказалось, работает она очень плохо. Получить нужный шаг намотки затруднительно, реальное перемещение укладчика за один оборот вала с каркасом не соответствует установленному значению. Также в этой конструкции для экономии выводов использовано подключение кнопок к АЦП, и из-за недоработанной программной реализации опроса кнопок периодически возникают глюки - срабатывает не та кнопка, которая должна. И эти проблемы появились у многих, кто повторил конструкцию, как следует из темы с обсуждением.

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

Механическая часть содержит два шаговых двигателя: один вращает вал, на который крепится каркас наматываемой катушки, а второй посредством ходового винта приводит в движение укладчик провода - механизм, направляющий провод в нужную точку каркаса. Управляет этими двумя двигателями микроконтроллер ATmega8A. Схема устройства:
Изображение

Шаговые двигатели управляются при помощи готовых китайских платок драйверов (в данном случае использованы DRV8825, но можно поставить и любые другие). Драйвер U3 управляет двигателем намотки, а U2 - двигателем укладчика. Дополнительно предусмотрена возможность подключения энкодера, установленного на валу двигателя намотки (разъём U7), однако, в настоящий момент программной поддержки этого узла нет.

Органы управления устройством остались такие же, как и в оригинальной конструкции: энкодер (с кнопкой) и ещё пять кнопок. Информация выводится на индикатор 2004 (20 символов, 4 строки) с контроллером, совместимым с HD44780.

Для установки всех параметров намотки используется энкодер, реализовано простейшее меню. Сначала поворотом энкодера выбирается требуемый параметр (пункт меню). Курсор в виде символа ">" указывает на выбранный пункт меню.
Изображение
Для входа в режим редактирования параметра нужно нажать кнопку энкодера (назовём её кнопкой OK). при этом вокруг значения параметра появятся символы ">" и "<". Далее вращением энкодера устанавливается необходимое значение. При нажатии кнопки OK устройство снова переходит в режим выбора параметра. Числовые параметры с большим числом разрядов устанавливаются поразрядно. Переход к следующему разряду осуществляется кнопкой OK. Изменяемый в данный момент разряд разряд мигает, при повороте энкодера мигание временно приостанавливается.
Изображение

Намоточный станок имеет два режима работы: автоматический (Auto) и ручной (Manual). Режим выбирается в пункте меню Mode.

В автоматическом режиме устанавливаются следующие параметры:
1. Turns - число витков;
2. Spacing - расстояние между витками, т.е. шаг намотки (величина смещения укладчика за один оборот катушки), мм;
3. Length - длина намотки, мм;
4. Turns/layer - число витков в слое;
5. Speed - скорость намотки, об./с;
6. Direction - начальное направление движения укладчика (на первом слое);
7. Pause - автоматическая приостановка намотки в конце каждого слоя (например, для прокладки межслойной изоляции).

Для запуска намотки нужно нажать и удерживать в течение одной секунды кнопку OK. Намотка производится послойно с изменением направления между слоями. В конце каждого слоя станок останавливается, если в пункте меню Pause выбрано On. Также поставить намотку на паузу можно в любой момент, нажав кнопку OK. Для возобновления процесса намотки нужно также нажать OK. Текущее состояние отображается в правом верхнем углу индикатора:
Ready - устройство готово к запуску;
Running - намотка запущена;
Paused - намотка приостановлена;
Done - намотка завершена.
Изображение

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

Наличие в меню одновременно параметров Length и Turns/layer требует пояснения. Очевидно, эти величины связаны между собой. А именно,

<Length> = (<Turns/layer> + 1) * <Spacing>.

Единица в формуле появилась из-за того, что реальная длина намотки больше величины смещения укладчика на диаметр провода. Например, один виток при намотке "виток к витку" имеет длину, равную двум диаметрам провода.

При изменении одного из параметров Length и Turns/layer второй меняется автоматически. В случае, если изменяется длина намотки, выбирается максимально возможное число витков, умещающихся на этой длине. Число витков в слое меняется от 1 до общего числа витков, а длина намотки - в диапазоне от удвоенного шага до длины, соответствующей общему числу витков. Таким образом, при изменении длины число витков будет также лежать в пределах от 1 до общего числа витков.

Немного сложнее обстоит дело, если изменяется шаг намотки (Spacing). В этом случае длина намотки остаётся неизменной, а число витков в слое пересчитывается (и опять берётся максимально возможное значение). Если полученное число витков превышает общее число витков, длина намотки уменьшается до (<Turns> + 1) * <Spacing>, а если получено число 0, то длина увеличивается до 2 * <Spacing>. Число витков в этих случаях корректируется соответствующим образом.

Кнопки Left, Right, Up, Down образуют подобие джойстика. Они позволяют вручную выставить укладчик и повернуть катушку. Работают они в том случае, если не запущена намотка (слово Ready в левом верхнем углу). При нажатии на любую из них на индикатор выводятся текущие координаты (об этом я расскажу подробнее в описание режима Manual). Если нажата одна из кнопок Up и Down (т.е. производится поворот катушки), выводится также текущее значение скорости вращения, которую можно менять прямо в процессе при помощи энкодера.
Изображение

Режим Manual имеет следующие отличия от режима Auto:
1. Управление шаговыми двигателями производится только при помощи кнопок.
2. Сигнал ENABLE с драйверов ШД не снимается после остановки двигателей, т.е. реализован режим удержания.
3. Текущие координаты отображаются постоянно, а не только при нажатии на кнопки перемещения.

Меню в режиме Manual состоит из двух пунктов:
1. Speed - аналогичен такому же пункту в режиме Auto;
2. Reset position - обнуление текущих координат.
Изображение

Координаты представляют собой два числа: T (Turn) и G (Guide). Первое соответствует числу витков (вернее, числу оборотов), второе - положению укладчика (в мм). Координаты могут быть как положительными, так и отрицательными.

Ручной режим имеет несколько применений. Во-первых, его можно использовать для намотки с укладкой провода вручную. Режим удержания ШД исключает проворот двигателя намотки из-за натяжения провода. Во-вторых, можно наматывать катушки со сложной конфигурацией обмоток (переменный шаг или ещё что-то подобное). В-третьих, поскольку координаты постоянно видны на индикаторе, легко можно осуществить начальное позиционирование укладчика. Например, если нужно намотать на одну катушку несколько обмоток, то в ручном режиме можно до намотки первой обмотки обнулить координаты у левого края каркаса, потом выполнить автоматическую намотку в один слой, а затем снова в режиме Manual вернуть укладчик от правого края каркаса в положение, близкое к нулю. Возможно, есть и ещё какие-то способы использования этого режима. Двигателями можно управлять как угодно, поэтому удастся реализовать любую идею.

Поскольку у желающих повторить этот проект могут быть различные двигатели, ходовой винт и прочее, я выкладываю исходники, чтобы любой желающий смог подправить их под свою конструкцию. Программа написана на языке Си. В качестве среды разработки использовался Code::Blocks, компилятор - avr-gcc версии 8.3.0. Теоретически, можно обойтись без Code::Blocks, создав Makefile, но я этого пока что не делал.

В файлах pins.h и lcdlibrary/lcd_definitions.h можно переназначить выводы МК. Во втором из них описывается подключение индикатора, а в первом - всего остального. При переназначении выводов есть ряд ограничений:
1. Неиспользуемый пока что энкодер на валу двигателя намотки должен подключаться только к PD2 и PD3, т.е. его подключение менять нельзя.
2. Энкодер для настройки параметров нужно подключать к двум соседним битам одного порта (PB4 и PB5, PD3 и PD2 и прочее). "Положительным" направлением вращения считается то, в котором контакт, подключенный к цепи ENCODER_A, замыкается первым (раньше).
3. Для возможности внутрисхемного программирования МК к выводам программирования SCK, MISO, MOSI (PB5, PB6, PB7) не рекомендуется подключать выводы D4..D7 индикатора, а также входы ENABLE и STEP драйверов ШД.

Параметры механики задаются в файле winding.h. Там задаётся число шагов на 1 оборот каждого из шаговых двигателей, дробление шага (микрошаг, установленный на драйвере), шаг резьбы ходового винта (в случае многозаходной резьбы - ход резьбы). Также задаётся ускорение двигателей (скорость разгона) в об./с^2 (rps/sec).

В файле winding.h есть параметр MOTOR_STEP_DIVIDER, используемый для оптимизации вычислений. Его следует рассчитать вручную как наибольший общий делитель (НОД) значений TURN_MOTOR_MICROSTEPS_PER_REVOLUTION и GUIDE_MOTOR_MICROSTEPS_PER_REVOLUTION (это число микрошагов на один оборот двигателей). В простейшем случае, если двигатели одинаковы, это число равно произведению числа шагов на дробление шага (т.е. все три значения MOTOR_STEP_DIVIDER, TURN_MOTOR_MICROSTEPS_PER_REVOLUTION и GUIDE_MOTOR_MICROSTEPS_PER_REVOLUTION равны друг другу).

В файле main.c задаются такие параметры, как минимальное и максимальное число витков, минимальный и максимальный шаг намотки, минимальная и максимальная скорость, а также скорость перемещения укладчика при нажатии кнопок Left и Right.

Таким образом, может потребоваться отредактировать четыре файла: pins.h, lcdlibrary/lcd_definitions.h, winding.h и main.c.

Напоследок, картинка с фьюзами МК ("галочка" - запрограммировано, т.е. лог. 0):
Изображение

В архиве находятся: схема в DipTrace, PNG и PDF, проект Proteus для ознакомления с работой устройства, прошивка с исходниками и проект Code::Blocks, картинка с фьюзами.
winding_machine_all.zip
(464.82 KiB) Скачиваний: 2324


Прочую полезную для повторения данной конструкции информацию (печатную плату, конструкцию механической части, модели для 3D-печати деталей и т.д.) в скором времени выложит Ян.
Последний раз редактировалось *Trigger* Вс янв 24, 2021 16:31:22, всего редактировалось 2 раз(а).

Re: Автоматический намоточный станок

Вс янв 24, 2021 00:29:46

Раз такая тема про намоточные станки, станок для намотки катушек универсалью, это почти точная копия станка из журнала Радио, №8 за 1954 год:
Изображение

Изображение

Изображение Изображение Изображение Изображение
Изображение

Re: Автоматический намоточный станок

Вс янв 24, 2021 00:37:48

*Trigger*, просто нет слов. :))
*Trigger* писал(а):Поскольку у желающих повторить этот проект могут быть различные двигатели, ходовой винт и прочее, я выкладываю исходники, чтобы любой желающий смог подправить их под свою конструкцию.
А не планируется ли установка числа шагов на оборот/миллиметр в каком нибудь сервисном меню/режиме? :roll:

Re: Автоматический намоточный станок

Вс янв 24, 2021 09:15:21

korob писал(а):А не планируется ли установка числа шагов на оборот/миллиметр в каком нибудь сервисном меню/режиме?

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

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

Re: Автоматический намоточный станок

Вс янв 24, 2021 10:13:56

В дополнение темы. Если кто захочет повторить, ну или использовать часть конструкции, выкладываю все что есть по моему станку.

Плату я отфрезеровал на ЧПУ. Лень было травить.

Изображение

Несколько фоток платы.

Изображение Изображение Изображение Изображение
На последней плате промежуточная прошивка.

Фото самого станка. Это версия с управлением на ардуино, новую коробку под плату управления пока не напечатал.

Изображение

Некоторые детали и узлы станка.

Изображение Изображение Изображение Изображение Изображение Изображение

Небольшое видео работы меню.

Схема и плата в Диптрейс.

https://yadi.sk/d/82CBeNBhTc0ViQ

Файлы для печати деталей станка.

https://yadi.sk/d/eGrGMg6Lg9ePFw

Чертежей металлических деталей я не делал, точил по месту.
Когда напечатаю корпус, добавлю его файлы.

Новая система управления оказалась гораздо удобнее версии на Ардуино. Огромное спасибо Арсению за его труды!!!

Re: Автоматический намоточный станок

Вс янв 24, 2021 16:40:30

Ян, станок для намотки торов не пробывали реализовать?

Re: Автоматический намоточный станок

Вс янв 24, 2021 18:00:09

Нет необходимости. Зачем? Проще заказать. Этот станок делался для конкретных восьми маленьких катушек для одного проекта. Сделаю, и в дальний угол станочек задвину.

Re: Автоматический намоточный станок

Вс янв 24, 2021 19:13:08

Хороший однако у ТСа 3D принтер - так ровно напечатно.

Re: Автоматический намоточный станок

Вс янв 24, 2021 19:17:55

Ян, а как долго печатались детали и какой пластик использовался.

Re: Автоматический намоточный станок

Вс янв 24, 2021 19:25:49

Все потому, что самодельный. :) Почему такой, потому как он переродился из Анета А6. Правда от того только моторы, винты, да направляющие оси У. Руки дойдут, на рельсы заменю. Я пробовал печатать на нем со скоростью 350мм/мин. Весьма нормально получилось. Очень жесткий. Профили 30х60, фрезерованный алюминий! Печатающий узел для удобства съемный. Управление Лердж.
Похвастался...

Изображение Изображение

Печатал PLA. Время не засекал. :)

Re: Автоматический намоточный станок

Вс янв 24, 2021 22:03:35

Ну да - там направляющие с ценой, как крыло от самолета. Не для простых людей конструктив. Думал есть дешевые и сердитые решения. Типа усилий на головке нет. Ан нет - как и обрабатывающие системы требует жесткости. Думал начать строить свой (из останков матричных принтеров, одну ось сделал) - но, видимо, для качественной работы нужны слишком уж приличные вложения.

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

Re: Автоматический намоточный станок

Пн янв 25, 2021 01:47:21

Ян писал(а):пробовал печатать на нем со скоростью 350мм/мин. Весьма нормально получилось. Очень жесткий.
350мм/мин так медленно? или опечатка вышла.

У меня ender 3. скорости долее 120мм/с не ставил, особенно на высоких деталях, из-за особенностей технологии "дрыг стола". Хочется по быстрее и получилось-бы, но этот стол елозит туда-сюда, и чем выше поднимается тем сильнее "раздёргивает" (рябит). Правда ещё крышку (корпус) не мешало бы, от сквозняков закрыться. Только этим и не нравится, а всё остальное вполне устраивает.

Ян, зачётный аппарат!!! :beer: особенно горизонтальные направляющие.

Re: Автоматический намоточный станок

Пн янв 25, 2021 07:22:48

Проект интересный, но как обычно стало обсуждение не в тему. Понятно, что станок делался для разового использования и маленьких катушек.
Есть вопрос к автору.
Будет все таки версия с энкодером на валу двигателя ?
Думаю в этом случае можно будет применить двигатель с редуктором и увеличить диаметр наматываемого провода.

Re: Автоматический намоточный станок

Пн янв 25, 2021 07:35:12

Не знаю, сколько вложено, проект тянется лет 5, но пока нет ни головки, ни механизма подачи, есть мысль переделывать это в установку по засветке фоторезиста.

А застопорился аккурат на оси Z - каретка вертикальная клинит, надо строго синхронизировать ходовые винты, но китайские винты мне запороли про обработке концов + кончилась возможность договариваться о изготовлении деталей на производстве -поставили новое начальство, которое из принципа на дает рабочим подхалтуривать.

Re: Автоматический намоточный станок

Пн янв 25, 2021 08:59:45

Ну да - там направляющие с ценой, как крыло от самолета. Не для простых людей конструктив. Думал есть дешевые и сердитые решения. Типа усилий на головке нет. Ан нет - как и обрабатывающие системы требует жесткости. Думал начать строить свой (из останков матричных принтеров, одну ось сделал) - но, видимо, для качественной работы нужны слишком уж приличные вложения.

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

Вы наверно не мониторили цены на направляющие. Думаю они обошлись не дороже 4 тыс. Сейчас трудно вспомнить, а в истории на Али лень копаться. Это для ЧПУ не дешевые, у меня на станок на 3 оси они обошлись тысяч в 18, и это не самые дорогие. Этот принтер обошелся мне примерно в 30-35 тыс. Конечно многое я делал сам, у меня есть токарный станок. Только фрезеровку на ЧПУ делал на стороне. Я считаю что это не бешеные деньги. Особенно если сравнить с ценами на не бюджетные принтеры. Ремни обеспечивают быстрое и безлюфтовое перемещение. Уже год принтеру, ремни не растянулись. К тому же есть устройства для их натяжения. 2 двигателя на Z гораздо лучше, нет больших нагрузок на синхронизирующий ремень. Он служит лишь для синхронизации, а не для передачи усилия. Ставьте 2 на Z, небольшая цена за стабильную работу.

Wladimir_TS писал(а):350мм/мин так медленно? или опечатка вышла.

Да, ошибся конечно. в секунду. :)

Re: Автоматический намоточный станок

Пн янв 25, 2021 09:49:47

Одинаковые движки найти сложновато.

Про 4 тысячи не верю - это всего 2 каретки на самый узкий рельс - 9 мм А минимум надо по 3 каретки на ось, а лучше по 4. + сами рельсы. Фрезеровка на ЧПУ без знакомства - там менее чем за 30к даже разговаривать не будут (хотел корпус для ИНошных часов заказать) - причем как всегда россиянское хамство и скрытая ненависть к каждому клиенту с мелким заказом..

Re: Автоматический намоточный станок

Пн янв 25, 2021 10:25:49

Самый узкий рельс 7мм (MGN7,) 300мм + одна каретка стоит не более 800руб. сама каретка 400.
https://aliexpress.ru/item/100000748047 ... 0113926270

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

Wladimir_TS писал(а): Фрезеровка на ЧПУ без знакомства - там менее чем за 30к даже разговаривать не будут (хотел корпус для ИНошных часов заказать) ...
:)) таких? Такой корпус и будет стоить не мало.

Re: Автоматический намоточный станок

Пн янв 25, 2021 11:01:21

Корпус попроще, но не без изысков. :)))

6 рельс уже 5к + 6 допкареток - в 4 тысячи никак.

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

Re: Автоматический намоточный станок

Пн янв 25, 2021 11:53:38

Wladimir_TS писал(а):Про 4 тысячи не верю

Если вы заметили, на моем принтере пока 4 рельса, ось у пока на круглых направляющих. Так что про 4 тысячи я писал имея ввиду свой принтер.
Фрезерую без знакомства, нашел через чипмейкер, уже несколько лет пользуюсь. Просто где я фрезерую, не хапуги. Для примера. Делаю сейчас новый ЧПУ, то что вы видите на фотке мне отфрезеровали за 10тыс. Материал мой, еще 3500. Разве это дорого? Думаю все фрезерные работы за станок обойдутся в 30 тыс. Плюс материал 13. Такого качества за эти деньги на Али не купить, я то знаю, не зря делаю новый вместо моего китаезы.

Изображение
Круглые направляющие я покупал тут. Нормально закалены, цена приемлема. Ножевкой такие валы никто не пилит, есть болгарка.

Тема плавно перетекла от намоточного станка в 3D принтеры... А я продолжаю его доделывать. Нарисовал корпус, но появилась новая идея относительно его.
Да, кстати, раз возникла темка про часы на ИНках. Это мое основное хобби, все что я делаю из оборудования, делается в том числе и для этого. :))

Re: Автоматический намоточный станок

Пн янв 25, 2021 12:01:42

Кому - как...мне дорого. Да и опять - вот у вас есть доступ (где живете.....ага) где фрезеруют за столько, у меня нет (точнее есть - но заметно за больше и это единственное место доступное в радиусе 100 км). У всех свои возможности. Одна ШВП на вашем фото сколько стоит ???? И небось ставить уже не шаговый будете, а полноценный серводвигатель.

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