Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Намоточный станок на Arduino

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

Устройство, о котором пойдет речь, представляет из себя автоматический намоточный станок с укладчиком витков и индикацией процесса на символьном ЖК экране. 
Интеллектуальным ядром устройства является знакомый многим микроконтроллер ATmega328P, расположенный на китайском варианте платы Arduino UNO. Контроллер через CNC Shield (плата расширения ЧПУ) управляет силовой частью устройства, состоящей из двух драйверов шаговых двигателей (ШД) на базе микросхемы DRV8825 и двух ШД 17HS3401 и 17HS4401 (полный оборот 200 шагов). Человеко-машинный интерфейс состоит из модуля поворотного энкодера KY-040 и символьного дисплея 16x2 с контроллером HD44780 и модулем связи по шине I2C на расширителе портов PCF8574A. Питание схема получает от импульсного БП 220AC-12DC 60W. 

Arduino UNO

Микроконтроллер задействует драйвера «Z» и «A» при этом на CNC Shield-е для соединения драйвера «A» с пинами 12 и 13 ардуино необходимо установить перемычки D12-A.STP и D13-A.DIR. Режим работы DRV8825 выбираем с микрошагом 1/16 установив перемычки M2 на плате, это означает что на один шаг ШД (1,8°) необходимо подать 16 фронтов сигнала STP. Установку модулей DRV8825 необходимо произвести так как показано ниже.

После установки драйверов ШД необходимо обязательно выставить ограничение по току. При подключенном напряжении 12В к плате CNC Shield, но без электродвигателей, необходимо вращая подстроечный резистор выставить значения ограничений. Текущее значение контролируем мультиметром и вращая отверткой подстроечник, добиваемся значений напряжения для драйвера «Z» 0,68В и 0,52В для драйвера «A». Эти значения напрямую связаны с номинальным током ШД. Для 17HS4401 In = 1,7А, а для 17HS3401 In = 1,3А. Значение напряжения в щадящем для ШД режиме вычисляем по формуле Vref = 0,8*(In / 2).

Подключение I2C 1602 LCD выполняем к соответствующим выводам SCL, SDA, 5V, GND платы расширения. На модуле энкодера допаиваем подтягивающий резистор R1 10k если его там нет. Для устранения дребезга контактов необходимо собрать схему аппаратного подавления, ее можно оформить в виде модуля, дополняющего модуль KY-040 как показано ниже. Фильтры низких частот на R4-6 и C1-3 устраняют дребезг, а триггеры Шмитта МС 74НС14N восстанавливают фронт и спад сигнала.


Для подключения энкодера к ардуино соединяем пины X.STEP и CLK, Y.STEP и SW, X.DIR и DT а так же GND и +5V с соответствующими выводами платы.


Механическая часть намоточного станка это шесть стоек прикрученных к оргстеклу. Стоики напечатаны пластиком на 3D принтере, но при наличии должной пряморукости могут быть изготовлены другими способами и из других материалов. Основной вал (шпилька М6) приводится в движение ШД 4401 и на нем располагается каркас для намотки. Далее две стоики укладчика с валом диаметром 6мм и шпилькой М4 (шаг резьбы 0,7мм) на валу ШД 3401. Вращение двигателя приводит к линейному перемещению укладчика, при этом один шаг ШД дает перемещение L = шаг резьбы / шагов на оборот = 0,7/200 = 0,0035мм. Последние две стойки держат подающую катушку. Поджатием резиновой шайбы к подшипнику обеспечивается натяжение провода при намотке. 

Программа для ATmega328P написана в среде разработки Arduino IDE на языке C++. Для успешной компиляции кода необходимо иметь установленную библиотеку LiquidCrystal_I2C.

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

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

Результаты испытаний показали, что при правильном начальном позиционировании, станок обеспечивает точную автоматическую намотку слоев эмалированного провода диаметром от 0,06 до 0,5 мм. Варьируя значениями кол-ва витков (TURNS) и шага (STEP) можно добиваться режимов «виток к витку» и «равномерное заполнение окна».
На этом у меня все, прошу высказывать свое мнение в комментариях.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Плата Arduino
Arduino Uno
1 Поиск в магазине ОтронВ блокнот
Плата расширения ArduinoCNC Shield DRV88251 Поиск в магазине ОтронВ блокнот
Шаговый двигатель17HS4401S1 Поиск в магазине ОтронВ блокнот
Шаговый двигатель17HS3401S1 Поиск в магазине ОтронВ блокнот
Модуль поворотного энкодераKY-0401 Поиск в магазине ОтронВ блокнот
LCD-дисплей1602 HD447801 Поиск в магазине ОтронВ блокнот
Расширитель портовI2C модуль на PCF8574A для LCD1 Поиск в магазине ОтронВ блокнот
D1 ИС буфера, драйвера
SN74HC14
1 Поиск в магазине ОтронВ блокнот
R1, R4-R6 Резистор
10 кОм
4 Поиск в магазине ОтронВ блокнот
C1-C3 Конденсатор100 нФ3 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 5
Я собрал 0 5
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 5 чел.

Комментарии (66) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
Fram #
Здравствуйте а файлы для 3d печати дадите? Тоже хочу такой станок
Ответить
0

[Автор]
TDA #
Да, конечно. Напишите почту в лс.
Ответить
0
Mustafa #
Здравствуйте а файлы для 3d печати дадите? Тоже хочу такой станок
Ответить
0
Илья #
Здравствуйте, писал в почту. Не получил ответа. Возможно легло в спам. Дублирую вопрос - заказ на станок примете?
Ответить
0
Ильяс #
Прошу, пожалуста! Мне тоже нужны файлы 3D на намоточный станок.
Ответить
0
111284 #
Классная штука, надо будет попробовать повторить, вот кто бы еще для торов такую игрушку придумадл?
Ответить
0

[Автор]
TDA #
Думал об этом. Программно проблем никаких, а вот механику надо изобретать.
Ответить
0
andro #
Каков минимально возможный диаметр намоточного провода?
Ответить
0

[Автор]
TDA #
Диаметр задаётся с шагом 0.0035мм, то есть 0.0035 это и есть мин. диаметр.
Ответить
0
andro #
Даже не представляю, у меня есть провод диаметром 0.05 мм и он рвётся при малейшей неосторожности, не знал что бывают ещё тоньше.
Ответить
0

[Автор]
TDA #
Есть и диаметром 0.02.
0.0035мм это шаг установки диаметра.
Это значит что можно выставить такой маленький диаметр, но не означает что его можно комфортно наматывать. Тут основной вопрос поддерживать крайне маленькое и очень равномерное натяжение провода.
Ответить
0
Cерега #
Файл поврежден не открывается?
Ответить
0

[Автор]
TDA #
Напишите почту в ЛС отправлю без архива
Ответить
0
Aleksey #
Здравствуйте а файлы для 3d печати дадите? Тоже хочу такой станок
Ответить
0
Виктор #
Здравствуйте!
Скажите, чем был обусловлен выбор 2-х разных двигателей? Я понимаю что у них разный шаг и ток. Но почему то двигатель с более мелким шагом стоит на намотчике а не на укладчике.
Ответить
0

[Автор]
TDA #
Шаг одинаковый для обоих двигателей (200 шагов на оборот), ток разный (крутящий момент разный). Более сильный стоит на намотку.
Отредактирован 17.10.2018 08:33
Ответить
0

[Автор]
TDA #
Расширенную версию видео про станок можете посмотреть по ссылке: https://youtu.be/IenFIIMIbyk
Процесс разработки станка 2.0 идет полным ходом
Ответить
0
Тимур #
Хороший проект . Жалко только с энкодером проблема большая , нельзя ли сделать на копках?
Ответить
0

[Автор]
TDA #
Решение проблемы с энкодером см. в теме для обсуждения статьи http://forum.cxem.net/index.php?/topic/203349-намоточный-станок-на-arduino/
Ответить
0
almaks #
Есть возможность управления через ПК?
Ответить
0

[Автор]
TDA #
На данный момент нет.
Ответить
0
gont #
При переходе на новый слой, двигатель намотки меняет направление. И так от слоя к слою. Что посмотреть? В режиме позиционирования все хорошо.
Ответить
0

[Автор]
TDA #
Качайте версию 1.0b по ссылке в описании под видео https://youtu.be/IenFIIMIbyk
Вопросы, замечания и предложения по коду пишите в теме на форуме http://forum.cxem.net/index.php?/topic/203349-намоточный-станок-на-arduino/
Ответить
0
alex-avk #
У меня нет UNO, но есть вроде как совместимая MEGA2560 китайская версия CH340. Экранчик работает, моторчики на тестовых скетчах крутятся, энкодер на тестовый монитор отправляет 1 и 0, но только программа Arduino_winding_machine.rar (39 Кб) на вращение энкодера никак не реагирует.. получается, мега с уно не совместимые? Ведь и экран пришлось на другие, одноимённые пины, которых в уно нет, садить, с соответствующими поправками в скетче, а вот с энкодером бубен не помогает.
Ответить
0
alex-avk #
Проблема решилась заменой испорченной ардуино.
Всё заработало нормально.
Ответить
0
Evgeny Kalashnikov #
Здравствуйте а файлы для 3d печати дадите? Тоже хочу такой станок
Ответить
0
Здравия! Собрал ваш станок. Возникла проблема с дисплеем, ничего не показывает. Дисплей простой зеленый, по схеме все правильно подключено, что может быть?
Ответить
0
Проблема решилась заменой адреса дисплея!
Ответить
0
alekselektrik01 #
lcd.init(); // Инициализация LCD здравствуйте! выдает ошибку при компилирование.в чем проблема?
Ответить
0

