Переделка шилда CNC Nano.

Поделиться:
В интернете довольно много статей про подключение CNC шилда для Arduino UNO и его аналогов, но про его младшего брата Arduino Nano их намного меньше, а те что есть не учитывают некоторых нюансов китайского происхождения этих самых шилдов. Сам недавно стал владельцем платы CNC shield v3 for Arduino Nano. Вот такой:
Переделка шилда CNC Nano.

В 99% случаем при запросе CNC shield arduino nano появится именно она.
Проблемы этой платы заключаются в следующем, не работают установки микрошага с помощью джамперов, контакты отвечающие за шаг и направление контроллеров шаговых двигателей отличаются от таковых для Arduino Uno, питание силовой части идет напрямую на пин Vin контроллера.
Все описанные дальше манипуляции производятся исключительно на свой страх и риск.
Понадобится чуть-чуть поять, чуть-чуть паять и чуть-чуть изменять код.
Итак поехали.
Для начала разберемся с питанием.
Если ваш источник питания, от которого вы планируете запитать шаговые двигатели, выдает больше 12В, то рекомендую перерезать дорожку ведущую к контакту Vin как показано на картинке ниже.

Далее вернем возможность выставлять микрошаг с помощью джамперов (тут конечно надо сначала убедиться что у вас эта функция не работает так-же как и у меня, при замкнутых джамперах на пинах MS1, MS2, MS3 контроллера шагового двигателя будет 0).
Здесь придется не только резать но и паять. Черным будет указано какие дорожки обрезать, а синим какие замкнуть.


В общем суть заключается в том чтобы подать на контакты джамперов высокий уровень (+5В), работа довольно кропотливая и довольно легко получить короткое замыкание, поэтому вооружитесь тестером и внимательно прозванивайте запаянные контакты во избежание замыкания питания на землю. Результатом должно стать то что при поданном напряжении и установленных джамперах на контактах 1, 2 и 3 должен установиться высокий уровень (равный поданному напряжению), а при разомкнутых джамперах соответственно 0.

Теперь очередь кода.
Пины отвечающие за шаг и направление отличаются у Arduino Nano и Arduino Uno, поэтому залитая в Arduino Nano прошивка GRBL работать не будет.
Для того чтобы она заработала надо внести изменения в файл cpu_map_atmega328p.h (для версии grbl 0.9 и ранее) или cpu_map.h (для версии 1.1f). Находим в них следующие строки:
#define X_STEP_BIT 2
#define Y_STEP_BIT 3
#define Z_STEP_BIT 4

#define X_DIRECTION_BIT 5
#define Y_DIRECTION_BIT 6
#define Z_DIRECTION_BIT 7
и приводим их в такой вид:

#define X_STEP_BIT 5
#define Y_STEP_BIT 6
#define Z_STEP_BIT 7

#define X_DIRECTION_BIT 2
#define Y_DIRECTION_BIT 3
#define Z_DIRECTION_BIT 4

Сохраняем файл и заливаем прошивку через Arduino IDE (ну или компилируем и прошиваем полученный бинарник, кому как больше нравится).

Надеюсь статься кому-то поможет.
Источник: 3dtoday.ru
2018 3dtrands.ru - самые последние тренды в 3D мире.