Проектирование и разработка устройства "Трехкоординатный фрезер с числовым программным управлением" на микроконтроллере Arduino

Ознакомление с аппаратными средствами с возможностью расширения и открытыми принципиальными схемами. Исследование и характеристика особенностей драйвера шагового двигателя. Рассмотрение специфики программы Arduino. Изучение процесса настройки осей.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.06.2021
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Государственное бюджетное профессиональное образовательное учреждение

«Западнодвинский технологический колледж им. И. А. Ковалева»

Курсовая работа

Тема: «Проектирование и разработка устройства «Трехкоординатный фрезер с числовым программным управлением» на микроконтроллере Arduino»

Дисциплина: «Микропроцессорные системы»

Выполнил: Тюрин Владислав

Специальность: «Компьютерные системы и комплексы» Группа № 17 курс 4

Форма обучения: очная

Преподаватель: Башкиров Игорь Александрович

Западная Двина 2021

Содержание

Введение

1. Основные понятия

1.1 Что такое Arduino

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

2. Сборка ЧПУ станка

2.1 Сборка станка и схема подключения компонентов

2.2 Программное обеспечение для ЧПУ

Заключение

Список использованной литературы

Приложение

Введение

Цель - проектирование и разработка устройства «Трехкоординатный ЧПУ фрезер» на микроконтроллере Arduino

В связи с поставленной целью, необходимо решить некоторые задачи:

1. Изучение теоретического материала.

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

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

4. Разработка программного обеспечения.

5. Сборка устройства.

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

7. Проверка работоспособности устройства.

Использование ЧПУ станков позволяют добиться массы преимуществ:

· Во-первых, скорость производства деталей увеличивается чуть ли ни вдвое.

· Во-вторых, точность обработки деталей.

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

· В-четвёртых, станки с ЧПУ дают возможность задействовать в производстве меньшее количество людей

Покупка заводского станка может оказаться затратной. Самостоятельное изготовление ЧПУ станка имеет низкую стоимость всех комплектующих.

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

Станок с ЧПУ на Ардуино задумывался для разработки, отладки и тестирования программного обеспечения, необходимого для работы станков с числовым программным управлением (ЧПУ)

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

Собрав всё воедино получаем совершенно потрясающие характеристики:

· низкая стоимость станка с ЧПУ;

· лёгкая доступность всех деталей станка;

· работа с изображениями, которые легко может создать любой человек в простом графическом редакторе (например, Paint);

· расширяемая платформа для разработки множества систем;

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

1. Основные понятия

1.1 Что такое Arduino

Arduino - это инструмент для проектирования электронных устройств (рис.1) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры. Это платформа, предназначенная для физических вычислений с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.

Рисунок 1 Arduino

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

Существует множество микроконтроллеров и платформ для осуществления физических вычислений, например MIT's Handyboard(рис. 2), Basic Stamp (рис. 3) Данные контроллеры предлагают схожую функциональность.

Рисунок 2 Микроконтроллер MIT's Handyboard

Рисунок 3 Basic Stamp

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

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

Низкая стоимость - платы Arduino относительно дешевы по сравнению с другими платформами. Самая недорогая версия модуля Arduino может быть меньше 300 р.

Arduino работает под операционной системой (далее по тексту OC) Windows и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение (далее по тексту ПО) Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами - микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino.

Что касается так называемого программатора способом загрузки прошивки в микроконтроллер является загрузка посредством программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он не такой универсальный. Вместо программатора на плате стоит Universal Serial Bus (далее по тексту USB) преобразователь, который позволяет Ардуино общаться с компьютером и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера есть загрузчик, который умеет принимать данные. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти микроконтроллера (далее по тексту МК) прошивку. Отсюда несколько минусов:

1. Загрузчик сидит во Flash памяти и занимает место

2. При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера.

Оба этих минуса решаются:

