Электроника на китайский хобийный фрезер

Блудильник
Offline
Зарегистрирован: 13.11.2015

Доброго всем времени, уважаемые форумчане.

Я новичек и одновременно чайник в делах програмных и компьютерных. Постараюсь не задавать глупых вопросов, но понимаю что без них вряд ли обойдется. Про "поиск" и "гугл" помню. А дело вот в чем. Имею два хоббийных китайских станка токарный СТМ-250, и фрезерный WMD 16. И еще доделываю самодельный заточной. Хочу еще в заточной добавить функцию шлифовки. Просто делать плоскость более или менее красивой и ровной.

Решил я на фрезерный станок сделать подачу стола. Сделал. Поставил мотор -редуктор. Работать стало легче, но не устраивают рывки с которыми идет стол. Решил переделать. Встал вопрос  какой двигатель поставить на привод. И один мой друг посоветовал поставить шаговик. Для шаговика нужна электроника, драйвера. Засел в интернете искать что, да как... Через две недели поиска наткнулся на Ардуино. Потом еще неделю изучал сами возможности этого девайса. Был приятно удивлен возможностями и низкой ценой этой платформы. Так же пришла в голову мысль, а почему бы не сделать ЧПУ станок.  И вот результат, был закуплен комплект: Ардуино Уно, cnc шилд, и четыре драйвера А4988. Питать все собираюсь через компьютерный блок питания. Понимаю что драйвера А4988 немного слабоваты. Я их заменню на более мощные DRV8824. Заказаны в Китае шаговые двигатели. Пока едут двигатели постигаю основы програмирования. Решил учится с ноля. Как моргать светодиодом понял. Теперь пытаюсь понять, как мигать несколькими. Конечно многое не понятно, например почему ставится та или  иная функция, и откуда они вообще беруться. Знаю что на первом листе все функции описаны, какая за что отвечает. Но их много, сразу не запомнить, а не подготовленому человеку не понять. Ивот у меня возник первый глупый вопрос. После того как залил скетч, помигал светодиодом, нужно ли удалять этот скетч перед заливкой нового?  Забегу немного в перед, посидев в интернете нашел вот скетч, он ниже на странице. Он нужен для того чтобы адаптировать cnc шилд? И назначить порты на Ардуино? Тогда почему в нём прописаны шаги двигателя? Переведя через гугл также не понял после скетча, после слова "note:" чтоэто за контакты указаны 2аи 2в для красной и зеленой группы, и 1а, 1в для голубой и желтой?

One, Introduction
This expansion board as a driver expansion board, can be used for engraving machines, 3D printers.
It is a total of four slots, can drive four A4988 stepper motor. Each road stepper motors only need two IO ports. In other words, six IO ports can be well managed three stepper motors. Very convenient to use.

Two, UNO module IO port correspondence introduction.

IO corresponding figure above

UNO---------------------- expansion board
8 ------------------------ EN ( stepper motor driver enable , active low )
7 ----------------------- Z.DIR (Z -axis direction control )
6 ----------------------- Y.DIR (Y -axis direction control )
5 ----------------------- X.DIR (X -axis direction control )
4 ---------------------- Z.STEP (Z -axis stepper control )
3 ---------------------- Y.STEP (Y -axis stepper control )
2 ---------------------- X.STEP (X -axis stepper control )

/ / The following is a simple stepper motor control procedures,
 

# define EN 8 / / stepper motor enable , active low
# define X_DIR 5 / / X -axis stepper motor direction control
# define Y_DIR 6 / / y -axis stepper motor direction control
# define Z_DIR 7 / / z axis stepper motor direction control
# define X_STP 2 / / x -axis stepper control
# define Y_STP 3 / / y -axis stepper control
# define Z_STP 4 / / z -axis stepper control
/ *
/ / Function : step . function: to control the direction of the stepper motor , the number of steps .
/ / Parameters : dir direction control , dirPin corresponding stepper motor DIR pin , stepperPin corresponding stepper motor " step " pin , Step number of step of no return value.

* /
void step (boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite (dirPin, dir);
delay (50);
for (int i = 0; i <steps; i + +) {
digitalWrite (stepperPin, HIGH);
delayMicroseconds (800);
digitalWrite (stepperPin, LOW);
delayMicroseconds (800);
}
}
void setup () {/ / The stepper motor used in the IO pin is set to output
pinMode (X_DIR, OUTPUT); pinMode (X_STP, OUTPUT);
pinMode (Y_DIR, OUTPUT); pinMode (Y_STP, OUTPUT);
pinMode (Z_DIR, OUTPUT); pinMode (Z_STP, OUTPUT);
pinMode (EN, OUTPUT);
digitalWrite (EN, LOW);
}
void loop () {
step (false, X_DIR, X_STP, 200); / / X axis motor reverse 1 ring, the 200 step is a circle.
step (false, Y_DIR, Y_STP, 200); / / y axis motor reverse 1 ring, the 200 step is a circle.
step (false, Z_DIR, Z_STP, 200); / / z axis motor reverse 1 ring, the 200 step is a circle.
delay (1000);
step (true, X_DIR, X_STP, 200); / / X axis motor forward 1 laps, the 200 step is a circle.
step (true, Y_DIR, Y_STP, 200); / / y axis motor forward 1 laps, the 200 step is a circle.
step (true, Z_DIR, Z_STP, 200); / / z axis motor forward 1 laps, the 200 step is a circle.
delay (1000);
}

