Электрификация

Справочник домашнего мастера

Станок на ардуино

Содержание

ЧПУ станок из принтера своими руками

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

Шаг 1-й: найдите старый принтер или сканер

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

  • Планшетный сканер
  • Старый принтер

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

Также вы найдете в них шестерни, втулки, холодные катоды, конденсаторы, кнопки, параллельные порты и многое другое.

Шаг 2-й: инструменты

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

Необходимые инструменты:

  • Дрель
  • Набор отверток
  • Комплект метчиков и плашек
  • Многофункциональный инструмент
  • Ножовка по металлу
  • Станочные тиски или другое зажимное приспособление
  • Плоскогубцы
  • Сверла
  • Напильник
  • Кернер

Рекомендуемые инструменты:

  • Ленточная пила
  • Циркулярный станок
  • Токарный станок
  • Настольный шлифовальный станок
  • Болторез

Шаг 3-й: линейные направляющие

Центром вашего ЧПУ из принтера является его рабочий стол, поэтому внимательно прочтите данную статью и следуйте инструкции

Необходимые материалы:

Кол-во Размеры (мм) Тип
4 50х152х12 Вспененный ПВХ
2 50х101х12 Вспененный ПВХ
2 254 Д 9 Ф алюминиевый вал
2 304 Д 9 Ф алюминиевый вал
2 203 Д 9 Ф алюминиевый вал
1 285 Д 15 Ф М24 резьбовая шпилька
1 234 Д 15 Ф М24 резьбовая шпилька
1 184 Д 15 Ф М24 резьбовая шпилька

Это всего лишь перечень самого необходимого.

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

Первый шаг

Положите два куска вспененного ПВХ одинакового размера друг на друга и просверлите в них отверстие по центру, и еще два отверстия — каждое на расстоянии 3/4 дюйма от осевой линии (от края).

Теперь отрежьте алюминиевые прутки под нужный размер и вставьте их в просверленные отверстия — у вас должны получиться детали, похожие на те, что показаны ниже. ЧПУ станок из принтера уже почти готов!

Повторите вышеописанную процедуру для каждой оси.

Шаг 4-й: плиты направляющих по осям X,Y, Z

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

Необходимые материалы:

Кол-во Размер (мм) Тип
1 152х304х6 лист оргстекла
1 152х254х6 лист оргстекла
1 139х127х6 лист оргстекла
15 38х44х12 листы оргстекла

Теперь вам необходимо положить 4 листа оргстекла размерами 38х44х12 мм друг на друга и просверлить в них отверстие точно по центру, используя сверло на 9,5 мм.

После выполнения вышеописанной процедуры, продвиньте куски пластика, надетые на прутки (по 2 шт. на каждом прутке), до нужных мест, и выровняйте их, после чего поместите листы сверху. Затем переверните конструкцию и приклейте их.

Повторите процедуру для каждой оси.

Для оси Y.

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

Шаг 5-й: установка электродвигателя

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

Желательно использовать шаговые электродвигатели от принтеров ввиду легкости их установки, но электродвигатели от сканеров также будут хорошо работать.

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

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

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

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

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

Шаг 6: Делаем резьбу

После того как вы установили гайку, настало время закрепить резьбовой стержень и приклеить гайку к одной из прямоугольных пластин размерами 38х44х12 мм.

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

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

Необходимые материалы:

3 шт 127 мм М24 удлиненная гайка

Повторите вышеописанную процедуру для каждой оси.

Шаг 7-й: пора склеивать

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

В качестве использовался кусок белого оргстекла размерами 508x304x6 мм, который можно приобрести в магазине товаров из пластика.

Вы можете использовать кусок меньшего размера, но это нежелательно.

Как только у вас появилось основание и самодельный ЧПУ станок из принтера уже начинает обретать свои черты, приклейте к нему ось «X», а затем приклейте ось «Y» к пластиковому основанию верхней части оси «X». У вас должен получиться узел, похожий на тот, что изображен ниже.

Для выполнения данной процедуры используйте акриловый клей.

Кстати, он также подходит для склеивания вспененного ПВХ.

После этого приклейте ось «Z» к куску оргстекла размерами 203x101x6 мм.

Необходимые материалы:

Кол-во Размер (мм) Тип
1 508х304х6 лист оргстекла
1 203х101х6 лист оргстекла

Шаг 8-й: А где же ось Z?

Не волнуйтесь — о ней тоже не забыли. Идем дальше.

Теперь нам необходимо изготовить крепление для многофункционального инструмента на листе оргстекла, расположенного на оси «Z».

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

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

Разместите хомут листе оргстекла в верхней части выступа на и приклейте его.

Необходимые материалы:

1 Клипса для крепления труб

1 Хомут

Шаг 9-й: Райская штуковина

Теперь, когда крепление для многофункционального инструмента на оси «Z» установлено, самое время установить стойки и лист оргстекла, соединяющий их вместе.

Для этого необходимо сделать квадратное отверстие по центру листа из оргстекла размерами 10″x16″x5/16″, чтобы продеть через него ось «Z».

После этого следует установить толстый кусок оргстекла для опоры оси «Z».

Теперь приклейте ось «Z к куску оргстекла» и убедитесь, что последний выступает над верхним краем не менее чем на 1/16″, чтобы обеспечить наличие плоской грани.

Необходимые материалы:

Кол-во Размеры Тип
1 254х406х8 лист оргстекла
1 38х127х25 лист оргстекла

Шаг 10-й: Какие высокие стойки!

Теперь настало время приклеить стойки размерами 1 1/2″x16″x1″ к верхней части оси «Z» из оргстекла, после чего приклеить их к нижнему основанию.

Необходимые материалы:

Кол-во Размер (мм) Тип

4

38х406х25 остатки пластика

Шаг 11-й: мы уже закончили?!

Ответом на этот вопрос будет «нет», но в отношении механической части конструкции — это так. Также вам нужно провести работу над электронной частью станка, а как это сделать — узнаете во второй части статьи, которая будет опубликована в ближайшее время.

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

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

Шаг 12-й: рекомендации

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

Готово! Вы сделали ЧПУ из принтера своими руками, практически (или полностью) бесплатно.

Собираем ЧПУ станок из принтера своими руками

Здравствуйте, дорогие друзья! Сегодня мы расскажем Вам про то, как создать ЧПУ из принтера. Основной причиной того, что сейчас так часто в интернете предлагают переделать из принтера или сканеров самодельные устройства, является то, что многие современные периферийные устройства для ПК настолько сложны с функциональной точки зрения, что в переделанном виде позволяют создавать станки, способные выполнять удивительные задачи.

Приступаем к изготовлению

Чтобы начать изготавливать станок ЧПУ из старого принтера, вам потребуются некоторые запчасти, которые входят в струйные принтеры:

  • Приводы, шпильки, направляющие от принтера (желательно использовать несколько старых принтеров; принтеры необязательно должны печатать);
  • Привод от дисковода.
  • Материал для создания корпуса – фанера, ДСП и т.п.
  • Драйверы и контроллеры;
  • Материалы для крепежей.

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

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

Создание самодельного станка

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

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

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

Для вертикальной оси, в самодельном ЧПУ нам пригодятся детали из дисковода (направляющая по которой перемещался лазер).

В принтерах есть так называемые штоки, именно они играют роль ходовых винтов.

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

Электронные компоненты будущих станков

Это является одним из самых важных этапов конструирования. Электроника самодельных машин является ключевым элементом управления всеми двигателями и самим процессом.

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

Самодельная машина может функционировать на отечественных К155ТМ7, их нам понадобиться 3 штуки.

К каждому драйверу идут проводки от своей микросхемы (контроллеры независимы).

Шаговые двигатели в самодельном аппарате должны быть рассчитаны на напряжение, не превышающее 30-35 В. Часто случалось так, что при повышенной мощности, советские микросхемы-контроллеры перегорали.

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

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

Конечно, все зависит от вашей фантазии и прочности (грузоподъемности) корпуса и рамы. Однако, чаще всего ваш аппарат сможет разрезать фанеру толщиной менее 1,5 см, трехмиллиметровый текстолит или пластик.

Лазерный ЧПУ станок из CD приводов на базе Arduino


Здравствуйте, в этой статье я покажу и расскажу, как сделать лазерный ЧПУ станок, на котором вы сможете делать различные гравировки на дереве, пластике и кожи.
Для этого проекта нам понадобится:
• Микроконтроллер Arduino nano
• Два CD привода
• Два драйвера для шаговых двигателей А4988
• Лазер (в моей модели стоит на 200nm и 200МВт)
• Модуль mosfet на IRF520
• Соединительные провода
• Макетная плата
• Клеммы
• Металлические уголки
• Набор гаечек и винтиков
Из инструментов:
• Паяльник
• Шуруповерт
Для защиты глаз:
• Защитные очки
Давайте быстренько пробежимся по комплектующим. Начнём с мозга – микроконтроллера. Помимо Arduino nano можно также использовать и другие модели данного микроконтроллера.

Немаловажным является драйвер шагового двигателя А4988. С помощью него мы сможем управлять двигателем, задавать микро шаги и их скорость. Также в драйвере А4988 можно настраивать микро шаг двигателя: 1, 1/2, 1/4, 1/8, 1/16.
Чтобы его настроить нужно подтянуть к плюсу пины ms1 ms2 ms3 в специальном порядке (представлено в таблице).

