Robotické rameno: Rozdiel medzi revíziami
Zo stránky SensorWiki
(32 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
Riadok 50: | Riadok 50: | ||
* Implementácia algoritmu riadenia na vybraný mikrokontróler | * Implementácia algoritmu riadenia na vybraný mikrokontróler | ||
Riadok 81: | Riadok 73: | ||
== Analýza == | == Analýza == | ||
Konštrukcia robotického ramena musela byť navrhnutá tak, aby rameno bolo schopné jednotlivých pohybov pomocou servo motorov. Do jednotlivých častí tohto ramena museli byť namodelované otvory na uchytenie servo motorov. | Konštrukcia robotického ramena musela byť navrhnutá tak, aby rameno bolo schopné jednotlivých pohybov pomocou servo motorov. | ||
Pri rezaní laserovým lúčom bola vytvorená krabica z toho dôvodu, aby som mal kde projekt uchytiť. Zo spodu krabice je uchytené Futaba Servo pomocou skrutiek. Na vrchu krabice sa potom nachádza práve robotické rameno a tiež tu je aj uchetená doska Arduino UNO, Breadbord a aj batérie, ktoré slúžia na napájanie dosky Arduino UNO. | Do jednotlivých častí tohto ramena museli byť namodelované otvory na uchytenie servo motorov. | ||
Na vykonávanie pohybov robota boli vybraté servo motory, ako bolo už spomenuté. Použil som jedno silnejšie servo a dve slabšie. Silnejšie servo je umiestnené zo spodu krabice, na ktorom vlastne drží potom celá konštrukcia ramena. Ostatné slabšie 9g servá sa nachádzajú v kĺboch ramena. | Pri rezaní laserovým lúčom bola vytvorená krabica z toho dôvodu, aby som mal kde projekt uchytiť. Zo spodu krabice je uchytené | ||
Futaba Servo pomocou skrutiek. Na vrchu krabice sa potom nachádza práve robotické rameno a tiež tu je aj uchetená doska | |||
Arduino UNO, Breadbord a aj batérie, ktoré slúžia na napájanie dosky Arduino UNO. | |||
Na vykonávanie pohybov robota boli vybraté servo motory, ako bolo už spomenuté. Použil som jedno silnejšie servo a dve slabšie. | |||
Silnejšie servo je umiestnené zo spodu krabice, na ktorom vlastne drží potom celá konštrukcia ramena. Ostatné slabšie 9g servá | |||
sa nachádzajú v kĺboch ramena. | |||
Potenciometer, ktorý sa tu nachádza slúži na reguláciu rýchlosti otáčania sa servo motorov. | |||
220 ohmové odpory sú použité ako ochranné odpory pre jednotlivé LED diódy. | |||
Tlačidlá, ktoré sa tu nachádzajú plnia úlohy softvérové alebo manuálneho riadenia ramena. Ďalšie tlačidlá slúžia na manuálne | |||
riadenie jednotlivých pohybov. Na tlačidlá je privedené 5V napájanie a cez 10k ohmové pull down rezistory sa pripájajú na zem. | |||
== Popis riešenia == | == Popis riešenia == | ||
[[Súbor: | '''Vytvorenie 3D modelu robotického ramena v programe Sketch Up''' | ||
[[Súbor:Sketchup3D.jpg|center|500px]] | |||
'''Vytvorenie krabice''' | |||
Krabica pozostáva z piatich obdĺžnikov, ktoré boli rezané laserom: | |||
* 1x 25x15cm | |||
* 2x 25x6cm | |||
* 2x 14.5x6cm | |||
'''Schéma zapojenia súčiastok''' | |||
[[Súbor:Schemazapojeniarobotrameno.jpg|center|1000px]] | |||
Piny vývojovej dosky Arduino UNO, ktoré boli použité: | |||
* Digital pin D2 - tlačítko -- stlačením tlačítka sa robotické rameno otáča v smere hodinových ručičiek | |||
* Digital pin D3 - tlačítko -- stlačením tlačítka sa robotické rameno otáča proti smeru hodinových ručičiek | |||
* Digital pin D4 - tlačítko -- stlačením tlačítka sa stredná časť pohybuje smerom dolu | |||
* Digital pin D5 - tlačítko -- stlačením tlačítka sa stredná časť pohybuje smerom hore | |||
* Digital pin D6 - tlačítko -- stlačením tlačítka sa vrchná časť pohybuje smerom dolu | |||
* Digital pin D7 - tlačítko -- stlačením tlačítka sa vrchná časť pohybuje smerom hore | |||
* Digital pin D12 - tlačítko -- stlačením tlačítka sa robot prepne do manuálneho režimu, kde sa pomocou tlačidiel D2-D7 vykonávajú pohyby jednotlivými časťami | |||
* Digital pin D13 - tlačítko -- stlačením tlačítka sa vykonáva softvérové ovládanie robotického ramena | |||
* Digital pin D9 - servo, ktoré je umiestnené zo spodu robota, ktoré vykonáva jeho rotáciu | |||
* Digital pin D10 - servo, ktoré spája prvú a druhú časť | |||
* Digital pin D11 - servo, ktoré spája druhú a tretiu časť | |||
* Digital pin D8 - LED dióda červená | |||
* Analog pin A1 - LED dióda zelená | |||
* Analog pin A0 - potenciometer, ktorým sa nastavuje rýchlosť otáčania servo motorov | |||
=== Algoritmus a program === | === Algoritmus a program === | ||
Algoritmus riadenia je naprogramovaný vo vývojovom prostredí Arduino IDE. | |||
Algoritmus spočíva v ovládaní jednotlivých servo motorov pomocou tlačítok, ktoré sú umiestnené na Bread Borde. Ak je stlačené tlačítko, tak rameno vykonáva pohyb jednotlivými časťami. Pri programovaní bola použitá pomocná knižnica Servo.h, ktorú som použil na ovládanie servo motorov. | |||
[[Súbor:Cislovanietlacidiel.jpg|center|250px]] | |||
Tlačidlo S1 - stlačením sa vykonáva algoritmus pre softvérové ovládanie servomotorov | |||
Tlačidlo S2 - aktivuje sa manuálny režim ovládania, ktoré bude realizované pomocou tlačidiel S3-S8 | |||
Tlačidlo S3 - stlačením sa vykonáva pohyb vrchnej časti ramena vrchného serva smerom hore | |||
Tlačidlo S4 - stlačením sa vykonáva pohyb vrchnej časti ramena pomocou vrchného serva smerom dole | |||
Tlačidlo S5 - stlačením sa vykonáva pohyb strednej časti ramena pomocou stredného serva smerom hore | |||
Tlačidlo S6 - stlačením sa vykonáva pohyb strednej časti ramena pomocou stredného serva smerom dole | |||
Tlačidlo S7 - stlačením sa vykonáva rotácia konštrukcie pomocou spodného serva v smere hodinových ručičiek | |||
Tlačidlo S8 - stlačením sa vykonáva rotácia konštrukcie pomocou spodného serva proti smeru hodinových ručičiek | |||
Točením potenciometra sa reguluje rýchlosť otáčania jednotlivých servo motorov. | |||
Zelená LED dióda - indikuje dokončenie softvérovej simulácie ramena, keď sa rozsvieti, tak to znamená, že simulácia je dokončená. LED dióda svieti po dobu 1s a čaká, či užívateľ chce zmeniť režim činnosti na manuálny alebo či sa má vykonávať naďalej softvérové ovládanie. Ak zelená LED dióda svieti a stlačí sa tlačidlo S2 počas jej doby svietenia, tak vtedy sa dá prepnút do manuálneho režimu. | |||
Červená LED dióda - rozsvieti sa vtedy, keď pri manuálnom ovládaní je stále držané tlačidlo a servo je mimo rozsahu svojho otáčania. Ak LED dióda svieti, tak sa nedá vykonávať pohyb v danom smere. | |||
Zdrojový kód: | |||
[[Médiá:DTV_manipulator.ino]] | |||
=== Výsledok === | === Výsledok === | ||
S výsledkom mojej práce som spokojný, pretože sa mi to podarilo spraviť tak, ako som chcel a naučil som sa ako sa pracuje s jednotlivými technológiami ako je 3D tlač a rezanie laserom. Výsledný produkt je možné vidieť na nasledujúcej fotografii. | |||
a | [[Súbor:fotorameno.jpg|center|500px]] | ||
VIDEO: | |||
https://www.youtube.com/watch?v=KnIM_8948MQ&feature=youtu.be | |||
Súbory na 3D tlač: https://ulozto.sk/!7JFH8weZ5nPd/dtv-2015-skp | |||
[[Category:DTV2018]] | [[Category:DTV2018]] |
Aktuálna revízia z 13:54, 29. máj 2018
Autor: | Dominik Dano | |
Študijný odbor: | Robotika a kybernetika | 3. Bc. (2018) |
Opis projektu
Čo?
Robotické rameno, ktoré je schopné rotácie a tiež sa nim dajú dosiahnuť ďalšie dva pohyby v kĺboch.
Prečo?
Tento projekt ma napadol pri programovaní zadania na predmet Robotika, kde sme v Matlabe robili vizualizáciu pohybov trojčlánkového manipulátora a tak som sa rozhodol si pomocou 3D tlače takýto trojčlánkový manipulátor vytvoriť.
Použité technológie
- 3D tlač
- Laserové rezanie
- Arduino
Návod
- V softvéri určenom na 3D modelovanie je potrebné si vytvoriť model výrobku
- Po vymodelovaní je potrebné daný výrobok vytlačiť na 3D tlačiarni
- Pri tlačení produktu bolo použité percento výplne 15% a bola aj nastavená pomocná výplň "vnútra" produktu
- Nasledovalo rezanie na laseri
- Pomocou lasera bolo vyrezaných 5 obdĺžnikov na vytvorenie krabice pre tento projekt
- Tieto obĺžniky mali nasledovné rozmery:
- 1x 25x15cm
- 2x 14.5x6cm
- 2x 25x6cm
- Následne bolo potrebné vybrať harvér, ktorý sa použije na realizáciu projektu
- Zoznam súčiastok:
- 1x Vývojová doska Arduino UNO
- 1x Arduino Sensor Shield
- 1x Bread Board
- 1x Potenciometer 10K lineárny
- 2x 9g Servo
- 1x Futaba S3003 Standard Servo
- 1x červená LED dióda
- 1x zelená LED dióda
- 2x 220 ohmové rezistory
- 8x 10k ohmové rezistory
- 8x tlačítko
- 2x 3.7V batérie
- Po výbere hardvéru nasledovalo zapojenie jednotlivých súčiastok podľa schém, ktoré sa nachádzajú nižšie
- Implementácia algoritmu riadenia na vybraný mikrokontróler
Použité zdroje:
- Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.
Analýza
Konštrukcia robotického ramena musela byť navrhnutá tak, aby rameno bolo schopné jednotlivých pohybov pomocou servo motorov. Do jednotlivých častí tohto ramena museli byť namodelované otvory na uchytenie servo motorov. Pri rezaní laserovým lúčom bola vytvorená krabica z toho dôvodu, aby som mal kde projekt uchytiť. Zo spodu krabice je uchytené Futaba Servo pomocou skrutiek. Na vrchu krabice sa potom nachádza práve robotické rameno a tiež tu je aj uchetená doska Arduino UNO, Breadbord a aj batérie, ktoré slúžia na napájanie dosky Arduino UNO. Na vykonávanie pohybov robota boli vybraté servo motory, ako bolo už spomenuté. Použil som jedno silnejšie servo a dve slabšie. Silnejšie servo je umiestnené zo spodu krabice, na ktorom vlastne drží potom celá konštrukcia ramena. Ostatné slabšie 9g servá sa nachádzajú v kĺboch ramena. Potenciometer, ktorý sa tu nachádza slúži na reguláciu rýchlosti otáčania sa servo motorov. 220 ohmové odpory sú použité ako ochranné odpory pre jednotlivé LED diódy. Tlačidlá, ktoré sa tu nachádzajú plnia úlohy softvérové alebo manuálneho riadenia ramena. Ďalšie tlačidlá slúžia na manuálne riadenie jednotlivých pohybov. Na tlačidlá je privedené 5V napájanie a cez 10k ohmové pull down rezistory sa pripájajú na zem.
Popis riešenia
Vytvorenie 3D modelu robotického ramena v programe Sketch Up
Vytvorenie krabice
Krabica pozostáva z piatich obdĺžnikov, ktoré boli rezané laserom:
- 1x 25x15cm
- 2x 25x6cm
- 2x 14.5x6cm
Schéma zapojenia súčiastok
Piny vývojovej dosky Arduino UNO, ktoré boli použité:
- Digital pin D2 - tlačítko -- stlačením tlačítka sa robotické rameno otáča v smere hodinových ručičiek
- Digital pin D3 - tlačítko -- stlačením tlačítka sa robotické rameno otáča proti smeru hodinových ručičiek
- Digital pin D4 - tlačítko -- stlačením tlačítka sa stredná časť pohybuje smerom dolu
- Digital pin D5 - tlačítko -- stlačením tlačítka sa stredná časť pohybuje smerom hore
- Digital pin D6 - tlačítko -- stlačením tlačítka sa vrchná časť pohybuje smerom dolu
- Digital pin D7 - tlačítko -- stlačením tlačítka sa vrchná časť pohybuje smerom hore
- Digital pin D12 - tlačítko -- stlačením tlačítka sa robot prepne do manuálneho režimu, kde sa pomocou tlačidiel D2-D7 vykonávajú pohyby jednotlivými časťami
- Digital pin D13 - tlačítko -- stlačením tlačítka sa vykonáva softvérové ovládanie robotického ramena
- Digital pin D9 - servo, ktoré je umiestnené zo spodu robota, ktoré vykonáva jeho rotáciu
- Digital pin D10 - servo, ktoré spája prvú a druhú časť
- Digital pin D11 - servo, ktoré spája druhú a tretiu časť
- Digital pin D8 - LED dióda červená
- Analog pin A1 - LED dióda zelená
- Analog pin A0 - potenciometer, ktorým sa nastavuje rýchlosť otáčania servo motorov
Algoritmus a program
Algoritmus riadenia je naprogramovaný vo vývojovom prostredí Arduino IDE. Algoritmus spočíva v ovládaní jednotlivých servo motorov pomocou tlačítok, ktoré sú umiestnené na Bread Borde. Ak je stlačené tlačítko, tak rameno vykonáva pohyb jednotlivými časťami. Pri programovaní bola použitá pomocná knižnica Servo.h, ktorú som použil na ovládanie servo motorov.
Tlačidlo S1 - stlačením sa vykonáva algoritmus pre softvérové ovládanie servomotorov
Tlačidlo S2 - aktivuje sa manuálny režim ovládania, ktoré bude realizované pomocou tlačidiel S3-S8
Tlačidlo S3 - stlačením sa vykonáva pohyb vrchnej časti ramena vrchného serva smerom hore
Tlačidlo S4 - stlačením sa vykonáva pohyb vrchnej časti ramena pomocou vrchného serva smerom dole
Tlačidlo S5 - stlačením sa vykonáva pohyb strednej časti ramena pomocou stredného serva smerom hore
Tlačidlo S6 - stlačením sa vykonáva pohyb strednej časti ramena pomocou stredného serva smerom dole
Tlačidlo S7 - stlačením sa vykonáva rotácia konštrukcie pomocou spodného serva v smere hodinových ručičiek
Tlačidlo S8 - stlačením sa vykonáva rotácia konštrukcie pomocou spodného serva proti smeru hodinových ručičiek
Točením potenciometra sa reguluje rýchlosť otáčania jednotlivých servo motorov.
Zelená LED dióda - indikuje dokončenie softvérovej simulácie ramena, keď sa rozsvieti, tak to znamená, že simulácia je dokončená. LED dióda svieti po dobu 1s a čaká, či užívateľ chce zmeniť režim činnosti na manuálny alebo či sa má vykonávať naďalej softvérové ovládanie. Ak zelená LED dióda svieti a stlačí sa tlačidlo S2 počas jej doby svietenia, tak vtedy sa dá prepnút do manuálneho režimu.
Červená LED dióda - rozsvieti sa vtedy, keď pri manuálnom ovládaní je stále držané tlačidlo a servo je mimo rozsahu svojho otáčania. Ak LED dióda svieti, tak sa nedá vykonávať pohyb v danom smere.
Zdrojový kód:
Výsledok
S výsledkom mojej práce som spokojný, pretože sa mi to podarilo spraviť tak, ako som chcel a naučil som sa ako sa pracuje s jednotlivými technológiami ako je 3D tlač a rezanie laserom. Výsledný produkt je možné vidieť na nasledujúcej fotografii.
VIDEO: https://www.youtube.com/watch?v=KnIM_8948MQ&feature=youtu.be
Súbory na 3D tlač: https://ulozto.sk/!7JFH8weZ5nPd/dtv-2015-skp