1. Можно прошить неофициальный загрузчик, который занимает меньше места.

2. Можно загружать скетчи напрямую через программатор, в этом случае вообще не будет потери места и задержек при запуске.

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

Основные платы:

Arduino UNO(рис.4)

1. базовая платформа Arduino

2. 14 цифровых входов/выходов(из них 6 ШИМ)

3. 6 аналоговых входов

4. 1 последовательный порт UART

5. программируется через USB

6. дополняется платами расширения

Рисунок 4 Arduino Uno

Arduino Mega2560(Рис.5)

1. 54 цифровых входа/выхода(из них 14 ШИМ)

2. 16 аналоговых входов

3. 4 последовательных порта UART

4. дополняется платами расширения

5. программируется через USB

Рисунок 5 Arduino Mega 2560

Arduino NANO(рис.6)

1. 14 цифровых входов/выходов (6 могут использоваться как выходы ШИМ)

2. 8 аналоговых входов

3. Программируется через Mini-USB

Рисунок 6 Arduino NANO

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

Драйвер шагового двигателя (далее по тексту ШД) - электронное устройство, которое заставляет шаговый двигатель "шагать" по сигналам управления. Стандартом в области управления ШД являются сигналы STEP/DIR/ENABLE:

· STEP это сигнал шага

· DIR это сигнал направления вращения

· ENABLE это сигнал включения драйвера.

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

TB6560 (рис. 7.1;7.2) - драйвер управления двухфазными шаговыми двигателями выполнен на специализированном чипе Toshiba . С питанием 10В - 35В постоянного напряжения, предназначен для использования с двигателями типа NEMA17 - NEMA23 с максимальным током фазы до 3А. Широко используется в ЧПУ системах.

Рисунок 7.1 Драйвер TB6560

Рисунок 7.2 Драйвер TB6560

Особенности драйвера TB6560:

Напряжение питания 10В - 35В постоянного напряжения;

Оптоизолированные входы сигналов управления;

Делитель шага (микро шаг) - 1,2,8,16;

Установка максимального тока - 14 ступеней.

Основные характеристики

Входное напряжение

10В - 35В постоянного напряжение

Выходной ток

0.3АЃ`3A (в пике 3.5А макс.)

Температура эксплуатации

-10Ѓ`45?

Влажность

Не допускать конденсат и капли воды

Дополнительные условия

Не допускать проводящих газов и защищать от пыли

Размеры

75*50*35мм

Разъемы:

CLK+, CLK- Положительный и отрицательный выводы входа тактового сигнала

CW+, CW- Положительный и отрицательный выводы входа управления направлением вращения

EN+, EN- Положительный и отрицательный выводы входа разрешения работы

+24D, GND Положительный и отрицательный выводы подключения питания

A+, A- Выводы подключения I фазной обмотки двигателя

B+, B- Выводы подключения II фазной обмотки двигателя

Схемы подключения.

Управляющие входы можно подключить к портам контроллера двумя способами. Зависит от конфигурации и исполнения портов контроллера (Рис. 8.1, Рис. 8.2).

Рисунок 8.1 Применение подключения драйвера при исполнении порта контроллера на NPN ключах с открытым коллектором.

Рисунок8.2 Пример подключения драйвера при исполнении порта контроллера на PNP ключах с открытым коллектором.

Примечание: Значение сопротивлений зависят от питающего напряжения:

При VCC=5В, R_CLK = R_CW = R_EN = 0;

При VCC=12В, R_CW = R_EN = 1кОм, R_CLK = 1.5кОм;

При VCC=24В, R_CW = R_EN = 2кОм, R_CLK = 3кОм.

Настройка DIP переключателей

Делитель шага (микрошаг) устанавливают переключателями S3, S4 в соответствии с таблицей:

Делитель шага

Делитель

S3

S4

1

OFF

OFF

2

ON

OFF

8

ON

ON

16

OFF

ON

Установка тока в режиме покоя определяется переключателем S2.

Таблица соответствия

Выходной ток в режиме удержания

S2

20%

ON

50%

OFF

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

Силовые цепи

Допускается последовательное и параллельное включение шаговых двигателей (рис.9). При параллельном включении выходной ток необходимо устанавливать выше. При последовательном включении ток устанавливается как для одного двигателя.

Рисунок 9 Подключение силовых цепей

Монтаж драйвера

При монтаже необходимо соблюдать следующие требования:

Удаленность от других элементов не менее 20мм;

Отсутствие вблизи нагреваемых элементов;

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

Световые индикаторы

Power: индикатор питания;

Run: индикация режима работы.

Прикладное применение

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

Рекомендации по эксплуатации.

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

· Кроме того, датчики стабилизатора тока подключены к земле, т.е. стабилизируется ток, протекающий через землю. Это приводит к тому, что любое замыкание вывода на землю выводит микросхему из строя.

· Включать драйвер с неподключенным двигателем можно.

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

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

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

Был изучен драйвер шагового двигателя TB6560 он имеет более удачный набор настроек:

· Настраиваемый выходной ток от 0.3 до 3А;

· Рабочее напряжение: от 10 до 24В

· Количество шагов на один реальный шаг ШД: 1, 2, 4, 8, 16;

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

2. Сборка ЧПУ станка

2.1 Сборка станка и схема подключения компонентов

При создании станка нам понадобятся следующие детали:

Фанера - для простого станка с ЧПУ понадобится менее 1 квадратного метра.

Мебельные направляющие, по которым перемещаются платформа оси Z.

Стальной прут с резьбой - 1м

Саморезы - саморезы используются для соединения отдельных частей станка с ЧПУ

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

Эта рама обладает рядом положительных качеств:

· рама станка с ЧПУ выполнена по схеме, то есть может использоваться в других проектах;

· рама станка с ЧПУ состоит из минимального количества деталей;

· рама станка с ЧПУ сделана из легкодоступных материалов и имеет низкую себестоимость.

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

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

1. Компьютер.

Для простого станка с ЧПУ понадобится обычный компьютер/ноутбук с одним свободным USB разъёмом. Для работы станка с ЧПУ потребуется ПК под управлением ОС начиная с Windows. Разъём USB необходим для обмена данными с платой Arduino. Компьютер выполняет обработку изображений и формирует команды перемещения двигателей, которые передаёт на Arduino.

2. Плата Arduino.

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

3. 3 драйвера шаговых двигателей.

Драйверы шаговых двигателей совместимые с Arduino с 4-мя управляющими контактами. Драйверы шаговых двигателей получают импульсы от Arduino и подают напряжение на соответствующие обмотки шаговых двигателей. К драйверу ШД подключается блок питания для шагового двигателя. В проекте использовались драйверы TB6560

4. 3 шаговых двигателя.

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

5. Блок питания.

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

6. Провода

Провода соединяют электронные компоненты станка ЧПУ и между собой

Подключение драйвера TB6560 к Ардуино.

Ниже представлена схема подключения драйвера TB6560 к Arduino, шаговому двигателю и блоку питания (рис 10.1, 10.2).

Рисунок 10.1 Подключение драйвера на TB6560 к Ардуино, шаговому двигателю и блоку питания

При таком подключении драйвер находится в состоянии "включен". Если вы захотите управлять включением драйвера TB6560, то EN- необходимо подключить к "земле" (Gnd), а EN+ - к цифровому выводу.

Рисунок 10.2 Подключение драйвера.

Возможности драйвера TB6560:

· Предназначение: управление биполярными двигателями

· Рабочее напряжение: 10-24;

· Настраиваемый выходной ток: от 0.3 до 3 А;

· Дискретизация шага - это количество шагов на один реальный шаг: 1, 2, 4, 8, 16;

· Регулировка тока удержания;

· Режимы спада тока;

· Габариты: 75 x 50 x 33 мм;

Набор режимов сбалансирован и это явно в пользу драйвера.

Подключение к Arduino:

Пин (Step пин) к CLK+,

Пин (Dir пин) к CW+,

CLK- и CW- подключаются к контакту GND на Arduino.

Шаговые двигатели подключаются в соответствии с их маркировкой. То есть, вам надо знать какие цвета соответствуют контактам A+, A-, B+ и B-

2.2 Программное обеспечение для ЧПУ

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

Рисунок 11 Иконка Arduino на рабочем столе

Теперь можно подключить нашу плату Ардуино к компьютеру, для этого используется кабель USB. Дожидаемся, когда Windows найдёт и установит новое оборудование. Далее, запускаем программу Arduino(рис.12)

Рисунок 12 Программа Arduino

И выбираем нужный COM-порт, выбрав в главном меню Инструменты-> Порт(рис.13)

Рисунок 13 Выбор COM-порта

Копируем исходный код прошивки для управления станком с ЧПУ в окно редактирования Arduino (приложение 1). Теперь нажимаем кнопку загрузить и дожидаемся, пока программа проверит и установит прошивку на плату Ардуино. Попробуем проверить, работает ли прошивка. Для этого необходимо подключить двигатели и запустить Монитор порта в программе. Монитор порта находится в пункте инструменты основного меню. На форме Монитора порта вводим команду:1000,2000,3000;

Нажимаем кнопку Послать. Смотрим, как двигатели вращаются с разной скоростью. Когда двигатели перестанут вращаться, прошивка Ардуино передаст по USB компьютеру.

Установка программы управления станком с ЧПУ на Ардуино

Программа работает под Windows XP и Windows 7/8/10. Для начала работы с программой, необходимо скачать архив с последней версией ПО с сайта ECNC. После этого распаковываем архив в любое место. Заходим в папку, куда распаковали архив, и запускаем файл. Это проверит наличие необходимых библиотек на вашем компьютере и их установит, если они отсутствуют или устарели.

Настройка программы управления станком с ЧПУ на Ардуино

В первых версиях программы управления ЧПУ необходимо зайти в файл cnc.ini и сопоставить значению номер виртуального Com-порта, к которому подключена плата Arduino. Далее необходимо установить значение, которое должно соответствовать названию файла с изображением, по которому происходит фрезерование. Файл с изображением должен лежать в той же папке, куда установлена программа cnc.ini.

В версии 1.0.3 и старше для того, чтобы настроить программу для работы со станком, необходимо в главном меню выбрать пункт Настройка. (рис. 14).

Далее необходимо установить соответствие перемещения в мм вдоль каждой из осей одному шагу двигателя. То есть, если шаг резьбы составляет 1мм, а двигателю для полного оборота необходимо сделать 200 шагов, то одному шагу двигателя соответствует 200 шагов на 0.005мм. Таким образом, для каждой оси необходимо посчитать соответствие. Кроме того, необходимо поставить правильный знак, в зависимости от стороны установки двигателя при вращении его в одну сторону. Необходимо, чтобы при задании положительного перемещения из программы для оси X, ось двигалась вправо-лево, для оси Y вперед-назад, для оси Z - вниз-вверх.

Рисунок 14 Настройка осей

Также необходимо указать виртуальный COM-порт, через который идёт соединение компьютера и платы Arduino. Как видно на предыдущем изображении, у автора стоит com8. После установки порта имеет смысл удостовериться, правильно ли он выбран и возможно ли установить по нему соединение с Ардуино. Для этого достаточно нажать на кнопку проверить соединение. драйвер программа arduino

На каждой форме работы со станком выводится статус соединения с COM портом. Программа при запуске устанавливает соединение с портом. И если вы указали порт, но он относится к другому устройству и не занят, то программа займёт порт и выдаст в диагностике, что всё в порядке.

Перемещение в начальное положение ЧПУ

Для того, чтобы вручную установить начальное положение необходимо в меню выбрать пункт Ручное перемещение. Появится форма Установка положения (рис.15).

Рисунок 15 Установка положения

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

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

2D-фрезеровка и рисование на простом станке с ЧПУ на Arduino

Подготовка изображения для 2D-фрезерования / рисования.

Для 2D-фрезерования на самодельном станке с ЧПУ нам понадобится изображение. Находим в интернете или рисуем картинку.

В зависимости от размера будущего результата имеет смысл изменить размер картинки в пикселях. Для начала рекомендуется установить размер изображения исходя из следующего соответствия: 2 пикселя на миллиметр. То есть, если планируемое изображение будет размером 100x60 мм, то исходное изображение можно сохранить в разрешении 200x120 пикселей. В Paint это делается в пункте меню Рисунок-> Растянуть/Наклонить, далее в появившемся окне в блоке растянуть, необходимо выбрать в процентах, как изменить изображение. Примерно приводим картинку к нужному размеру. Если исходное изображение мало, то увеличивать его не требуется: программа для ЧПУ сама рассчитает коэффициенты масштабирования. В программу управления ЧПУ включены алгоритмы сглаживая, тем не менее, чем больше пикселей исходного изображения приходится на 1 мм готового, тем точнее будет результат. Однако, необходимо учитывать погрешность работы нашего самодельного станка с ЧПУ, связанную с точность изготовления его составляющих, именно поэтому я рекомендую соотношение 2 пикселя на 1 мм. Просто дальнейшее увеличение разрешения исходного изображения скорее всего не даст увеличения точности, а программу для работы с ЧПУ замедлит.

Изменение палитры изображения, перевод в черно-белый формат

Для качественного 2D-фрезерования или рисования понадобится перевести картинку к черно-белому формату, чтобы убрать промежуточные значения цвета. Ничего страшного не будет, если программа для ЧПУ будет работать с картинкой серого цвета, однако фреза или ручка по высоте будут постоянно гулять в зависимости от "яркости" границы обводимой области.Для того, чтобы привести картинку к черно-белому формату необходимо открыть изображение в графическом редакторе Paint. Далее в меню выбрать Рисунок-> Атрибуты и на открытом окне установить галку черно-белая в блоке Палитра. Нажимаем ОК, соглашаемся с сообщением о том, что будет потеряна первичная информация об изображении. Редактор переведет картинку в черно белый формат.

Теперь сохраняем полученный результат. На форме сохранения файла в пункте Тип файла: обязательно выбираем 24-разрядный рисунок (*.bmp, *.dib).

Работа с самодельным станком с ЧПУ на Ардуино

Закрепляем на нижней подвижной платформе самодельного станка с ЧПУ заготовку, на которой будет производиться 2D-фрезерование / рисование. Заходим в папку, куда установлена программа управления станком с ЧПУ. Запускаем программу cnc.ini и в главном меню выбираем пункт Фрезерование. На открывшейся форме в левом верхнем блоке, выбираем файл, в котором находится подготовленная картинка.

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

Далее, если соединение с Ардуино установлено, задаем размер области в мм, на которой будет фрезероваться изображение. Это делается в блоке Размер готового изображения. Глубина соответствует вертикальному перемещению фрезы вниз от текущего положения.

На фото, указана глубина 10 мм. То есть, если на исходном изображении имеется черная фигура, то при её обрисовке, фреза будет опущена на 10 мм. Глубина, на которую будет опущена фреза соответствует тому, на сколько "черная" граница у обводимой фигуры. Теперь необходимо установить фрезу в исходное положение. Для этого в блоке Настройка устанавливаем галку Фрезеровать. Ниже в три поля вводим в миллиметрах необходимые значения перемещений по осям X, Y и Z и нажимаем кнопку Ручная установка. Дожидаемся, когда фреза переместится в нужное положение. Начальное положение соответствует левому верхнему углу фрезеруемой картинки (рис.16).

Рисунок 16 Настройка размеров рисунка

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

Если вы хотите обвести конкретную фигуру, то необходимо её найти и выбрать в дереве принадлежности, и нажать на кнопку Выделенная. И дождаться конца фрезеровки / рисования.

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

Online генерация G-кода по растровому изображению.

Сервис предназначен для формирования G-кода для станка с ЧПУ (рис.17). Генератор G-кода создает программу для управления ЧПУ с установленным модулем.

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

· Дерево

· Фанера

· Стекло

· Металлы

Рисунок 17 Online генератор G-кода

Правила формирования кода

В блоке Размеры готового изображения определяется соответствие между изображением и заготовкой, то есть количество пикселей на 1 миллиметр. Все перемещения производятся на скорости хода. Если станок движется слева-направо, то перед "темным" пикселем станок использует ось Y и включается на заданную мощность. Аналогично при движении справа-налево. Мощность двигателя задается числом. Число является отображением степени "черноты" пикселя на отрезок, заданный в блоке. Для указания мощности используются только целые числа. Кроме того, если выставить галку Дискретные значения, то отрезок будет разбит на одинаковые интервалы. При попадании яркости пикселя в какой-то интервал будет установлена соответствующая мощность. Генератор формирует тело программы. Скорость перемещения задается самостоятельно.

Вывод:

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

Заключение

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

Список использованной литературы

1. AlexGyver. Шпаргалка по функциям Arduino.

2. Андреев Г.И. Работа на токарных станках с ЧПУ.

3. Виктор Петин. Проекты с использованием контроллера Arduino .

4. Джереми Блум. Изучаем Arduino-инструменты и методы технического волшебства.

5. Дж. Вильямс Программируемые роботы.

6. Кошкин В.Л. Аппаратные системы числового программного управления.

7. Кряжев Д.Ю. Фрезерная обработка на станках с ЧПУ.

8. Краткое описание основных G/M-кодов.

9. Маханов С.С. Особенности 5-ти осных ЧПУ (на английском языке)

10. Основные принципы разработки управляющих программ для оборудования с ЧПУ.

11. Павлов С. Механика самодельного станка ЧПУ.

12. Патлах В.В. Самодельные ЧПУ-станки.

13. Ревич Юрий. Занимательная электроника.

14. Саймон Монк. Прграммируем Arduino.

15. Сосонкин В.Л. Методика программирования станков с ЧПУ.

16. Сосонкин В.Л. Мартинов Г.М. Методика программирования станков с ЧПУ на наиболее полном полигоне вспомогательных G-функций.

17. Станок с ЧПУ своими руками. http://ecnc.ru/

18. Улли Соммер. Программирование микроконтроллерных плат Arduino/Freeduinoв.

19. ЧПУ станок на Arduino двигатели и драйверы https://alexgyver.ru/arduino-cnc-info/

20. Филенко H. Станок с ЧПУ своими руками.

21. Петин В.А., Биняковский А.А. Практическая энциклопедия Arduino

Приложение

int motorPins[3][2] = {{8,9},{10,11},{12, 13}};

int count;

int count2[3] = {0,0,0};

int val = 0;

int rot=0;

int incomingByte = 0;

int sign=1;

long delayTime;

//Процедура настройки прошивки

void setup() {

int i;

Serial.begin(9600); //Эта скорость должна совпадать со скоростью, установленной в программе

for (i=0; i<3; i++) {

for (count = 0; count < 2; count++) {

pinMode(motorPins[i][count], OUTPUT); //установка режима работы цифровых pin'ов Ардуино

}

}

delayTime=2000;

}

//Поворот двигателя с номерм sm на один шаг вперёд

void moveForward(int sm) {

digitalWrite(motorPins[sm][1], HIGH); //Задаём направление

digitalWrite(motorPins[sm][0], HIGH);

digitalWrite(motorPins[sm][0], LOW);

}

//Поворот двигателя с номерм sm на один шаг назад

void moveBackward(int sm) {

digitalWrite(motorPins[sm][1], LOW);

digitalWrite(motorPins[sm][0], HIGH);

digitalWrite(motorPins[sm][0], LOW);

}

//Задержка в микосекундах

void delayMicros(long wt){

unsigned long mls;

unsigned int mks;

mls=(unsigned long)(wt / 1000);

mks=(unsigned int)(wt % 1000);

if (mls>0) delay(mls);

if (mks>0) delayMicroseconds(mks);

}

//Одновременный поворот двигателей 0, 1, 2 на x, y, z шагов соответственно

void MoveSM(long x, long y, long z) {

long c[3], c2[3];

double c1[3], d[3];

long m, i;

boolean flg;

c[0] = x;

c[1] = y;

c[2] = z;

m = 1;

for (i=0; i<3; i++) {

if (m < abs(c[i])) m = abs(c[i]);

}

for (i=0; i<3; i++) {

c1[i] = 0;

d[i] = 1.0 * c[i] / m;

c2[i] = 0;

}

flg = false;

for (i=0; i<3; i++) {

if (abs(c1[i]) < abs(c[i])) flg=true;

}

while (flg) {

flg=false;

for (i=0; i<3; i++) {

if (abs(c1[i]) < abs(c[i]))

c1[i] += d[i];

if (abs(c1[i]) - abs(c2[i]) >= 0.5) {

if (c[i]>0) {

c2[i]++;

moveForward(i);

} else if (c[i]<0) {

c2[i]--;

moveBackward(i);

}

}

if (abs(c1[i]) < abs(c[i])) flg=true;

}

delayMicros(delayTime);

}

}

//Основной цикл

void loop() {

if (Serial.available() > 0) { //Пришла команда

long c[4]={0,0,0,0};

int i;

sign=1;

i=0;

incomingByte = Serial.read();

while (incomingByte!=';') { //Читаем входящую строку, признак конца строки знак "точка с запятой"

if (incomingByte=='V') Serial.println("M");

if (c[i]==0) {

if (incomingByte=='-')

sign=-1;

}

if (incomingByte==',') {

c[i]*=sign;

sign=1;

i++;

} else if (incomingByte>='0' && incomingByte<='9') {

c[i]=c[i]*10+incomingByte-'0';

}

while (Serial.available() == 0) {

delayMicroseconds(1); //Ждём очередной символ, если не пришел

}

incomingByte = Serial.read();

}

c[i]*=sign;

if (c[3]>0) delayTime=c[3];

Serial.println("T"); //Отправляем компьютеру сообщение "T", значит можно высылать новую команду

MoveSM(c[0],c[1],c[2]); //Вращаем двигатели на заданное число шагов

}

else

delayMicroseconds(1); //Если ничего не пришло, ждём 1 микросекуду.

}

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [3,9 M], добавлен 15.04.2012

  • Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.

    дипломная работа [4,0 M], добавлен 19.01.2017

  • Выбор и обоснование выбора среды разработки. Разработка алгоритма работы программы, проектирование системы меню. Общее описание программы: назначение и область применения, интерфейс, требования к аппаратным и программным ресурсам, тестирование и листинг.

    курсовая работа [543,2 K], добавлен 20.05.2013

  • Разработка управляющей программы для обработки детали на станке с числовым программным управлением 16К20ФЗТ02, оснащенном устройством "Электроника НЦ-31". Эскиз заготовки, обоснование метода ее получения. Технологический маршрут обработки детали.

    курсовая работа [723,0 K], добавлен 19.10.2014

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

    курсовая работа [2,4 M], добавлен 18.10.2015

  • Возможности платформы Arduino. Загрузка микроконтроллера прерываниями. Подтягивающие (нагрузочные) резисторы. Аналого-цифровой преобразователь, цоколевка. Прерывание по таймеру, память. Библиотеки Servo, SPI, Stepper. Комбинация фазы синхронизации.

    курсовая работа [53,4 K], добавлен 23.12.2014

  • Характеристика особенностей радиоэлектронной аппаратуры. Рассмотрение метода изготовления печатной платы. Анализ программы для подготовки ее производства. Ознакомление с нормами времени на нанесение паяльной маски. Изучение процесса травления меди.

    дипломная работа [1,5 M], добавлен 14.11.2017

  • Станок с числовым программным управлением - основной производственный модуль современного производства. Совершенствование возможностей систем ЧПУ, организация интерполяции; разработка программного обеспечения для устройств четвертого и пятого поколения.

    курсовая работа [679,7 K], добавлен 07.06.2011

  • Разработка алгоритма и программы на персональном компьютере двухслойной нейросети, аналогичной программы на микроконтроллере STM32F407VG. Этапы реализации обучения нейросети и передачи весовых коэффициентов на микроконтроллер по интерфейсу связи UART.

    курсовая работа [1,4 M], добавлен 21.02.2016

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

    дипломная работа [2,8 M], добавлен 28.10.2010

  • Обзор разновидностей сервоприводов. Проектирование печатной платы устройства средствами P-CAD. Описание схемы драйвера серводвигателя постоянного тока. Разработка чертежей составных частей корпуса и сборочного чертежа. Разработка 3-D модели корпуса.

    курсовая работа [1,6 M], добавлен 04.05.2013

  • Выбор оборудования и разработка программного обеспечение (ПО) для настройки антенно-фидерных систем (АФС) GSM – терминалов высокого уровня оперативности и низкой стоимости разработанного продукта, с возможностью его дальнейшего усовершенствования.

    дипломная работа [2,8 M], добавлен 30.06.2012

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

    курсовая работа [577,8 K], добавлен 24.06.2013

  • Архитектура ввода/вывода Windows NT. Внутренняя организация шины USB. Сущностная характеристика драйверной модели WDM. Точки входа разрабатываемого драйвера, размещение кода в памяти, установка драйвера в системе. Реализация кода драйвера на языке C.

    курсовая работа [1,2 M], добавлен 27.09.2014

  • Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.

    курсовая работа [3,9 M], добавлен 24.12.2012

  • Ознакомление с процессом запуска программы "1С: Предприятие 8.3". Исследование порядка создания новой информационной базы и основных принципов работы с программой. Рассмотрение и характеристика особенностей оформления кассовых и банковских документов.

    отчет по практике [2,8 M], добавлен 17.02.2018

  • Конструктивная компоновка универсальных токарно-винторезных станков и токарных станков с числовым программным управлением (ЧПУ), их особенности и отличия. Наименование основных узлов и механизмов станка модели CC-D6000E, их назначение; управление.

    практическая работа [328,1 K], добавлен 05.03.2011

  • Повышение быстродействия операционной системы. Разработка драйверов для средств хранения данных, управление работой устройства командами PnP. Создание, настройка параметров и установка классового драйвера виртуального диска, его структура и свойства.

    курсовая работа [163,2 K], добавлен 18.06.2009

  • Изучение видов роботов-жуков. Анализ платформ для управления периферийными устройствами, реализации передачи и обработки полученных данных. Основной выбор сервоприводов и дальномеров. Программирование робота через специализированную среду Arduino IDE.

    курсовая работа [588,7 K], добавлен 11.08.2017

  • Проектирование микропроцессорного устройства, которое преобразует интерфейс RS-232 (COM-порт) в IEEE 1284 (LPT-порт). Структурная схема устройства. Преобразование последовательного интерфейса в параллельный интерфейс на микроконтроллере ATMega 8.

    курсовая работа [1,1 M], добавлен 07.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.