Inhoudsopgave:

DIY robotarm 6 assen (met stappenmotoren) - Ajarnpa
DIY robotarm 6 assen (met stappenmotoren) - Ajarnpa

Video: DIY robotarm 6 assen (met stappenmotoren) - Ajarnpa

Video: DIY robotarm 6 assen (met stappenmotoren) - Ajarnpa
Video: Stepper Motor Small Robot 6DOF 2024, Juli-
Anonim
Image
Image
DIY Robotarm 6 Axis (met Stappenmotoren)
DIY Robotarm 6 Axis (met Stappenmotoren)
DIY Robotarm 6 Axis (met Stappenmotoren)
DIY Robotarm 6 Axis (met Stappenmotoren)

Na ruim een jaar van onderzoeken, prototypes en diverse storingen is het mij gelukt om een ijzer/aluminium robot te bouwen met 6 vrijheidsgraden bestuurd door stappenmotoren.

Het moeilijkste was het ontwerp omdat ik 3 fundamentele doelstellingen wilde bereiken:

  • Lage realisatiekosten
  • Eenvoudige montage, zelfs met weinig apparatuur
  • Goede precisie bij het verplaatsen

Het 3D-model heb ik met Rhino meerdere malen ontworpen tot (naar mijn mening) een goed compromis dat voldoet aan de 3 eisen.

Ik ben geen ingenieur en voor dit project had ik geen ervaring in robotica, dus iemand met meer ervaring dan ik kon ontwerpfouten ontdekken in wat ik deed, maar ik kan nog steeds zeggen dat ik tevreden ben met het uiteindelijke resultaat dat ik heb bereikt.

Benodigdheden

voor meer info bezoek mijn persoonlijke blog

Stap 1: CAD-ontwerp

CAD-ontwerp
CAD-ontwerp
CAD-ontwerp
CAD-ontwerp
CAD-ontwerp
CAD-ontwerp
CAD-ontwerp
CAD-ontwerp

Voordat ik tot het uiteindelijke model kwam, ontwierp ik minstens 8 verschillende prototypes met verschillende transmissiesystemen, maar geen enkele kon voldoen aan de 3 hierboven beschreven vereisten.

Door de mechanische oplossingen van alle gemaakte prototypes samen te stellen (en ook enkele compromissen te accepteren), kwam het uiteindelijke model uit. Ik heb de uren die ik voor de CAD heb doorgebracht niet geteld, maar ik kan je verzekeren dat het er echt veel waren.

Een aspect om in de ontwerpfase in gedachten te houden, is dat zelfs een enkele gram die aan het uiteinde van de pols van de robot wordt toegevoegd, wordt vermenigvuldigd ten koste van de koppelweerstand van de motoren aan de basis en daarom wordt er meer gewicht toegevoegd en hoe meer motoren moet worden berekend om de inspanning te doorstaan.

Om de motoren te "helpen" om de spanning te weerstaan, heb ik gaszuigers van 250N en 150N toegepast.

Ik dacht eraan de kosten te verlagen door de robot te maken met lasergesneden ijzeren platen (C40) en aluminium met diktes variërend van 2, 3, 5, 10 mm; lasersnijden is veel goedkoper dan 3D metaalfrezen.

Nadat ik elk afzonderlijk onderdeel had ontworpen, maakte ik de vormen van de stukken in.dxf en stuurde ik ze naar het snijcentrum. Alle overige onderdelen zijn door mijzelf op de draaibank gemaakt.

Stap 2: Voorbereiding en montage

Voorbereiding en montage
Voorbereiding en montage
Voorbereiding en montage
Voorbereiding en montage
Voorbereiding en montage
Voorbereiding en montage

Eindelijk is het tijd om mijn handen vuil te maken (daar kan ik het beste in) …

De constructiefase heeft vele uren werk gekost voor de voorbereiding van de stukken, het handmatig vijlen van de gaten, de verbindingen, de schroefdraad en het draaien van de naven. Het feit dat ik elk afzonderlijk onderdeel heb ontworpen om met slechts een paar werkinstrumenten te kunnen werken, heeft ertoe geleid dat ik geen grote verrassingen of mechanische problemen heb.

Het belangrijkste is om niet te haasten om dingen af te ronden, maar om nauwgezet te zijn en elke regel van het project te volgen, improviseren in dit stadium leidt nooit tot goede resultaten.

Het realiseren van de lagerzittingen is uiterst belangrijk omdat elke verbinding erop rust en zelfs een kleine speling van een paar procent kan het succes van het project in gevaar brengen.

Ik merkte dat ik de pinnen opnieuw moest doen omdat ik met de draaibank ongeveer 5 cent kleiner dan het lagergat had verwijderd en toen ik probeerde het te monteren, was het spel monsterlijk duidelijk.

De tools die ik heb gebruikt om alle stukken voor te bereiden zijn:

  • kolomboormachine
  • slijper / dremel
  • slijpsteen
  • handmatig bestand
  • draaibank
  • Engelse toetsen

Ik begrijp dat niet iedereen thuis een draaibank kan hebben en in dit geval zal het nodig zijn om de stukken in opdracht te geven bij een gespecialiseerd centrum.

Ik had de stukken ontworpen om met een laser te worden gesneden met de iets meer overvloedige verbindingen om ze met de hand te kunnen perfectioneren, omdat de laser, hoe nauwkeurig deze ook is, een conische snede genereert en het is essentieel om hier rekening mee te houden.

Ik werk met de hand met de vijl bij elke verbinding die ik heb gemaakt om een zeer nauwkeurige koppeling tussen de onderdelen te genereren.

Zelfs de gaten in de lagerzittingen had ik kleiner gemaakt en daarna met de hand geruimd met de dremel en veel (maar echt heel veel) geduld.

Alle draden heb ik met de hand gemaakt op de kolomboormachine omdat de maximale haaksheid tussen het instrument en het stuk wordt verkregen. Na het voorbereiden van elk stuk is het langverwachte moment van de waarheid aangebroken, de montage van de hele robot. Ik was verrast om te ontdekken dat elk stuk precies in het andere paste met de juiste toleranties.

De robot is nu helemaal gemonteerd

Voordat ik iets anders deed, gaf ik er de voorkeur aan om wat bewegingstests te doen om er zeker van te zijn dat de motoren goed zijn ontworpen. Als ik problemen met de motoren vind, met name hun aanhaalmoment, zal ik genoodzaakt zijn een groot deel van het project opnieuw uit te voeren.

Dus nadat ik ook de 6 motoren had gemonteerd, nam ik de zware robot mee naar mijn zolderlab om hem aan de eerste tests te onderwerpen.

Stap 3: Eerste bewegingstests

Image
Image
Schilderen en weer in elkaar zetten
Schilderen en weer in elkaar zetten

Na het mechanische deel van de robot te hebben voltooid, heb ik snel de elektronica in elkaar gezet en alleen de kabels van de 6 motoren aangesloten. De testresultaten waren zeer positief, de gewrichten bewegen goed en in de vooraf vastgestelde hoeken, ontdekte ik een paar gemakkelijk op te lossen problemen.

Het eerste probleem betreft gewricht nr. 3 die bij maximale extensie de band te veel overbelast en soms trapverlies veroorzaakte. De oplossing voor dit probleem heeft me tot verschillende argumenten geleid die we in de volgende stap zullen zien.

Het tweede probleem betreft het gezamenlijke nr. 4, de oplossing van de riemtorsie was niet al te betrouwbaar en veroorzaakte problemen. Ondertussen begonnen de ijzeren delen van de robot kleine roestplekjes te maken, dus met de mogelijkheid om de problemen op te lossen maakte ik ook van de gelegenheid gebruik om hem te schilderen.

Stap 4: Schilderen en weer in elkaar zetten

Schilderen en weer in elkaar zetten
Schilderen en weer in elkaar zetten
Schilderen en weer in elkaar zetten
Schilderen en weer in elkaar zetten

Ik hou niet echt van de schilderfase, maar in dit geval ben ik verplicht om het te doen omdat ik er nog minder van hou.

Op het strijkijzer heb ik eerst een grondlaag aangebracht die als achtergrond dient voor de rode fluo verf.

Stap 5: Bugfix N.1

Bugfix N.1
Bugfix N.1
Bugfix N.1
Bugfix N.1
Bugfix N.1
Bugfix N.1
Bugfix N.1
Bugfix N.1

Na de testresultaten moest ik enkele wijzigingen aanbrengen om de nauwkeurigheid van de robot te verbeteren. De eerste wijziging betreft het gewricht #3, met name toen het in de meest ongunstige toestand een overmatige tractie van de riem uitoefende en bijgevolg de motor altijd onder spanning. De oplossing was om te helpen door een kracht uit te oefenen tegen de draairichting in.

Ik heb hele nachten nagedacht over wat de beste oplossing zou kunnen zijn zonder alles opnieuw te hoeven doen. In eerste instantie dacht ik aan het toepassen van een grote torsieveer maar op internet zoekend vond ik niets bevredigend dus koos ik voor een gaszuiger (zoals ik al had ontworpen voor gewricht #2), maar ik moest nog beslissen waar ik deze moest plaatsen omdat ik had geen ruimte genoeg.

Ik gaf de esthetiek een beetje op en besloot dat de beste plaats om de zuiger te plaatsen aan de zijkant was.

Ik maakte de berekeningen van het benodigde vermogen van de zuiger, rekening houdend met het punt waar het de kracht moest uitoefenen en toen bestelde ik op ebay een 150 N zuiger lang 340 mm, daarna ontwierp ik de nieuwe steunen om het te kunnen repareren.

Stap 6: Bugfix N.2

Bugfix N.2
Bugfix N.2
Bugfix N.2
Bugfix N.2
Bugfix N.2
Bugfix N.2

De tweede wijziging betreft gewrichtsnr. 4 waar ik aanvankelijk de transmissie met de gedraaide riem had gepland, maar ik realiseerde me dat de ruimtes kleiner waren en de riem niet zo goed werkte als gehoopt.

Ik besloot om het hele gewricht volledig opnieuw uit te voeren door de schouders zo te ontwerpen dat de motor er evenwijdig aan wordt ontvangen. Met deze nieuwe aanpassing werkt de riem nu correct en is het ook gemakkelijker om hem te spannen omdat ik een sleutelsysteem heb ontworpen om de riem gemakkelijk te spannen.

Stap 7: Elektronica

Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica

De motorbesturingselektronica is dezelfde die wordt gebruikt voor een klassieke 3-assige CNC, met het verschil dat er nog 3 drivers en 3 motoren moeten worden beheerd. Alle assenbesturingslogica wordt berekend door de toepassing, de elektronica heeft de enige taak instructies ontvangen over hoeveel graden de motoren moeten draaien zodat het gewricht niet de gewenste positie bereikt.

De onderdelen waaruit de elektronica bestaat zijn:

  • Arduino Mega
  • N. 6-stuurprogramma DM542T
  • N. 4 Relè
  • N. 1 24V voeding
  • N. 2 magneetventielen (voor de pneumatische klem)

Op Arduino heb ik de schets geladen die zich bezighoudt met het gelijktijdig beheren van de bewegingen van de motoren zoals versnelling, vertraging, snelheid, stappen en maximale limieten en is geprogrammeerd om opdrachten te ontvangen die via serieel (USB) moeten worden uitgevoerd.

Vergeleken met de professionele motion controllers die tot enkele duizenden euro's kunnen kosten, verdedigt Arduino op zijn eigen kleine manier zichzelf te duidelijk te complexe operaties die het niet kan beheren, zoals bijvoorbeeld de multithread die handig is, vooral wanneer je meerdere engines tegelijk moet beheren.

Stap 8: Software-overwegingen

Overwegingen bij software
Overwegingen bij software
Overwegingen bij software
Overwegingen bij software

Elke robot heeft zijn eigen vorm en verschillende bewegingshoeken en de kinematica is voor elk van hen anders. Op dit moment gebruik ik de software van Chris Annin (www.anninrobotics.com) om de tests uit te voeren, maar de wiskunde die voor zijn robot is geschreven, past niet perfect bij de mijne, in feite kan ik sommige delen van het werkgebied niet bereiken omdat de berekeningen van de hoeken niet compleet zijn.

Annins software is nu prima om mee te experimenteren, maar ik zal moeten gaan nadenken over het schrijven van mijn eigen software die 100% past bij de fysica van mijn robot. Ik ben al begonnen met het doen van enkele tests met Blender en het schrijven van het Python-gedeelte van de bewegingscontroller en het lijkt een goede oplossing, er zijn enkele aspecten om te ontwikkelen, maar deze combo (Blender + Ptyhon) is heel eenvoudig te implementeren, vooral het is gemakkelijk om bewegingen te plannen en te simuleren zonder de robot voor je te hebben.

Stap 9: Pneumatische klem

Pneumatische klem
Pneumatische klem
Pneumatische klem
Pneumatische klem
Pneumatische klem
Pneumatische klem

Om objecten naar de robot te kunnen brengen heb ik deze voorzien van een pneumatische klem.

Persoonlijk hou ik niet van tangen met servo's, ze geven me niet veel vertrouwen op de afdichting, dus ik dacht dat een pneumatische tang die specifiek de druk aanpast, aan alle behoeften zou kunnen voldoen.

Met vierkante aluminium profielen heb ik de klem aangepast om zowel kleine objecten als grote objecten op te nemen.

Later, als ik tijd heb, zal ik alle informatie over het project verzamelen zodat ik het kan downloaden.

Ik hoop dat je genoten hebt van deze instructable.

Aanbevolen: