Sunteți pe pagina 1din 21

UNIVERSITATEA LUCIAN BLAGA,SIBIU

FACULATEA DE INGINERIE HERMANN


OBERTH

PROIECT
AUTOMATIZRI

CONTROLUL UNUI ROBOT FOLOSIND


DEPLASAREA MINI
Cuprins
Capitolul 1.
Introducere 3
Capitlul 2 ..4
Prii componente .4
2.1.Accelerometrul ADXL 335 4
2.2.Motorul de curent continuu 6
2.3.Driverul L293D ..8
2.4. Modulele RF 10
2.5 Microcontrolerul PIC 16F876A ...13
Capitolul 3 ..15
3.1. Diagrama bloc ..15
3.1.1 Transmitorul 15
3.1.2 Receptorul ..16
3.2.Schemele proicetului 17
3.3.Codul 18

2
Capitolul 1

Introducere

Oamenii se exprim din cele mai vechi timpuri cu ajutorul gesturilor.


Acestea reprezint motenirea noastra ancestral, de aceea viitorii notri roboii ar
trebui s recunoasc i s reacioneze la anumite gesturi umane. Pentru ca acetia
s poat identifica gesturile, au nevoie de senzori i de o putere mare de procesare.
Roboii sunt din ce n ce mai folosii deoarece au unele avantaje fa de oameni. n
primul rmd, nu obosesc i nu se plictisesc la efectuarea unor task-uri repetitive.
n al doilea rnd, att viteza ct i precizia sunt net superioare. Ei pot fi folosii n
locuri nocive astfel nct s-ar elimina riscul de accident.
Robotul reprezint punctul de intersecie al rezultatelor de vrf ntr-o serie
de domenii: mecanic, electronic, automatic, calculatoare i sisteme de acionare.
El este, de obicei, o main electro-mecanic, care poate efectua automat sarcinii.
Unii roboi necesit un anumit grad de orientare, care se poate face cu ajutorul unei
telecomenzi sau cu o interfa pe calculator. Robotii pot fi autonomi, semi-
autonomi sau comandai de la distan. Au evoluat att de mult nct sunt capabili
sa mimeze oamenii ca i cum ar avea propria minte.
Un aspect important al unui sistem robotizat de succes este interaciunea
om-main. n primii ani de robotic singura modalitate de a comunica cu un robot
era s l programezi. Odat cu dezvoltarea n tin si robotic, recunoaterea
bazat pe gesturi a luat natere. Gesturile provin de la orice micare corporal.
Recunoaterea gesturilor poate fi considerat calea pentru calculator de a ntelege
limbajul trupului uman.

3
Motivaia mea de a lucra la acest proiect a venit de la o persoan cu
handicap, care conducea scaunul su cu mainile, cu destul de multa dificultate. Aa
c am vrut s fac un dispozitiv care ar ajuta astfel de oameni s conduca scaunul cu
mult mai mult uurin i fr efort fizic mare.
n cadrul acestui proiect voi folosi microcontrolerul PIC16F877 pentru
procesare, senzorul care mi da detecta micarea minii ADXL335 care este un
accelerometru, 2 motoare de curent continu, pentru controlul motoarelor voi folosii
un driver L293D, i 2 module de radio frecventa pentru transmisie. Vom avea 2
module:
-Transmitorul care va avea ca suport o mnu, la care i se va aduga un circuit
care va cuprinde accelerometrul, microcontrolerul, baterie i modulul RF.
- Receptorul care va avea o structur mecanic cu cele 2 motoare, driverul, baterie
i modulul RF.

Capitolul 2

Prii componente
2.1 Accelerometrul ADXL335
Accelerometrul este un dispozitiv de msurare a acceleraiei pe 3 axe:
X, Y i Z. El poate msura acceleraia static a gravitaiei n aplicaii de detecie,
precum i acceleraia dinamic rezultat din micare, ocurii sau vibraii.
Utilizatorul selecteaz limea de band a accelerometrului folosind condensatorii
Cx, Cy i Cz la pinii Xout, Yout i Zout. Limile de band care poate fi selectate
in aplicaie sunt intre intervalul de 0.5-1600 Hz pentru axele X i Y, iar pentru axa
Z ntre 0.5-550 Hz.

4
Specificaia pinilor
1. Vcc -alimentarea, 5V.
2. X-OUT - acest pin d ieirea analogic a direciei X
3. Y-OUT - acest pin d ieirea analogic a direciei Y
4. Z-OUT - acest pin d ieirea analogic a direciei Z
5. GND - ground

5
2.2 Motorul de curent continuu

Motorul electric de curent continuu (cu perii) este un motor electric cu


comutaie intern care este alimentat de la o surs de curent continuu.
Constructiv, motorul conine dou parti principale, i anume:
- Statorul conine o bobin fix al carui rol este de a crea un camp magnetic
care strbate zona rotorului;
- Rotorul conine mai multe bobine ale cror capete sunt conectate la
colector (contacte metalice formate din arce de cerc izolate ntre ele, la care
se leag capetele bobinelor).

Principiul de funcionare: micarea de rotatie este cauzat de interaciunea dintre


magnetul creat n stator i cel din rotor.

Atunci cand un curent electric continuu trece printr-o bobin, n interiorul acesteia
apare un camp magnetic (H) i o inductie magnetic (B) al caror comportament
este identic cu cel al unui magnet permanent plasat in locul bobinei.

6
Inductia magnetica din rotor are o astfel de poziionare spatial nct genereaz
poli magnetici N si S, care se resping cu cei din stator, i astfel rotorul capt o
micare de rotatie.
Rotindu-se un anumit numr de grade, peria colectoare din carbune nu va mai
face contact cu capetele bobinei curente din rotor ci va ajunge s fac contact cu
capetele bobinei urmatoare. Astfel sunt dispuse geometric bobinele din rotor nct
de fiecare dat cnd este alimentat o noua bobin, efectul sa fie de continuare a
rotaiei.

Parametrii mecanici ai unui motor:


- Viteza unghiular (w) [rad/s];
- Momentul forei sau cuplul (M) [N*m];
- =dw/dt (acceleraia unghiular)
Comanda MCC:

- de tip on/off (ntr-un singur sens)

- in ambele sensuri (se face de regul cu montaj n punte H)

7
Cand S1 si S4 sunt nchise, motorul se nvrte spre dreapta iar cnd S2 si S3 sunt
nchise, motorul se nvrte spre stnga.

2.3 Driverul L293D

L293D este un driver pentru motoare de curent continuu. El are 2


canale pentru a conduce 2 motoare. Are incorporat 2 tranzistoare Darlington pentru
amplificarea curentului i un pin separat pentru a da energie extern la motoare.

8
Pinul16(Vcc1) se alimenteaz la o tensiune de 5V.
Pinul8(Vcc2) se alimenteaz la o tensiune maxim de 24V, acesta este pinul de la
care motoarele primesc curent.
Pini4,5,13,12 sunt GND, deci ii conectm pe toi 4 ntre ei i apoi ii conectati la
minusul sursei de alimentare pentru Vcc1 si Vcc2.
Pinul1(1,2EN) este pinul de ENABLE pentru primul motor i se conecteaz la
microcontroler sau la Vcc1, n funcie de programul pe care il folosim pentru a
controla primul motor.
Pini3,6(1Y,2Y) sunt pini care se conecteaz la un motor DC.
Pini2,7(1A,2A) sunt pini de control pentru un motor care se conecteaz la
microcontroler.
Pinul9(3,4EN) este pinul de ENABLE pentru al doilea motor, care se conecteaz la
microcontroler sau la Vcc1, n funcie de programul pe care il folosim n
controlarea celui de al doilea motor.
Pini14,11(4Y,3Y) sunt pini care se conecteaz la un al doilea motor DC.
Pini15,10(4A,3A) sunt pini de control pentru cel de al doilea motor, care se
conecteaz la microcontroller.

9
Pinul1 si pinul 9 (pinii de enable) sunt ca un fel de intrerupatoare; pinul1 cand este
strbtut de un curent electric cu o tensiune de 5V permite curentului electric s
ajung la primul motor, ct timp nu este strbtut de un curent electric, acesta nu
permite micarea motorului deoarece nu mai permite curentului electric s ajung
la motor. Pinul9 face acelai lucru numai c pentru al doilea motor.
Pinul2 ,pinul7, pinul15 i pinul10 (1A,2A , 4A,3A) sunt pinii de control a celor 2
motoare; dac vrem ca ambele motoare sa mearg ntr-o direcie, trebuie ca
pinul2(1A) i pinul15(4A) s aib aceeai valoare.

2.4 Modulele RF

10
Aceste module RF sunt concepute pentru a fi un instrument pentru
inginerii de proiectare electronic, dezvoltatori i studeni pentru a efectua
experimente wireless. Ele face munca mai uoar n aplicaiile wireless. Modulele
sunt sub form de PCB, unde sunt incluse codificatoare, decodificatoare, chip
pentru prelucrarea datelor i anten. Alimentarea pentru aceste module se face la
5V.
1. Transmitorul

Tensiunea de lucru: 3V 12V


Curentul de lucru: Min 9 mA, Max 40 mA
Modul rezonant: SAW
Modul de modulaie: ASK
Frecvena de lucru: 315 MHz sau 433 MHz
Viteza de lucru: Mai puin de 10 Kbps

2. Receptorul

11
Tensiunea de lucru: 3V 12V
Curentul de lucru: Min 9 mA, Max 40 mA
Modul rezonant: SAW
Modul de modulaie: ASK
Frecvena de lucru: 315 MHz sau 433 MHz
Puterea de transmisie: 25 mW (315 MHz la 12V)
Viteza de lucru: Mai puin de 10 Kbps

2.5 Microcontrolerul PIC 16F876A

12
Microcontroler-ele sunt mici creiere electronice care,
dac au primit educaia necesar (prin firmware), pot nlocui cu
succes foarte multe tipuri de circuite electrice i electronice. n
acest mod, microcontroller-ele ne permit s obinem aparate mai
mici, mai ieftine i mai performante.
Totui, orict de detept ar fi un creier, acesta nu va putea vorbi fr corzi
vocale, nu se va putea deplasa fr muchi i oase, nu va putea auzi fr urechi etc.
pentru c un creier nu poate lucra dect cu semnale electrice. n mod similar, nici
un microcontroller nu va putea emite lumin sau sunet fr un bec sau un difuzor,
nu va putea s mite ceva fr un motor, nu va putea auzi fr un microfon etc.
Asta nseamn c pentru toate lucrurile pe care nu le poate realiza singur,
microcontroller-ul are nevoie de o serie de componente auxiliare. Ansamblul
format dintre un microcontroller, firmware-ul instalat n el i toate componentele
auxiliare (fie ele electrice, electronice, mecanice, hidraulice, pneumatice, optice,
acustice etc.) se mai numete sistem nglobat (Embedded system).

13
Acest uC este un CPU RISC cu 35 de insstruciunii pe un ciclu. Are o
arhitectur Harvard iar inscruciuniile sunt pipelined.

Specificaii:
8 kB memoria flash de program
368 bytes memoria de date
15 ntreruperi
3 timere interne (timer 0 i 2 pe 8 bii, timer 1 pe 16 bii)
2 module de comparare/captur/PWM
Convertor analog-digital ADC (8, 10, 12 biti, 50 Ksps)
Pulsaie prin modulaie PWM
Comunicaie serial prin UART (RS 232), SPI, I2C, CAN

Capitolul 3
3.1 Diagrama bloc
3.1.1 Transmitorul

14
3.1.2 Receptorul

15
3.2 Schemele proiectului

16
17
3.3 Codul
#include <16f876a.h>
#byte port_a=5
#byte port_b=6
#use delay(clock=4000000)
#use fast_io(A)
#use fast_io(B)

int a;
int b;

main()
{
set_tris_a(0b00000011);
set_tris_b(0b00000000);

while(1)
{
{
setup_adc(ADC_clock_internal);
setup_adc_ports(ALL_ANALOG);
set_adc_channel(0);
delay_us(20);
a=read_ADC();
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

18
if(a>160); //eje y(adelante)

//delay_ms(50);
{ output_low(pin_b0);
output_high(pin_b1);
output_low(pin_b4);
output_high(pin_b6);

if(a<120) //eje y(atrs)

//delay_ms(50);

{
output_high(pin_b0);
output_low(pin_b1);
output_high(pin_b4);
output_low(pin_b6);

if(a>121&&a<159) //parado

//delay_ms(50);
{

19
output_low(pin_b0);
output_low(pin_b1);
output_low(pin_b4);
output_low(pin_b6);

}
}

{
setup_adc(ADC_clock_internal);
setup_adc_ports(ALL_ANALOG);
set_adc_channel(1);
delay_us(20);
b=read_ADC();
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

if(b>160) // eje x(derecha)

//delay_ms(50);
{
output_low(pin_b0);
output_low(pin_b1);
output_low(pin_b4);
output_high(pin_b6);

20
if(b<120) //eje x(izquierda)

//delay_ms(50);
{
output_low(pin_b0);
output_high(pin_b1);
output_low(pin_b4);
output_low(pin_b6);

if(b>121&&b<159) //parado

//delay_ms(50);
{
output_low(pin_b0);
output_low(pin_b1);
output_low(pin_b4);
output_low(pin_b6);

}
}
}}

21

S-ar putea să vă placă și