[Автор]
TDA #
Для успешной компиляции кода необходимо иметь установленную библиотеку LiquidCrystal_I2C.
Ответить
0
alex-avk #
Подскажите, а шпилька на податчике - 6 мм?
Ответить
0
igo4758 #
А можно файлы для печати?
Ответить
0
rusik301717 #
Можно как нибудь кнопку отдельно сделать? Какие контакты на плате расширения замыкает кнопка?
Ответить
0
payatel666 #
Похоже, что у вас намотка по следующему алгоритму:
- Сделать один оборот
- Сдвинуть автоукладчик
- Повторить.
Поэтому намотка прерывистая, я сделал так, чтобы между шагами шпинделя, равномерно распределялись шаги двигателя автоукладчика. Так намотка идет без остановок.
Ответить
0
alex-avk #
Я так и не понял, где там надо строчки в программе переставлять, разместишь здесь исправленный файл?
Ответить
0
payatel666 #
Я бы с радостью, но у меня и исходника то нет
Ответить
0
Виталий #
Всё сделал как нарисовано, дисплей ничего не показывает. Только белая полоса, в чём может быть проблема не подскажите? Может что то в скейтчи?
Ответить
0

[Автор]
TDA #
I2C адрес не тот.
Ответить
0
Виталий #
А какой должен быть не подскажите?
Ответить
0

[Автор]
TDA #
Обычно адреса для таких LCD это или 0x3F или 0x27, есть скетч "I2C Scanner" помогает узнать точно.
Некоторые ответы можете найти в теме для обсуждения статьи
там же последняя версия 1.0b
Ответить
0
Виталий #
Я адрес поменял lsd вообще погас.
Ответить
0

[Автор]
TDA #
Воспользуйтесь I2C сканером что бы узнать адрес. При этом проверьте I2C подключение для 2560
Ответить
0
Виталий #
Я проверил сканером 0х27 адрес,а как проверить подключения l2C для 2560 подскажите пожалуйста? А то я в этих скетчах не разбираюсь всё переискал, но добиться не могу.
Ответить
0

[Автор]
TDA #
Если вы прочитали адрес, то с подключением все в порядке. Попробуйте какой нибудь пример из LiquidCrystal_I2C. Если не выходит опишите подробно проблему в теме для обсуждения статьи.
Ответить
0
Виталий #
Вроде с дисплеем разобрался, теперь на энкодер не реагирует, что может быть?
Ответить
0

[Автор]
TDA #
Это может быть сложнее, энкодер работает по аппаратным прерываниям на определенных выводах 328p. Для 2560 нужно переделывать программу.
Ответить
0

[Автор]
TDA #
Хотя здесь выше и в теме для обсуждения статьи, люди пишут, что работало на 2560.
Ответить
0
Виталий #
Всё равно не реагирует на энкодер сразу выдаёт строку sh pos: +000
la pos: +000
Ответить
0
Виталий #
На энкодер бесполезно не реагирует, при включении сразу пишет SH POS +000
LA POS +000
Как будто автоматически переключается.
Ответить
0
Виталий #
Вы можете эту программу в flprog сделать и скинуть?
Ответить
0

[Автор]
TDA #
Портировать на 2560 в планах не стоит, тем более в flprog.
ATmega2560 избыточна для данного проекта.
Ответить
0
Виталий #
Единственое у меня ардуино мега 2560 может в этом проблема?
Ответить
0
Dmeerev #
Хочу сделать такой-же станок! Можно получить файлы для 3д печати?
Ответить
0
Алексей #
А резьба на шпильках какой шаг?
Ответить
0
Артур Бабаян #
Здравствуйте а файлы для 3d печати можете дать? Хочу такой станок сделать.
Ответить
+1

[Автор]
TDA #
Читайте следующую статью, файлы есть там. https://cxem.net/arduino/arduino245.php
Ответить
0
Иван #
Здравствуйте, я делаю такой же станок только изменил механику вместо винта поставил зубчатый ремень . Хотел спросить можно ли подключить вместо 16х2 экрана, сенсорный экран типа nextion arduino c интерфейсом.
Ответить
0
Артур Бабаян #
А может у вас есть спроектированный весь станок и его детали? Например на автокади или на инвенторе ?
Ответить
0
Евгений #
Отличный девайс. А можете дать файлы для повторения его?
Ответить
0
Егор #
Подскажите пожалуйста, а можно ли использовать для намотки филамента для 3д принтера (1.75 мм).
Ответить
0
Maurice #
Здравствуйте,
Извините, я не говорю по-русски, поэтому мне приходится пользоваться переводчиком.
Я наткнулся на этот проект и хотел выразить свое уважение. Отличная работа!
Одна вещь, которую я пока не понимаю, в коде есть "cli();".
Меню отображается только тогда, когда я закомментирую эту строку.
Я что-то делаю не так?
Ответить
0
apaex #
В этой теме тоже напишу, т.к. прошивка подходит и на первую версию станка. В обсуждении вот здесь разместил ссылку на прошивку 3.0.
Ответить
0
Павел #
Как поменять укладку если используешь не шпильку с резьбой, а швп винт с ходом на оборот 10мм. ?
Ответить
0
Павел #
И выход на драйвера степ дир и энейбл можно вынести на внешний драйвер под нема 23 ?
Ответить
0
Chip115 #
Доброго дня! Есть ли какие обновления для железа после выхода статьи?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Модуль измерения тока на ACS712 (30А)
Модуль измерения тока на ACS712 (30А)
AVR-программатор USB ASP Печатная плата для усилителя "LM3886 + AD825"
вверх