Рассмотрим основные характеристики.
• Напряжения питания: 8-35 В
• Режим микро шага: 1, 1/2, 1/4, 1/8, 1/16
• Напряжение логики: 3-5.5 В
• Защита от перегрева
• Максимальный ток на фазу: — 1 А без радиатора; — 2 А с радиатором
• Размер: 20 х 15 мм
• Без радиатора: 2 г
Теперь рассмотрим схему подключения.
• ENABLE – включение/выключение драйвера
• MS1, MS2, MS3 – контакты для установки микро шага
• RESET — сброс микросхемы
• STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
• DIR – установка направление вращения
• VMOT – питание для двигателя (8 – 35 В)
• GND – общий
• 2B, 2A, 1A, 1B – для подключения обмоток двигателя
• VDD – питание микросхемы (3.5 –5В)

Также нужно обговорить калибровку драйверов. Она осуществляется с помощью микро потенциометра на драйвере. Этот потенциометр регулирует ток, поступающий на двигатель. У разных двигателей разный ток потребления, поэтому и нам нужно определиться с нашими двигателями. Здесь есть два способа: быстрый и не очень правильный и долгий и правильный. Вы можете найти информацию о своём шаговом двигателе в интернете ориентируясь на модель своего CD дисковода. Есть большая вероятность, что этот метод не принесёт никакой информация. Или вы можете воспользоваться более простым способом. Проверните потенциометр против часовой стрелки да конца, подключите двигатель через простую программу на Arduino и постепенно поворачивайте потенциометр по часовой стрелки пока двигатель не заработает. Наша цель состоит в том, чтобы двигатель работал и не пропускал шаги. Не переживайте из- за того, что двигатель сильно греется. Это нормально, ведь рабочая температура шагового двигателя составляет 40 — 45 °C.
Код для калибровки:
//простое подключение A4988 //пины reset и sleep соединены вместе //подключите VDD к пину 3.3 В или 5 В на Arduino //подключите GND к Arduino GND (GND рядом с VDD) //подключите 1A и 1B к 1 катушке шагового двигателя //подключите 2A и 2B к 2 катушке шагового двигателя //подключите VMOT к источнику питания (9В источник питания + term) //подключите GRD к источнику питания (9В источник питания — term) int stp = 13; //подключите 13 пин к step int dir = 12; //подключите 12 пин к dir int a = 0; void setup() { pinMode(stp, OUTPUT); pinMode(dir, OUTPUT); } void loop() { if (a < 200) // вращение на 200 шагов в направлении 1 { a++; digitalWrite(stp, HIGH); delay(10); digitalWrite(stp, LOW); delay(10); } else { digitalWrite(dir, HIGH); a++; digitalWrite(stp, HIGH); delay(10); digitalWrite(stp, LOW); delay(10); if (a>400) // вращение на 200 шагов в направлении 2 { a = 0; digitalWrite(dir, LOW); } } }
Едем дальше. Обговорим лазер. Лазеры в первую очередь отличаются мощностью. Именно от неё зависит сможете ли вы выжигать на светлых породах дерева или же станок сможет обрабатывать только тёмные материалы. В своей модели я использовал не мощный лазер, но в таком же корпусе продаются лазеры более высокой мощности. Я бы не советовал вам брать большие лазеры с радиаторами, ведь их масса намного больше и шаговые двигатели, которые не рассчитаны на данную нагрузку могут перегреться и выйти из строя.


Не забывайте о защите своих глаз и приобретите защитные очки. Очки нужно выбирать ориентируясь на длину волны вашего лазера.

Также нам понадобится MOSFET IRF520. Вы можете приобрести просто мосфет и нужную обвязку к нему или купить уже готовый модуль.

Ну вот теперь, Когда основные моменты обговорены и все компоненты заготовлены можно приступить к сборке.
Первым делом рассмотрим схему устройства:


Эти схемы абсолютно идентичны. Обратите внимание на питание лазера. Ваш лазер может быть другого напряжения.
Очень советую начинать сборку на макетной плате. После сборки устанавливаем программное обеспечение. Заходим на сайт http://lasergrbl.com/en/ , проходим во вкалдку download и скачиваем программу laserGRBL.
После заходим на GitHub и скачиваем архив.

Из архива достаём папку grbl и архивируем её. Это и будет наша библиотека для Arduino. Добавляем эту библиотеку в Arduino IDE и открываем пример grblUpload. Подключаем Arduino к компьютеру и заливам этот код.
Программа laserGRBL проста в использование и пяти минут гугла хватает, чтобы в ней разобраться.

Если схема на макетной плате собрана, двигатели реагируют на команды и программа работает, можно приступать к финальной части проекта – сборка в корпус и пайка.
Монтировал схему на обычной плате для пайки:

Корпус я решил сделать из того же корпуса от CD дисковода. Ось Y просто прикрепил к нижней части, а ось X прикрепил с помощью обычных мебельных уголков.
Таким образом у нас получается замечательный лазерный ЧПУ, с помощью которого можно делать различные творческие крафты. От брелоков и подвесок до именных чехлов для телефонов. Вот некоторые их моих работ:
Спасибо всем за прочтение данной статьи. Я надеюсь, что изложенная в ней информация была крайне полезна вам. Доставка новых самоделок на почту

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. .

Драйвер шагового двигателя A4988

Обзор драйвера A4988

Шаговые двигатели представляют собой электромеханические устройства, задачей которых является преобразование электрических импульсов в перемещение вала двигателя на определенный угол. Достоинствами шаговых двигателей по сравнению с простыми являются:

  • Высокая точность позиционирования и повторяемости — качественные ШД имеют точность не хуже 2,5 % от величины шага, при этом данная ошибка не накапливается при последующих шагах;
  • Шаговый двигатель может быстро стартовать, останавливаться и выполнять реверс;
  • Четкая взаимосвязь угла поворота ротора от количества входных импульсов (в штатных режимах работы) позволяет выполнять позиционирование без применения обратной связи;
  • Шаговые двигатели обеспечивают получение сверхнизких скоростей вращения вала без использования редуктора;
  • Шаговые двигатели работают в широком диапазоне скоростей, поскольку. скорость напрямую зависит от количества входных импульсов.

Шаговые двигатели применяются там, где требуется высокая точность перемещений. Примеры использования – принтеры, факсы и копировальные машины, станки с ЧПУ, 3D-принтеры. Для управления шаговыми двигателями используют специальные устройства – драйверы шаговых двигателей. Популярный драйвер шагового двигателя А4988 (рис. 1) работает от напряжения 8 — 35 В и может обеспечить ток до 1 А на фазу без радиатора (и до 2 A с радиатором). Модуль A4988 имеет защиту от перегрузки и перегрева. Одним из параметров шаговых двигателей является количество шагов на один оборот 360°. Например, для шаговых двигателей Nema17 это 200 шагов на оборот, т.е 1 шаг равен 1.8°. Драйвер A4988 позволяет увеличить это значение за счёт возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).

Рисунок 1. Драйвер биполярных двигателей A4988

Технические характеристики A4988

Назначение контактов драйвера A4988

  • ENABLE – включение/выключение драйвера
  • MS1, MS2, MS3 – контакты для установки микрошага
  • RESET — cброс микросхемы
  • STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
  • DIR – установка направление вращения
  • VMOT – питание для двигателя (8 – 35 В)
  • GND – общий
  • 2B, 2A, 1A, 1B – для подключения обмоток двигателя
  • VDD – питание микросхемы (3.5 –5В)

Рисунок 2. Выводы драйвера A4988

Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага (см. с таблицу 1).

MS1 MS1 MS1 Дробление шага
0 0 0 1
1 0 0 1/2
0 1 0 1/4
1 1 0 1/8
1 1 1 1/16

Таблица 1. Комбинация значений для выбора микрошага

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

Подключение драйвера к Arduino

Рисунок 3. Схема подключения A4988 к плате Arduino

Схема подключения драйвера A4988 для управления биполярным шаговым двигателем показана на рисунке 3. Вывод RESET подключен к выводу SLEEP, чтобы на нем был высокий уровень HIGH. Загрузим на плату Arduino скетч из листинга 1, который управляет движением биполярного шагового двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.
Листинг 1 // пины для подключения контактов STEP, DIR #define PIN_STEP 3 #define PIN_DIR 2 // количество шагов на 1 оборот #define STEP_ROUND 200 // скорость двигателя #define SPEED 10 void setup() { // режим для STEP и DIR как OUTPUT pinMode(PIN_STEP, OUTPUT); pinMode(PIN_DIR, OUTPUT); // начальные значения digitalWrite(PIN_STEP, 1); digitalWrite(PIN_DIR, 0); } void loop() { // направление вращения digitalWrite(PIN_DIR, HIGH); // сделать 1 оборот for(int j = 0; j < STEP_ROUND; j++) { digitalWrite(PIN_STEP, HIGH); delay(SPEED); digitalWrite(PIN_STEP, LOW); delay(SPEED); } // изменить направление вращения digitalWrite(PIN_DIR, HIGH); // сделать 1 оборот for(int j = 0; j < STEP_ROUND; j++) { digitalWrite(PIN_STEP, HIGH); delay(SPEED); digitalWrite(PIN_STEP, LOW); delay(SPEED); } } Если после загрузки скетча не происходит движения двигателя, проверьте правильность подключения обмоток к выводам драйвера A4988. К выводам 2B и 2A (1A и 1B) подключаются провода двигателя, которые «прозваниваются» тестером.

Пример использования

В качестве примера использования рассмотрим управление дроблением шага и направлением вращения шагового двигателя с платы Arduino. Нам потребуются следующие компоненты:

  • Плата Arduino Uno -1;
  • Драйвер A4988 — 1;
  • Шаговый двигатель NEMA17 — 1;
  • Потенциометр 10 кОм — 1;
  • Кнопка — 1;
  • Переключатель 2-х позиционный — 1;
  • Резистор 10 кОм – 3;
  • Провода MF — 20
  • Соединение деталей по схеме соединений на рис. 4.

Рисунок 4. Схема подключения для управления скоростью и направлением движения

Приступим к написанию скетча. Нажатие на кнопку включает/выключает двигатель, подавая сигнал LOW/HIGH на вход ENABLE драйвера A4988. С помощью переключателя выбираем направление вращения двигателя (сигнал с переключателя подается напрямую на вход DIR драйвера A4988). C помощью потенциометра мы выбираем один из режимов микрошага. Содержимое скетча представлено в листинге 2. двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.
Листинг 2 // пины для подключения контактов STEP, DIR const int STEP 3 int DIR 2 // для регулировки скорости — пин потенциометра #define POT A0 // для кнопки #define BUTTON 9 // для включения/выключения #define EN 8 // количество шагов на 1 оборот #define ROUND 200 // скорость двигателя #define SPEED 10 // массив пинов для MS1,MS2,MS3 int pins_steps={7,6,5}; int steps={ {0,0,0}, // 1 {1,0,0}, // 1/2 {0,1,0}, // 1/4 {1,1,0}, // 1/8 {1,1,1} // 1/16 }; // для кнопки int prevB=0; int tekB=0; boolean movement=false; void setup() { // режим для выводов STEP и DIR как pinModeSTEP, OUTPUT); pinMode(DIR, OUTPUT); // начальные значения digitalWrite(STEP, 1); digitalWrite(DIR, 0); // режим для enable pinMode(EN, OUTPUT); // не разрешать digitalWrite(EN, 1); // для MS1,MS2,MS3 for(int i=0;i<3;i++) { pinMode(pins_steps, OUTPUT); } } void loop() { // получить режим микрошага digitalWrite(DIR, 1); int mode=map(analogRead(POT),0,1024,0,5); // установить for(int i=0;i<3;i++) { digitalWrite(pins_steps, steps); } // сделать 1 оборот if(movement==true) { digitalWrite(STEP, 1); delay(SPEED); digitalWrite(STEP, 0); delay(SPEED); } // проверка нажатия кнопки tekB = debounce(prevB, BUTTON); if (prevB == 0 && tekB == 1) { movement=!movement; digitalWrite(EN,!movement); } prevB = tekB; } // проверка на дребезг int debounce(int prev,int pin) { int tek = digitalRead(pin); if (prev != tek) { delay(5); tek = digitalRead(pin); return tek; } }

Часто задаваемые вопросы FAQ

Что делать, если шаговый двигатель не движется?

  1. Проверьте правильность подключения драйвера к плате Arduino.
  2. Проверьте правильность подключения проводов двигателя к выводам A1,A2,B1,B2.
  3. Может быть недостаточной мощность блока питания двигателя.

Шаговый мотор NEMA 17, серии 17HS4402 + драйвер A4988 + Arduino NANO.

Управление шаговым двигателем с помощью платы Arduino.

В данной статье мы продолжаем разбираться с темой шаговых двигателей. В прошлый раз мы подключили к плате Arduino NANO небольшой моторчик 28BYJ-48 (5V). Сегодня мы будем делать то же самое, но с другим мотором — NEMA 17, серии 17HS4402 и другим драйвером — A4988.

Шаговый мотор NEMA 17 — это биполярный двигатель с высоким крутящим моментом. Может поворачиваться на заданное число шагов. За один шаг совершает оборот на 1,8°, соответственно полный оборот на 360° осуществляет за 200 шагов.
Биполярный двигатель имеет две обмотки, по одной в каждой фазе, которая для изменения направления магнитного поля переполюсовывается драйвером. Соответственно, от мотора отходят четыре провода.

Такой мотор широко применяется в станках ЧПУ, 3D принтерах, сканерах и т. д.
Управляться он будет с помощью платы Arduino NANO.

Эта плата способна выдавать напряжение 5V, тогда как мотор работает от большего напряжения. Мы выбрали блок питания 12V. Так что нам понадобится дополнительный модуль — драйвер, способный управлять более высоким напряжением через маломощные импульсы Arduino. Для этого отлично подходит драйвер А4988.

Драйвер шагового двигателя А4988.

Плата создана на базе микросхемы A4988 компании Allegro — драйвера биполярного шагового двигателя. Особенностями A4988 являются регулируемый ток, защита от перегрузки и перегрева, драйвер также имеет пять вариантов микрошага (вплоть до 1/16-шага). Он работает от напряжения 8 — 35 В и может обеспечить ток до 1 А на фазу без радиатора и дополнительного охлаждения (дополнительное охлаждение необходимо при подаче тока в 2 A на каждую обмотку).

Характеристики:

Модель: A4988;
напряжения питания: от 8 до 35 В;
возможность установки шага: от 1 до 1/16 от максимального шага;
напряжение логики: 3-5.5 В;
защита от перегрева;
максимальный ток на фазу: 1 А без радиатора, 2 А с радиатором;
расстояние между рядами ножек: 12 мм;
размер платы: 20 х 15 мм;
габариты драйвера: 20 х 15 х 10 мм;
габариты радиатора: 9 х 5 х 9 мм;
вес с радиатором: 3 г;
без радиатора: 2 г.

Для работы с драйвером необходимо питание логического уровня (3 — 5,5 В), подаваемое на выводы VDD и GND, а также питание двигателя (8 — 35 В) на выводы VMOT и GND. Плата очень уязвима для скачков напряжения, особенно если питающие провода длиннее нескольких сантиметров. Если эти скачки превысят максимально допустимое значение (35 В для A4988) ,то плата может сгореть. Одним из способов защиты платы от подобных скачков является установка большого (не меньше 47 мкФ) электролитического конденсатора между выводом питания (VMOT) и землёй близко к плате.
Соединение или разъединение шагового двигателя при включённом драйвере может привести к поломке двигателя!
Выбранный мотор совершает 200 шагов за полный оборот на 360°, что соответствует 1,8° на шаг. Микрошаговый драйвер, такой как A4988 позволяет увеличить разрешение за счёт возможности управления промежуточными шагами. Например, управление мотором в режиме четверти шага даст двигателю с величиной 200-шагов-за-оборот уже 800 микрошагов при использовании разных уровней тока.
Разрешение (размер шага) задаётся комбинациями переключателей на входах (MS1, MS2, и MS3).

MS1 MS2 MS3 Разрешение микрошага
Низкий Низкий Низкий Полный шаг
Высокий Низкий Низкий 1/2 шага
Низкий Высокий Низкий 1/4 шага
Высокий Высокий Низкий 1/8 шага
Высокий Высокий Высокий 1/16 шага

Каждый импульс на входе STEP соответствует одному микрошагу двигателя, направление вращения которого зависит от сигнала на выводе DIRECTION. Выводы STEP и DIRECTION не подтянуты к какому-либо конкретному внутреннему напряжению, поэтому их не стоит оставлять плавающими при создании приложений. Если вы просто хотите вращать двигатель в одном направлении, можно соединить DIR непосредственно с VCC или GND. Чип имеет три различных входа для управления состоянием питания: RESET, SLEEP и ENABLE. Вывод RESET плавает, если его не нужно использовать, то следует подключить его к соседнему контакту SLEEP на печатной плате, чтобы подать на него высокий уровень и включить плату.

Схема соединения.

Мы использовали вот такой блок питания (12V).

Для удобства подключения к плате Arduino UNO, мы использовали собственноручно сделанную деталь. Пластиковый корпус напечатан на 3D принтере, к нему приклеены контакты.

Также, использовали такой набор проводов, у части из них с одного конца контакт, с другого штырёк, у других контакты с обоих сторон.

Соединяем всё согласно схеме.

Потом открываем среду разработки программ для Arduino и пишем программу, вращающую мотор сначала в одну сторону на 360°, потом в другую.

Если мы хотим, чтобы мотор просто постоянно вращался в ту или иную сторону, то можно подключить контакт драйвера DIRECTION к земле (вращение по часовой стрелке) или питанию (против часовой) и залить в Arduino такую простенькую программу:

/*Программа для вращения шагового мотора NEMA 17, серии 17HS4402 + драйвер A4988. Программа приводит мотор в движение.
По-умолчанию вращение происходит по часовой стрелке, так как на контакт DIRECTION драйвера подключён к земле. Если его подключить к питанию 5V, то
мотор вращается против часовой стрелки*/
/*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Step на драйвер. Каждый импульс от этого контакта — это перемещение мотора на один шаг*/
const int pinStep = 5;

//временная задержка между шагами мотора в мс
const int move_delay = 3;

/*Функция, в которой происходит инициализация всех переменных программы*/
void setup()
{
/*задаём контакту Step режим вывода, то есть он выдают напряжение*/
pinMode(pinStep, OUTPUT);
//устанавливаем начальный режим
digitalWrite(pinStep, LOW);
}

/*Функция-цикл в которой задаётся поведение программы*/
void loop()
{
/*через заданную задержку происходит перемещение мотора на один шаг*/
digitalWrite(pinStep, HIGH);
delay(move_delay);
digitalWrite(pinStep, LOW);
delay(move_delay);
}

Всё это мы рассматривали шаговый режим мотора, то есть 200 шагов за полный оборот. Но, как уже было описано, мотор может работать, в 1/2, 1/4, 1/8, 1/16 шаговых режимах, в зависимости от того, какая комбинация сигналов подаётся на контакты драйвера MS1, MS2, MS3.
Давайте с этим потренируемся, подключим эти три контакта к плате Arduino, согласно схеме, и зальём код программы.

Код программы, которая демонстрирует все пять режимов работы мотора, вращая мотор в одну и другую сторону на 200 шагов в каждом из этих режимов.

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

Дополняем схему новыми элементами.

Для подключения кнопок воспользуемся такими проводочками.

Код программы.

Многие схемотехники начинают городить большие платы с кучей транзисторов и интегральных схем для управления шаговыми биполярными (4 провода) двигателями. Очень часто это сложно, долго, громоздко, проблематично, дорого. Для решения данных проблемы существует плата драйвера биполярных двигателей основанная на микросхеме A4988ET. В оригинале эта плата предназначена для 3D принтеров. Далее о самой плате, распиновка и проверенный код для Arduino.
Сразу заглянем внутрь самой микросхемы A4988ET, что бы понять в чем её преимущество. На рисунке ниже.

Биполярный двигатель имеет 4 провода
В отличии от драйвера шагового биполярного двигателя на ULN2803APG данная схема имеет ряд преимуществ.
Самое главное это то что развязка организованна на Mosfet транзисторах с затвором, с обратной защитой. Остальные преимущества узнаем после разбора просмотра распиновки платы A4988ET и характеристик.
Я долго мучался когда «городил» драйвер на микросхеме ULN2803 с резисторами (для создания разно полярного напряжения на обмотках, по ссылке выше). Резисторы часто перегревались, а парочка и вовсе взорвалась.
Поэтому данная микросхема — счастье и находка. В оригинале плата A4988ET предназначена для управления двигателями от 3D принтера и прекрасно сочетается с платой RAMPS.

Как видно на рисунке на плате A4988ET находятся радиаторы. При условии что рабочая температура всего лишь 60 градусов, основная микросхема имеет защиту от перегрева.
О характеристиках:
Напряжения питания для двигателей: от 8 до 35 В
Возможно установить шаг двигателя: от 1 до 1/16 от целого шага (микрошаги)
Сама микросхема имеет питание: 3-5.5В
Максимальный ток: 1А без радиатора, 2А с радиатором
Размер платы: 20 х 15 мм — как копейка
Ниже на рисунке изображена схема подключения платы.

ENABLE — Включение или выключение микросхемы
RESET — Сброс работы логики
STEP — Генерация ШИМ — скорости биполярного двигателя. Каждый импульс это шаг
DIR — Установка высокого или низкого уровня на входе регулирует направление вращения.
VMOT -Питание для двигателя от 8 до 35 вольт
GND — Минус питания для двигателя
2B, 2A, 1A, 1B — Обмотки двигателя. Для определения обмоток двигателя замерьте сопротивление. Между разными обмотками бесконечное сопротивление, иначе вы увидите сопротивление 4-8 Ом значит что вы определили или 1ю или 2ю обмотку двигателя.
VDD — Питание 5В для микросхемы
GNG — Минус питания для микросхемы
MS1, MS2, MS3 — Устанавливая на данных входах уровни 000, 100, 010, 110, 111 достигается режим полношагового, половинного шага, четверти шага, одна восьмая шага, и даже 1\16 от целого шага.
Таким образом плата имеет широкие возможности.

Так выглядят на скорую руку подпаянные провода. Так же важно установить поддерживающий конденсатор в 1000 мкф (не 100, а 1000мкф 16Вольт !)
Основными моментами является:
Не дай вам Боже случайно выдернуть подключенный двигатель от микросхемы при поданном питании — сгорит. В мануале к микросхеме написано что есть защита от кз. Но защиты от резкой смены нагрузки нет.
Код программы ниже опробован на Arduino Mega с довольно большим биполярным двигателем.

Полуавтоматический сверлильный комплекс для печатных плат на arduino и python

Предисловие

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

Концепция

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

Чтобы немного упростить устройство мы решили, что обрабатываемая печатная плата будет перемещаться только по условной оси Х (вдоль корпуса станка), по оси Y же будет двигаться само сверло. Сверло и плата будут перемещаться с помощью шаговых электродвигателей, управляемых Arduino. Команды на Arduino будут отправляться по эмулируемому поледовательному интерфейсу из клиентского приложения, где пользователь будет указывать точки для сверления.

Разработка устройства

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

Механика

Для перемещения по осям Х и Y применены пары винт – гайка с резьбой. Применение резьбы с шагом 1 мм удобно тем, что за один оборот винта осуществляется перемещение на 1 мм. Учитывая, что для примененных шаговых электродвигателей требуется 48 импульсов на один оборот вала, то шаг перемещения по Х и по оси Z составил примерно 0,02 мм. Существует много факторов, из-за которых величина шага может отличаться от расчётного. Например, неровности винта, неточности в изготовлении деталей, люфт некоторых элементов и т.д. Поэтому в конструкции станка были приняты некоторые меры, для уменьшения влияния наиболее существенных из них (дополнительные самодельные полимерные гайки; плавающая посадка электродвигателей, позволяющая им при работе перемещаться в определенных пределах). Каретки для платы и узла сверления перемещаются вдоль осей Х и Y, соответственно, по направляющим из DIN-рейки. Вместе соприкосновения каретки для платы и направляющих для уменьшения трения применена фторопластовая лента.

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

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

