Поправка на грешките - нов шпиндел

След като разбрах, че използването на мотор с втулки вместо лагери е грешка, новият шпиндел ще изглежда така:
- мотор на NISCA, използван в копирните машини - тих и на лагери;
- двустепенна предавка, оборотите лесно се регулират и чрез промяна на захранващото напрежение;
Интересно ми е какви резултати ще покаже, но това в продължението :)


Упс, тази конструкция затруднява работата по монтиране на инструмента. По - добре е, когато моторът е отгоре:

Следва сурова проба с един счупен фрезер. Целта е да се види как се държи двигателчето при гравиране. Качеството на рисунъка засега е без значение:


Модел на CNC - грешки и решения

Сглобих си малък модел на CNC от плексиглас, за да видя какво трябва да имам предвид, когато си правя истински работещ прототип.

С това моделче ще изследвам грешките, които всеки начинаещ прави, а целта ми е да спестя време и нерви на хората, които са запалени от идеята за CNC.
Работата на този модел се вижда от следващото кличе:


В тази реализация шпинделът е мотор от принтер с 4500rpm. Вижда се, че тази скорост е недостатъчна. Докато достигна до успешен клип, счупих 2 фрезера при опит да постигна скорости по - големи от 150мм/мин.
Следващият опит ще бъде с подобрен фрезер. Целта ми е да постигна поне 10 000 rpm, а надеждата ми - да работя с по - голяма скорост без опасност за режещия инструмент.

В следващия клип фрезерът се върти с приблизително 10 000 оборота в минута. Вижда се, че 10 000 оборота са си 10 000 оборота :)
Сравнението от двата клипа ясно показва, че оборотите са важни. Като се има предвид, че тестът е върху подов ламинат, чиято твърдост (поне според производителите му) не е за пренебрегване, с новия шпиндел лесно постигнах 250 мм/мин подаване и както се вижда инструментът не се тормози и допуска по - голяма скорост. Засега това ме устройва и спирам експериментите с оборотите до тук.



И така, доволен съм от оборотите на шпиндела, но искам да вдигна скоростта на работа на машината. Тук отговорът е еднозначен: избор на мотори!
Външният размер не е определящ. Предлагам ви моята гледна точка. Изпробвам два двигателя с различни размери, на снимката по - долу:

Долу е "малкият", горе е "големият". А ето и на какво са способни:


Тъй като експериментът е направен с един и същ контролер, считам коментарa за излишен: ИЗБОРЪТ НА ДВИГАТЕЛ Е ИЗКЛЮЧИТЕЛНО ВАЖЕН ЗА КАЧЕСТВАТА НА МАШИНАТА, КОЯТО ПРАВИМ.

А важното на един стъпков двигател е механичната му характеристика. Това е зависимостта на въртящия момент от оборотите. Второто двигателче има малък момент, затова не иска да върти. Моментът пък се създава от тока през намотките му. Следователно трябва да се преизчислят намотките и да се пренавият. Пренавиването не е трудно, убедете се сами в следващите снимки:
Тук е оригиналният статор:

Пренавитите намотки на фазите изглеждат така:

Ето как и то започва да върти с 1000 мм/мин, когато намотката се направи с по - дебел проводник, за да издържа по - голям ток.



Грешка при избор на мотора за шпиндела
Подведен от многото публикации в Интернет, аз също реших да използвам малък постоянно - токов двигател с бронзови втулки вместо сачмени лагери. Уточнявам, че е снет от марков принтер, нищо, че е китайски. След не много дълга експлоатация шпинделът ми започна да "свири". Поизмъчих малко моторчето, докато сваля шайбата на вала, но в края на краищата успях. Целта ми е да покажа какво става с втулката и защо сега ще търся задължително мотор със сачмени лагери :)


Грешка при дизайна на портала
Избраната правоъгълна форма не позволява да се използва голяма част от оста Y. Работната точка на инструмента е в предната част на лагера и при натиск създава момент, натоварващ задния лагер. Преди да се изработи порталчето по Y би трябвало да е готова конструкцията по Z, работният инструмент да е поставен и страните на портала да се направят с такава форма, че натискът на инструмента да е по средата между двата лагера Y.

Машинна обработка

След като съм "проектирал" желания от мен обект с CorelDraw, експортирал съм го в *.dxf файл и съм дефинирал операциите в CamBam, време е да изработя и самия детайл. Това става с MACH3, която ползвам за директно управление на CNC рутерчето. Създадения *.tap файл се зарежда с File-Load G-code и на екрана на Mach3 генерирания от CamBam файл изглежда така:

Картинката е копирана след като програмата е стартирана от бутона Cycle start. Както се вижда, програмата вече върти координатите и подава управляващи сигнали към контролера. Рутерчето се държи в рамките на очакваното и реагира по начина, показан на долната снимка:

След приключване на работата на програмата следва отделяне на изрязаните елементи, малко неизбежна ръчна работа и сглобяване на детайлите. Тъй като това е първия екземпляр, излязъл от тази машинка, посвещавам го без лоши чувства и като приятелски шарж на всички, които не вярваха, че това CNC ще работи :)

Имам вече рутер, а сега какво?

Имам вече CNC рутер и искам да го накарам да работи за мен. Съществуват много CADCAM програми, осигуряващи процеса на проектиране и изработката на детайли. Аз лично за себе си съм разбил процеса на три стъпки:
1. CAD (дизайн). Всяка програма, осигуряваща запис на файла в DXF формат би ми вършила работа. AutoCad естествено е на първо място, тъй като това си е нейния формат. Аз лично съм се спрял на CorelDraw по две основни причини: 1 – имам я като OEM версия, която дойде с един скенер, т.е. нямам нужда от купуване на лиценз; и 2 – върши ми достатъчно добра работа. С нейна помощ изчертавам контурите на дизайна си. В последствие правя export на файла в DXF.

Преди записа на файла центрирам изображението спрямо листа. По този начин нулите на координатните оси X и Y съвпадат с центъра на изрязваната площ.

2. CAM (дефиниране на машинна обработка). За този процес използвам CамBам Beta, която се разпространява без лиценз. Авторите предупреждават, че е в процес на разработка и може да има „бъгове”, но поне досега аз не съм имал проблеми с нея. Тя има вградени примитиви, с които е възможно да се използва и за дизайн на прости форми.
Удобна ми е с това, че освен своите собствени файлове, приема и други формати (Gcode *.tap и *.nc, AutoCad *.dxf, 3D Studio *.3ds). Като краен резултат от работата си генерира G код, който е входен файл за същинската програма за управление на рутера, а именно Mach3.
Процесът на работа с нея в експресен план е следният:
- отварям файла .dxf, който вече съм създал с CorelDraw
Той се появява на екрана в следния вид:

- Отварям LAYER_1 от дървовидната структура вляво и виждам, че дизайнът ми е съставен от множество затворени линии (контури) - ( Polyline(1) do Polyline (9) )
Всяка една от тях трябва да получи дефиниция за начина на обработка с рутера. Тези дефиниции ще се добавят в долната част – папката Machining под списъка на Polyline (1..9). Ще илюстрирам само за един контур, за всички останали процесът е аналогичен. Маркирам контура – в случая Polyline (1) от списъка. На работното поле той променя цвета си. Сега следва избор на начина на обработка. Начините са отбелязани с кафявите икони в дясната част на полето с инструменти – на следващата снимка са оградени с червена елипса:
Първият метод е „2.5D Profile” и се използва за изрязване по линията на контура на зададена дълбочина, вторият е „Pocket Operation” и фрезова до края на контура със зададената дълбочина, третият е “Drilling” – за пробиване на отвори, следва “Engraving” за гравиране и т.н., всеки би могъл да ги погледне в хелпа. За изрязване по контура аз ще използвам 2.5D Profile. Избирам го и под папката Machining се появява Метод с името Profile (1). Това име е достъпно за промяна. Това е удобно за по – късното проследяване на хода на програмата. Освен името на машинната операция, в долния ляв ъгъл на екрана се появява и таблица с параметрите й.

Тя има секции, определящи процеса. Това, което ме интересува е:
- в първата секция Cutting Depth – Depth increment. Определя стъпката по дълбочина между пасовете на рязане. По подразбиране е 1, което значи, че подаването при повторение на контура е 1 мм. Променям го на 2.5. Другият параметър е StockSurface – определя началната дълбочина на рязане. Аз започвам от началото на повърхността, т.е. оставям го 0. Последният е TargetDepth. Той определя максималната дълбочина на срязването. Тъй като моят материал е с дебелина 5 мм, аз променям този параметър на -5. Знакът е отрицателен, защото движението на оста Z надолу е под нулата на координатната система, нагоре е над нулата. Това значи, че рутерът ще направи 2 паса за срязване на детайла – на всеки пас ще подава по 2.5 мм дълбочина и ще прекрати рязането на 5 мм, т.е. когато прореже материала.
- Секцията FeedRates определя скоростта на подаване. Числото в нея не може да бъде по – голямо от настройките на моторите в Mach3, защото в този случай той го пренебрегва и работи със собствените си максимални настройки. Следователно, струва си да се променя, само ако искам по – бавна скорост и аз го оставям каквото си е.
- Секцията ToolDiameter дефинира диаметъра на режещия инструмент. Аз ползвам фрезер с 2 мм диаметър, затова поставям тук 2.

Повтарям процеса за останалите контури. След приключване мога да видя пътя на инструмента с десен клик върху папката Machining:
Ако избера следващата опция от падащото меню „Generate GCode File”, CamBam ще преведе машинните операции в -G код и ще ги запише във файл с посочено от мен име.

Този файл ще ползвам за обработка с Mach3

Управление на стъпков двигател с регулиране на тока

За реализацията на подобна схема хората са разработили готови решения. Едно от тях е двойката L297 - L298. Клипчето за теста на PWM в този блог е именно с тях.


Това е едно евтино и лесно решение за изработване на CNC управление. Принципната схема на един примерен вариант е описана в следващия PDF файл. Ако решите да я ползвате, имайте предвид, че страна спойки е подготвена за тонер трансфер, но файлът трябва да се отпечата на zoom 100%. Страна елементи не е обърната огледално, защото се ползват мостчета, т.е. платките са едностранни.
Това е платката на драйвера:



Това са наситените контролер и драйвер в действие:




Моторите са важни, ето какво може да се получи ако един от тях е с различни параметри:




За да тръгнат всички заедно намалих скоростта:





Тук е принципната схема и платките в PDF формат:

  CNC Controller by  



  
Още по - лесно решение е използването на интегрирания вариант с двете схеми в един корпус L6208:

Ако токът, който двойният мост L298 издържа е недостатъчен, може да се използват два моста L6203. При добро охлаждане би трябвало да работят без проблеми до 5А. Има достатъчно схеми в Интернет, например тази:


А ако и този ток е малък, мостът може да се направи от MOSFET транзистори:

Другата схема е с еднотипни MOSFET транзистори и с по - големи възможности за регулиране на тока на двигателите. Тя е взаимствана от http://master.i4.ru/index.php?topic=46.0
Има вграден таймер за превключване на тока на покой на моторите, който се настройва с тримера R17. Работният ток се регулира с R18. Тъй като двата тримера са взаимно свързани, желаните настройки се постигат с няколко опита. Отчетох няколко особености на тази схема:
1. Поради факта, че се използва 555, активният фронт е отрицателният, тоест драйверът работи при ниско ниво на входния сигнал;
2. Ако се използва активно ниско ниво в Mach3 е възможно драйверът да не може да се активира, вероятно заради недостатъчното време за превключване на 555;
За тези, които искат да го пробват, поствам графичен оригинал на платката, която пробвах и работи. Файлът в .pdf  формат може да се изтегли от Scribd (следва се линка в сиво, опцията в Scribd -> Download). При печат на графичния оригинал форматът трябва де е 1:1


