Hoe een robotarm te bouwen

bijwerken: //www.youtube.com/watch?v=BILiuqRmLRI

wil de controller bouwen ga naar hier

de video's:

//www.youtube.com/watch?v=N9z7OQLlhrE

//www.youtube.com/watch?v=jozshuI246o&feature=youtu.be

//www.youtube.com/watch?v=onQIzR5C8qk

//youtu.be/2mlR9QT1glo

//www.youtube.com/watch?v=NkxTk2-RJ8A

//youtu.be/FBZaummBF0s

waardoor u:

//youtu.be/xH1IZFku0w0

dag iedereen,

een tijdje geleden was ik naar een programma aan het kijken over een autofabriek, en ze gebruikten robotarmen om de auto te ontdoen van de auto.

dat was het moment waarop ik het idee kreeg om mijn enige helpende hand te bulduig.

dus een tijd geleden begon ik op deze arm te bouwen.

en nu is het voltooid.

en ik laat je zien hoe je er een kunt bouwen, of wat ideeën kunt opdoen.

om te staren met wat ik zaai vanwaar het is gemaakt;

voor het verplaatsen van de robotarm heb ik 6 servo´s gebruikt

Het lichaam is gemaakt van 2 mm lexaan.

de statif is van een oude discobal (het deel waar de motor in was gemonteerd)

en ik gebruikte een afstandssensor en een led van 10 mm.

de hersenen zijn nu een arduino en een vermogensprintplaat.

de kracht zelf komt van een computervoeding.

in dit instructieve ik zal je zaaien hoe je een robotarm moet bouwen en hoe je de voeding moet gebruiken

Ik hoop dat je het leuk vindt, en als je het leuk vindt, stem dan op de wedstrijd

Wie wil er geen vinger op hun bureau, wat kan je helpen met alles wat je wilt.

als je het mij vraagt, is het een echte verbetering voor je lab.

en het kost minder dan $ 100 dollar :)

update in stap 4, het licht nu op in het donker :)

Stap 1: de onderdelen ophalen

oke laten we op dit ding voortbouwen.
voordat we kunnen beginnen moeten we wat onderdelen en plannen hebben.
wat je nodig hebt;


-6 servo's (ik gebruikte 2x mg946, 2x mg995, 2xf utuba s3003 (mg995 / mg946 is beter dan de futuba s3003, maar ze zijn veel goedkoper)) ongeveer 10 dollar per stuk
-lexan 2mm (en een klein stukje van 4mm) als je die niet hebt, ongeveer 5 dollar voor een mooi stuk
-afstandssensor (hc-sr04) ongeveer 5 dollar
-10mm led (elke gewenste kleur) 0, 50 dollar
-statief (je hebt een doos of iets dergelijks nodig om je arm om te doen) gered;)
-claw (je kunt er een op het internet kopen) ongeveer 15 dollar

hersenen:

-arduino uno (ik werk aan mijn eigen comtroller, maar arduino werkt prima) ongeveer 15 dollar
-Power printplaat (je moet dit maken, ik kom hier later op, maar het is niet zo ruimtelijk) gratis, je maakt het zelf :)
-voeding (ik gebruikte er een van een oude pc) gratis !!
-pc om de arm te programmeren (als je een arduino gebruikt, kun je arduino-ontwikkelaarstool gebruiken. die je kunt downloaden vanaf de site www.arduino.cc) gratis (als je er al een hebt)

je hebt wat draad en basisgereedschap nodig
als een soldeerbout en soldeer. als je ze hebt of leent zijn ze gratis

nu hebben we alle onderdelen die we kunnen gaan bouwen.

Stap 2: Het lichaam bouwen

Oke laat het lichaam bouwen, voordat we beginnen moet ik zeggen dat ik er geen tekening van heb. Ik heb het gewoon uit mijn hoofd gedaan. Het principe is heel eenvoudig
Je hebt twee rijen lexaan om de servo's op lange lexanstukken te monteren. En twee rijen om de servo's in de rijen te plaatsen met twee gaten erin. en een U-stuk aan het uiteinde. De hand voor de arm die ik gewoon van internet heb gekocht. Ik heb bijna alles gemonteerd met schroeven. Omdat als je iets verkeerd doet, je het heel gemakkelijk kunt veranderen
de nummers achter de onderdelen vind je op de foto.
De lengte als het eerste deel (1) ongeveer 19 cm is
En het tweede deel (2) is ongeveer 17, 5 cm
De lengte van het voorste deel (3) is 5, 5 cm
Voor de rest is het een beetje standaart kijk maar wat de besy demencions zijn voor je robot, het hangt ervan af hoe groot of klein je hem wilt. voor de rest maakt het niet uit welke maat je gebruikt.

Nu heb je waarschijnlijk een idee om je robitische arm te bouwen.
De arm moet in totaal 180 graden draaien. Dus we moeten een servo onder de robot plaatsen. Maak een gat in de doos en doe de servo erin. En schroef de arm aan de servo. Ik monteer een ring (4) rond de servo zodat er geen afstand was tussen de doos en de arm. Je kunt dit doen als je het nodig hebt.

Om de afstandssensor te plaatsen heb ik een stukje 2mm lexaan gebruikt en deze aan de robothand geschroefd. Ik heb ook een led van 10 mm onder de hand gelegd

Je hebt waarschijnlijk een veer nodig om servo's te helpen voor een betere beweging.

Hoe dit te bouwen is moeilijk uit te leggen, omdat het voor iedereen anders is. Het hangt gewoon af van de spullen die je hebt / koopt. Als je bijvoorbeeld grotere servo's hebt, heb je andere lexan-onderdelen nodig.
En je moet je robot kalibreren zodat hij recht staat. En met andere delen is het anders (dus het trilt niet en heeft een mooie beweging).
Als het trilt, kunt u wat gewicht aan de arm toevoegen. Dit lost waarschijnlijk het probleem op

Wanneer u uw enige lichaam bouwt, moet u de servomotordraden langer maken. Pak gewoon wat draad (ik heb een internetkabel gebruikt die is opengesneden) en soldeer 3-pins headers eraan. Sommigen hechten erover en steken het in de connector. en maak een andere vrouwelijke connector aan de andere kant. om het op de voedingskaart aan te sluiten.

Nu we het lichaam hebben kunnen we doorgaan naar de hersenen :)

Stap 3: De robotklauw gebruiken

voor het installeren van de robotklauw heb je nodig;
een servo (kan een futuba s3003 zijn (of een andere standaard servo) mg995 of mg946 werkt het beste))
en je hebt wat schroeven nodig

dus wat doe je.
je neemt een geremde servo en snijdt hem totdat hij in de robotklauw past.
dan moet je twee kleine schroeven gebruiken om het op zijn plaats te zetten.

vervolgens neem je de servo en draai hem helemaal naar links
nu moet je de klauw sluiten.

nu kun je de servo met 4 vetgedrukte letters plaatsen, zorg ervoor dat de servo helemaal naar links gedraaid is
en dat de klauw gesloten is bij het monteren van de servo.
of de klauw gaat helemaal niet open.

nu kunt u de servo aansluiten op een arduino of een servotester
als je het goed hebt gedaan heb je nu een succesvolle robotklauw


zorg ervoor dat de vetgedrukte delen van de bewegende delen niet te strak zijn aangedraaid
anders werkt het niet geweldig.

Stap 4: Hardware-update

Ik heb een kleine update van de robotarm gemaakt.
ik plaats wat lichten wat oplicht in het donker.
ik heb een eenvoudig circuit gebruikt wat heel gemakkelijk te maken is.

//www.youtube.com/watch?v=N9z7OQLlhrE

het enige wat je hoeft te doen, is een plek vinden om je led's in te plaatsen.

stroomkring;
als u wilt, kunt u de R1-weerstand wijzigen met een potentiometer van 100k ohm.
dus het zal oplichten met meer of minder licht.
en voor R2 gebruikte ik een weerstand van 118 ohm, wat prima werkt met 7 led's

als je een contra-effect wilt, verander je gewoon R1 met de LDR en het zal oplichten in het licht
en sut is in het donker.


dus de onderdelen;
-R1 100k ohm ressistor
-R2 118ohm ressistor
-bc547 transistor
-LDR
-7 led's 5 mm (kan elke kleur zijn)
-aan / uit knop

Stap 5: The Brain

Voor de hersenen heb ik een arduino gebruikt. Totdat ik mijn enige controller afrondde.

Ik heb een connector van een pc-module gebruikt om de powerboard met de voeding te verbinden
Als je rood en blanco aansluit op een multiemeter
Je ziet 5v (voor de servo's en de afstandssensor)
En met wit geel en zwart krijg je 12v (voor de arduino)
Wat ik deed is heel simpel
Ik heb 5 servoconnectoren gemaakt, soldeer de positieve parallel aan 5v en de negatieve aan aarde
Ik deed hetzelfde met de DS-sensor

Vervolgens soldeerde ik wat pinheaders en verbond ik de signaalpennen van de servo's aan de pinheaders en de 2 middelste pinnen van de sensor ook.
Nu kunnen we het met de Arduino verbinden door enkele jumpers te gebruiken
het maakt niet uit of je het op de Arduino aansluit. Zolang je in je programma zegt dat je het op die pin hebt aangesloten.

Op de powerboard plaats ik ook een led om aan te geven dat de stroom aan staat. Voeg gewoon een 100 ohm ressistor toe aan 5v en de andere en van de led naar aarde. En je bent klaar. :)

de 10 mm led op de robot is zojuist aangesloten op de arduino, een weerstand van 100 ohm gaat van pin 13 naar de positieve pin van de led en het negatieve gaat naar de aarde.
je kunt het aan en uit zetten in je programma.

Ik heb 5 servo connectoren gebruikt voor 6 servo´s, omdat de 2 servo´s op de bodem hetzelfde signaal gebruiken. je moet die draden solderen om ze op te vangen en ze in het stopcontact steken

we hebben nu wat kracht nodig, gebruik hiervoor geen adapter, het kan gewoon niet de kracht gebruiken die de arm nodig heeft.
gebruik een pc voeding, verbind gewoon de groene draad met een zwarte draad. en de stroomtoevoer loopt en geeft je kracht.
als u deze draden niet aansluit, gebeurt er niets, u moet deze draden aan elkaar binden.

de signaalpinnen van de servomotoren, kun je gewoon aansluiten op een pwm-kanaal op je arduino. dat zijn de pinnen met dit ervoor ~
de afstandssensor kun je aansluiten op pin 6 en 7. en de led naar 13 en ground. dat zijn al de pinnen die je moet gebruiken.
het maakt niet uit hoe je de servo´s aansluit, zolang dit symbool ~ staat voor het pin nummer.

Nu kunt u de arduino programmeren
Zorg ervoor dat u de stroomtoevoer uitschakelt voordat u de USB-kabel aansluit.
En verwijder de usb als je je code op je robotarm wilt testen.
anders krijgt de aruido 5v van de usb en 12 van de voeding
en de kracht van de usb gaat naar de voeding en de voeding die wordt afgesloten (voor veiligheidsessies).

De telefoonconnector die u op de foto kunt zien, is slechts een connector voor de afstandssensor. Maar u kunt elke gewenste connector gebruiken.

zoals je kunt zien in het schema, voeg ik een Potentiometer toe om de servo te bedienen. het enige wat je hoeft te doen is dit te herhalen met 5 signalen voor de 6 servo´s. de pot is niet noodzakelijk, maar de code werkt niet als je de Potentiometer niet gebruikt.
de andere 5 Potentiometer kun je gewoon aansluiten op anolog pin 0, 1, 2, 3 en 4

Stap 6: Programmeren en gebruiken

U kunt eenvoudig een code c ++ schrijven
Je kunt bijvoorbeeld zeggen

myservo.writeMicroseconds (iets tussen de 0 en 3000)

Zo maak je een mooie beweging.
Ik zal binnenkort een video uploden voor meer informatie.
En als je beter bent, kun je de afstandssensor gebruiken en hem daarop laten reageren (zie de volgende stap).


Ik heb 5 Potentiometer gebruikt om de arm te bedienen (als je wilt kun je 1 potentiometer en twee joysticks gebruiken, als je die hebt). de scematic vindt u in de vorige stap. de code vind je hier.
sluit gewoon alles aan en heb plezier.

Hier zijn enkele video's van de arm die werkt
Ik hoop dat je het leuk vind. En heb een idee om je eigen te maken.

de video's:
//www.youtube.com/watch?v=N9z7OQLlhrE

//www.youtube.com/watch?v=jozshuI246o&feature=youtu.be

//www.youtube.com/watch?v=onQIzR5C8qk

//www.youtube.com/watch?v=NkxTk2-RJ8A

//youtu.be/2mlR9QT1glo

//youtu.be/FBZaummBF0s

waardoor u:
//youtu.be/xH1IZFku0w0

Sorry als mijn Engels niet zo goed was, maar ik doe mijn best.

In de filmpjes zie je hoe de robotarm nu is. ik moest mijn ontwerp een paar keer veranderen en onderdelen vervangen. En servo's omdat de servo's die ik in het begin gebruikte, te zwak waren om een ​​mg995 of mg946 te gebruiken, alleen de servo voor de hand en om de arm te draaien, kan een goedkope servo zijn (futuba s3003), maar een mg995 of mg946 zou beter zijn

de code.


// Besturing van een servopositie met behulp van een potentiometer (variabele weerstand)
// gewijzigd door Attila Tullner
// 10k ohm potentiometer

#include


int led = 13;
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

int potpin = 0; // analoge pin gebruikt om de potentiometer aan te sluiten
int potpin1 = 1;
int potpin2 = 2;
int potpin3 = 3;
int potpin4 = 4;
int val; // variabele om de waarde van de analoge pin te lezen

ongeldige setup ()
{
myservo1.attach (3);
myservo2.attach (5);
myservo3.attach (9);
myservo4.attach (10);
myservo5.attach (11);
pinMode (led, OUTPUT);
}

leegte lus ()
{// servo 1 analoge pin 0
val = analogRead (potpin); // leest de waarde van de potentiometer (waarde tussen 0 en 1023)
val = kaart (val, 0, 1023, 0, 179); // schaal het om het te gebruiken met de servo (waarde tussen 0 en 180)
myservo1.write (val); // stelt de servopositie in volgens de geschaalde waarde
vertraging (15); // wacht tot de servo daar aankomt

val = analogRead (potpin1); // servo 2 analoge pin 1
val = kaart (val, 0, 1023, 0, 179);
myservo2.write (val);
vertraging (15);

val = analogRead (potpin2); // servo 3 analoge pin 2
val = kaart (val, 0, 1023, 0, 179);
myservo3.write (val);
vertraging (15);

val = analogRead (potpin3); // servo 4 analoge pin 3
val = kaart (val, 0, 1023, 0, 179);
myservo4.write (val);
vertraging (15);

val = analogRead (potpin4); // servo 5 analoge pin 4
val = kaart (val, 0, 1023, 0, 179);
myservo5.write (val);
vertraging (15);
}

Bijlagen

  • Knob_5_servos.ino Downloaden

Stap 7: Programmeren met de afstandssensor

dit is waarschijnlijk het beste van de robotarm
hij heeft een afstandssensor en daar kan hij op reageren
Ik zal je laten zien hoe je dat zelf kunt programmeren.

het is geschreven in c ++
het eerste wat je ziet is dit

#define trigPin 7 // toevoegen aan code
#define echoPin 6
#define leidde 13
#include

nu voegen we de servo's, led en de afstandssensor toe aan de code. u hoeft hier niets aan te veranderen.

daarna zie je dit;

Servo myservo1; // naam geven
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

nu hebben we alle 5 signalen (6 servo's) een naam gegeven (kan van alles zijn)

De volgende;

ongeldige setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT); // aanstluiting op arduino
pinMode (echoPin, INPUT);
pinMode (led, OUTPUT);
myservo1.attach (3);
myservo2.attach (5);
myservo3.attach (9);
myservo4.attach (10);
myservo5.attach (11);

}
nu vertellen we de arduino waarop de servo's en de afstandssensor zijn aangesloten, opnieuw hoef je dit niet aan te raken

De volgende;

ongeldig positie1 () {// positie 1

digitalWrite (led, HIGH); // led gaat door
myservo2.writeMicroseconds (1300);
myservo3.writeMicroseconds (1300);
myservo4.writeMicroseconds (800);
myservo5.writeMicroseconds (1000);
}
dit is iets wat je kunt veranderen, ik heb een positie gemaakt en noem deze positie1. nu kan ik deze positie later in mijn code gebruiken.
als je een andere beweging wilt, verander dan de getallen tussen de () in iets tussen de 0 en 3000.

na;
ongeldig positie2 () {// positie 2

digitalWrite (led, LOW); // led gaat uit
myservo2.writeMicroseconds (1200);
myservo3.writeMicroseconds (1300);
myservo4.writeMicroseconds (1400);
myservo5.writeMicroseconds (2200);
}
dit is hetzelfde als voorheen alleen dit is mijn positie2, nu kun je de posities aanpassen en meer toevoegen als je wilt.

dan zie je dit;

leegte lus () {
lange duur, afstand;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
duur = pulseIn (echoPin, HIGH);
afstand = (duur / 2) / 29, 1;

nu de echte code begint te werken, raak dit deel niet aan, dit is gewoon iets om de afstandssensor in te stellen.

en toen;

if (afstand <= 30) {// doe positie 1
positie1 ();
}
anders {
positie2 (); // doe positie 2
}

if (afstand <10) {
myservo5.writeMicroseconds (2200); // open klauw
}
anders {

myservo5.writeMicroseconds (1000); // sluit klauw
}
-------------------------------------------------- -----------------------------------
nu kun je een beweging toevoegen aan een afstand. je doet dat op deze manier.
if (afstand <= 30) {// je zegt nu, als de afstand kleiner is of 30 cm is. hij gaat naar positie 1
positie1 (); // de armmaaier doet alles wat je tussen die remmen zet {}
}

anders {// als de afstand groter is dan 30 cm, doet het positie2
positie () 2 // het doet nu alles wat je tussen remremmen zet {}
}

nu kunt u dit met elke afstand die u wilt toevoegen en hem alles laten doen wat u maar wilt.


het minst deel van de code.

if (afstand> 30 || afstand <= 0) {
Serial.println ("Buiten bereik"); // buiten berijk, als het groter dan 30 of kleiner dan 0 is

}
anders {
Serial.print (afstand);
Serial.println ("cm"); // afstand in cm


}
vertraging (500); // wacht 0, 5 seconde
}

je hoeft hier niets te veranderen, het enige kan zijn dat je "cm" in "inch" verandert, maar dat heb ik nog niet geprobeerd. dus dat doe ik nu niet of dat zal geweldig werken.


ik hoop dat u nu allemaal begrijpt hoe u uw enige beweging op afstand kunt maken.

veel plezier met je robotarm

Bijlagen

  • dis servo robotarm.txt Downloaden

Stap 8: toekomst

Ik werk aan meer codes om een ​​betere robotarm te krijgen, als ik nieuwe code heb, zal ik ze uploaden.
de software kan het grote ding doen, je kunt hem alles laten doen wat je wilt
kan erg handig zijn. maar het is aan jou om te beslissen wat je ermee moet doen.
ik heb nu alles in de doos gemonteerd, dus geen losse kabels meer.
je kunt de arm nu besturen door wat potionenmeters te gebruiken of met de afstandssensor

en als je nu niet weet waar deze arm goed voor is.
denk nog eens na.

programmeer hem zodat hij je kan poetsen of koffie kan zetten
wie wil dat niet, dus begin vandaag met bouwen.
en koop een goedkope buttler;)

Stap 9: Stem en zoek

Als je dit instructable leuk vindt.
Stem voor de make your lab en hacking hardware wedstrijd.
en volg mijn

Laat eventuele opmerkingen achter

Ik hoop dat je nu een paar goede ideeën hebt over het bouwen van je eigen robotarm.

bedankt voor het lezen (of gewoon kijken naar de foto's)

Verwante Artikelen