This is an old revision of the document!
Student: Dospinescu Artemiza-Mihaela
Grupa: 334CC
Prezentarea generala a proiectului:
Proiectul constă în existența a două brațe robotice(master și slave). Utilizatorul poate executa anumite operații asupra brațului master, iar cel slave va încerca sa reproducă cu exactitate. Scopul proiectului este de a simula avantajele conexiunii la distanță între două componente master-slave. Un astfel de ansamblu poate fi folosit în telerobotică, comanda și controlul de la distanță a unui robot aflat într-o altă locație față de persoana care îl controlează. Ideea proiectului a fost dezvoltată atunci când am aprofundat domeniul și am văzut câte aspecte interesante poate avea. De exemplu, în medicină, se permite executarea anumitor proceduri, tratamente la o anumită distanță folosind un astfel de ansamblu.
Pentru a realiza conexiunea dintre cele două brațe robotice voi avea nevoie de două placuțe Arduino conectate prin SPI. În acest mod o placuță va fi asignată brațului slave, iar cealaltă brațului master. Componenta master va fi formată prin asamblarea mai multor potențiometre, fiecare detectând mișcarea pe un anumit nivel. Componenta slave va fi realizată în același mod, însă folosind servomotoare. Astfel, servomotoarele vor executa mișcări bazate pe valorile generate de potențiometre.
Ansamblul va semnala utilizatorului faptul că nu este în stare de funcționare prin prezența unui led RGB ce afișeaza culoarea roșie. Prin apăsarea unui buton ledul devine verde, ansamblul intră în stare de funcționare și fiecare braț robotic asteaptă câte un input: componenta master așteaptă input de la utilizator, iar cea slave de la componenta master. În acest fel, la primirea inputului de la utilizator de către componenta master, datele vor fi transmise către componenta slave prin intermediul celor două plăcuțe, urmând ca brațul robotic slave să trimită un ACK înainte de a executa mișcarea. În cazul în care componenta master nu primește vreun răspuns, ansamblul va intra în stare de blocare pentru câteva secunde semnalând acest lucru prin intermediul ledului RGB ce devine roșu și execută operația de blink pe durata acelui interval de timp. La expirarea timpului, componenta master va cere reexecutarea operației.
Interacțiunea dintre utilizator și ansamblu se va face prin intermediul ecranului LCD.
Schema bloc:
Listă piese:
Schema electrică:
Funcții implementate:
Logica ansamblului:
În starea inițială ansamblul semnalează prin ledul RGB roșu că nu este în stare de funcționare, cele două brațe nu comunică. Ecranul LCD va printa “Press the button”.
La apăsarea butonului de către utilizator ledul va deveni verde, iar LCD-ul va printa “Validate!”, atenționând utilizatorul să folosească senzorul de amprente pentru identificare. În urma unei identificări corecte LCD-ul va afișa “In use!”, iar utilizatorul va putea manipula brațul master, asteptând un raspuns de la brațul slave.
În timpul mișcărilor este posibil ca led-ul să devină roșu și să efectueze operația de blink pe parcursul unui interval scurt de timp în care ansamblul se găsește în stare de eroare și nu poate fi utilizat. Acest lucru se întâmplă din cauza unui mesaj neașteptat de la brațul slave, caracterul transmis ca răspuns nu este cel corespunzător. Un astfel de comportament arată ca brațele master și slave nu comunică ideal, iar comportamentul ansamblului poate fi nedefinit în acele situații. Utilizatorul este nevoit să aștepte ca led-ul să devină verde pentru a putea continua.
La final, a doua apăsare a butonului va închide ansamblul, ducându-l în starea inițială.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Resurse Hardware:
Resurse Software: