UNIVERSITATEA “POLITEHNICA” TIMIŞOARA
FACULTATEA DE INGINERIE HUNEDOARA
CONTROLUL UNUI ROBOT CU BRAȚ
FOLOSIND INTERFEȚE
GRAFICE CLIENT-SERVER
JAVA SI ANDROID.
Profesor îndrumător: Student:
Şef Lucrări Dr. Muscalagiu Ionel Samoilă Andrei
Pop Radu-Ciprian
Servocontrolerul SSC-32
SSC-32 (serial servo controller) este un mic servo controller care are înaltă
rezoluţie (1uS) pentru poziţionarea exactă, şi mişcări extrem de precise. Gama este
0.50mS la 2.50mS pentru o rază de aproximativ . Controlul poate fi răspuns imediat,
controlat de viteză, mişcare cronometrată, sau o combinaţie. Poziţia sau mişcarea unui
servo mecanism pot fi interogate pentru a oferi feedback la computerul gazdă. Orice
ieşire poate fi folosită ca o ieşire de nivel TTL. Există 4 intrări digitale, care pot fi statice
sau latched. De asemenea, acestea pot fi utilizate ca intrări analogice.
Jumperi Baud Rate Folosire
00 2400 Procesoare lente
01 9600 Procesoare lente
10 38.4k Procesoare perfomante
11 115.2k Comunicare PC, Update de
Firmware
Placa Fire
Puls Galben sau Alb
VS Roşu
Masa Maro sau Negru
1.3 Comanda SSC-32
Toate comenzile SSC 32 trebuie să se termine cu un caracter de transport (ASCII 13). Mai
multe comenzi de acelaşi tip, pot fi eliberate simultan într-o comandă de grup. Toate
comenzile dintr-un grup de comandă vor fi executate după ce caracterul final de trasnport
este primit.
Semnificaţia# <ch>
caracterelor folosite
P <pw> S <spd>... # <ch>pentru mişcarea
P <pw> S <spd> servomecanismelor :
T <time><cr>
<ch> Numărul canalului, în decimal 0-31
<pw> Lăţimea pulsului în microsecunde 500-2500
<spd> Viteza de mişcare în uS pe secundă pentru un canal (Opţional)
<time> Timpul în mS pentru întreaga mişcare, pentru toate canalele, 6553
maxim (Opţional)
<cr> Caracterul de transport, ASCII 13 (Necesar pentru iniţierea unei
acţiuni)
<esc> Anulează comanda curentă, ASCII 27
Exemple comenzi a servomecansimelor:
1 ,, #5 P1500 T2000 <cr> #6 P2000 S200 <cr>”
2 ,, #5 P1600 #10 P750 T2500 <cr> ”
Servomecanisme
Un servomotor este asamblat într-o cutiuţă din plastic, cu urechiuşe de prindere pe
laterale şi un ax canelat pe care este montat un braţ (sau o roată). În interiorul acestei cutiuţe se
află un motoraş de curent continuu, o serie de roţi dinţate care creează un reductor de turaţie (şi
cresterea cuplului de forţă) şi o placă electronică de control cu bucla închisă. Axul are limitator
de cursă de 180 de grade.
Servomotorul funcţionează astfel : pe placa electronică
este un generator de semnal al cărui puls este controlat de
valoarea potenţiometrului . Pentru un semnal de 0,5 ms braţul se
poziţionează complet la stânga, pentru 1,5 ms se poziţionează la
mijloc iar pentru 2,5 ms se poziţionează complet la dreapta.
Pentru robotul mobil cu braţ articulat , am folosit 2 tipuri de servo motoare :
- Servomecanismul Tower Pro TM995 BB MG Standard
- Servomecanismul Tower Pro SG5010 BB Standard
Capitolul 4 Microcontrollerul ATmega 168 este un microcontroler
CMOS de 8 – biţi de mică putere
bazat pe arhitectura RISC AVR
îmbunătăţită. Cele 32 de registre sunt
direct adresabile de Unitatea Logică
Aritmetică (ALU), permiţând
accesarea a două registre
independente într-o singură
instrucţiune.
ATmega 168 AVR are două spaţii
de memorie principală, spaţiul pentru
Memoria de Date şi pentru Memoria de
Program. În plus, ATmega168 are şi o
memorie nevolatilă EEPROM pentru
memorarea datelor. Toate cele trei tipuri
de memorie sunt cu adresare liniară.
ATmega 168 conţine 512 octeţi de
memorie de date EEPROM. Este
organizată ca spaţiu separat de date, în
care pot fi citiţi şi scrişi biţi individuali.
Regiştrii de acces EEPROM sunt în
spaţiul I/O.
Capitolul 7 Prezentarea Lucrării
Robotul mobil cu braţ
articulat construit, are în
componenţa sa, 5
servomecanisme pentru braţul
robotului care permit 5 grade
de libertate şi încă două
servomecanisme modificate
pentru rotaţie continuă, care
ajută la propulsie.
Servomecansimele sunt
reprezentate reprezentate de
drepunghiurile roşii iar
mişcările servomecanismelor
pe care poate să le execute sunt
redate prin săgeţile albastre.
Pe platformă, avem montat
servocontrollerul SSC-32 şi
braţul articulat.
Introducere
• Sistemul de operare Android este bazat pe Linux și este dezvoltat de către
Google, fiind conceput în principal pentru a rula pe dispozitive portabile
• Aplicațiile pentru Android sunt dezvoltate în principal folosind limbajul
Java, Android folosind tehnologia Dalvik Virtual Machine pentru
executarea codului Dalvik Dex-Code (cod executabil) ce se obține prin
derviarea codului executabil obținut în urma compilării Java, obținându-se
un fișier .dex.
• Caracteristici:
– PlatformaOpen –Source pentru telefoane mobile
– Scris in limbaj Java
– Dezvoltat pe nucleu Linux
– Sistem de operare multi -threading.
– Versiunile de platforma sunt compatibile intre ele
– Mediu de dezvoltare : Eclipse- PluginAVD (Android Virtual Machine) – Android
SDK, JDK
Aplicația Client
Aplicația client este folosită pentru controlul de la distanță a robotului prin realizarea
conexiunei cu aplicația Server, care trimite către robot datele pe care le primește de la
client. Aplicația este dezvoltată folosind editorul Eclipse.
În momentul în care este lansată în execuție, aplicația solicită adresa IP a
calculatorului care are rolul de server. Dacă dispozitivul mobil nu are conexiune la
rețea utilizatorul este avertizat. De asemenea, adresa IP este verificata pentru a fi
validă. Verificarea are loc in momentul in care este apăsat butonul OK.
Concluzii :
În zilele de azi,roboţii au un rol important în mai toate domeniile vieţii
noastre. Domeniile de utilizare sunt foarte variate începând de la mijloace de transport
şi terminând cu explorarea spaţială. Odată cu dezvoltarea tehnologiei, cu atât mai mulţi
roboţi sofisticaţi îşi vor face apariţia în aşa fel încât şi viaţa umană va cunoaşte o
îmbunătăţire semnificativă.
Microcontrollerul Atmega168 este foarte flexibil pentru programarea
dispozitivelor de ieşire(servomecanisme) deoarece a fost proiectat pentru a reduce
dimensiunea unui program scris în limbaj C sau în limbaj de asamblare. O altă calitate
remarcabilă a acestor microcontrollere este consumul foarte mic de energie.
Servomecanimele datorită angrenajelor şi a comparatoarelor de semnal pot să
execute mişcări foarte fine şi foarte precise.
Robotul pe care l-am construi se poate folosi într-un laborator chimic, sau
acolo unde omul este în pericol pentru a lucra cu obiecte periculoase.