Автор Тема: Малка CNC машина - проект  (Прочетена 23328 пъти)

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Малка CNC машина - проект
« -: Ноември 23, 2015, 12:54:25 am »
Това е един проект, който стартира в началото на  2010 и все още продължва :) Научих доста неща за CNC машините покрай проекта и искам да споделя наученото дотук, а и това ще ми помогне да систематизирам проекта. И така нека да започваме. Първо малко данни за машината:
Машината е три кординатна фреза с работен ход на всяка от осите приблизително 100 мм. Правена е вероятно за учебен макет в някой български завод. Машината е на един мой приятел (Васко) и заедно се борим да я оживим. Аз се занимавам с електрониката, а той с механиката.  Механиката беше в доста лошо състояние имаше луфтове, шпиндела беше доста груб и други проблеми..  След продължителен процес на  модернизация в момента имаме:
1. Всяка осите е със стъпков мотори 1.8 deg работещ в режим на полустъпка, които на теория осигуряват 0,005mm/step (винта е 2mm/revolution)
2. Стъпковите мотори се управляват от класическата схемна комбинация  L297+L298 чрез драйвер към паралелен порт
3. Шпиндел с безколекторен двигател постигащ 12000 об/мин. Управлението на шпиндела става през специализирана електроника (за нея по-късно ще разкажа)
4. За управлението на машината ползвам  LinuxCNC, който работи под Debian OS (Linux). Управлението върви по стнадартен паралелен порт. PC -то е двуядрен ATOM на 1.6GHz  базиран на дънна платка на ASUS - AT5NM10-I
Качвам една снимка на машината и ще продължа в следващите теми с описанието.

Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #1 -: Януари 12, 2017, 12:30:25 am »
И така една година по-късно  :-\ след  първия пост да видим до къде стигнах.
След многобройни часове четене и проби успях да пусна машината в действие.   
Направих няколко сравнително прости механични детайла като тези:



Тествах технологията за направа на еднослойни платки:



По тази технология изработих нови драйвери за стъпковите мотори базирани на чипа DRV8825. Старите с  L297+L298 загряваха много.
Поиграх с оптимизация на компютъра и в момента латентността на RT-Linux върху който върви LinuxCNC  е под 5us, което си е доста добро постижение.
Смених управлението на BLDC мотора за шпиндела с VESC контролер (за него съм писал тук) Все още има някои неща за настройка, но като цяло интеграцията е успешна. Идеята ми е цялата електроника по машинта да е OSH (Open-source hardware).  Предстои да направя цялостна електрическа схема на машината.
Останаха и някои проблеми по механиката, но за това в следващия пост.
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #2 -: Януари 26, 2017, 01:05:01 am »
Няколко думи и снимки по механиката:
Задвижването на отделните оси е направено с еднотипни модули съствени от основа, подвижна маса, трапецовиден винт с втулка, лагери, съединител и мотор.
Ето една снимка как изглежда един възел отдолу:



Вдясно се вижда част от мотора заедно със съединителя, който предава въртенето от мотора към винта и компенсира несъосностите между тях. За преобразуване на въртеливото движение в линейно се използва трапецовиден винт. Винта е с диаметър 14mm и стъпка 2mm. Той е зацепен в месингов блок с резба, който е свързан с подвижната маса. Тук се появи един от основните проблеми с механиката - наличие на луфт между винта и блока.  За съжаление луфта е неравномерен по оста на винта и ако го компенсирам в една област, то в друга се получава затягане на винта. Вероятно има неравномерно износване на самия винт. В момента обмислям идеи за преработка на тази част.
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #3 -: Януари 26, 2017, 10:22:51 am »
Ето и една снимка отгоре на линейния възел отгоре:



Движението между основата и подвижната част се осъществява с помощта на линейни  направляващи тип „лястовича опашка“.
Връзката между задвижващия винт и подвижната част е направен с този не особено функционален блок:



Малкият бял диск е магнита за нулиране на координатната ос с помощта на датчик на хол.  Както се вижда в месинговия блок е  предвиден конструктивен процеп за обиране на луфта с винта. 
Връзката между блока и масата е направена с ламаринена планка, която за съжаление се деформира при движението и въпреки моите опита да компенсирам нещата с подложки резултата не е добър.
Ясен Паунски,  гр.София, 39 г.

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
Re: Малка CNC машина - проект
« Отговор #4 -: Януари 30, 2017, 09:27:29 am »
Здравей Ясене,
Поздравления за работещата машина.
Голяма част от проблемите ,можеше да ги избегнеш, ако беше коментирал на етап проект (няма нужда да откриваме топлата вода) :D
Движението между две повърхности е възможно, когато триенето е минимално и между тях има луфт. Но това съм сигурен, че го знаеш.
Едното решение ,което може да ви помогне в случая съм го коментирал с вас, но вероятно сте го забравили.
То е да срежете гайката и да поставите пружина между двете половини. Това според мен във вашият случай ще стане най-лесно и евтино.
Другото решение е да се закупи съчмено - винтова двойка, която гарантира максимално точно движение.
Друго адекватно решение е трудно да се направи.
Това, което виждам реализирано тук е срязана гайка за компенсиране на луфта. Тя работи при стругове и фрези, защото оператора "обира" луфта и е наясно с него. Обикновено там се реализира точно тази схема. но при CNC машините тя не работи.
Това е единият проблем. Вторият е качеството на изработка на винта и гайката.
Надявам се да имам малко повече време и да опиша част от проблемите и решеният в любителското изработване на различни машини и приспособления тук във форума.
Няма нужда всеки да започва всичко от начало, при условие, че вече някой е минал по този път.


« Последна редакция: Януари 30, 2017, 03:15:07 pm от spp »
Слави Петков
София 49г

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
Re: Малка CNC машина - проект
« Отговор #5 -: Януари 30, 2017, 08:42:01 pm »
Прилагам решенията за които говоря.
Двойна гайка с пружина и ходов винт.
http://www.banggood.com/T8-100200300400600mm-8mm-Lead-Screw-with-Anti-Backlash-Nut-p-1120209.html?rmmds=category
Съчмено-винтова двойка(не е толкова скъпа) ;)
http://www.banggood.com/250mm-Ball-Screw-SFU1605-Ballscrew-with-Single-Ballnut-for-CNC-p-1001627.html?rmmds=category
Има и комплект с лагерите и лагерните черупки.
Датчик за нулиране на Z оста.
http://www.banggood.com/Cnc-Router-Mill-Z-Axis-Tool-Setting-Touch-Plate-Mach3-Engraving-Machine-Drilling-Milling-Tool-p-1042191.html?rmmds=category
Датчик за настройка на X и Y осите(мога да направя клипче,как се ползва)
http://www.banggood.com/10mm-Shank-Mechanical-Edge-Finder-Position-Testing-Tool-For-CNC-Lathe-p-972550.html?rmmds=category
Изобщо разгледайте сайта.Аз пазарувам от него и нямам големи оплаквания. :D
Слави Петков
София 49г

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #6 -: Януари 31, 2017, 08:47:55 am »
Благодаря за съветите Слави!
Първо искам да каже, че механиката я получих готова и не съм имал възможност да участвам в проектирането. В момента се опитвам да я подобря доколкото е възможно.
Двойната гайка с пружина е добър вариант и аз също го проучвах - ето  един вариант от ацетал.



Същия търговец има и месингов вариант.
Проблема при мен е че моя винт е 14x2 mm и не намирам готови гайки. Мисля да опитам да си направя. Намерих метчик 14x2 за трапецовидна резба от aliexpress:



Взел съм и прът фи 40mm от полимид със смазка (молибденов бисулфид) и мисля да опитам да направя гайка. Ако експеримента е неуспешен, мисля да пробвам вариант с нов винт 12mm, за който има готови гайки. Проблема  при  него  е че трябва да се направи машинна обработка на краищата на винта за да пасне на сегашната конструкция.
« Последна редакция: Януари 31, 2017, 08:49:46 am от yasko »
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #7 -: Февруари 04, 2017, 12:41:05 am »
След сериозна борба с един малък струг, малко рязане и шлайфане успях да направя гайка за винта от полиамид:



Ето го и винта заедно с опорните лагери (608ZZ):



Тук новата гайка е монтирана в алуминиев блок чрез, който ще направя връзката с подвижната маса.
Оригинално този блок е предназначен за СВД тип SFU1204, но ще го преработя за моите цели.
Трябва да направя и отвори в гайката за закрепващите винтове:



Направих и един предварителен тест на новата конструкция:



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







Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #8 -: Февруари 26, 2017, 12:57:31 am »
Продължавам с малко информация и снимки за шпиндела на машината.
Шпиндела е тип „направи си сам“ и работи с  цанги тип ER11, които позволяват да се ползват инструменти с диаметър до 7mm.

Шпиндела монтиран върху носещата стойката заедно контролера за управление:



Външното алуминиево тяло:



Работния вал с лагерите:


(На снимката е свален горния лагер)

Основния  вал е направен от готов детайл - ER11 Collet Chuck, който е обработен за да може да  се поставят лагери размер 6302  (15x42x13mm), които лягат в алуминиевото тяло.
Задвижването на работния вал става с BLDC мотор тип "outrunner"  с размери 42x40mm, който  постига около 14000 rpm при 24V.  Максималнатa мощност на мотора е 600W.
За управление на мотора ползвам VESC контролер.
Задаването на оборотите става с PWM сигнал от PC. LinuxCNC  софтуера генерира PWM сигнал с честота 100Hz и коефициент на запълване пропорционален на зададената скорост.
В момента настроен така че: 0 - 14000 rpm  -> 0 – 100% duty cycle.
Следва продължение...
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #9 -: Март 18, 2017, 05:01:17 pm »
Още малко за шпиндела:
Един от основните въпроси беше как да предам движението от двигателя към вала. Разликата във външните диаметри е голяма - мотора е 5mm,  а вала на шпиндела е 14mm.
Все пак успях  да намеря подходящ палцов съединител:



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



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

nunep

  • Вече знае какво е робот!
  • *****
  • Публикации: 76
    • Профил
Re: Малка CNC машина - проект
« Отговор #10 -: Март 30, 2017, 09:17:40 pm »
Здравей,

гледах снимките на шпиндела, но не разбрах кое точно държи вала на шпиндела да не се 'изпързаля' и да падне през лагерите надолу?

Иначе за съединител съм виждал в нета да използват парче маркуч. Ще работи и в двете посоки. Проблема е че двата присъединителни диаметъра трябва да са еднакви.

Поздрави!

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #11 -: Април 02, 2017, 03:47:32 pm »
Здравей,

Между двата лагера има и набито метално тяло, което  застопорява вала и осигурява необходимата дистанция между лагерите. Може да се види на тази снимка.
Оригиналния вал беше с диаметър 16 mm и се наложи краищата да се струговат и шлайфат до 15mm за да може да се монтира лагер тип 6302.  Полученото стъпало бе твърде  малко (0.5mm) и се наложи да се добави допълнителното тяло.
Всъщност лагеруването на шпинделния вал е прецизна задача и има още какво да се желае по текущото изпълнение.
Една от грешките в конструкцията бе, че и двата лагера бяха фиксирани двустранно по осите. В момента долния лагер е фиксиран двустранно, а горния едностранно и с помощта на горната капачка се обира луфта на лагерите. Планирал съм някои подобрения в бъдеще:
1.  Използване на истински шпинделни лагери с ъглов контакт. Сегашните лагери са стандартен тип и постигат 10000-12000rpm. Целта ми е 25000 - 30000 rpm. Намерих достъпни китайски шпинделни лагери 7002C/P4, които са със вътрешен диаметър 15mm, но външния е 32mm и няма да паснат директно на сегашно външно тяло.



Идеалния вариант е да се промени  конструкцията и на мястото на всеки от лагерите да се се ползват по два лагера работещи в тандем, както е на истинските шпиндели.

2. Смяна мотора - сегашния мотор достига максимум 15000rpm при 24V
3. Баланс на работния вал - без това  няма как да се постигнат желаните обороти.
Разбира се остава варианта да си взема готов шпиндел, но моделите които постигат 20-25000rpm са на 220V и изискват използването на инвертор за управление на оборотите.
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Re: Малка CNC машина - проект
« Отговор #12 -: Май 21, 2017, 05:21:41 pm »
Малко ъпдейт по проекта:
Пуснах в действие полиамидната гайка тип направи си сам за която писах по-горе. В момента я ползвам на Z оста:



На тази ос винта е запазен и гайката работи добре. На практика няма луфт и се движи безшумно.
С  X&Y осите, обаче положението се оказа зле. Първо нямаше съосност между линейните направляващи и задвижващия винт,  което водеше до заклинване на гайката.
Наложи се да ползвам по-малък опорен лагер (698RS) и допълнително легло за него с което да компенсирам несъосността:

 

Другия проблем e че и вината и гайката са износени и имаше луфт.  Тук реших да ползвам компенсация с пружина, както беше писал Spp по-горе.
За моя размер винт (14x2mm) не успях да намеря готови и комплекти и се наложи да импровизирам. Разрязах гайката и с помощта на малки щифтове (3mm) и пружини направих следната конструкция:



И новата гайка монтирана на вината:



С тази конструкция успях да компенсирам луфта и благодарение на по малкия размер увеличих работния хода на X&Y осите до 115 mm.
Предстои да тествам как ще работи в реални условия и натоварване.
« Последна редакция: Май 21, 2017, 05:26:46 pm от yasko »
Ясен Паунски,  гр.София, 39 г.