Inhoudsopgave:

Moslty 3D-geprinte robotarm die poppencontroller nabootst - Ajarnpa
Moslty 3D-geprinte robotarm die poppencontroller nabootst - Ajarnpa

Video: Moslty 3D-geprinte robotarm die poppencontroller nabootst - Ajarnpa

Video: Moslty 3D-geprinte robotarm die poppencontroller nabootst - Ajarnpa
Video: Stealth Game like Metal Gear Solid. 👥 - Terminal GamePlay 🎮📱 2024, Juni-
Anonim
Moslty 3D-geprinte robotarm die poppencontroller nabootst
Moslty 3D-geprinte robotarm die poppencontroller nabootst
Moslty 3D-geprinte robotarm die poppencontroller nabootst
Moslty 3D-geprinte robotarm die poppencontroller nabootst
Moslty 3D-geprinte robotarm die poppencontroller nabootst
Moslty 3D-geprinte robotarm die poppencontroller nabootst

Ik ben een student werktuigbouwkunde uit India en dit is mijn Undergrad-graadproject.

Dit project is gericht op het ontwikkelen van een goedkope robotarm die grotendeels 3D-geprint is en 5 DOF's heeft met een 2-vingerige grijper. De robotarm wordt bestuurd met een poppencontroller, een desktopmodel van de robotarm met dezelfde vrijheidsgraden waarvan de gewrichten zijn uitgerust met sensoren. Door de controller met de hand te manipuleren, bootst de robotarm de beweging na op master-slave-manier. Het systeem gebruikt de ESP8266 WiFi-module als datatransmissiemedium. De master-slave-operatorinterface biedt een eenvoudig te leren methode voor robotarmmanipulatie. Nodemcu (Esp8266) wordt gebruikt als een microcontroller.

Het doel achter dit project was de ontwikkeling van een goedkope robot die kan worden gebruikt voor educatieve doeleinden. Helaas is de toegankelijkheid van dergelijke robottechnologie die een revolutie teweegbrengt in de moderne wereld beperkt tot alleen bepaalde instellingen. We streven ernaar dit project open source te ontwikkelen en te maken, zodat individuen het zelf kunnen maken, wijzigen en verkennen. Omdat het een goedkope en volledig open source is, kan dit medestudenten inspireren om dit vakgebied te leren en te verkennen.

Mijn projectgenoten:

  • Shubham likhar
  • Nikhil Kore
  • Palash lonare

Speciale dank aan:

  • Akasha Narkhede
  • Ram bokade
  • Ankit korde

voor hun hulp bij dit project.

Disclaimer: ik was nooit van plan om een blog of instructiefilm over dit project te schrijven, waardoor ik niet voldoende gegevens heb om het nu te documenteren. Deze inspanning wordt geleverd lang na de start van het project. Toch heb ik heel hard geprobeerd om zoveel mogelijk details te brengen om het begrijpelijker te maken. je zult het op sommige punten misschien onvolledig vinden … ik hoop dat je het begrijpt:) ik zal binnenkort een youtube-video toevoegen die de werking en andere testdingen laat zien

Stap 1: Dus, hoe werkt het?

Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?
Dus, hoe werkt het?

Dit is voor mij het meest opwindende aan dit project.

(Ik beweer niet dat dit een efficiënte of juiste methode is om het voor commerciële doeleinden te gebruiken. Het is alleen voor educatieve doeleinden)

je hebt misschien goedkope robots met servomotoren gezien die alleen voor demonstratie zijn. Aan de andere kant zijn er dure stappenmotorrobots met planetaire versnellingsbak enz. Maar deze robot is een balans daartussen.

dus, hoe is het anders?

Bouw:

In plaats van een lager vermogen en een dure stappenmotor te gebruiken, gebruikte ik gelijkstroommotoren, maar zoals we weten, hebben gelijkstroommotoren geen feedbackbesturingssysteem en kunnen ze niet rechtstreeks worden gebruikt voor positieregeling. Ik heb ze in servomotoren omgezet door een potentiometer toe te voegen als een feedback / positiesensor.

Voor de eenvoud van het werk heb ik de goedkope 9g-servo's gedemonteerd, de circuits verwijderd en de gelijkstroommotor vervangen door een gelijkstroommotor met hoog koppel en de kleine pot met wat ik voor de robot had. Hierdoor kon ik de standaardbibliotheek gebruiken in arduino, je kunt die vereenvoudigde codering niet geloven!

Voor het aansturen van een 12V DC-motor met een 5V-servochip heb ik de L298N-motorstuurmodule gebruikt die 2 motoren tegelijkertijd kan aandrijven. De module heeft 4 ingangspinnen IN1 tot IN4 die de draairichting van de motor bepalen. Waar IN1 en IN2 overeenkomen met 1e motor en IN3, IN4 naar 2e motor. Vandaar dat de uitgangsklemmen (2) van de servochip (oorspronkelijk op de kleine gelijkstroommotor) zijn aangesloten op IN1 en IN2 van de L298N-module, waarvan de uitgang is aangesloten op de 12V gelijkstroommotor.

Werken:

Op deze manier, wanneer de motoras zich niet op de doelpositie bevindt, stuurt de potentiometer de hoekwaarde naar de servochip die de L298N-module opdracht geeft om ofwel Cw of CCW aan te drijven op zijn beurt 12V DC-motor draait volgens het commando ontvangen van de microcontroller.

Schema wordt getoond in figuur (alleen voor 1 motor)

IN ONS GEVAL WORDT COMMANDO (GEZAMENLIJKE HOEKWAARDEN) VERZONDEN VIA PUPPE-CONTROLLER DIE 10 KEER VERGROOTTE KOPIE VAN DE WERKELIJKE ROBOT IS EN EEN POTENTIOMETER VERBONDEN BIJ ELKE GEWRICHTING. ROBOTVERBINDING WAAROP ELKE GEZAMENLIJKE MOTOR PROBEERT TE BEZETTEN

Bij elk gewricht is een potentiometer verbonden met de gewrichtsas via een riemtrekmechanisme. Wanneer het gewricht roteert, roteert de potentiometer overeenkomstig en geeft feedback over de huidige positie van de gewrichtshoek (weergegeven in bovenstaande afbeeldingen)

Stap 2: gebruikte componenten:

Gebruikte componenten
Gebruikte componenten
Gebruikte componenten
Gebruikte componenten
Gebruikte componenten
Gebruikte componenten

Zoals ik al zei, ik werk nog steeds en verbeter het van dag tot dag, daarom kunnen deze componenten in sommige toekomstige updates verschillen.

mijn doel was om het zo zuinig mogelijk te maken, daarom heb ik zeer selectieve componenten gebruikt. Dit is de lijst met belangrijke componenten die in de Arm tot datum zijn gebruikt (ik zal deze in de toekomst blijven bijwerken)

  1. Esp8266 (2x)
  2. Gelijkstroommotoren (van verschillende specificaties Koppel en snelheden, 5x)
  3. L298N motor Driver module (2x)
  4. Potmeter (8x)
  5. Aluminium goot (30x30, 1 meter)
  6. diverse hardware

Stap 3: Berekeningen en armontwerp

Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp
Berekeningen en armontwerp

Voor het ontwerpen van de arm heb ik catia v5-software gebruikt. Voordat ik met het ontwerpproces begon, moest ik eerst de verbindingslengtes en het koppel berekenen dat elk gewricht moet verdragen.

eerst begon ik met een aantal aannames, waaronder:

  1. Het maximale laadvermogen voor de robot is 500 gm (1,1 lb)
  2. totale reikwijdte van robot is 500 mm
  3. Het robotgewicht mag niet meer dan 3 kg bedragen.

Berekeningen van linklengte

hiermee verdergaand heb ik de linklengte berekend aan de hand van het onderzoekspaper "Design of a Robotic Arm By I. M. H. van Haaren"

I. M. H. van Haaren gaf een uitstekend voorbeeld van hoe hij verbindingslengtes bepaalde met behulp van een biologische referentie waarin de lengtes van de belangrijkste lichaamssegmenten worden uitgedrukt als een fractie van de totale hoogte. Het wordt getoond in fig.

na berekeningen bleek de lengte van de link te zijn

L1=274 mm

L2=215mm

L3=160mm

Grijperlengte = 150 mm

Koppelberekeningen:

Voor het berekenen van het koppel heb ik basisconcepten van turque en momenten gebruikt die in de techniek worden toegepast.

zonder in te gaan op dynamische berekeningen, rustte ik vanwege enkele beperkingen op alleen statische koppelberekeningen.

er zijn 2 belangrijke spelers, ik koppel als T = FxR, dat wil zeggen in ons geval belasting (massa) en linklengte. Omdat de linklengte al is bepaald, is het volgende om het gewicht van de componenten te achterhalen. In dit stadium wist ik niet zeker hoe ik de gewichten van elk onderdeel zonder het daadwerkelijk te meten.

dus ik deed deze berekeningen in iteraties.

  1. Ik nam aluminiumkanaal aan als een uniform materiaal over de hele lengte en verdeelde gewicht van in totaal 1 meter stuk met de lengte van stukken die ik ging gebruiken.
  2. Wat de gewrichten betreft, nam ik bepaalde waarden voor elk gewricht aan (motorgewicht + gewicht van 3D-geprint onderdeel + andere) op basis van de aanname van het totale robotgewicht.
  3. vorige 2 stappen gaven me 1e iteratie gezamenlijke koppelwaarden. Voor deze waarden vond ik geschikte motoren op internet samen met andere specificaties en gewichten.
  4. In de 2e iteratie gebruikte ik originele gewichten van motoren (die ik ontdekte in de 3e stap) en berekende opnieuw de statische koppels voor elke verbinding.
  5. Als de uiteindelijke koppelwaarden in stap 4 geschikt waren voor motoren die in stap 3 zijn geselecteerd, heb ik die motor voltooid, anders herhaalt u stap 3 en 4 totdat de geformuleerde waarden voldoen aan de werkelijke motorspecificaties.

Armontwerp:

Dit was de meest tijdrovende taak van dit hele project en het kostte bijna een maand om het te ontwerpen. Trouwens, ik heb foto's van het CAD-model bijgevoegd. Ik zal een link achterlaten om deze CAD-bestanden hier ergens te downloaden:

Stap 4: 3D-printen van de onderdelen

3D-printen van de onderdelen
3D-printen van de onderdelen
3D-printen van de onderdelen
3D-printen van de onderdelen
3D-printen van de onderdelen
3D-printen van de onderdelen

Alle onderdelen, meestal de verbindingen, zijn 3D-geprint op een 99 $ printer met een afdrukgebied van 100x100x100 mm (ja dat is waar!!)

printer: Easy threed X1

Ik heb foto's van de belangrijkste onderdelen uit de slicer opgenomen en ik zal een koppeling maken naar alle CAD-bestanden van de onderdelen, zowel catfile als stl, zodat je ze kunt downloaden en bewerken zoals je wilt.

Stap 5: Schouder gezamenlijke montage (joint J1 & J2)

Schouder gezamenlijke montage (joint J1 & J2)
Schouder gezamenlijke montage (joint J1 & J2)
Schouder gezamenlijke montage (joint J1 & J2)
Schouder gezamenlijke montage (joint J1 & J2)
Schouder gezamenlijke montage (joint J1 & J2)
Schouder gezamenlijke montage (joint J1 & J2)

De basispoelie is op een andere printer gedrukt omdat deze een diameter van 160 mm had. Ik heb de schouderverbinding zo ontworpen dat deze kan worden aangedreven (rotatie rond de z-as) met een riempoelie of een tandwielmechanisme dat u kunt zien op de meegeleverde foto's boven. het onderste deel is waar lagers passen die vervolgens op een centrale as worden gemonteerd op een platform dat is gemaakt om de arm te verplaatsen (tank, meer daarover in de toekomst).

de grotere versnelling (geel op de foto) is gemonteerd op een aluminium kanaal met moerbouten waar een 8 mm stalen as doorheen gaat, waarover gewricht 2 beweegt. Overbrengingsverhouding bij 1e gewricht is 4: 1 en die van 2e gewricht is 3,4: 1

Stap 6: Elleboog en gewricht (gewricht J3)

Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)
Elleboog en gewricht (gewricht J3)

(SOMMIGE AFBEELDINGEN ZIJN NA BOUWEN AANGEZIEN IK GEEN VOLLEDIGE PROCESBEELDEN HEB)

Het ellebooggewricht volgt het schoudergewricht. Het is een tweedelig gewricht, een verbonden om de ene te verbinden en de andere om 2 te verbinden.

stuk 1 heeft een gelijkstroommotor met aandrijfrondsel en stuk 2 heeft een groter tandwiel eraan en een paar lagers om de as te ondersteunen. Overbrengingsverhouding is hetzelfde als die van J2, namelijk 3,4: 1 maar de motor is 12,5 KG-CM 60 RPM.

Joint J3 heeft een bewegingsbereik van 160 graden.

Stap 7: Polsgewricht (gewricht J4 & J5)

Polsgewricht (gewricht J4 & J5)
Polsgewricht (gewricht J4 & J5)
Polsgewricht (gewricht J4 & J5)
Polsgewricht (gewricht J4 & J5)
Polsgewricht (gewricht J4 & J5)
Polsgewricht (gewricht J4 & J5)

(SOMMIGE VAN DE BEELDEN ZIJN NA BOUWEN AANGEZIEN IK GEEN VOLLEDIGE PROCESBEELDEN HEB)

Na het ellebooggewricht is het polsgewricht. Dit bestaat weer uit 2 stukken, een bij de vorige link (dwz link 2) en een bestaande uit J5 motot die de polsassemblage roteert. Overbrengingsverhouding is 1.5: 1 en de gebruikte DC-motor is 10 RPM 8 KG -CM.

Dit gewricht J4 heeft een rotatiebereik van 90 graden en J5 heeft 360 graden.

Stap 8: Grijper

Grijper
Grijper
Grijper
Grijper
Grijper
Grijper

Dit was een van de moeilijkste taken om te ontwerpen. Het is zo ontworpen dat het de meeste objecten kan oppakken en ook de meeste dingen om ons heen kan vasthouden, zoals deurvergrendelingen, handgrepen, staven enz.

Zoals op de afbeelding te zien is, drijft een spiraalvormig tandwiel dat aan de motor is bevestigd, met de klok mee of tegen de klok in op tandwielen die zijn verbonden met vingers om ze te openen en te sluiten.

Alle onderdelen van de grijper worden getoond in de bijgevoegde afbeelding.

Stap 9: Puppet Controller voor robotarm maken

Puppet Controller voor robotarm maken
Puppet Controller voor robotarm maken
Puppet Controller voor robotarm maken
Puppet Controller voor robotarm maken
Puppet Controller voor robotarm maken
Puppet Controller voor robotarm maken

Puppet-controller is de exacte 10 keer verkleinde versie van de werkelijke robotarm. Het heeft 4 potentiometers die op 4 gewrichten zijn gemonteerd, namelijk J1, J2, J3, J4 en Joint J5 worden bediend met een drukknop voor continue rotatie (rotatie van grijper voor elke operatie)

potentiometers voelen de rotatiehoek van gewrichten en sturen deze waarde tussen 1-1023 naar Nodemcu, die wordt teruggeconverteerd naar 1-360 en via wifi naar een andere Nodemcu wordt gestuurd. Omdat ESP8266 slechts één analoge ingang heeft, heb ik een 4051-multiplexer gebruikt.

tutorial voor het gebruik van 4051 multiplexer met esp8266 -

schematisch diagram:

Ik zal een schematisch diagram toevoegen zodra ik het af heb (als iemand het dringend nodig heeft, neem dan tot die tijd contact met mij op)

Code:(ook hier opgenomen)

drive.google.com/open?id=1fEa7Y0ELsfJY1lHt6JnEj-qa5kQKArVa

Stap 10: Elektronica

Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica
Elektronica

Ik voeg foto's van het huidige werk bij. Volledige elektronica en schematisch diagram zijn nog niet compleet. Ik zal binnenkort updates plaatsen tot die tijd verbonden blijven:)

(Opmerking: dit project is nog niet voltooid. Ik zal in de toekomst updates volgen)

Stap 11: Codes en schema op één plek

Codes en schema op één plek!
Codes en schema op één plek!

Ik zal volledige robotschema's en definitieve code maken zodra ik het af heb!

Aanbevolen: