Documente Academic
Documente Profesional
Documente Cultură
PROIECT
AUTOMATIZRI
2
Capitolul 1
Introducere
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
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.
7
Cand S1 si S4 sunt nchise, motorul se nvrte spre dreapta iar cnd S2 si S3 sunt
nchise, motorul se nvrte spre stnga.
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
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
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);
//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);
//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