- Components necessaris
- Construcció del braç robòtic
- Diagrama del circuit i explicació de treball:
- Com accionar el braç robòtic:
En aquest tutorial, dissenyarem un braç robòtic basat en Arduino Uno a partir de cartrons i servomotors. Tot el procés de construcció s'ha explicat detalladament a continuació. En aquest projecte, Arduino Uno està programat per controlar servomotors que serveixen com a articulacions del braç robòtic. Aquesta configuració també sembla una grua robòtica o podem convertir-la en grua fent alguns ajustaments fàcils. Aquest projecte serà útil per a principiants que vulguin aprendre a desenvolupar un robot senzill a baix cost o simplement vulguin aprendre a treballar amb Arduino i servomotors.
Aquest braç robòtic Arduino es pot controlar mitjançant quatre potenciòmetres connectats, que serveixen per potenciar cada servo. Podeu moure aquests servos girant les olles per triar algun objecte, amb una mica de pràctica podeu triar i moure fàcilment l’objecte d’un lloc a un altre. Hem utilitzat servos de poc parell aquí, però podeu utilitzar servos més potents per triar objectes pesats. Tot el procés s’ha demostrat bé al vídeo al final. Consulteu també els nostres altres projectes de robòtica aquí.
Components necessaris
- Arduino Uno
- Condensador 1000uF (4 peces)
- Condensador 100nF (4 peces)
- Servomotor (SG 90- quatre peces)
- Pot 10K- Resistència variable (4 peces)
- Font d'alimentació (5v- preferiblement dos)
Servomotor
Primer parlem una mica de Servo Motors. Els servomotors s’utilitzen principalment quan es necessita un moviment o una posició precisos de l’eix. No es proposen per a aplicacions d'alta velocitat. Els servomotors es proposen per a aplicacions de baixa velocitat, parell mitjà i precisió. Per tant, aquests motors són els millors per dissenyar braços robòtics.
Els servomotors estan disponibles en diferents formes i mides. Utilitzarem servomotors petits, aquí utilitzarem quatre servos SG90. Un servomotor tindrà principalment cables, un per a tensió positiva, un per a terra i l’últim per a la posició. El cable VERMELL està connectat a l’alimentació, el cable negre a terra i el cable GROC al senyal. Seguiu aquest tutorial sobre el control del motor servo mitjançant Arduino per obtenir més informació. A Arduino tenim biblioteques predefinides per controlar el Servo, de manera que és molt fàcil controlar el servo, que aprendreu juntament amb aquest tutorial.
Construcció del braç robòtic
Agafeu una superfície plana i estable, com ara una taula o un tauler dur. A continuació, col·loqueu un servomotor al centre i enganxeu-lo al seu lloc. Assegureu-vos que el grau de rotació es troba a la zona presentada a la figura. Aquest servo actua com a base del braç.

Col·loqueu un petit tros de cartró damunt del primer servo i, a continuació, col·loqueu el segon servo sobre aquest tros de tauler i enganxeu-lo al seu lloc. La rotació del servo ha de coincidir amb el diagrama.


Agafeu unes cartolines i talleu-les a trossos de 3cm x 11cm. Assegureu-vos que la peça no s’estovi. Talleu un forat rectangular en un dels extrems (deixeu 0,8 cm de la part inferior) el suficient per encabir un altre servo i, en un altre extrem, col·loqueu l’engranatge del servo amb cargols o amb cola. A continuació, introduïu el tercer servo al primer forat.


Ara talla una altra peça de cartró amb les longituds que es mostren a la figura següent i enganxa un altre engranatge a la part inferior d’aquesta peça.


Ara enganxeu el quart i darrer servo a la vora de la segona peça, tal com es mostra a la figura.

Amb això, semblen dues peces juntes.

Quan adjuntem aquesta configuració a la base, hauria de semblar:

Està gairebé acabat. Només hem de fer el ganxo per agafar i recollir l’objecte com una mà robòtica. Per al ganxo, talleu altres dos trossos de cartró de longituds de 1cmx7cm i 4cmx5cm. Enganxeu-los com es mostra a la figura i enganxeu l’engranatge final a la vora mateixa.


Muntar aquesta peça a la part superior i amb això hem acabat de construir el nostre braç robòtic.

Amb això, el nostre disseny bàsic de braços robòtics s’ha completat i així és com hem construït el nostre braç robòtic de baix cost. Ara connecteu el circuit a la taula de proves segons el diagrama del circuit.

Diagrama del circuit i explicació de treball:
A continuació es mostra la connexió del circuit per Arduino Uno Robotic Arm.

El voltatge a través de les resistències variables no és completament lineal; serà sorollós. Per filtrar aquest soroll, els condensadors es col·loquen a cada resistència tal com es mostra a la figura.
Ara alimentarem la tensió proporcionada per aquestes resistències variables (tensió que representa el control de posició) als canals ADC d’Arduino. Utilitzarem quatre canals ADC d'ONU des d'A0 fins a A3 per a això. Després de la inicialització de l'ADC, tindrem el valor digital dels pots que representen la posició necessària per l'usuari. Agafarem aquest valor i el farem coincidir amb la posició del servo.
Arduino té sis canals ADC. N'hem utilitzat quatre per al nostre braç robòtic. L'ADC UNO té una resolució de 10 bits, de manera que els valors enters oscil·len entre 0-1023 (valors 2 ^ 10 = 1024). Això significa que maparà les tensions d'entrada entre 0 i 5 volts en valors enters entre 0 i 1023. Així doncs, per a cada (5/1024 = 4,9 mV) per unitat. Obteniu més informació sobre el mapatge dels nivells de tensió mitjançant canals ADC a Arduino aquí.
Ara, perquè l’ONU converti el senyal analògic en senyal digital, hem d’utilitzar el canal ADC d’Arduino Uno, amb l’ajut de les funcions següents:
1. analogRead (pin); 2. analogReference (); 3. analogReadResolution (bits);
Els canals Arduino ADC tenen un valor de referència per defecte de 5V. Això significa que podem donar una tensió màxima d'entrada de 5V per a la conversió ADC en qualsevol canal d'entrada. Com que alguns sensors proporcionen tensions de 0-2,5 V, de manera que amb una referència de 5 V, obtenim una precisió menor, de manera que tenim una instrucció que ens permet canviar aquest valor de referència. Per tant, per canviar el valor de referència tenim "analogReference ();"
Per defecte obtenim la resolució ADC màxima de la placa que és de 10 bits, aquesta resolució es pot canviar mitjançant la instrucció ("analogReadResolution (bits);").
Al nostre circuit manual de robòtica, hem deixat aquest voltatge de referència per defecte, de manera que podem llegir el valor del canal ADC trucant directament a la funció “analogRead (pin);”, aquí “pin” representa el pin on hem connectat el senyal analògic, per exemple, volem llegir "A0". El valor de l'ADC es pot emmagatzemar en un enter com int SENSORVALUE0 = analogRead (A0); .
Ara parlem del SERVO, l’Arduino Uno té una característica que ens permet controlar la posició del servo només donant el valor del grau. Digueu que si volem que el servo sigui a 30, podem representar directament el valor del programa. El fitxer de capçalera SERVO ( Servo.h ) s’encarrega internament de tots els càlculs de la relació de tasques.
#incloure
Aquí la primera sentència representa el fitxer de capçalera per controlar el SERVO MOTOR. La segona afirmació és anomenar el servo; ho deixem tan servo0 ja que en farem servir quatre. La tercera afirmació indica on està connectat el pin de senyal del servo; ha de ser un pin PWM. Aquí estem utilitzant PIN3 per al primer servo. La quarta afirmació dóna ordres per situar el servomotor en graus. Si se li dóna 30, el servomotor gira 30 graus.
Ara, tenim la posició de servo SG90 de 0 a 180 i els valors ADC són de 0-1023. Utilitzarem una funció especial que coincideixi amb els dos valors automàticament.
sensorvalue0 = mapa (sensorvalor0, 0, 1023, 0, 180);
Aquesta sentència assigna els dos valors automàticament i emmagatzema el resultat a l'enter 'servovalue0' .
Així és com hem controlat els Servos en el nostre projecte Robotic Arm mitjançant Arduino. Consulteu el codi complet a continuació.
Com accionar el braç robòtic:
Hi ha quatre pots proporcionats a l'usuari. I en girar aquests quatre pots, proporcionem tensió variable als canals ADC de l’ONU. Per tant, els valors digitals d’Arduino estan sota control de l’usuari. Aquests valors digitals es mapen per ajustar la posició del servomotor, de manera que la posició del servo controla l'usuari i en girar aquests pots l'usuari pot moure les articulacions del braç robòtic i pot recollir o agafar qualsevol objecte.