Note: When inserting the A4988 module, must be careful not to insert opposite. Stepper motor wiring as follows:
2A, 2B is a group (red, green), 1A, 1B is a group (blue, yellow), if want to change direction, can be change the position of one group , for example 2A, 2B mutually exchanged.

Joiner
Offline
Зарегистрирован: 04.09.2014

Почитай тему "Трудный путь к ЧПУ". Там про это есть. GRBL, CNC шилд и прочее

Блудильник
Offline
Зарегистрирован: 13.11.2015

Спасибки, пошел читать. 

Блудильник
Offline
Зарегистрирован: 13.11.2015

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

Joiner
Offline
Зарегистрирован: 04.09.2014

По этой ссылочке не смотрели? http://ecnc.ru/flash

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

Цитата с этой странички:

"

Сборка и загрузка прошивки для Ардуино

Теперь нажимаем кнопку Загрузить. Дожидаемся, пока программа Ардуино проверит, откомпилирует и установит прошивку на плату Ардуино. Попробуем проверить, работает ли прошивка. Для этого необходимо подключить двигатели и запустить Монитор порта в программе Ардуино. Монитор порта находится в пункте Сервис основного меню. На форме Монитора порта вводим команду:
1000,2000,3000;
И нажимаем кнопку Послать. Смотрим, как двигатели вращаются с разной скоростью. Когда двигатели перестанут вращаться, прошивка Ардуино передаст ОК по USB компьютеру, это отобразится в Мониторе порта. "

Блудильник
Offline
Зарегистрирован: 13.11.2015

Да, я читал эту тему. Очень доходчиво описано. Но там опять таки не написано как пишется сам скетч. Я хочу научится писать их сам. Хотя бы самые простые. На худой конец просто из нескольких скетчей сделать один. На данный момент я не могу даже прописать пины на каких у меня стоят драйвера. Потому как нет понятия, как? К стати, Joiner, вашу тему о строительстве ЧПУ тоже прочитал. У меня точно такая же электроника, как у вас. Именно это и было в двойне интересно. Именно в вашей теме, по вашей ссылке и скачал те прошивки, на которые Вы сейчас мне указали. Хотелось бы освоить G коды. И управлять станком с планшета. Даже скачал GRBL controller android. Но пока его не трогаю, не знаю как им пользоваться. Вот и ищу где что можно почитать, посмотреть. А движки я уже покрутил, попробывал.

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

 

Joiner
Offline
Зарегистрирован: 04.09.2014

Блудильник пишет:

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

Может, так быстрее получится? Но я пока не понимаю в чем у Вас проблема. Я подключал шилд с ардуиной к ноуту, прошивал GRBL, подключал движки и даже макет станочка. Худо-бедно, потихонечку разобрался. Вы даже, наверное, видели на видео, как работает (работал) мой макетик. Есть ведь в интернете все готовое, я имею в виду прошивки, ПО для станка. Зачем городить огород? Зачем писать самому? Я примерно такой же специалист в программировании как и Вы. Сейчас трахаюсь с тинькой 13. Пытаюсь написать скетч иммитации пламени в игрушечном камине. Убил 2 недели, пока не получилось :) Станок с готовыми прогами и прошивками запустил, а тиньку нет. Вот и спрашиваю у себя - "Нахрена именно тинька, на проминьке же работает! Да и про минька не на много дороже тиньки. По крайней мере разница в цене мизерна по сравнению с убитым временем. Но мы же не можем без геммороя. Я уперся, и пишу, пишу, пишу....

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

Блудильник
Offline
Зарегистрирован: 13.11.2015

У меня проблемы не с механикой и электроникой, у меня проблемы с компьютером. Дюже поздно он у меня появился. Был помоложе, компа небыло, теперь есть и комп, и ноут, и планшет - работать на них не умею. Конечно они у меня давно, но использовал я их как игрушки.  Залезть в инет что нибудь найти, заказать, купить, посмотреть как сделано. И все. Тоесть нормальный чайник! Поехать в гамазин купить какой нибудь чип и распаять - не вопрос. Прошить его что бы он работал - вот проблема. Купить железяку и выточить из неё красивую деталь - это самое простое. Авот заставить ее работать через комп это проблема! Вот и приходится в пятьдесят лет всему учится. 

Joiner
Offline
Зарегистрирован: 04.09.2014

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

Учиться ни когда не поздно :), да еще к тому же и интересно.

Блудильник
Offline
Зарегистрирован: 13.11.2015

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

Спасибо за предложение. Если можно скиньте ссылки. Обязательно воспользуюсь. Только мне Вас нагружать своими прооблемами не очень удобно. Да и комп я знаю хреново. Мне придется объяснять на пальцах.  Нажми туда, потом туда. 

Согласен с Вами, учится не поздно никогда. Стыдно помереть неучем. Вот и учусь.

Блудильник
Offline
Зарегистрирован: 13.11.2015

На ноут скачал вот такой контроллер. Запрограмировал. В левом нижнем окне появились G коды. Все как на картинке. Подскажите как с ним работать дальше? Как подать хотябы элементарные команды. Что бы покрутить двигатели. 

591174.jpg

Alexey_A
Offline
Зарегистрирован: 01.05.2015

Попробовать, вобщем, не сложно.

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

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

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

Блудильник
Offline
Зарегистрирован: 13.11.2015

Да я это уже пробывал, менял шаг, и крутил движки. Меня интересует как подаются команды с Gкодами. 

Joiner
Offline
Зарегистрирован: 04.09.2014

Блудильник пишет:

Да я это уже пробывал, менял шаг, и крутил движки. Меня интересует как подаются команды с Gкодами. 

Если мне склероз не изменяе, то в линеечку, озаглавленную "Command", вводите G-код и нажимаете Enter, и смотрите на сообщение в окне ниже, где на вашем скриншоте распечатаны настройки.

Alexey_A
Offline
Зарегистрирован: 01.05.2015

Любое управление ЧПУ происходит засчет G кода.

Видите, все увас идет достпточно удачно, теперь надо решить, что собственно вам нужно. Большинство любительских ЧПУ используется как роутер - для вырезания нарисованного на компьютере контура. G код создается автоматически и по нему происходит автоматическая резка. После загрузки соответствующего файла в посылальщик команд.  в линеечку, озаглавленную "send command", одиночные команды можно вводить в в линеечку, озаглавленную "Command", как сказал Joiner

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

Блудильник
Offline
Зарегистрирован: 13.11.2015

Да уменя не роутер. У меня настольный китайский фрезер WMD 16. Строгаю железо, латунь, дюраль и т.д. Фрезы от 0,3 до 16мм. Из занятий - моделизм, пневматическое оружие (оружие не изготовляю, пользую покупное). Но по мере необходимости делаю и другие вещи. Сейчас в работе два проэкта. Это доделать генератор с двигателем Стирлинга (Стирлиг уже готов, осталось доделать электрическую часть), и доделать оснастку к заточному станку. Иногда надо выгравировать цифири и буквы. Ну и учусь работать с ЧПУ. В далеких планах сделать четвертую ось. Надоело драть все в ручную. То что придется изучать еще и 3D моделирование уже понял. На ютубе увидел как заграничный товарищ делает 3d модель за 15минут, грузит в чпу и работает. Но это же не отменяет навыков по построению программ и изучению програмирования? Нашел простенькую програмку как у него, она есть даже на русском языке. Обзывается SketshUp. Даже дом в ней построил за пол часа. Нарисовал детальку которая мне нужна, только в метрах. А  вот как в ней перейти в нормальные размеры, где изначально все будет в миллиметрах - понять пока не могу. 

Alexey_A
Offline
Зарегистрирован: 01.05.2015

Там помнится изначально надо задать в каком масштабе вы будите работать, выбрать шаблон.  Или в Tools Preferens установить.

Блудильник
Offline
Зарегистрирован: 13.11.2015

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

Alexey_A
Offline
Зарегистрирован: 01.05.2015

После перехода в миллиметры масштабировать не пытались?

Блудильник
Offline
Зарегистрирован: 13.11.2015

Я еще не до конца разобрался в программе, не знаю как.

Alexey_A
Offline
Зарегистрирован: 01.05.2015

Вы просто там пока не разобрались.

Блудильник
Offline
Зарегистрирован: 13.11.2015

Alexey_A пишет:

Вы просто там пока не разобрались.

Ну, не все сразу. Если учесть что я компьютер ваЩе не знаю... То для меня это уже подвиг. А после того как ушёл с производства, вообще отупел. Считать не надо, думать не надо. Мартышкин труд, сиди потихонечку мебель собирай...Но у меня есть большой плюс, у меня супруга - домашний айтишник. Шутка. Немного тяжеловато разбираться, даже не разбираться... много новых терминов. Надо каждый посмотреть, понять, и каждый термин тянет за собой ещё кучу теминов. Честное слово, завидую молодым ребятам, их возможностям - новые технологии, новые возможности. Только учись. Круто! 

Блудильник
Offline
Зарегистрирован: 13.11.2015

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