Схема 1
Схема 2

Плата Arduino питается непосредственно от USB порта. Напряжение 5 В с платы Arduino используется в станке для питания датчиков.
Для упрощения схемы и по соображениям электробезопасности для питания электродвигателей использован готовый внешний источник питания от нотбука с выходной мощностью 75 Вт (19 В; 3,9 А).

Для подключения шаговых электродвигателей выбраны типовые микросхемы драйверов (D2, D3) с ключами на составных транзисторах и выводами с открытым коллектором. Аналогичная микросхема D1 применена для согласования выходов платы Arduino с транзисторными ключами. Имеющиеся электродвигатели рассчитаны на различные рабочие напряжения. Для их питания от одного источника были применены гасящие резисторы R9 … R11. Рабочий ток электродвигателя М3 превышает рабочий ток одного канала выбранных микросхем, поэтому для питания каждой из его обмоток задействовано по два канала микросхемы D3, соединенных параллельно.

Привод сверления М1 имеет рабочий диапазон напряжений от 6 до 24 В и избыточную мощность и скорость вращения. Для обеспечения нужного режима сверления на ключ VT1 подается не постоянный сигнал, а ШИМ с подобранными параметрами.

Состояние концевых выключателей SB2 … SB7 важно только во время движения вдоль определенной оси, поэтому для экономии входов/выходов контроллера они попарно объединены в матрицу 3х2 и включены между входом и выходом управления одним из каналов. При движении по осям Х и Y сверло должно находится в верхнем положении во избежание поломки. Исходя из этого, концевой выключатель SB1 подключен непосредственно между входом и источником 5В, для контроля во время любого из движений.

Разработка ПО

Прошивка устройства написана на языке Arduino, а клиенское приложение разрабатывалось на Python для GNU/Linux.

Прошивка устройства

Система команд:

Команда Описание команды Возвращаемые значения
connect: Команда выполняется в 2 этапа. При получении станок сразу же отправляет в ответ res: 1. это позволяет клиентскому приложению определить, к какому именно COM порту подключен станок. Затем станок инициирует процедуру запуска, по окончании которой отправляет ready: 1. |res: 1 + ready: 1 в случае успеха;res: 1 + error: 1 в случае отсутствия питания
touch: Попытка коснуться платы сверлом. res: 1 при касании; res: 0 если плата не обнаружена
move: x y Перемещает сверло на заданные координаты res: 1 при успешном завершении; res: 0 при ошибке (координаты ошибочны; обрыв питания при выполнении)
drill: x y Перемещает сверло на заданные координаты и сверлит отверстие res: 1 при успешном завершении; res: 0 при ошибке (ошибки команды move; отсутствие платы)
coords: Возвращает координаты местоположения сверла res: x y

Возращаемые ошибки:

Ошибка Описание ошибки
error: 0 Команда не распознана
error: 1 Отсутствует питание

Демонстрация работы основных команд станка

При разработке прошивки внимание, в первую очередь, уделялось безопасности. При выполнении любой команды станок руководствуется следующими правилами:

  • любые команды кроме connect должны игнорироваться, если с момента включения не была выполнена процедура запуска (откат всех осей и сброс координат в ноль)
  • запрещено двигаться по осям X и Y с опущенным сверлом
  • необходимо сразу прекращать движение по оси при достижении концевого выключателя
  • необходимо возвращать error: 1, если на момент получения команды, связанной с работой двигателей, отсутствует питание
  • при исчезновении питании при выполнении команды, связанной с работой двигателей, необходимо завершить команду и вернуть 0 (False)

Клиентское приложение

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

  • пользователь запускает приложение и указывает картинку(чертеж платы) для работы
  • указывает на чертеже 2 любые точки
  • переходит в режим указания точек на станке. В этом режиме можно управлять положением сверла, а также касаться платы. Пользоватль должен последовательно навестись на каждую из точек, указанных ранее на чертеже. Это позволяет сопоставить системы координат чертежа и станка
  • пользователь расставляет точки для сверлния на чертеже
  • приложение составляет программу сверления и начинает управление станком

Для связи со станком использовался модуль pyserial. При запуске приложение получает список всех доступных серийных интерфейсов (/dev/ttyACM*). На каждый из интерфейсов отправляется команда connect. Если в ответ будет получено res: 1, значит станок найден.

GUI реализован при помощи PyQt5.

Демонстрация работы основных команд станка

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

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх