Открих тази интересна възможност на сайтовете на:
http://wiki.zentoolworks.com/index.php/Arduino_Stepper_Motor_Control
и много приятния според мен проект на http://www.shapeoko.com/wiki/
На първия е пълното описание на свързването на Arduino като контролер на драйвери за стъпкови двигатели. Тъй като авторът предполага, че Arduino-то е закупено от техния сайт и програмата е предварително заредена, за да се стигне до успешна реализация, трябва да се следват следните стъпки (някои от долуописаните неща ще повторят източника):
1. Първо (и разбира се, най - важно :) - Платка с Arduino UNO, USB кабел за връзка с компютъра
http://wiki.zentoolworks.com/index.php/Arduino_Stepper_Motor_Control
и много приятния според мен проект на http://www.shapeoko.com/wiki/
На първия е пълното описание на свързването на Arduino като контролер на драйвери за стъпкови двигатели. Тъй като авторът предполага, че Arduino-то е закупено от техния сайт и програмата е предварително заредена, за да се стигне до успешна реализация, трябва да се следват следните стъпки (някои от долуописаните неща ще повторят източника):
1. Първо (и разбира се, най - важно :) - Платка с Arduino UNO, USB кабел за връзка с компютъра
Схемата на свързване с чудесни снимки се вижда на посочения сайт, тук само ще напиша, че изводите 2, 3, 4 са СТЪПКА (Pulse), а 5,6,7 са ПОСОКА (Dir) съответно за X, Y и Z координатите. Изводите "-" на драйверите са свързани заедно към GND на Arduino платката.
(Вече е проверено, изводите XYZ следват номерацията)
Очевидно GBRL е претърпял сериозно развитие, защото са включени доста опции:
2. Второ: така или иначе, щом имате вече Ардуино, необходим ви е софтуерът към него, така наречения IDE, който е наличен за безплатно изтегляне на официалния сайт на продукта:
Изтегля се и се инсталира файла, който в горната картинка е ограден в червен правоъгълник (за Windows). Разбира се, може да се изтегли и в *.zip, no тогава след разархивирането драйверът за Arduino трябва да се инсталира ръчно.
3. Трето: След инсталацията включваме Arduino към компютъра и проверяваме устройствата в Device Manager:
kak? Старт бутона, десен клик на Computer, избираме Properties
От следващия екран избираме Device Manager (в лявата страна):
Ако ползвате Windows XP, изберете таба Hardware и после бутона Device Manager
В края на краищата стигате до списъка с устройствата, където трябва да отворите
Ports (COM & LPT)
Като резултат от инсталацията в списъка трябва да имате Arduino UNO (COMx), при мен в случая е COM1, а при вас си е вашият порт, присвоен от инсталацията.
4. Четвърто: - запис на програмата, т.е Firmware, който прави от Arduino CNC контролер.
За това има два начина: 1. Запис на готов *.HEX файл и 2. Запис чрез IDE
1. Запис на готов файл:
Програмата е файл в HEX код, който е наличен за свободно изтегляне на сайта https://github.com/grbl/grbl/downloads
Изтеглете си най - новата версия, обикновено е най - отгоре:
Сега този файл трябва да се зареди в паметта на Arduino. За това е нужна програмата XLoader, която се изтегля от тук: http://russemotto.com/xloader/
След като я стартирате, трябва да укажете къде е записан HEX файлът, който преди малко изтеглихте, да изберете вида на устройството, което имате, порта, на който е свързан, а скоростта се определя автоматично и не бива да се променя:
Това е: натискате Upload, и диодите Rx Tx на платката ви започват да светят, програмата се зарежда и ако всичко мине благополучно, резултатът е съобщение за количеството записана информация.
2. Запис чрез IDE:
Гореописаният начин е добър с това, че може да се зареждат обновени *.HEX версии на GRBL, които се публикуват от авторите на GitHub.com.
Съществува разбира се и стандартен начин на зареждане, който се реализира с естествената IDE на Ардуино. За тази цел от Protoneer са създали библиотека за GRBL, която може да се изтегли от GitHub: https://github.com/Protoneer/GRBL-Arduino-Library/archive/master.zip
Процедурата е следната:
- Разархивираната библиотеката се копира в папката "Libraries" на Ардуино софтуера, например: C:\Program Files\Arduino\Libraries;
- Папката се преименува на GRBL (за да се избегне евентуално съобщение на IDE за грешка поради дългото й име);
- Стартира се Arduino IDE;
- Кликва се на File -> Examples -> GRBL (или каквото име сте дали на папката в по - горната стъпка) -> GRBLtoArduino
- Записвате скеча в Arduino с Upload бутона на IDE
Aко се интересувате от това, какъв е кода на библиотеката, той е наличен на https://github.com/Protoneer/GRBL-Arduino-Library
Какво става, като заредите този скеч?
Това е, скечът не прави нищо друго. Предимството на този метод обаче е, че Arduino остава напълно контролируемо от IDE и може да изпълнява и други инструкции, които да се допишат като добавка към работещия вече GRBL.
5. Пето: Запис на G-код за работа на CNC-то:
С горните стъпки превърнахме Arduino в контролер на стъпкови мотори. Сега трябва да го накараме да работи. За тази цел е необходимо да имаме G-код. Изработваме го с всяка програма, която може да превърне графичния ни дизайн в код, например CamBam. Крайният резултат е текстов файл, например с разширение *.tap. Този G-код се прехвърля в Arduino с програмата Universal_Gcode_Sender, която може да се изтегли от сайта:
След стартиране екранът е следния:
Интерфейсът е интуитивен, трябва да се посочи правилния порт, да се отвори с бутона Open, след което стават активни табовете от дясно: Commands - приема директно команди от клавиатурата, File Manager - зарежда G-kode файл в Arduino, Machine Control - ръчно управление.
Най - горе вляво е Settings: от там се променят настройките на машината.
Този GUI (от Graphic User Interface) има една положителна страна - с бутона за Визуализация ви пуска филмче, което показва текущия процес на обработка:
Пробвах едно тестово файлче - завърта моторите едновременно и после един по един, ето какво се получи:
Извод: Arduino като че ли става за USB контролер на CNC. Записването на GBRL не го лишава от способността да записва Sketch-ове, т.е. когато ми потрябва, винаги мога да си го ползвам за друг проект.
И понеже не се появяват съмишленици на проекта, следва да се направи модел, за да видим как се държи като система.
Продължение...
Импровизирах модел на CNC, в резултат на което кухненското оборудване намаля с няколко дъски за рязане :)
Няма да лъжа, че програмата UniwersalGcodeSender е по - добра от Mach3. Липсват възможностите за манипулиране на работата с файла, коригирането на координатите е по - трудно, offset на инструмента изобщо не е предвиден и т.н., но пък става за работа. Ето какво предлага екрана с включена визуализация след зареждане на файла с G-код:
Нарочно избрах сравнително по - сложна форма, а не прости геометрични фигури, за да получа по - реална представа за работата на GRBL. Така работи:
А ето го и крайният резултат:
Ето и една по - сложна задача:
с доста добър краен резултат:
Честно казано, за цена около 15 лв. на китайско копие на Arduino резултатът е повече от задоволителен :). Ако пък се ползва PRO Mini, цената за USB контролер става още по - ниска.
Следва...
проба на една немска CAD програма с много приятен интерфейс и изключително лесна за разучаване, представена на: http://www.estlcam.com/
Тя пък освен, че прави G-код на зареден файл, има изход направо към Arduino, без да е необходим GRBL.