L297_IR2104_IRFZ44

Управление на биполярен стъпков двигател с ток до 1А

Схемата, по която ще реализирам биполярно управление на стъпков двигател е по идея на ELEMENTAL от форума "Направи си сам".
http://www.napravisam.bg/forum/viewtopic.php?t=8418&postdays=0&postorder=asc&start=1065&sid=b561cb388a4d34b912122149f70b47c7
При изработката й трябва да се има предвид, че мостът L293 има няколко модификации. Използваната L293D e за ток 600мА и има вградени диоди. Другите модификации L293, L293B, E са за ток 1А и са без диоди, т.е. ако се използват те, диодите трябва да се добавят към платката.



Зхранващото напрежение 12V се подава към J1(1 +, 2-). Намотките на двигателя се свързват към J2. Клеми 1,2 - фаза1, клеми 3,4 - фаза2.






Забелязани проблеми: Възможно е моторът да прави една грешна стъпка в старата посока преди реверс. Предполагам, че причината е в иницилизацията на 74HC194.

Управление на стъпкови двигатели без регулиране на тока

Първото CNC по принцип се прави, за да ни помогне да изработим следващия си проект. За него са нужни по - мощни мотори, а следователно и драйвер, който да ги управлява. На базата на елегантното (според мен) решение, предложено от ELEMENTAL, в крайното стъпало може да се включи H-bridge от MOSFET транзистори, с помощта на който да се управляват двигатели с голяма мощност. Идейната схема подлежи на коментар с автора на идеята и на настоящия етап е следната:





Тази схема позволява управление на двигатели с по - голям ток и според мен напълно задоволява любителските изисквания.

"Експеримент" в биполярен режим

Тъй като схемата на драйвера за управление на стъпков двигател все още се дискутира, за реализацията на текущия вариант ползвам пробна платка . Моторът и "опитната постановка" са същите, както в предишния пост. Методът на "изследване" - също.

За биполярен режим на работа на стъпковия двигател получих следните данни, обобщени в следващата таблица:

За да се получи по-ясна представа за работата на мотора в двата режима, направих следващата сравнителна таблица:

От цялата работа си направих следните изводи:
1. Задържащия момент (Holding torque) не дава точна информация за въртящия момент на стъпковия двигател в нито една от схемите на свързване. В биполярен режим той е по - голям.
2. Ако имам двигател, който позволява да се свърже в двата режима, за предпочитане е биполярно управление. Въртящият момент е значително по - голям в целия диапазон на оборотите.
И двата "експеримента" бяха проведени при номинално захранващо напрежение.
Следва "експеримент" с претоварване на стъпковия двигател над номиналните му параметри.

Схема за управление на малки униполярни стъпкови двигатели

Интернет дава богата информация за различни комерсиални и споделени драйвери за стъпкови двигатели. Аз си харесах описаните в сайта
http://home.cogeco.ca/~rpaisley4/Stepper.html
В тях управлението е осъществено на базата на преместващия регистър 74194, а ако двата чипа ULN2003 и L293D се запоят едновременно на платката, преминаването от униполярен към биполярен двигател става само с едно превключване. Не казвам, че това е най - добрата схема, но тя е изключително проста, позволява добавянето на ръчно управление и не изисква особено големи познания за изпълнението й.
Тъй като имам намерение да работя с MACH3, наложи се една съвсем малка доработка за сигнала DIR, след което схемата пасна идеално за управлението. В никакъв случай контролерът не бива да се включва към PC-то без галванично разделяне, затова използвам оптроните. Ето схемата за управление, която ще ползвам за униполярен режим на стъпковите двигатели:



Това е канала за управление на един двигател в униполярен режим. Намотките му са свързани към куплунга J2 - 1,2 и 3,4 респективно, а общите им изводи - към 6. Следователно са ми необходими 3 такива канала, по един за X, Y и Z. Събрал съм всички на една платка, тъй като броят на компонентите е незначителен. Ето каква платка се получи:
Старана спойки:

Страна компоненти:

Цялата платка плюс захранващият блок 12V/3A се събраха в кутия от изгоряло захранване на PC:

С това драйверът за униплярни стъпкови двигатели е готов. Следва проба и отчитане на резултатите, които ще са ми нужни за сравнение с биполярния режим на работа на стъпковите двигатели.

Едно по - елегантно решение за инициализацията на 74194 е следната схема:


P.S. Ако двигателите ви не са с 5 извода, което значи, че можете да ги свържете и биполярно, препоръчвам ви да ползвате схема за биполярно свързване. Печелите по - голям въртящ момент. В този блог има няколко такива, погледнете ги, ако искате.

"Експеримент" в униполярен режим

"Опитната постановка" за определяне моментите на стъпковия двигател, е твърде допотопна и даже смешна. Признавам, че не успях да измисля нещо по - добро, достъпно за любителя в домашни условия. "Оборудването" включва една половинлитрова бутилка от минерална вода (впоследствие се оказа, че е достатъчен много по - малък съд), 3 спринцовки - 50, 20 и 5 кубика, драйверът за униполярен режим на управление, една шайба, закрепена на вала на двигателя и корда, с която бутилката се закрепя за шайбата.

Идеята е двигателят да се натоварва с различна тежест, в случая водата, като се надявам това да даде ориентировъчна информация за качествата му. Обемът вода ще се измерва относително точно със спринцовките. В магазинчето на съседната улица бяха така любезни да ми измерят теглото на празната бутилка и то се оказа 24 грама.

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

Тъй като моментът е най - голям в началото на повдигането, то положението, преди което моторчето започне да изпуска стъпки при старта ще считам за неговия максимален въртящ момент при зададените обороти.
За управление на драйвера ползвам програмата MACH3. В нея съм задал 200 стъпки на 1 милиметър, което отговаря на 1 оборот. От предварителните проби с различна скорост и ускорение избрах скорост 150 мм/мин и ускорение 100 мм/сек2, при които двигателчето се държеше най - стабилно. Заредих една проста двуредова програмка, в първи ред определям скоростта, след това придвижвам моторчето 1 мм, което съответства на 1 оборот. След определяне на момента, при който започвам да изпускам стъпки, ще сменям скоростта през 10.

Като знам теглото и рамото, грубо ще изчисля момента.
Зпочнах с определяне на задържащия момент, т.е. моментът, който превърта двигателя, когато е спрял и е под напрежение. За да го преодолея, ми бяха необходими 210 гр. вода.
След това започнах да определям въртящия момент при различни скорости. Получените резултати обобщих в следната таблица и се получи показаната графика за въртящия момент във функция от оборотите:



След 130 мм/мин прекратих експериментите, защото въртящият момент стана много малък и на практика двигателят е неизползваем.

Изводи за качествата на стъпковия двигател в униполярен режим:
1. Задържащият момент или Holding torque, който се дава в каталожните данни не е равен на въртящия момент. ТОЙ НЕ ДАВА ТОЧНА ИНФОРМАЦИЯ ЗА МОЩНОСТТА НА СТЪПКОВИЯ ДВИГАТЕЛ В ДИНАМИЧЕН РЕЖИМ. При мен този момент се оказа около 4 пъти по - голям от въртящия момент, който практически ме интересува.
2. Това двигателче има най - голям въртящ момент около 50 - 60 об./мин, като над 130 об/мин е практически неизползваем.

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

Стъпкови двигатели

Изборът на стъпковите двигатели е важен от две гледни точки: 1 - за електрониката, която ще се ползва за управлението им и 2 - въртящият им момент. Обикновено любителските конструкции се изпълняват с двигатели от стари принтери. С малки изключения те са напълно приложими.
Принципът на работа на хибридния стъпков двигател е гениално прост: той има ротор, съставен от два (или повече) назъбени магнитни пръстена с редуваща се полярност. Те са монтирани така, че зъбите на единия да съвпадат с междузъбията на втория:














Статорът пък е набран от полюси с назъбени полюсни накрайници. Той има две дефазирани статорни намотки. Всяка от тях може да е единична или двойна. Двойната може да е със свързана средна точка, както е на картинката долу,  или с изведени краища: така изводите на стъпковите двигатели могат да са 4 (единични намотки), 5 (средната точка на двете намотки е обща, свързана вътре), 6 (средните точки на намотките са свързани отделно) и 8 (половинките са изведени за свързване навън).























Когато се монтира, зъбите на единия пръстен на ротора съвпадат със зъбите на статорния пакет, а на другия - с междузъбията на статора.


Чрез промяна на посоката на тока в статорната намотка към зъбите на полюсите й се ориентират зъбите или на единия, или на другия пръстен на ротора. Всяка промяна на тока е равна на една "стъпка". Очевидно е, че броят на стъпките зависи от броя на зъбите на роторните пръстени и на полюсните накрайници на статора.

Ако статорната намотка е с постоянно включен среден извод към единия полюс на захранването и за промяна на посоката на тока превключваме краищата към другия, управлението им е "униполярно". Тогава всяка намотка има 3 извода.

Ако превключваме едновременно краищата на статорната намотка към двата полюса на захранването, управлението е "биполярно", а всяка статорна намотка има два извода.

Тъй като при двата вида управление посоката на тока се променя по различен начин, е очевидно, че трябва да се ползват различни драйвери.

Независимо какъв драйвер се ползва обаче, управляващите сигнали са минимум два: - за стъпка и за посока. Някои драйвери включват и сигнал за разрешаване на работата им (ENABLE), което рядко се използва в любителските конструкции. Други съдържат в себе си модул, който понижава тока през намотките на мотора, ако той не е получил команда за стъпка в определен период от време.
Характерното за хибридните стъпкови двигатели е, че те не бива да прегряват. Повечето производители не препоръчват работата им над 90оС. Това е поради опасността магнитният ротор да се размагнити. Както е известно от теорията на постоянните магнити, при тях съществува температурна точка (на Кюрие), над която те невъзвратимо губят магнитните си свойства. Работата под точката на Кюрие, но над Максималната работна температура води до намаляване на магнитните им свойства.

Затова: - внимателно с претоварването на стъпковите двигатели!!!

В моя модел искам да изпробвам малки стъпкови двигатели. Надявам се, че заради големия коефициент на предаване по мощност на винтогаечната предавка техния въртящ момент ще бъде достатъчен за нормална работа на механизма. Ако въртящият момент се окаже недостатъчен, ще се наложи да пренавия статорните намотки с по - дебел проводник, за да мога да пропускам по - голям ток през тях, но за това по - късно. Ще използвам следните двигатели:

Както се вижда от снимката те са 12 волтови 160 мА двигатели с 6 извода и 200 стъпки на оборот. Могат да се свързват в уни- и биполярен режим. Аз ще изпробвам и двата, за да направя сравнение. Ако въртящият им момент не е достатъчен, ще пренавия намотките.
Монтирането на двигателите към водещите оси правя с малка конструкция, за която използвам парчета от 8мм ламинат, за да не утежнявам конструкцията с 16 мм MDF:

Куплирането на двигателя към оста правя с помощта на гумен шлаух, който ще демпфира нелинейността между вала на двигателя и задвижващия винт:

С монтирането на двигателите механичната конструкция е завършена в окончателния си вид:

Следва електрониката за управление на стъпковите двигатели