Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme



Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
PROIECT SBMM: Sistem de pozitionare


PROIECT SBMM: Sistem de pozitionare




PROIECT SBMM:

Sistem de pozitionare

Schema ansamblului este prezentata in figura:

Ansamblul este format dintr-un sistem mecanic asemanator unei sine pe care trebuie pozitionat un cursor, precum si un motor de curent continuu care actioneaza cursorul, totul fiind comandat de o placa cu microcontroler.

Modul de lucru este urmatorul: initial cursorul se afla intr-o pozitie oarecare. El poate fi adus in oricare 3 stari setate. Alegerea se face apasand unul din butoanele 1,2 sau 3 de pe tastatura microcontrolerului. Pozitia initiala a cursorului este data de o tensiune electrica asociata pozitiei. In functie de aceasta tensiune si de pozitia dorita pentru pozitionare, se determina sensul in care trebuie sa se deplaseze cursorul. Miscarea cursorului continua pana cand acesta a ajuns in pozitia dorita. Pozitiile trebuie evident sa se incadreze intr-un anumit interval, corespunzator lungimii sinei.

Viteza de deplasare a cursorului este permanent reglata dupa o formula specificata astfel incat aceasta sa fie corespunzatoare procesului de pozitionare. Asemenea pozitiei, nici viteza nu poate depasi o anumita valoare.

Microcontrolerul primeste pozitia initiala a cursorului sub forma de tensiune, pe care o converteste analog numeric, apoi comanda motorul de curent continuu pentru a deplasa cursorul in directia dorita, cu o viteza adecvata, pana ajunge la pozitia prescrisa.

COD :

#include <reg552.h>

#include '....libap_lib.h'

Timer0() interrupt 1

void main(void)

}

adc_ReadInput( 0x04, & ADC_Value );

a = pres - ADC_Value;

tens=

if (a<0)

else

dac_WriteChannels(tens,tens);

if (tens > 4095) tens = 4095;

dac_WriteChannel_B(tens);

outp_WritePort( sens );

Organigrama :




loading...




Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate