Taula de continguts:
- Subministraments
- Pas 1: imprimiu tots els components 3D
- Pas 2: (Opcional) Connecteu un tauló de fusta a la part inferior de la caixa per enfortir-lo
- Pas 3: mesureu i talleu un tauló de fusta per adaptar-lo a la caixa
- Pas 4: Marqueu les posicions dels motors
- Pas 5: marqueu les posicions dels suports i de la canonada
- Pas 6: Traieu un forat per als cables que surten de la vostra caixa (USB i alimentació)
- Pas 7: perforar i veure tots els forats marcats
- Pas 8: connecteu els motors i la canonada al taulell
- Pas 9: fixeu el tauler a la caixa amb els suports en L
- Pas 10: agafeu els blocs de terminals i soldeu els cables junts
- Pas 11: talleu l'extrem del cable d'alimentació de l'adaptador i tireu els cables
- Pas 12: identifiqueu i marqueu els cables més i menys
- Pas 13: connecteu els cables als blocs de terminals perquè tots els cables + servo i el cable + del cable d'alimentació estiguin connectats, el mateix passa amb els cables
- Pas 14: Tallar el cap d’un fil de taulers de pa
- Pas 15: Practicar tres forats a la part inferior de la caixa per als cables que surten del braç
- Pas 16: connecteu el connector base a la caixa
- Pas 17: Utilitzeu un ganivet o un fitxer d'ungles per fer més profunds els solcs de filferro
- Pas 18: construeix el braç
- Pas 19: instal·leu Processing i Arduino
- Pas 20: enganxeu els programes de codi
- Pas 21: connecteu els pins de control del servo a l'Arduino
- Pas 22: premeu el botó Restableix durant el processament, per la qual cosa es definiran tots els braços a 90 graus
- Pas 23: Fixeu els braços servo al motor horitzontalment
- Pas 24: passeu els cables pels braços de manera que no hi hagi fluixos
- Pas 25: proveu el braç i estrenyeu o afluixeu els cables segons calgui
- Pas 26: Enganxeu en calent els cables als braços servo per fer-lo permanent
- Pas 27: notes
- Pas 28: resolució de problemes
- Pas 29: enllaços
- Pas 30: Codi
- Pas 31: Més imatges
Vídeo: Braç de robot controlat per fil: 31 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Aquest és un tutorial sobre com fer un braç de robot controlat per cables. L’avantatge d’utilitzar cables és que el vostre braç és més lleuger i podeu tenir tots els motors a la part inferior del braç, cosa que facilita la construcció i el manteniment. Aquí teniu un vídeo del braç en acció. Tinc previst afegir una urpa en el futur perquè pugui recollir les coses i no només empènyer-les.
Imprimibles en 3D:
Aquí i aquí
Subministraments
6 servomotors (MG995)
Arduino Uno
Aproximadament 6 metres de filferro d’acer recobert de plàstic (0,5 mm)
Quadre 23x33x10 (pot ser més estret, definitivament no hauria de ser més curt)
Tauló de fusta 33x10
Femelles i cargols
Tub de 14 cm (cal per guiar les cordes)
4 suports en L
Adaptador de 5 volts
2 blocs de terminals de 7 vies
Filferros de taulers de pa
Components impresos en 3D (no dissenyats per mi, enllaços a elements de la descripció):
3 "cargols"
2 "Element 1"
1 "Element 2"
2 "Element 3"
1 connector de la base
Pas 1: imprimiu tots els components 3D
És possible que necessiteu suport per als forats i arcs dels cargols, però assegureu-vos de no afegir suport al cos dels components; això tancarà els petits forats de filferro i caldrà fer nous forats
Pas 2: (Opcional) Connecteu un tauló de fusta a la part inferior de la caixa per enfortir-lo
La meva caixa era força feble, potser la vostra no
Pas 3: mesureu i talleu un tauló de fusta per adaptar-lo a la caixa
Pas 4: Marqueu les posicions dels motors
assegureu-vos que cap dels braços no es toqui
Pas 5: marqueu les posicions dels suports i de la canonada
La canonada s’ha de col·locar al voltant d’un centímetre davant del forat
Pas 6: Traieu un forat per als cables que surten de la vostra caixa (USB i alimentació)
Pas 7: perforar i veure tots els forats marcats
Pas 8: connecteu els motors i la canonada al taulell
Pas 9: fixeu el tauler a la caixa amb els suports en L
Pas 10: agafeu els blocs de terminals i soldeu els cables junts
Pas 11: talleu l'extrem del cable d'alimentació de l'adaptador i tireu els cables
Pas 12: identifiqueu i marqueu els cables més i menys
Pas 13: connecteu els cables als blocs de terminals perquè tots els cables + servo i el cable + del cable d'alimentació estiguin connectats, el mateix passa amb els cables
Pas 14: Tallar el cap d’un fil de taulers de pa
Connecteu l'extrem pelat del cable de la placa de connexió al bloc de terminals menys i l'extrem del pin al pin de terra del vostre arduino. Si no ho feu, els motors es mouran de manera irregular sense cap entrada.
Pas 15: Practicar tres forats a la part inferior de la caixa per als cables que surten del braç
Els forats haurien de coincidir amb els forats del connector de la base.
Pas 16: connecteu el connector base a la caixa
Pas 17: Utilitzeu un ganivet o un fitxer d'ungles per fer més profunds els solcs de filferro
Les ranures de filferro per als elements 2 i 3 són massa superficials.
Pas 18: construeix el braç
Construeix el braç d’acord amb les instruccions que aquí necessiteu per arxivar les peces perquè s’adaptin
Pas 19: instal·leu Processing i Arduino
Processament i Arduino
Pas 20: enganxeu els programes de codi
El codi es troba a la part inferior d’aquesta pàgina
Pas 21: connecteu els pins de control del servo a l'Arduino
Vaig connectar el primer motor al tercer pin digital, el segon motor al quart pin digital, etc. Assegureu-vos que el pas de terra encara està connectat al bloc de terminals.
Pas 22: premeu el botó Restableix durant el processament, per la qual cosa es definiran tots els braços a 90 graus
Pas 23: Fixeu els braços servo al motor horitzontalment
Pas 24: passeu els cables pels braços de manera que no hi hagi fluixos
Assegureu-vos que heu filat el cable a través de tants forats com pugueu, això el mantindrà temporalment i serà fàcil de treure.
Pas 25: proveu el braç i estrenyeu o afluixeu els cables segons calgui
Pas 26: Enganxeu en calent els cables als braços servo per fer-lo permanent
Pas 27: notes
He utilitzat filferro de joies de 0,5 mm, però 0,4 mm hauria d’estar bé. El disseny original feia servir filferro de PVC, però es trencava massa fàcilment i era difícil de treballar.
Si voleu moure el braç en un cotxe o en una bicicleta, emboliqueu les articulacions del braç amb cinta per assegurar-vos que no surtin. Això és especialment important per a l’element 1.
Quan vaig començar aquest projecte, em preguntava per què només podia trobar un tutorial sobre com fer un braç controlat per cables. Ara entenc per què aquesta no és la forma més comuna de fer un braç robot hobby. Els cables de vegades cauen de les seves ranures i tot és una mica feble. No sé si els problemes són perquè no tinc molta experiència o si tota la idea és problemàtica, tot i que estic segur que seria més sòlid si sabés el que feia.
Pas 28: resolució de problemes
Els forats del filferro es tanquen als elements impresos en 3D:
Heu afegit suport per a tot l’element en lloc de només els forats dels cargols. Reimprimeix l'element o obre els forats amb una agulla molt calenta.
El port COM està tancat, no es pot comunicar amb l’arduino:
És possible que el vostre arduino no accepti ports USB 3 (el meu no), podeu comprar un cable d’extensió USB 2 o utilitzar un ordinador que tingui ports USB 2
El codi no funciona:
Seguiu aquest tutorial i modifiqueu-lo per crear el vostre propi codi
Una part del braç no es mou:
Els cables poden haver-se enredat, per comprovar-ho, traieu el servo braç del servo i intenteu estirar-los a mà. Desenredeu els cables i, si encara és difícil estirar-los, proveu d’utilitzar WD-40 o un lubricant per facilitar el moviment
Pas 29: enllaços
Braç no robòtic:
Arm 3D Printables:
Imprimible 3D My Arm:
Arduino i processament:
Pas 30: Codi
Modificat a partir d’aquest codi
Codi Arduino:
#include // Declareu els motors Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Tots els motors estan configurats a 90 graus per defecte int current1 = 90; int actual2 = 90; int actual3 = 90; int actual4 = 90; int actual5 = 90; int actual6 = 90; // Graus mínims i màxims que els motors poden assolir int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Graus que cal afegir o restar de la posició actual int degreesFoward = 5; // Retard perquè no es produeixin dues funcions en un ordre incorrecte int delayBetweenSteps = 100; void setup () {// Estableix els pins de control per a cada motor myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Estableix tots els motors al valor predeterminat myservo1.write (current1); myservo2.write (actual2); myservo3.write (actual3); myservo4.write (actual4); myservo5.write (actual5); myservo6.write (actual6); // iniciar la comunicació en sèrie @ 9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// si hi ha dades disponibles per llegir char val = Serial.read (); // posa-ho en aquest caràcter // Controls del motor if (val == 'a' && current1 + degreesFoward mini1) {myservo1.write (current1 - degreesFoward); current1 = current1 - degreesFoward; delay (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - degreesFoward); actual2 = actual2 - grausFoward; delay (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - degreesFoward); actual3 = actual3 - grausFoward; delay (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - degreesFoward); actual4 = actual4 - grausFoward; delay (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - degreesFoward); actual5 = actual5 - grausFoward; delay (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - degreesFoward); actual6 = actual6 - grausFoward; delay (delayBetweenSteps); } // Controls de velocitat si (val == 'w') {// Si el botó de velocitat 1 premia degreesFoward = 1; delay (delayBetweenSteps); } if (val == 'x') {// Si es premia el botó de velocitat 5 grausFoward = 5; delay (delayBetweenSteps); } if (val == 'y') {// Si el botó de velocitat 10 premia grausFoward = 10; delay (delayBetweenSteps); } if (val == 'z') {// Si es prem el botó de velocitat 20 grausFoward = 20; delay (delayBetweenSteps); } if (val == 'r') {// Si es prem el botó de velocitat 20 myservo1.write (90); actual1 = 90; myservo2.write (90); actual2 = 90; myservo3.write (90); actual3 = 90; myservo4.write (90); actual4 = 90; myservo5.write (90); actual5 = 90; myservo6.write (90); actual6 = 90; delay (delayBetweenSteps); }}}
Codi de processament:
processament de la importació. sèrie. *; control d’importacions P5. *; // importació de la biblioteca ControlP5 port sèrie; ControlP5 cp5; // crear una font PFont de l'objecte ControlP5; void setup () {// igual que la mida del programa arduino (300, 700); // mida de la finestra, (amplada, alçada) printArray (Serial.list ()); // imprimeix tots els ports sèrie disponibles // Si teniu algun problema, probablement provingui d'aquí String portName = Serial.list () [0]; port = new Serial (this, portName, 9600); // He connectat arduino a com3, seria diferent a Linux i Mac OS // permet afegir butó a la finestra buida cp5 = ControlP5 nou (això); font = createFont ("Arial", 13); // fonts personalitzades per als botons i el títol // Botons de control de velocitat cp5.addButton ("One") // "One" és el nom del botó.setPosition (50, 50) // Coordenades x i y de la cantonada superior esquerra del botó.setSize (55, 25) // (amplada, alçada).setFont (tipus de lletra); cp5.addButton ("Five").setPosition (110, 50).setSize (55, 25).setFont (font); cp5.addButton ("Ten").setPosition (170, 50).setSize (55, 25).setFont (font); cp5.addButton ("Twenty").setPosition (230, 50).setSize (55, 25).setFont (font); cp5.addButton ("Reset").setPosition (110, 2).setSize (55, 25).setFont (font); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (font); // Botons de control del motor cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (amplada, alçada).setFont (tipus de lletra); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (font); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (amplada, alçada).setFont (tipus de lletra); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (font); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (font); } void draw () {// igual que el bucle en fons arduino (192, 215, 249); // color de fons de la finestra (r, g, b) o (0 a 255) // Afegiu text dient que el control de velocitat és omplir control de velocitat (0, 10, 25); // color del text (r, g, b) textFont (tipus de lletra); text ("Control de velocitat", 50, 40); // ("text", coordenada x, coordenada y)} // permet afegir algunes funcions als nostres botons // de manera que quan premeu qualsevol botó, envia un caràcter particular al port sèrie // Estic segur que és possible enviar cadenes en lloc de caràcters, i tindria més sentit, però no sé com fer-ho // Comandes de control de velocitat void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Ordres de control del motor anul·len Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
Pas 31: Més imatges
Recomanat:
Braç de robot controlat per codificador rotatiu: 6 passos
Braç del robot controlat per codificador rotatiu: vaig visitar howtomechatronics.com i hi vaig veure el braç del robot controlat per bluetooth. No m'agrada utilitzar el bluetooth, a més vaig veure que podem controlar el servo amb codificador rotatiu, així que el vaig redissenyar per poder controlar el robot utilitzeu un codificador rotatiu i enregistreu-lo
Robot de braç mecànic 4 DOF controlat per Arduino: 6 passos
Robot de braç mecànic 4 DOF controlat per Arduino: recentment he comprat aquest joc a AliExpress, però no he trobat cap instrucció que s'adapti a aquest model. Per tant, acaba construint-lo gairebé dues vegades i realitzant molts experiments per esbrinar els angles adequats de muntatge del servo. Hi ha una documentació raonable
Braç del robot servo motor RC controlat per Fpga - Concurs Digilent: 3 passos
Braç de robot Servomotor RC controlat per Fpga - Concurs Digilent: braç de robot servomotor controlat per FPGA L'objectiu d'aquest projecte és crear un sistema programable que pugui realitzar operacions de soldadura a la placa perfecta. El sistema es basa en la placa de desenvolupament Digilent Basys3 i serà capaç de soldar
COM MUNTAR UN IMPRESSIONANT BRAÇ DE ROBOT DE FUSTA (PART3: BRAÇ DE ROBOT) - BASAT AL MICRO: BITN: 8 passos
COM MUNTAR UN BRAÇ IMPRESSIONANT DE ROBOT DE FUSTA (PART3: BRAÇ DE ROBOT) - BASAT AL MICRO: BITN: El següent procés d'instal·lació es basa en la finalització del mode d'obstacles per evitar. El procés d'instal·lació de la secció anterior és el mateix que el procés d'instal·lació en mode de seguiment de línia. A continuació, donem un cop d'ull a la forma final d'A
Com es construeix un robot controlat amb braç de pinça controlat mitjançant Nrf24l01 Arduino: 3 passos (amb imatges)
Com es construeix un robot controlat amb braç de pinça controlat mitjançant Nrf24l01 Arduino: la instrucció "Com construir robot controlat amb braç de pinça mitjançant Via Nrf24l01 Arduino" explicarà com construir un braç de pinça de tres graus de llibertat instal·lat en rodes de rodes controlades pel mòdul L298N de doble motor amb MEG