Proiectarea Dispozitivului de Comanda Si Control cu Procesul de Captare a Imaginii

CUPRINS

Introducere 9

1. CERCETAREA ȘI ANALIZA SISTEMELOR DE COMUNICARE, COMANDĂ ȘI CAPTARE A IMAGINII 12

1.1. Analiza sarcinii de proiectare a dispozitivului 12

1.2. Cercetarea dispozitivelor existente de comandă, comunicare și captare a imaginii 13

1.2.1. Studierea dispozitivelor de captare a imaginii 13

1.2.2. Analiza comparativă a dispozitivelor de captare a imaginei 16

1.2.3. Cercetarea metodei de transmitere a imaginii la calculator 18

1.2.4. Examinarea sistemelor de comanda cu camera 19

1.3. Formularea caietului de sarcini și studierea problemelor de proiectare a sistemului 31

1.3.1. Descrierea funcțiilor dispozitivului de comunicare și comandă 31

1.3.2. Studierea problemelor de proiectare a întregului sistem 32

Concluzii: 33

La colectarea informației am observat că costul la aceste dispozitive este destul de mare, fiecare dispozitiv se împarte în accesorii: softul are prețul sau, mecanică și controlul computerizat costă foarte mult. Dar în schimb se oferă o precizie maximală și o conducere cu un pachet bogat de funcții: time-lapse, panorama, repetabilitate. La fel am depistat modele analogice cum ar fi controlul unei mașinuțe de jucărie, a unei camere de supraveghere. Aceste dispozitive costa mai ieftin și oferă aceeași mișcare proporționala a motorului, dar sunt limitate la funcții cum ar fi filmare și repetabilitate. 33

2. PROIECTAREA DISPOZITIVULUI DE COMUNICARE ȘI COMANDĂ CU PROCESUL DE CAPTARE A IMAGINII 34

2.1. Crearea planului de funcționare a dispozitivului 34

2.1.1. Proiectarea grafului pentru comunicare și comandă cu dispozitivul 34

2.1.2. Proiectarea algoritmului de funcționare a sistemului 36

2.2. Proiectarea schemei de structura a sistemului 40

2.3. Elaborarea schemei electrice principiale a dispozitivului de acționare 51

2.4. Proiectarea dispozitivului mecanic de deplasare pe cele trei axe 59

2.5. Simularea metodelor de rezolvare a sarcinii de proiectare 63

2.5.1. Acționarea motoarelor servo și motoarelor pas cu pas 63

2.5.2. Achiziția de date de la senzorii optici 66

2.5.3. Simularea comunicării în mediul de simulare Matlab 70

Mai sus a fost rezolvata partea de acționare a motoarelor și achiziția de date de la senzori optici, dar Arduino are nevoie de comunicare cu calculatorul, el primește și transmite pachete de mesaje. Ce se va întâmpla în caz ca pachetele sunt eronate? Controlerul rezolva instrucțiuni cu totul diferit de sarcinile transmise. Pentru a rezolva aceasta problema se folosește „Cyclic Redundancy Check”, este o metoda de control al mesajului. Pe lingă mesaj se transmite și controlul sumei apoi receptorul la fel calculează suma și compara suma primita cu suma recepționata, și în caz ca sumele diferă se găsește bitul eronat și se corectează. 70

2.6. Proiectarea algoritmilor de funcționare a programului pentru controlerul Arduino 73

2.7. Elaborarea softului pentru interfața de comunicare cu controlerul 79

2.7.1 Proiectarea diagramelor UML pentru interfața de lucru 79

2.7.2. Crearea softului de citire a „joystic”ului 81

2.7.3. Proiectarea softului de comunicare a interfeței cu portul COM 84

Concluzii: 89

3. ARGUMENTAREA ECONOMICĂ ȘI ESTIMAREA FIABILIĂȚII DISPOZITIVULUI 90

3.1. Argumentarea economică a dispozitivului 90

Modul Management: 97

Concluzii: 97

3.2. Calculul fiabilității dispozitivului 98

Concluzii: 105

3.3. Securitatea activității vitale 106

Concluzii finale 110

Bibliografie: 112

ANEXE……………………………………………………………………………………………………………………….100

Introducere

Arta și industria cinematografică în vorbirea curentă sunt cunoscute sub denumirea de cinematografie. O cameră video ce se folosește în cinematografie, este o cameră folosită pentru achiziționări electronice de imagini de mișcare, inițial dezvoltat de industria de televiziune, dar acum comună în alte aplicații. În ultimul timp are loc o dezvoltare în direcția filmărilor utilizând conducerea electronică a camerei video, aceasta reprezintă un instrument numit Slider, care permite camerei să se deplaseze lin prin spațiu cu ajutorul motoarelor ce se conduc de partea electronică, pentru a permite rapid și ușor filmarea. Deoarece bugetul în cinematografia mondială este colosal, principală problemă constă în mărirea calității la filmări, și găsirea unei noi idei pentru a atrage publicul, ca de exemplu apariția formatului 3D.

Deci se cere de elaborat un dispozitiv asemănător unui Slider necesar pentru comunicare și comandă pentru procesele de captare a imaginilor.

Actualitatea acestei teme se demonstrează prin necesitatea folosirii la moment a acestui dispozitiv. Dispozitivul realizează funcțiile:

Filmare;

Fotografiere;

„Time-lapse”;

Panoramă;

Animație;

Conducerea la distanță cu ajutorul unui „joystic”;

Repetabilitatea traseului înscris;

Deoarece aceste sarcini la moment sunt foarte întrebate, rezultă că dispozitivul va aduce profit. Chiar dacă cu timpul aplicațiile vor fi modernizate, softul rămâne adaptiv la conducerea oricărui mecanism robotizat. Posibilitatea rezolvării aceste probleme se explica prin folosirea controlerelor moderne, folosirea electronicei performante și mecanismelor de acționare.

Scopul lucrării constă în proiectarea dispozitivului robotizat de conducere cu camera video cu următoarele funcții:

– Deplasarea liniară pe axa x, efectuarea rotației în jurul axelor x(Roll), z(Yaw). Deoarece operatorul tremură în timpul filmării se proiectează mecanica de deplasare și rotație pentru a minimiza această problemă. Această soluție duce la aparția problemei de conducerea lină a motoarelor, și minimizarea zgomotelor apărute la mișcarea manipulatorului;

– Conducerea motoarelor trebuie să fie făcută la distanță, cu posibilitatea conducerii de la un simplu „game-pad”. Acționarea se face la distanță pentru a amplasa mecanismul în locuri periculoase pentru om, sau locuri la care omul nu are acces. În regim real time operatorul primește datele de la cameră pentru a putea prelucra, sau a observa direcția de mișcare a camerei;

– Cu ajutorul unui soft proiectat, de realizat metodica de conducere a sistemului: selectarea vitezei de acționare, selectarea gradelor de rotație, acționare cu viteza proporțională de deplasare a analogului joystic-ului;

– Crearea dispozitivului adaptiv la alte softuri(exemplu DragonFrame);

– Adaptabilitatea softului la orice sistem robotizat;

– Posibilitatea repetabilității mișcării camerei la alegerea utilizatorului.

Rezolvarea scopului proiectului se realizează prin elaborarea obiectivelor:

Cercetarea prototipurilor, și analiza căilor de soluționare a sarcinii;

Elaborarea grafului și algoritmului de funcționare a dispozitivului;

Proiectarea schemei de structură a dispozitivului, și cercetarea modulelor de acționare și achiziție;

Elaborarea schemei electrice principiale;

Proiectarea mecanicei;

Simularea modulelor de acționare(motoare), și achiziție(senzori optici), și simularea controlul sumei în mediul de simulare Simulink Matlab;

Elaborarea algoritmilor, și subprogramelor de comunicare, achiziție, acționare pentru controlerul Arduino2560;

Proiectarea diagramelor UML, și elaborarea softului de comunicare la distanță cu placa bord Arduino;

Calculul fiabilității dispozitivului;

Calculul părții economice.

În concluzie, dispozitivul oferă: precizie de filmare, repetabilitate, adaptabilitate la orice soft, adaptabilitatea softului la orice sistem robotizat format din 3 grade de libertate, efectuarea zoom-ului și focusării, posibilitatea conducerii la distanță prin intermediul unui gamepad. Această inovație este doar o picătură în mare, dar tot odată o bază bună pentru perspectiva de dezvoltare a dispozitivului(crearea intelectului de monitorizare a mișcării unui personal, adaptabilitatea softului la mai multe grade de libertate a mecanismului robotizat), deci ne rămâne doar să ne imaginăm funcțiile noi pentru satisfacerea necesităților umane.

1. CERCETAREA ȘI ANALIZA SISTEMELOR DE COMUNICARE, COMANDĂ ȘI CAPTARE A IMAGINII

1.1. Analiza sarcinii de proiectare a dispozitivului

În proiectul de licența se cere de elaborat un dispozitiv de comunicare și comandă cu procesul de captare a imaginilor. Pentru a înțelege mai bine sarcina de proiectare se împarte întrebarea în mai multe puncte. Prima sarcina constă în captarea imaginei în memoria camerei de filmat, apoi imaginea trebuie transmisă la calculator în timp real cu o întârziere cât mai mica. A doua sarcina constă în posibilitatea deplasării camerei pe o traiectorie anumită, pentru aceasta camera trebuie să posede mai multe grade de libertate.

Gradele de libertate – indică posibilitatea unei figuri geometrice de a face mișcare geometrică(tridimensional) în spațiu, și anume posibilitatea deplasării înainte/înapoi, sus/jos, stânga/dreapta(în sistemul cartezian tridimensional de coordonate), inclusiv rotații pe fiecare dintre cele trei axe(Roll, Pitch, Yaw). Deoarece de la început se proiectează prototipul la sistem iar apoi pe baza lui se creează dispozitivul întreg, mai bine ar fi să proiectam cit mai puține axe pentru a înțelege algoritmul iar mai apoi de proiectat întregul sistem cu 3 deplasări și cu 3 rotații. Deoarece deplasarea pe “y” nu are sens din cauza zoomu-lui, se înlăturează aceasta axa. La fel se scot restul axelor ce se folosesc la minim. Cele mai folosite axe de coordonate sunt:

Deplasarea liniara pe axa x;

Rotația în jurul axei x (Roll);

Rotația în jurul axei z (Yaw).

Pentru a deplasa camera pe aceste axe de coordonate este necesar de proiectat un dispozitiv de comanda cu mișcările motorului. Acest dispozitiv trebuie să deplaseze camera lin pe o traiectorie strictă la diferite viteze. Dispozitivul va fi condus de la calculator, anume aici se va face comunicarea, de la calculator se vor transmite coordonatele spațiale ale camerei, și tot prin intermediul lui va avea loc citirea datelor imaginii curente. Înainte de a forma pachete de date alcătuite din coordonatele spațiale a camerei, este necesar de primit aceste coordonate, ele pot fi primite de la un joystic, sau prin accesarea coordonatelor înscrise anterior de la joystic, aceasta funcție la fel poate fi folosită la accesarea aceluiași traseu la timpuri diferite.

In concluzie, este necesar de elaborat un dispozitiv ieftin, cu precizie maximă, ce poate conduce cu deplasarea camerei pe o traiectorie. Dispozitivul trebuie să fie condus de la un calculator, comunicare se va face în doua direcții, pe primul canal se vor transmite date coordonatelor carteziene, iar pe al 2 va avea loc citirea imaginei în timp real. Iar pentru a forma coordonatele și a citi imaginea este nevoie de un soft aparte înregistrat în calculator, cu funcția de conducere cu tot sistemul, și inclusiv cu funcția de citire a datelor de la joystic.

1.2. Cercetarea dispozitivelor existente de comandă, comunicare și captare a imaginii

1.2.1. Studierea dispozitivelor de captare a imaginii

Camera video de transmitere – reprezintă un dispozitiv electronic ce convertește o imagine optica produsă de lentilele de pe tubul camerei foto într-un flux digital de date. Semnalul video poate fi transmis prin rețele de radio prin cablu, sau prin internet, precum poate fi și înregistrat pentru redare ulterioară.

În calitate de dispozitiv de luat vederi deseori se folosește DSLR camera (Digital single-Lens reflex camera) – aparat digital de fotografiat pe baza unui obiectiv(vizor de oglinda).

Principalul avantaj față de alte tipuri de aparate foto digitale este vizorul optic, moștenit de la camerele SLR, ce oferă o gamă largă de culori, și posibilitatea filmării la luminozități scăzute. Dar SLR are și dezavantajele sale: întârziere, rezoluție relativ mică.

Matricea utilizată în camere digitale DSLR, de regulă, sunt mult mai superioare după dimensiunea fizică a matricei de la aparate foto digitale compacte. Matricea mai mare oferă o calitate mai bună a imaginei, zgomot mai redus, și o sensibilitate mai mare.

Exeate alcătuite din coordonatele spațiale a camerei, este necesar de primit aceste coordonate, ele pot fi primite de la un joystic, sau prin accesarea coordonatelor înscrise anterior de la joystic, aceasta funcție la fel poate fi folosită la accesarea aceluiași traseu la timpuri diferite.

In concluzie, este necesar de elaborat un dispozitiv ieftin, cu precizie maximă, ce poate conduce cu deplasarea camerei pe o traiectorie. Dispozitivul trebuie să fie condus de la un calculator, comunicare se va face în doua direcții, pe primul canal se vor transmite date coordonatelor carteziene, iar pe al 2 va avea loc citirea imaginei în timp real. Iar pentru a forma coordonatele și a citi imaginea este nevoie de un soft aparte înregistrat în calculator, cu funcția de conducere cu tot sistemul, și inclusiv cu funcția de citire a datelor de la joystic.

1.2. Cercetarea dispozitivelor existente de comandă, comunicare și captare a imaginii

1.2.1. Studierea dispozitivelor de captare a imaginii

Camera video de transmitere – reprezintă un dispozitiv electronic ce convertește o imagine optica produsă de lentilele de pe tubul camerei foto într-un flux digital de date. Semnalul video poate fi transmis prin rețele de radio prin cablu, sau prin internet, precum poate fi și înregistrat pentru redare ulterioară.

În calitate de dispozitiv de luat vederi deseori se folosește DSLR camera (Digital single-Lens reflex camera) – aparat digital de fotografiat pe baza unui obiectiv(vizor de oglinda).

Principalul avantaj față de alte tipuri de aparate foto digitale este vizorul optic, moștenit de la camerele SLR, ce oferă o gamă largă de culori, și posibilitatea filmării la luminozități scăzute. Dar SLR are și dezavantajele sale: întârziere, rezoluție relativ mică.

Matricea utilizată în camere digitale DSLR, de regulă, sunt mult mai superioare după dimensiunea fizică a matricei de la aparate foto digitale compacte. Matricea mai mare oferă o calitate mai bună a imaginei, zgomot mai redus, și o sensibilitate mai mare.

Exemplu de schemă de structură a DSLR camerei este reprezentat în figura de mai jos:

Fig. 1.2.1. Structura camerei DSLR

La selectarea obiectelor de fotografiat și monitorizarea directă a lui se folosește ocularul vizorului(8), dar imaginea reală este percepută de lentilele camerei(1) ce se proiectează pe ecranul focusat (5) cu ajutorul oglinzii (2). Pentaprisma (7) întoarce imaginile în pozițiile lor reale. După ce să ales obiectul și a fost tastat butonul printr-un mecanism special, se elimină oglinda (2), pe un timp de întrerupere se deschide zăvorul (3), și pe matricea (4) se proiectează imaginea.

Aceasta cameră poate fi folosită pentru crearea animației sau poate fi folosită pentru crearea time-lapse de scurt metraje, sau chiar pentru filmare.

Time lapse (fotografierea lentă) – fotografierea la o rată mai mică decât cea standardă de 24 cadre/secundă. O metoda de time lapse este captarea pe cadre – unde o perioada de timp mecanismul este oprit, dar expoziția se face pe cadre la intervale mari, pentru înregistrarea proceselor lente. Intervalul poate ajunge la câteva minute, aceste efecte se folosesc mult în animație. Atunci când se demonstrează filmul cu viteza proiecției apare efectul de mărire a mișcării, o iluzie de viteză înaltă de mișcare a proceselor.

Aproape imposibil de ales un aparat de fotografiat special, deoarece toate au avantajele și dezavantajele lor, dintre care majoritatea sunt subiective și depind de preferința personală. Mai jos voi descrie fiecare cameră pentru a conștientiza plusurile și minusurile.

1) Nikon Ds3 – este o fotocameră foarte bună, dar ca cameră de filmat nu are caracteristici performante. O caracteristică importantă ce deosebește această cameră de restul camerelor este posibilitatea fotografierii minunate în condiții de luminozitate minimală datorită cipului NR. Filmarea se face la o rezoluție de 720p24p, formatul filmării este MPEG, dar are o restricție de 5 minute de filmare. Iar la conectarea HDMI camera filmează la o rata mai mică decât 24p. Cu toate aceste neajunsuri camera costa scump.

2) Panasonic GH1 – dimensiunile camerei sunt mici, deoarece are posibilitatea instalării a obiectivelor de diferite dimensiuni și caracteristici. Rezoluția înscrierii este 1080p24p, sau720p50p. Microfonul are o caracteristică mai performantă față de camerele descrise. Camera costa puțin, este ușoară și de dimensiuni mici, cu toate acestea are codare slaba AVCHD, și HDMI nu lucrează în timpul înscrierii, acest minus nu ne aranjează pentru proiectare.

3) Canon Rebel T2i/550d – camera are o performanță în posibilitatea înregistrării la rezoluția fullHD. Apare iarăși o problema la conectarea HDMI, cade rezoluția până la 480p. Ca și restul Canon timpul de înregistrare atinge până la 12 minute. Camera este destul de ieftină pentru caracteristicile sale, posibil că prețul este dirijat de un dezavantaj mare, nu este ermetică, și în condiții de mediu nefavorabile poate să se deterioreze.

4) Canon 7D – prima camera Canon care are un buton de aprindere a regimului video și tot așa simplu se deconectează, unde are loc întoarcerea în regim automat de fotografiere. Camera este foarte ermetica și o face rezistentă la praf și umezeală. Cu această performanță ușor se pot crea time-lapse în condiții nefavorabile a mediului la o perioadă destul de mare, chiar și zile întregi. Pentru video regim camera posedă caracteristici de 24p,25p,30p în regim 1080p și 50p,60p în regim 720p. Camera poate filma 8,9 imagini într-o secundă. HDMI monitoringul este până când cel mai bun, chiar și 1080i nu se schimbă în timpul filmării. Prețul camerei este destul de bun, dar totuși un dezavantaj apare la o luminozitate nefavorabilă, imaginea nu are caracteristici bune.

5) Canon 5DMkII – camera poate filma fullHD datorită unui senzor mare, dimensiunile matricei sunt 864 mm2. Caracteristicile imaginii sunt bune la o luminozitate mai mică, totuși mai bună ca la 7D dar nici pe aproape de D3S. Dezavantajul principal al camerei este încălzirea ei și nu se avertizează cu nici un fel de informație despre încălzire. Astfel la încălzirea camerei, poate liber să se stingă sau să se deterioreze.

6) Canon 1DMkIV – este o modernizare a camerei 7D, regimurile sunt la fel ca la 7D, ermetizarea este mai performantă, ceea ce duce la un dezavantaj a camerei, ea devine mai grea. La luminozitate mai mică camera filmează destul de bine dar totuși nu ajunge la calitatea camerei D3S. Încă un dezavantaj este restricția filmării, doar 12 minute, și prețul este prea mare pentru niște performanțe cât de cât mai bune.

1.2.2. Analiza comparativă a dispozitivelor de captare a imaginei

Cu toate că dispozitivele de captare a imaginei se aleg în dependență de necesitate, voi încearcă să fac o comparație vizibilă pe baza la câțiva parametrii principali. Construiesc o diagrama la care fiecare axa reprezintă un parametru a camerei de filmat. Pentru a construi diagrama elaborez un tabel cu date despre parametrii camerelor. Deoarece prețul trebuie să fie minimal fac o șmecherie, pun un preț etalon de 3000$ și din suma aceasta scad prețul camerei. Cu cît rezultatul este mai mare cu atât camera este mai ieftină și va avea loc reprezentarea pe diagrama.

Tabel 1.2.1. Tabelul caracteristicilor camerelor

După ce am completat tabelul construiesc diagrama pentru a observa dispozitivele de captare evidențiate esențial după parametrii.

Fig. 1.2.2. Diagrama parametrilor camerelor

Din diagrama și tabel se observă două camere ce posedă câteva caracteristici performante, camera 7D cu un preț și calitate rezonabila, și 5DMkII la un preț mai ieftin dar cu un neajuns legat cu HDMI. Mai jos voi reprezenta aceste camerei pentru a observa și dimensiunile lor, deoarece acest parametru este foarte important pentru proiectarea mecanicii. Cu cât mai mică și mai ușoară este camera cu atât mai simplu se va alcătui platforma pe care se va mișca aceasta cameră. Informația despre cele 2 camere de filmat a fost luată de pe pagina http://snimifilm.com/statyi/filip-blum-vybor-dslr-kamery-chto-kupit, aici au fost formulate niște concluzii referitor la alegerea camerelor de luat vederi.

Fig. 1.2.3. Camera 7D Fig. 1.2.4. Camera 5DmkII

Camera 7D are gabarituri 148 × 111 × 73,5 mm, iar cealaltă camera 152 × 114 × 75 mm, astfel se ajunge la concluzia ca mai bine ar fi de folosit camera 7D datorită prețului, calității și gabaritelor mai mici față de celelalte camere performante.

Dar totul depinde de condițiile de folosire, de necesitatea calității performante și de bugetul care îl posedam. Astfel se poate de ales o camera la un preț mai ieftin, dar cu un avantaj special.

Toate aceste camere sunt folosite mai mult pentru time-lapse și animație, dar în cazul când trebuie să filmam video de o durată mai mare se folosesc camere speciale de filmat, ca de exemplu: GoPro Hero3. Acumulatorul la aceasta camera permite înregistrarea neîntreruptă în termen de 95 minute de 1280 × 720 50p cu Wi-Fi oprit, comunicare are loc fără fir dar necesita consum mult de energie.

Fig. 1.2.5. Camera de filmat GoPro Hero3

Camera conține un cuib pentru flash-card de până la 64 Gb, așa se poate înscrie un video cu o durata mare de timp. Pentru așa parametri și dimensiuni mici camera nu costă scump, în jur la 300-1000$, totul depinde de accesorii aleși.

1.2.3. Cercetarea metodei de transmitere a imaginii la calculator

Deoarece camerele ieftine nu au posibilitatea transmiterii imaginii prin WiFi în real time, a fost elaborat un dispozitiv special care la dorința se poate conecta prin HDMI la camera video. Cu ajutorul lui se poate primi în regim real imaginea la calculator pentru a putea înregistra sau manevra cu procesul de captare a imaginii. Să nu uităm că la camerele analizate mai sus calitatea video scade în timpul filmării și în momentul folosirii canalului HDMI, doar camera 7D nu-și schimbă caracteristicile ei, astfel a mai apărut un plus pentru a folosi doar aceasta camera. Toate Cube Teradek encodere folosesc un nivel înalt de compresie H.264. Rezultă că se . Un nou punct de acces MIMO mărește productivitatea comunicării fără fir, și permite folosirea funcțiilor special, cum ar fi controlul camerei de la dispozitive ca iPads și iPhones. Aceasta funcție permite Master Mode, ce oferă o conexiune directă dintre dispozitiv și Teradek 802,11 pe banda de 5,8Ghz. Poate de transmis 1080p HD video cu o viteză de 5Mbit prin Wifi sau Ethernet de la 10Mbit în sus

Fig. 1.2.6. Video Stream Teradek Cube

Dispozitivul este dotat cu un acumulator ce poate fi acționat la necesitate, și permite utilizatorului să primească datele timp de o oră jumate fără folosirea alimentării adăugătoare. Pentru a manipula cu procesul de captare a imaginii se folosește soft special TeraCentral ce poate fi instalat la PC, iPads sau Iphones.

Cu toate aceste performante dispozitivul are un dezavantaj esențial, anume prețul mărit de 1400$. Dacă nu dispunem de un buget mare, mai bine ar fi să transmitem datele la calculator prin fir pentru a ne scuti de cheltuielile majore.

1.2.4. Examinarea sistemelor de comanda cu camera

Deci, „Slider”(din engleză ,,to slide – alunecare”) – echipamentul folosit în producția video și de film, cu ajutorul căruia se realizează filmarea liniară pe orizontal, vertical sau la un unghi.

Principalele caracteristici ce asigură mișcare și viteză constantă de transport, sunt realizate prin: iscusința operatorului; materialul și metoda de fabricație a feroviarului; tipul de roument; greutate transportului. Cu alte cuvinte, obținerea rezultatul dorit este în mare măsură determinată de caracteristicile de proiectare ale „Slider”ului, atât mecanice cât și electronice (conducerea lină prin pwm). Mai jos sunt prezentate câteva dispozitive de mișcare a camerei, necesare pentru a forma o viziune asupra dispozitivului proiectat.

a) „Slider” pentru DSLR Canon 5D, 7D Liner-4F(1,2 m) poate efectua Roll și Pitch. DSLR(Canon 5D, 7D) alunecă pe „Slider”, imaginea subiectului este obținuta din diferite unghiuri. Folosind un Liner „Slider”-4F cu camerele DSLR(Canon 5D, 7D) primim un avantaj, nu se folosește căruciorul operatorului. Spre deosebire de cărucioare voluminoase cursorul poate fi utilizat chiar și în spații închise. „Slider” Liner-4F este ușor și confortabil pentru transportare. Schimbarea unghiurilor și a punctelor de filmare nu vor lua mult timp și nu este nevoie de personal tehnic suplimentar(acționari, muncitori, etc). Baza pentru montarea DSLR „Slider” este universală potrivită pentru aproape toate tipurile de camere. Dacă aparatul de fotografiat este ușor, se poate folosi doar un singur braț. În cazul în care camera este mare, pentru echilibrarea corectă a greutății este nevoie de două trepieduri.

Fig. 1.2.7. DSLR camera dirijata de operator

Un neajuns al acestui dispozitiv este limitarea numărului de axe prin care se mișcă camera și mișcarea efectuată de către operator duce la scăderea preciziei deplasării camerei pe axele de coordonate, dar toate aceste neajunsuri pot fi compensate cu prețul redus de 285$.

b) CineMoco – un model compact condus de motor alcătuit din „Slider”, utilizat pentru fotografiere și pentru crearea filmelor time-lapse. CineMoco realizează mișcări netede și repetabile, și poate fi schimbat la comandă pentru crearea animațiilor stop-motion. Se rulează de la software-ul open source. Principalul avantaj pentru acest dispozitiv este posibilitatea mișcării pe o cale „skatetrack” utilizat la majorarea mișcarea line, și poate fi deplasat pe orice altă cale. Dispozitivul este adaptabil pentru orice situații cu utilizare de triplete sau fără. El este mobil și se poate transporta ușor în orice mediu. Ultimul avantaj este ca Slider-ul poseda un acumulator reîncărcabil. Din neajunsuri se observă mișcarea doar pe o singură axa, posibilitatea de a face doar fotografii și time-lapse, fără filmare. Dimensiuni mici a skatetrack micșorează unghiul de fotografiere. Dispozitivul are nevoie de o memorie mare de stocare a fotografiilor.

Fig. 1.2.8. Camera CineMoco

c) Camera „Slider” IGUS – este unul din cele mai populare dispozitive, construit pe un suport solid, rigid. Sistemul este condus de motor de curent continuu și un controler pentru a controla frecventa de impulsuri ce duce la controlul vitezei de deplasare. Operatorul poate conduce cu acest dispozitiv de la un bloc de comandă, unde se poate regla viteza de deplasare, direcția și calitatea la video.

Fig. 1.2.9. IGUS „Slider” camera

Acest sistem se poate deplasa doar pe o singură axă, dar tripletele pot fi reglate la înălțimi dorite pentru a putea schimba unghiul de filmare, deplasarea este lină dar operatorul realizează conducerea de pe loc cu viteza de mișcare a camerei video, ceea ce face lucrul anevoios. Dimensiunile sunt de la 1 până la 3 metri, construcția nu este destinată pentru trasee lungi de filmare. Cu toate aceste neajunsuri simplitatea și prețul rezonabil de 400$ fac acest dispozitiv cel mai popular pentru filmarea filmelor de scurt metraj.

d) MPT1100-SS – un dispozitiv scump de 700$, datorită construcției rigide și precise. Materialul folosit este aluminiu, ce duce la o construcție ușoara, dacă se socoate rigiditatea mecanismelor. Construcția este adaptabilă la orice tip de camera DSLR. Cele 2 motoare cu angrenaje de precizie RPM oferă mișcare precisă și netedă. Controlul proporțional se face de la un joystic, ce conduce dispozitivul pe cele 2 axe.

Fig. 1.2.10. Sistemul MPT1100-SS

La sistem se mai poate conecta un bloc cu posibilitatea de a conduce cu doua servo motoare suplimentare. Fiecare buton controlează în mod proporțional servo motoarele corespunzătoare.

Fig. 1.2.11. Servo draiver pentru conducerea servo motoarelor

e) Rig Animoko – este un nou sistem profesionist pentru crearea animației, în cazul în care precizia este importantă, dar nu se întrebuințează viteza acțiunii. Unitatea demontată este foarte mică și compactă și poate fi ușor stocată într-un dulap, dar atunci când se montează se obține un dispozitiv de operare mare cu posibilitatea adăugării axelor suplimentare. Ca și în toate sistemele MRMC, unitatea se comandă cu software-ul „Flair”, oferă setul complet de funcții de control și de animație de mișcare cu până la 32 de axe de mișcare.

Fig. 1.2.12. Rig Animoko pentru crearea animației

f) Ulti-Head este proiectat pentru controlul mișcării, cu adaos de axe suplimentare de mișcare. În special, axa Track este un grad extraordinar de libertate. Acest sistem costa foarte scump în jur la 10000$ dar precizia și viteza mișcării este foarte mare.

Fig. 1.2.13. Sistemul Ulti-Head

Un beneficiu la acest sistem este posibilitatea mișcării de operator a camerei pentru a stoca traseul curent iar apoi se poate repeta ori de câte ori este necesar. UltiHead poate fi controlat la distanță cu ajutorul, joystic-uri, sau pan-baruri. Alternativ, poate fi programat de la tastatură, folosind software-ul avansat „Flair” cu o interfață simplă. „Flair” oferă, operatorului posibilitatea de a vizualiza mișcare, atât numeric cât și grafic și la necesitate să facă ajustări după cum este necesar înainte de a înfăptui o acțiune. Pe lingă comandă și captare, sistemul oferă posibilitatea redactării grafice pentru video și pentru animație.

În continuare se va face o abatere de la aceste sisteme și se trece la dispozitive ce pot avea tangențe cu dispozitivul proiectat. Primul prototip este:

1. Pan Tilt Head – este un mecanism alcătuit sub forma de cran pentru deplasarea camerei pe toate direcțiile, și inclusiv posibilitatea de a filma de la înălțime pentru a putea monta o altă formă de viziune a imaginii. Dispozitivul are un bloc de comandă cu motoare pentru deplasarea camerei cu o anumită viteză și pe o traiectorie stabilită.

Fig. 1.2.14. Sistemul Pan Tilt Head

2. Următorul dispozitiv proiectat poate fi comparat și cu partea robototehnică, roboții de obicei sunt conduse de motoare electrice: pas cu pas sau motoare servo. Conducerea motoarele se face de un microcontroler la care se conectează draiverul necesar și respectivul motor. Metodele de conducere a motoarelor se vor analiza în următorul capitol pentru trecerea directă a proiectării.

Fig. 1.2.15. Robot manipulator Fig. 1.2.16. Manipulator cu camera

3. Încă un prototip poate fi robotul de studiere a planetelor. Acest dispozitiv nu numai realizează filmări, dar face achiziții de date de pe diferiți senzori, și înfăptuiește comunicarea la distanța cu bord controlul. Comunicarea este în 2 direcții: pentru a transmite date necesari la conducerea motoarelor și mișcarea robotului, cât și primirea datelor de la senzorii robotului.

Fig. 1.2.17. Robot pentru cercetarea planetelor

4. Un echivalent la mișcarea camerelor poate servi sistemul de supraveghere video bazat pe camere rotative controlate de motoare. Aceste camere comunica bidirecțional: pentru a primi datele ce caracterizează direcția mișcării și retransmite datele filmării.

Fig. 1.2.18. Camera video de supraveghere

5. În calitate de dispozitiv de comunicare și acționare proporțională sunt sistemele conduse la distanță: quadrocopter-ele, mașini controlate prin unde radio.

Prima radiocomandă a fost alcătuita de Nicola Tesla, și până în zilele noastre aceste sisteme se folosesc pentru conducerea la distanță cu alte dispozitive. Un exemplu de schema de acționare cu motoare prin radiocomanda este reprezentată în figura de mai jos.

6. În schema controlerul conduce cu cele 2 motoare, cu ajutorul cheilor el comutează în așa fel ca motorul să se rotească în direcția dorită.

Fig. 1.2.19. Schema conducerii proporționale a motoarelor

Încă un exemplu este reprezentat mai jos, aici partea de recepție reprezintă un decoder DTMF. DTMF semnal se folosește pentru a forma numărul de telefon, el este compus din 2 semnale sinusoidale de frecvența fixata și ușor poate fi codat / decodat. Pentru a coda este necesar de adunat 2 semnale sinusoidale. Spre exemplu pentru a transmite cifra 5, atunci frecvența primului semnal va fi 1336 Hz, și al doilea 770 Hz, și acest semnal se va primi pe al 2 telefon.

Tabelul 1.2.2. Tabelul frecvențelor DTMF

În schema se folosește decoderul MT8870, pe intrările digitale el primește semnalul, și pe 4 canale el transmite semnal la controlerul Atmega16. Controlerul analizează datele primite și acționează cu motoarele prin intermediul draiverelor L293d.

7. Un sistem mai complex este robotul Wifi, cu video translare în regim real, la el calculatorul transmite semnal pentru router. Routerul comunică cu microcontrolerul prin interfața seriala, iar controlerul acționează asupra motoarelor. Dispozitivul are funcții suplimentare ca de exemplu: rotirea camerei, depistarea obstacolelor, și reacția la lumina. Mai jos se reprezintă schema de structura pentru acționarea motoarelor:

Fig. 1.2.20. Schema de monitorizare și acționare

Monitorizare se face în vederea citiri și controlul senzorilor. Dar schema nu oferă o imagine asupra sistemului de comunicare, mai jos se reprezintă întreg sistemul. Aceste 2 scheme sunt cele mai apropiate pentru proiectare, ele oferă o imagine concreta pentru acționare, achiziție și comunicare.

Fig. 1.2.21. Schema de comunicare și comandă cu dispozitivul

În realitate acest dispozitiv reprezintă o mașină, unde motoarele pun în mișcare sistemul, iar camera care este montată pe mașina transmite video în regim real, necesară la conducerea ei la distanță de la un calculator.

După ce s-au studiat toate prototipurile și dispozitivele ce pot ajuta la proiectare, au apărut câteva probleme de proiectare, ce ar trebui concretizate înainte de a începe proiectarea.

1.3. Formularea caietului de sarcini și studierea problemelor de proiectare a sistemului

1.3.1. Descrierea funcțiilor dispozitivului de comunicare și comandă

Pentru a putea elabora un dispozitiv este necesar să alcătuim un caiet de sarcini ce va include toate funcțiile și operațiile care dispozitivul trebuie să le înfăptuiască. Pentru a putea crea baza de proiectare(algoritmii, grafurile, schemele), alcătuiesc acest caiet de sarcini:

1. Conducerea se face de la calculator prin intermediul joystic-ului. Cu ajutorul lui se înfăptuiește controlul proporțional al vitezei, alegerea direcției de mișcare, setarea zoom-ului și focusului.

2. Transmiterea datelor la distanță prin canalele de comunicare Wifi și Bluetooth. Comunicarea va fi bidirecționala pe un canal se transmit pachetele necesare pentru mișcarea camerei (direcția, viteza, timpul de acționare) și tot pe acest canal se vor primi date de la senzori ce depistează obstacole pe traseul ce se mișca dispozitivul. Iar pe al doilea canal primim datele de la camera în formatul HD pentru a face „Time-lapse” sau pentru a filma un video.

3. Mecanismul pe care va fi fixată camera trebuie să se deplaseze atât pe axa x, cât și să se rotească pe axa x și z. La fel mecanismul trebuie să aibă funcția de apropiere și focusare a imaginei.

4. Dispozitivul va recepționa obstacole și înainte de a transmite mesaj ca a depistat un obstacol pe traseu, va înceta mișcarea.

5. Ultima și cea mai principală funcție este repetabilitatea mișcării. Dispozitivul din start poate parcurge un traseu dirijat de utilizator și mai apoi la necesitate poate parcurge același traseu dar deja dirijat de calculator prin programul stocat în acest calculator. Astfel se ușurează munca utilizatorului și se pune accent pe munca calculatorului. Aceasta funcție poate servi și pentru alte 2 obiective, spre exemplu:

a) Utilizatorul alcătuiește un traseu și deplasează mecanismul timp de 2 minute, iar apoi setează repetabilitatea mișcării dar la un timp de 2 ore.

b) Repetabilitatea mișcării oferă posibilitatea de a filma video din același unghi, dar la peisaje diferite, atunci se pot așeza mai multe imagini una peste alta pentru a crea diferite efecte și pentru majorarea calității. Aceasta funcție oferă o precizie maximă, deoarece omul nu poate face aceeași operație de mai multe ori cu aceeași precizie, în schimb calculatorul realizează operațiile înscrise strict după plan.

1.3.2. Studierea problemelor de proiectare a întregului sistem

La cercetarea prototipurilor existente am observat câteva neajunsuri, sistemele ce se conduc de la calculator costa foarte scump și oferă o gamă de funcții care nu sunt necesare pentru un video amator, pentru aceasta se proiectează acest dispozitiv cu funcții limitate și la un preț cât de cât rezonabil.

Una din problemele de proiectare este: necesitatea softului la PC, un soft pentru primirea imaginii prin WiFi – acest soft se vinde împreună cu video-stream, și un soft pentru transmiterea datelor cu coordonatele spațiale.

Este necesar de elaborat un soft ce va citi datele de la un joystic apoi va stabili cu cât să deplaseze camera în dependență de lungimea traseului, în continuare aceste date sunt transmise prin Bluetooth. O problemă este: dispozitivul va fi nevoit să repete mișcările la timpuri diferite, înseamnă că ne trebuie un algoritm special pentru a socoti timpul.

După ce transmitem coordonatele prin Bluetooth este necesară primirea lor la dispozitivul de conducere cu camera, dispozitivul analizează datele primite și acționează cu motoare în dependență de datele primite. Problema constă în posibilitatea trecerii coordonatelor primite în impulsuri pentru motoare pas cu pas, și posibilitatea trecerii datelor despre zoom în partea mecanică, pentru a acționa cu motoarele servo. Aceste motoare se mișcă mai lent de acea ele și se vor folosi, dar au o problemă cu conducerea total diferită ca la cele pas cu pas. Astfel este nevoie de un algoritm ce va face toate aceste acționări pe baza datelor primite.

Algoritmul trebuie să fie așa de instruit încât să deplaseze concomitent câteva motoare, totul se face prin acționarea pe rând a motoarelor.

Principală problemă cum am menționat este softul la calculator de conducere a sistemului, pentru a înțelege mai bine softul proiectat am cercetat o programa analog, DragonFrame.

Dragonframe este o soluție pentru animație stop-motion, dezvoltat de animatori profesioniști. Această soluție a fost creat ca un supliment la animație profesională. Noile caracteristici includ un editor de-a treia versiune DragonFrame vizual, cu o sincronizare de buze integrată, controlul iluminatului avansat de protocolul DMX512(sau DMX), controlează mișcarea aparatului foto și multe altele.

DragonFrame posedă mai mult o funcție:

– Controlul automat al mișcării aparatului foto. Ce permite reglarea motoarelor pas cu pas. Motoarele pas cu pas, eventual, sunt controlate de către operatorul de bord IOTA sau Arduino, și posibilitatea repetării traseului setat manual de utilizator.

Dar acest soft costă destul de scump în jur de 200-300$ în dependență de accesorii. Prețul lui este gestionat nu numai de controlul motoarelor dar și o gama larga de funcții necesari pentru animație. Deoarece nu este nevoie de aceste funcții mai bine ar fi să alcătuiesc propriul program ce va fi simplu și nu-mi va aduce cheltuieli suplimentare, și în caz de necesitate se va folosi DragonFrame.

Concluzii:

La colectarea informației am observat că costul la aceste dispozitive este destul de mare, fiecare dispozitiv se împarte în accesorii: softul are prețul sau, mecanică și controlul computerizat costă foarte mult. Dar în schimb se oferă o precizie maximală și o conducere cu un pachet bogat de funcții: time-lapse, panorama, repetabilitate. La fel am depistat modele analogice cum ar fi controlul unei mașinuțe de jucărie, a unei camere de supraveghere. Aceste dispozitive costa mai ieftin și oferă aceeași mișcare proporționala a motorului, dar sunt limitate la funcții cum ar fi filmare și repetabilitate.

În final pot spune că este nevoie de elaborat un hibrid dintre toate sistemele, de rezolvat pe rând fiecare problemă din caietul de sarcini. După proiectare acest dispozitiv poate fi modernizat și cizelat cu noi funcții, astfel se poate de proiectat pe câteva plăci de bord împreună cu softul testat.

2. PROIECTAREA DISPOZITIVULUI DE COMUNICARE ȘI COMANDĂ CU PROCESUL DE CAPTARE A IMAGINII

Exista trei metode de proiectare: top down (de la general la concret), bottom up (de la concret la general), mixtă (hibrid dintre cele doua metode). La proiectare se va utiliza top down (pentru elaborarea hardului) și bottom up (elaborarea softului), sau mai bine zis metoda mixtă.

Fig. 2.1. Planul proiectării sistemului

După proiectarea Top down voi încerca să simulez acționarea cu motoare, citirea senzorilor, și comunicarea între calculator și placa de bord. Iar mai apoi se va trece direct la proiectarea softului la metoda Bottom up.

2.1. Crearea planului de funcționare a dispozitivului

2.1.1. Proiectarea grafului pentru comunicare și comandă cu dispozitivul

Pentru a alcătui graful de funcționare, se determină stările grafului. Totul se începe cu dirijarea întregului sistem, în acest punct se citesc comenzile setate de utilizator și tot aici se face prelucrarea, crearea și transmiterea pachetelor de date.

1. Setările de baza – utilizatorul alege mecanica instalata pe sistem, deci softul trebuie să fie adaptiv la orice sistem condus din 3 motoare pas cu pas și 2 servo motoare.

2. Testare – dispozitivul se deplasează până la un capăt al traseului, și până la celalalt capăt al traseului, și va transmite mesaj. Astfel utilizatorul va cunoaște: lungimea traseului, dacă sunt obstacole pe traseu, și în general dacă funcționează dispozitivul.

3. Citirea joystic-ului – Utilizatorul acționează cu butoanele manipulatorului, datele despre starea butoanelor se vor citi la calculator.

Fig. 2.1.1. Graful de funcționare a dispozitivului

4. Comunicarea bidirecționala – softul transmite datele despre tipul acționarii, și primește aceste date sau CRC pentru a putea determină corectitudinea mesajului recepționat.

5. Salvarea și repartizarea informației pentru deplasarea pe cele 3 axe, zoom, focusare.

6. Depistarea obstacolelor – în caz ca s-a găsit un obstacol se deconectează sistemul și se transmite mesaj la calculator.

Pentru a înțelege mai bine stările grafului, alcătuiesc algoritmul de funcționare a dispozitivului. Cu ajutorul lui voi crea o viziune asupra schemei de structura și electrice necesari pentru proiectarea și elaborarea softului și dispozitivului.

2.1.2. Proiectarea algoritmului de funcționare a sistemului

Pentru a crea algoritmul de funcționare a dispozitivului mă conduc după caietul de sarcini pentru a lua în vedere toate funcțiile necesare sistemului. Dar principalul plan este graful și cele să se puncte. Rezolv fiecare etapa pe rând alcătuind algoritmul pentru fiecare punct.

– Atâta timp cit nu vor fi făcute setările utilizatorul nu se va putea conduce cu sistemul, aceasta se observa în algoritm în blocurile 3,4.

– Testul este reprezentat în blocurile 5-21, sistemul se va deplasa până la punctul minim din partea stingă până la coordonata 0(blocurile 6,7). Apoi va avea loc deplasarea până la celalalt capăt a sistemului(8,9). Prin aceiași metoda se face: zoom, focusarea. Astfel se vor cunoaște lungimile traseului, și în caz ca sistemul a ajuns la un capăt se deconectează motoarele chiar dacă are loc acționarea joystic-ului. După ce a avut loc testarea, rezultatul se transmite la PC și se afișează, pentru ca utilizatorul să cunoască lungimea traseului.

– După testare utilizatorul poate să acționeze cu dispozitivul, pentru aceasta trebuie să apese pe un buton „Start” (blocurile 23-25). Atunci se vor prelucra datele de la joystic și se vor transmite comenzi la placa de bord. Comenzile primite se vor păstra, și se vor retransmite pentru controlul pachetelor de date.

– Comenzile se repartizează pe toate motoarele(blocurile 29-45), pentru mișcarea pe axa X, rotirea pe axa X, rotirea pe axa Z, zoom, focusare. în caz ca a fost acționata comanda cu motorul corespunzător de la joystic, motorul se va mișca în direcția dorita, și cu viteza proporționala acționata de joystic.

– Înainte de a acționa cu motorul se controlează dacă pe traseu nu sunt obstacole, în caz ca nu exista nici un obstacol dispozitivul permite efectuarea comenzilor(blocurile 27,28,35,36). dacă a fost găsit un obstacol se transmite mesaj de eroare la calculator și se deconectează întreg dispozitiv.

Fig. 2.1.2. Algoritmul de lucru a dispozitivului de comunicare și comandă

Fig. 2.1.3. Continuare la schema bloc a dispozitivului

In caz ca mesajele se transmit neîntrerupt(blocul 46), operațiile se efectuează ciclic până la închiderea softului sau oprirea comunicării(blocul 47).

2.2. Proiectarea schemei de structura a sistemului

Pentru a proiecta schema de structură a dispozitivului, rezolv fiecare etapa. Deci pentru a putea deplasa camera pe cele 3 traiectorii am nevoie de un sistem mecanizat care va fi pus în acționare de motoare electrice. Pentru a crea o precizie maxima și un zgomot mai redus folosesc motoare pas cu pas.

Motorul Pas cu Pas:

MPP este un convertor electromecanic care realizează transformarea impulsurilor digitale intr-o mișcare proporțională a axului său. Mișcarea rotorului MPP constă din deplasări unghiulare discrete, succesive, de mărimi egale și care reprezintă pașii motorului.

Avantajele folosirii MPP:

gamă largă a frecvențelor de comandă;

precizie de poziționare;

permit porniri, opriri, reversări fără pierderi de pași;

memorează poziția.

Dezavantaje:

viteză de rotație relativ scăzută;

putere dezvoltată la arbore de valoare redusă;

randament energetic scăzut.

Fig. 2.2.1. Modelul mecanic al motorului pas cu pas

Rotația se face pas cu pas, prin activarea selectiva a bobinelor de pe stator, curenții din bobine se schimba prin control electronic, spre deosebire de motoarele clasice, la care schimbarea se face prin control mecanic.

Exista doua metode de conducere a motoarelor pas cu pas: prima metoda consta prin aplicarea impulsurilor pe fiecare bobina aparte ca în figura de mai jos, și prin aplicarea impulsurilor sincrone la un canal al draiverului, apoi draiverul hotărăște metoda de conducere a motorul în dependență de impulsuri de la intrare.

Fig. 2.2.2. Metoda Full- step de conducere a motorului pas cu pas

Un controler de motor pas cu pas trebuie să genereze secvența corecta pentru activarea bobinelor, astfel se pot efectua rotații complete, sau parți de rotație, în funcție de numărul de impulsuri.

Draiver:

Deoarece motorul pas cu pas – este motorul cu un sistem de control complex, el necesită un dispozitiv electronic special – draiver.

Draiver primește la intrare logica semnalele PASUL / DIRECȚIA, ce sunt reprezentate de obicei de nivelul înalt și jos de tensiunea de referință 5 V, și în dependență de semnalele primite el schimba curentul în bobinele motorului, cauzând arborele să se rotească în direcția corespunzătoare cu un unghi predeterminat. Semnalele PASUL / DIRECȚIA sunt generate de controler sau calculator.

Principalul scop al draiverului este schimbarea curentului în bobine cit mai eficient posibil, și deoarece inductanța bobinei și rotorul motorului pas cu pas interferează în acest proces se utilizează mai multe feluri de draivere. Draiverele sunt diferite cu caracteristici diferite, și cu calitatea mișcării. Curentul ce curge în înfășurări determină mișcarea rotorului, mărimea curentului stabilește momentul de torsiune, dinamica lui influențează la uniformitate.

Modalitate de alegere a draiverului:

Primul parametru – puterea curentului ce o poate furniza draiverul, de obicei curentul se regulează în limite destul de largi, dar trebuie ales așa draiver care poate emite curent egal cu curentul fazei a motorului ales. Ar fi de dorit ca curentul să fie cu 15-40% mai mare, pe de o parte aceasta va oferi o rezerva în cazurile când o să fie nevoie de moment mare a rotorului, sau în viitor se va folosi un motor mai puternic. Dar sunt cazuri când producătorii ajustează nominalele elementelor la un anumit motor, și folosirea draiverului cu mult mai puternic poate duce la vibrații a motorului.

Tensiunea de alimentare – influențează la dinamica(momentul la rotații mari), vibrații, încălzirea motorului și a draiverului. De obicei tensiunea de alimentare a draiverului este egala cu curentul maximal înmulțit cu 8-10. dacă diferența este mare, ar trebui să ne interesam ce cauzează aceasta diferența. Cu cit mai mare este inductanța motorului cu atât mai mult este nevoie de tensiune pe draiver. Exista o formula empirica de calcul a U:

U=32* (1)

Unde: L – inductanța bobinajului motorului. Tensiunea calculata prin aceasta formula este aproximativ egala, dar ea totuși permite orientarea la alegerea draiverului.

Al treilea aspect – prezența întrărilor optoizolate, deoarece draiverul reprezintă componenta părții electronice de putere, și străpungerea cheii poate aduce la un impuls puternic pe fire, pe care se dau semnalele de comanda, sau poate duce la deteriorarea microcontrolerului.

Existenta mecanismelor de suprimare a rezonantei – la apariția efectului de rezonanta motorul pas cu pas începe să vibreze și pierde momentul de rotație, până la oprirea completa a valului. Acest efect apare permanent, diferența este în frecventa de rezonare, care în primul rând depinde de momentul de inerție pe sarcina, tensiunea de alimentare a draiverului și puterea curentului setat pe fazele bobinelor motorului. Pentru a suprima rezonanta se folosește micropasul și algoritmi de compensare a rezonantei setate în draiver. Oscilarea rotorului în rezonanta generează fluctuații în înfășurări, și după caracterul și amplituda lor draiverul determină puterea de rezonare. Pentru a nivela rezonarea, în dependență de datele primite draiverul deplasează pașii motorului în timp unul fata de celalalt, pentru a nivela rezonarea.

Protocolul de comunicare – este necesar de convins ca draiverul funcționează pe protocolul care a fost folosit la microcontroler, și nivelele de tensiune a semnalelor de comanda corespund cu cele alese. De obicei protocolul este PASUL / DIRECȚIA / ENABLE.

Prezența funcțiilor de siguranța – protecția împotriva excesului de tensiune, curent, de conectare a polarității inverse, și de conectarea incorecta a fazelor motorului.

Posibilitatea alegerii micropașilor – sunt draivere care asigura împărțirea pasului în micropas, exemplu în jumătate de pas 1/2, 1/4, 1/8. De obicei cu cit este mai mic pasul cu atât poziționare este mai precisa, dar în realitate precizia nu este mare. De ce atunci se folosește micropasul? Cu cit mai mare este raportul de micropas cu atât mai lin se face rotația motorului, și efectul de rezonanta este mai mic.

Existenta a mai multor funcții – spre exemplu funcția de depistare a opririi necondiționate a valului sau deficitul momentului de rotație a motorului pas cu pas, sau prezența ieșirilor ce transmit erorile.

Si ultimul dar cel mai principal parametru este calitatea draiverului – calitatea depinde de prezența a mai multor funcții și prețul redus al elementului.

Motorul servo:

Pentru a apropia imaginea și a face focusarea se vor folosi motoarele servo, deoarece conducerea lor este lina, rapida, precisa și la gradul ales.

Servomotor(servo) – unitate de control prin intermediul feedback-ul negativ, ceea ce permite un control precis asupra parametrilor de mișcare.

Servomotor electric are următoarele avantaje fată de motor pas cu pas:

– Nu există cerințe speciale pentru motor și transmisie – acestea pot fi de orice tip dorit și capacitatea dorită;

– Senzorul asigură o precizie maximă pentru durata de utilizare (în motor pas cu pas este o treptată "ieșire", atunci când este purtat de transmisie și necesită ajustarea periodică);

– Diagnosticul instantaneu, în caz de eșec a unității;

Dezavantaje în comparație cu motor pas cu pas:

– Este nevoie de un element suplimentar – senzor;

– Mai greu de controlat datorită logicei sale;

– Servo, în general mai scumpe.

Cele mai multe servo utilizează trei fire, firul pentru putere de obicei, 4.8V sau 6V, comună(sol) și un fir de semnal. Semnalul de control transmite poziția dorită a arborelui de ieșire. Arborele este conectat la un potențiometru, care definește poziția sa. Operatorul în servo privind la rezistent potențiometrului și valoarea semnalului de comandă determină direcția la care este necesar de rotit motorul pentru a obține poziția corectă a arborelui de ieșire.

Fig. 2.2.3. Construcția servomotorului

Semnalul de control este un impuls de lățime variabilă. Impulsurile sunt repetate la o rată constantă(de obicei, cu frecvența de 50 Hz). Poziția servo este determinată de lățimea impulsului.

Fig. 2.2.4. Modalitatea de conducere a servo motorului

Pentru un servo tipic folosit în modele radio-controlate, durata impulsului este de 1500 ms. La mărirea sau micșorarea lungimii impulsului, servo deplasează valul în sensul acelor de ceasornic sau invers.

După ce am descris partea de acționare, trebuie să alegem elementul care face aceste acțiuni. Deci motorul pas cu pas este dirijat de draiver care la rândul sau primește semnale de la un conducător ce conduce cu tot procesul.

4. Acest conducător este un microcontroler – o structura electronica destinata controlului și acționarii a unui proces, ce se conduce după un algoritm stabilit. Deoarece controlerul poate nu numai să acționeze dar și să achiziționeze, conectez senzorii la microcontroler pentru a cunoaște stările lor și a monitoriza datele.

In concluzie, conectez senzorii la microcontroler pentru a monitoriza, iar pentru a acționa conectez microcontrolerul la cele 3 draivere ce conduc cu cele 3 motoare pas cu pas. Iar motoarele servo se conectează direct la microcontroler, deoarece ele nu au nevoie de amplificare sau de divizare a pasului sau de alți parametri a draiverului ce au fost descriși mai sus.

Pentru a înțelege mai bine cum are loc monitorizarea și citirea senzorilor, descriu tipurile de senzori ce se vor conecta la microcontroler.

5. Senzor de depistare a obstacolelor:

Pentru a găsi un obstacol pe traseu, are loc măsurarea lungimii până la cel mai apropiat obiect sau obstacol, astfel se cunoaște distanța până la obstacol. în caz ca distanța este mica, este necesara oprirea sistemului.

Exista câteva tipuri de senzori de măsurare a distantei până la obiectul apropiat, dintre care cei mai des folosiți sunt senzorii: acustici și optici. să vedem modul de funcționare și avantajele folosirii acestor senzori.

Senzorii ultrasonici sunt unii dintre cei mai utili și eficace senzori din dotarea roboților mobili. Ei permit măsurarea suficient de precisă, fără contact, a distanțelor față de alte obiecte din mediu și asigură astfel premizele pentru unele dintre cele mai importante activități ale roboților auto-reconfigurabili:

– Identificarea poziției și orientării altor module, în vederea unei eventuale atașări și cuplări;

– Identificarea obstacolelor din mediu înconjurător, cu poziția și configurația lor, în vederea stabilirii unei strategii optime pentru ocolirea lor, dar și pentru o eventuală reconfigurare, în vederea abordării lor directe;

– Măsurarea distanței față de unele repere fixe sau mobile din mediu, pentru ancorarea propriei poziții în spațiul de lucru.

Senzorul detectează un obiect și permite măsurarea distanței până la el prin emiterea unui scurt impuls cu frecvența de 40 KHz(domeniul ultrasonic), care se deplasează cu viteza sunetului în aer, de 340 m/s, și așteptarea iar mai apoi sesizarea ecoului, determinat de reflectarea undelor de către obstacol.

Sunt importante câteva considerații:

a. Sensibilitatea detectării se modifică în funcție de poziția obiectului reflectant față de axa principală(acustică).

b. Razele ultrasonice pot suferi reflecții multiple sau reflecții parazite, furnizând informații eronate despre distanță.

c. Datorită unghiului relativ mare al fasciculului ultrasonic, o singură măsurare asigură o informație relativă cu privire la poziția obiectului investigat.

Senzorii optici funcționează pe același principiu ca și cei acustici, dar sunt diferite metode de realizare: metoda impulsului, diferenței de faza, metoda folosirii efectului Doppler.

6. Senzor de depistare a marginii traseului:

In caz ca dispozitivul a ajuns la sfârșitul traseului motoarele se opresc. Spre exemplu dacă sistemul a ajuns din poziția inițiala la coordonatele maxime a traseului, la sfârșitul traseului, sistemul trebuie să acționeze mecanic asupra unui buton. și în caz ca butonul este acționat se schimba tensiunea ce trece prin firul butonului, datorita schimbării tensiunii microcontrolerul poate citi aceste stări: 5V(nu a ajuns la sfârșitul traseului) / 0V(a ajuns la sfârșitul traseului). Deci butonul și va reprezenta senzorul de depistare a marginii traseului.

Astfel pentru a forma o viziune asupra sistemului de comanda, comunicare și conducere cu procesul de captare a imaginii, alcătuiesc o schema (Fig.2.2.5) ce va reliefa sarcina proiectului.

In aceasta schema am prezentat comunicare prin doua canale: primul prin Bluetooth pentru conducerea sistemului și al doilea pentru primirea datelor video. în schema nu am arătat partea soft, din care face parte un program instalat în calculator pentru conducerea cu camera, și altul înscris în memoria sistemului de conducere cu motoare. Probabil ca softul de la calculator va fi împărțit în 2 programe, primul program de citire a imaginii poate fi cumpărat împreună cu dispozitivul de transmitere a datelor prin WiFi, iar al 2 trebuie elaborat sau cumpărat. Softul trebuie să posede un algoritm de citire a datelor de la joystic și transmiterea coordonatelor spațiale prin Bluetooth.

Fig. 2.2.5. Schema de comunicare a dispozitivului

Așa dar microcontrolerul conduce cu procesul de monitorizare și acționare, dar pentru a acționa este nevoie de un algoritm, un program și de un intelect ce transmite comenzile pe canale specializate. Formarea comenzilor ușor se reduce la un calculator ce va rezolva toate operațiile necesare și va transmite pachetele de date. În dependență de datele primite microcontrolerul acționează asupra motoarelor. Dar pentru a forma date este nevoie de niște operații, nu se știe cu cit să deplaseze motorul cu ce viteza, și când trebuie mișcat. Toate aceste operații se vor face de utilizatorul. Pentru a ușura lucrul utilizatorului se conectează la PC un joystic care va contoriza tastarea butoanelor și mișcarea analogului. La acționarea lui, PC trebuie să reacționeze să formeze date și să transmită datele la distanța prin canalele de comunicare. PC va fi dotat cu Încă o funcție principală, primirea datelor de la camera video care va fi montata pe dispozitiv. După ce am concretizat toate operațiile și toate blocurile, mi-a rămas doar să alcătuiesc schema de structura pentru a vedea informația descrisa mai sus în forma de imagine, pentru a depista punctele slabe și pentru a putea desfășura sistemul.

Observ ca în schema de structura comunicarea are loc prin canalele Bluetooth și Wifi. Wifi este necesar pentru a comunica cu camera pentru a primi imaginea video.

Standardul IEEE 802.11 descrie protocoale de comunicație aflate la nivelul gazdă-rețea al modelului TCP/IP, respectiv la nivelurile fizic și legătură de date ale modelului OSI. Aceasta înseamnă că implementările IEEE 802.11 trebuie să primească pachete de la protocoalele de la nivelul rețea (IP) și să se ocupe cu transmiterea lor, evitând eventualele coliziuni cu alte stații care doresc să transmită. La moment Wifi este cel mai rapid canal de comunicare fără fir, el ne permite să transmitem imaginea de o calitate buna.

Fig. 2.2.6. Schema de structura a dispozitivului de comunicare

Pentru transmiterea comenzilor folosim un alt canal Bluetooth. Printr-o rețea Bluetooth se poate face schimb de informații între diverse aparate precum telefoane mobile, laptop-uri, calculatoare personale, imprimante, camere foto și video digitale sau console video, toate acestea prind undele radio criptate(sigure) și de rază mică, desigur numai dacă aparatele respective sunt înzestrate și cu Bluetooth. O versiune destul de sigura este Bluetooth 2.0 ea este compatibila cu versiunile anterioare, viteza este de 3 ori mai mare decât versiunile precedente de până la 3,2Mbps, consumul energetic este mai mic, și rata erorilor este mai scăzuta. Cu toate ca exista deja versiunea 4.0 cred ca se poate de limitat la versiunea 2.0 din cauza prețului și parametrilor avansați.

Ambele canale de comunicare se conectează la un calculator prin portul COM – un port serial unde informația vine bit cu bit. Mai apoi informația trece prin următoarele modeluri OSI, unde calculatorul stochează, operează sau transmite datele.

Microcontrolerul de obicei este dotat cu diferite interfețe, una din ele este USART, ea se folosește pentru comunicarea microcontrolerului cu periferia.

USART(Universal synchronous/asynchronous receiver/transmitter) este un standard de comunicare serială între diverse dispozitive cum ar fi comunicarea între calculator(prin portul serial COM) și alte dispozitive. Acesta se poate folosi pentru comunicare în conjuncție cu standardele RS-232, RS-422 sau RS-485. Comunicarea serială presupune folosirea unei singure legături dacă ea este unidirecțională, adică există un transmițător și un receptor sau invers. Dacă este bidirecțională avem nevoie de două legături, pe o legătură realizându-se transmisia iar pe alta recepția. Dispozitivul care transmite date se numește master iar cel care primește se numește slave. De obicei masterul stabilește formatul cuvântului și frecvența iar datele furnizate se vor obține la pinul TX. Slave-ul va trebui configurat astfel încât să primească cuvinte care au același format cu cele generate de master și să funcționeze la aceeași frecvență. Pinul prin care un dispozitiv primește date este pinul RX.

Viteza de transmisie a datelor se măsoară în BAUD , unitate care reprezintă numărul de biți transmiși într-o secundă. Această viteză trebuie să fie egală între dispozitivele care comunică serial. Viteza de transmisie a datelor se calculează după formula:

BAUD= (2)

Unde BAUD reprezintă viteza de transmisie măsurată în Baud, fint reprezintă frecvența internă a procesorului iar UBBR este valoarea setată în registru al microcontrolerului.

Eroarea la transmisie se calculează după formula:

Error[%]= *100% (3)

La transmisia asincronă pot apărea diverse erori deoarece frecvențele de tact pot fi puțin diferite chiar dacă ele sunt setate aparent egal. Exista și transmisia sincrona a datelor, dar pentru nu a complica sistemul cu parametri ce nu aduc un rezultat elocvent, se va concentra pe transmisia asincronă deoarece ea este cea mai folosită la comunicarea între dispozitivele periferice și PC, având doar două legături.

Cuvântul transmis este format din două părți, o parte care reprezintă datele iar altă parte care reprezintă codul de verificare:

Tabelul 2.2.1. Structura cuvântului trimis prin USART

Cuvânt începe cu un bit de start care trebuie să fie 0. Următorii biți sunt biții de date care pot avea o lungime între 5 și 8 biți iar la sfârșit avem un bit de stop, care întotdeauna trebuie să fie 1.

După ce am elaborat schema de structura, și se cunosc toate componentele necesari pentru sistem, se poate trece la alegerea elementelor concrete și la proiectarea schemei electrice, care mai apoi va fi programata pentru executarea operațiilor necesare utilizatorului.

2.3. Elaborarea schemei electrice principiale a dispozitivului de acționare

Pentru a elibera procesorul de operații în plus, ca să nu fie Încărcat controlerul în timp ce primește, analizează și acționează. Folosesc un draiver al motorului care singur rezolva comenzile, controlerul trebuie să transmită doar un impuls și draiverul singur decide pe care faza să acționeze.

Circuitul A4988 reprezintă un draiver pentru motorul pas cu pas, cu capacitatea de 35V și 2A. O funcție principală este posibilitatea de a regula curentul cu ajutorul unui rezistor variabil. Aceasta funcție oferă posibilitatea de a alege diferite motoare, în caz ca se schimba partea mecanica, partea electronica va fi adaptiva la orice sistem analog cu cel proiectat. La fel microcircuitul are regim de micropas de 1/2, 1/4, 1/8, 1/16. Pentru a accesa unul din regimele de micropas pe intrările MS1 – MS3 se dau semnalele corespunzătoare.

Tabelul 2.3.1. Tabelul alegerii micropas-ului

Mai jos este reprezentată schema de structura a draiverului, unde sunt reprezentate intrările și ieșirile și modalitatea de conectare a draiverului cu motorul pas cu pas.

Fig. 2.3.1. Schema de structură a draiverului

Acest draiver trebuie să fie comandat de controler, deoarece dispozitivul se proiectează ca un prototip pentru a fi dezvoltat mai apoi se alege un sistem complex dar nu un controler simplu. Deoarece nu se proiectează o schema finala, și un program final, dar o versiune care mai apoi va fi modificata, se alege Arduino 2560 deoarece:

El ușor poate fi programat pentru ca poseda programator integrat;

Posibilitatea de a conduce de până la 8 sau chiar 12 motoare pas cu pas;

– Arduino se folosește la DragonFrame, și pentru testare, repetabilitate, înscrierea manuala a traseului;

Arduino are o fiabilitate buna;

– Folosind un cablaj deja existent câștig în timp, deoarece nu am nevoie de o proiectare a cablajului, dar pierd în bani. Totuși Arduino costa 15$ și pentru economisire de timp se utilizează aceste plachete in: testare, practica, simulare, proiectare. După folosirea Arduino în acest proiect liber se poate folosi în alt proiect pentru alte funcții.

Deci Arduino 2560 – este o plata cu microcontroler, ce are 54 de pini de intrare / ieșire, 15 din ele se pot folosi ca PWM, 16 se pot utiliza ca intrări analogice.

Tabelul 2.3.2. Datele tehnice pentru Arduino

Generatorul este de 16MGhz, iar conexiunea cu calculatorul are loc prin USB.

Fig. 2.3.2. Schema de structură la Arduino 2560

Este necesar doar să conectam Arduino la un calculator prin USB să instalam programele corespunzătoare și sa-l folosim după destinație.

Pe lingă aceasta Arduino poate fi alimentat de la USB sau de la alte surse, el are pini de 5V, 3.3V, GND, Vin(tensiunea externa de alimentare), IOREF(tensiunea de referința a MC). Comunicarea seriala are loc la pinii 0(RX) și 1(TX); Serial 1: 19 (RX) și 18 (TX); Serial 2: 17 (RX) și 16 (TX); Serial 3: 15 (RX) și 14 (TX). RX – se folosește pentru a primi și TX – pentru a transmite datele. Iar pentru intrările analogice se folosește tensiunea de referința de pe AREF. Mai jos voi reprezintă schema de structura a MC, pentru a înțelege modulele și interfețele interioare.

Pentru a cunoaște conexiunile conectoarelor la Arduino2560, se prezintă o parte a schemei electrice de conectare a plăcii.

Fig. 2.3.3. Schema de conectare a microcontrolerului la conectori

Pentru a transmite datele la distanța folosim Bluetooth Bee HC-05 – transmiterea va avea loc la distanța fără fir prin conexiunea seriala. Acesta este un Bluetooth complet calificat V2.0 + EDR(Enhanced Data Rate) modulare 3Mbps cu emisie-recepție radio de 2,4 GHz. Tensiunea de alimentare este de 3.3 V și ușor se conectează la pinul de alimentare la Arduino. El poate fi setat ca master sau ca slave, viteza de transmitere poate fi configurata la 9600, 19200, 38400, 57600, 115200, 230400, 460800. Modalitatea de conectare se va prezența în schema electrica principiala, iar mai jos voi reprezenta schema de structura a Bee HC-05 pentru a cunoaște parametrii și blocurile interioare.

Fig. 2.3.4. Schema de structură a Bluetooth

GP2Y0A02YK0F este senzorul pentru măsurare distanței, compus dintr-o combinație integrată de PSD(poziția detector sensibil), care emit IRED(diodele infraroșii) și circuitul de prelucrare a semnalului. Varietate de reflexie a obiectului, temperatura ambiantă și durata de funcționare nu sunt influențate cu ușurință pentru detectare la distanță, din cauza adoptării metodei de triangulație.

Tabelul 2.3.3. Parametrii senzorului GP2Y0A02YK0F

Senzorul este simplu, se dirijează de un circuit oscilant, convertirea are loc de la PSD care se alimentează de la un regulator de tensiune.

Fig. 2.3.5. Schema de structură a senzorului de măsurarea distanței

Determinarea distantei se realizează prin cunoașterea tensiunii la ieșirea senzorului. Datorita graficului de funcționare a senzorului se cunoaște tensiunea curenta la o distanța anumita. Trecerea de la distanța la tensiune nu se face liniar, astfel este necesar de dus cont de creșterea rapida a tensiunii de pe canalul ADC. Citirea tensiunii se face cu ajutorul ADC, mai apoi aceasta tensiune se discretizează și se transforma în cod binar.

Fig. 2.3.6. Exemplu de măsurare a distanței pînă la obiect

Acum după ce cunosc baza de elemente alcătuiesc schema electrica principiala completa conectând fiecare circuit conform datasheet-ului și schemei de structura. Întreaga schema se prezintă în anexa tezei.

Fig. 2.3.7. Schema electrică principială a dispozitivului

2.4. Proiectarea dispozitivului mecanic de deplasare pe cele trei axe

Funcția principală a dispozitivului este deplasarea lui pe cele trei axe menționate mai sus, pentru a mișca sistemul pe traseu folosesc motoare pas cu pas: un motor pentru a mișca pe axa x, și altele doua pentru a roti. Pentru a crea 3D modelul folosesc cea mai simpla programa Google Sketchup.

Fig. 2.4.1. 3D Modelul a sistemului

Din figura de mai sus se observa mai mult cele 2 motoare de rotație a sistemului, motorul de jos se folosește pentru a roti pe axa z, iar celalalt pentru a roti pe axa x.

Fig. 2.4.2. Dispozitivul reprezentat din partea de jos

În figura de mai sus se observa al 3 motor ce îndeplinește Funcția de deplasare a sistemului pe profil. Acționarea motoarelor duce la rotirea rotii dințate, care la rândul sau deplasează sistemul pe o traiectorie.

Fig. 2.4.3. Vizionarea completa a 3d modelului

Profilul sistemului poate fi proiectat cu o lungime dorita, datorita faptului ca la fiecare 2 metri se ajustează profilul pentru a câștiga la precizia traseului, în caz contrar profilul poate fi dilatat și sistemul nu se va putea mișca. în figura data se mai observa motoarele servo ce au funcția de focusare și zoom.

S-a proiectat partea mecanica dar nu se cunoaște modelul motoarelor. La apropiere și focusare nu este nevoie de motoare puternice, dar totuși mai bine ar fi să facem o analiza, pentru aceasta compar cele mai folosite 2 modele de servo motoare. Primul model este alcătuit din plastic, iar al doilea din metal. Astfel al doilea model oferă o fiabilitate înalta și aplicarea unei mase mai mari pe braț. Alcătuim tabelul cu datele tehnice a motoare servo, au fost culese cele mai importanți parametri.

Tabelul 2.4.1. Datele tehnice a motoarelor servo

Pentru a avea o viziune a fost elaborat un grafic ce descrie fiecare parametru al tabelului de mai sus.

Fig. 2.4.4. Analiza comparativa a motoarelor servo

Deci se observă că motorul Mg995 pierde doar în preț, în schimb oferă funcții avansate. Unghiul mare de rotație oferă focusarea la cel mai mare diapazon, iar momentul de rotație oferă un rest de kilograme, iar în caz că se schimbă mecanica putem folosi aceleași motoare.

Pentru a putea deplasa dispozitivul pe cele 3 axe voi folosi motoare bipolare deoarece la aceleași dimensiuni în comparație cu mototrul unipolar, motorul oferă o densitate de putere mai mare.

Momentul creat de motorul pas cu pas este proporțional cu cîmpul magnetic generat de bobinile infasurate. Calea de a mari cîmpul magnetic este mărirea curentului sau numărul de înfășurări la bobina. Dar nu putem mari la nesfîrșit curentul, deoarece poate aparea efectul de saturare a miezului de fier. Mult mai important este Încălzirea motorului datorita pierdirilor în bobine. Acest fapt arata un avantaj de folosire a motoarelor bipolare, în motorul unipolar are loc folosirea unei jumatati de bobine la un moment de timp, a doua parte ocupa loc în motor, ceea ce duce la micsorarea diametrului firului folosit în bobine. în acelasi timp în motorul bipolar functioneaza toate bobinele, folosirea lor este optimala. în asa fel de motor sectiunea este în doua ori mai mare, iar rezistenta omica în doua ori mai mica. Aceasta oferă marirea curentului în doua ori la aceleasi pierderi, ceea ce duce la cresterea momentului aproximativ cu 40%. Dar pe practica deseori se folosesc motoare unipolare din cauza simplitatii de conducere a lui. Deoarece draiverul ales ofera posibilitatea conducerii cu motoarele bipolare, și deoarece sarcina pe motoare este foarte mare se va utiliza un motor bipolar.

Specificarea motorului Nema17:

200 pași pe rotație (1,8 ° / pas);

2 faze;

Tensiunea nominală de 12V DC;

Curent nominal(valoare de vârf la micropas 0.4A);

Rezistență bobină / faza: 30-lea și plusmn, 10% (20 & ordm, și cu)

A fost ales motorul Nema17 din cauza: parametrilor necesari sistemului, un numar mare de pasi pe secunde, pasi pe rotatie, pret redus în comparatie cu parametrii oferiti.

2.5. Simularea metodelor de rezolvare a sarcinii de proiectare

2.5.1. Acționarea motoarelor servo și motoarelor pas cu pas

Motorul este condus de draiver la care se aplica 2 fire: unul pentru selectarea direcției motorului și altul pentru a transmite pasul, apoi draiverul amplifica și comută pasul spre cele 4 ieșiri ce se conectează la motor. în programa de simulare ISIS Proteus încerc să simulez aceasta metoda de control al motorului, de la un simplu microcontroler voi transmite prin 2 fire pasul și direcția. Apoi printr-o schema logica comutare și amplific impulsul ce pleacă la motor. Nu voi proiecta tot draiverul deoarece doresc să verific metoda de conducere a motorului și nu a draiverului. Se elaborează un program simplu de conducere a motorului.

PORTD=0b00011111; delay_ms(t); //penultimul bit arata direcția, ultimul formează impulsul cu ajutorul întreruperii

PORTD=0b00011110; delay_ms(t);

if(t==200)fanion=0; //in caz ca timpul a ajuns la maxim se resetează fanionul

if(t==10)fanion=1;

if(fanion==0)t=t-5; //micșoram timpul, astfel va creste viteza de acționare a motorului

else t=t+5; //micșorarea vitezei

Fig. 2.5.1. Simularea conducerii motorului pas cu pas

La oscilascop se observa impulsuri neordinare, de perioada diferita. Acest efect a fost introdus pentru a observa frecvența de miscare a motorului care este proportional cu frecventa de aplicare a impulsurilor la intrare.

Pentru simularea motoarelor servo se foloseste aceeasi metoda, diferenta consta prin aplicare impulsurilor pe un fir de perioada diferita. Perioada caracterizeaza unghiul de rotatie a motorului. Se va folosi un subprogram cu generarea impulsurilor de diferite perioade pentru a observa unghiul de rotatie a motorului.

PORTD=0b10000000;delay_us(2000); // se inscrie 1, nivel inalt de tensiune, se formează perioada cu ajutorul intreruperii

PORTD=0;delay_ms(2000); // se inscrie 0 și apare frontul posterior,

PORTD=0b10000000;delay_us(1000);

PORTD=0;delay_ms(2000);

PORTD=0b10000000;delay_us(1750);

PORTD=0;delay_ms(2000);

Fig. 2.5.2. Conducerea motorului servo

Pentru a genera impulsuri se pot folosi 2 metode: una fiind prin înscrierea bitului intr-o celula a registrului și generarea întreruperii de lungimea impulsului, și a doua metoda consta prin folosirea modulului PWM din microcontroler, cu scopul generării impulsurilor de diferita perioada cu ajutorul folosirii timerelor.

Pentru testarea motoarelor folosim programa DragonFrame, această programa permite conducerea până la 8 motoare prin intermediul Arduino. În afară de softul proiectat se poate folosi aceasta programa pentru a putea introduce traseul manual, și pentru repetabilitatea traseului. Introducem un traseu pentru 3 motoare pas cu pas și observam conducerea lor de la axele introduse.

Fig. 2.5.3. Introducerea traseului de acționare cu 3 motoare

2.5.2. Achiziția de date de la senzorii optici

Partea de acționare se face cu ajutorul motoarelor, dar dispozitivul trebuie să efectueze achiziții de date de la senzorii optici de depistare a obstacolelor. De fapt acești senzori nu depistează obstacole dar distanța până la un obstacol. Iar dacă se cunoaște distanța până la obstacol ușor se poate deconecta dispozitivul prin intermediul softului. Toate măsurările se fac prin intermediul ADC, deoarece avem 2 senzori: unul din partea stingă, altul din partea dreapta, se va citi datele de pe doua canale a ADC.

Exista patru metode de a efectua măsurările prin intermediul ADC:

– Ordinara – se efectuează măsurarea în momentul necesar, dar se face doar o singura măsurare și datele pot fi eronate din cauza perturbațiilor. Încă un neajuns consta prin citirea semnalului doar de la un canal. Deoarece se folosesc 2 senzori aceasta metoda poate fi exclusa.

– Scanare – mai multe măsurări dar tot are loc citirea datele doar de pe un canal.

– Multiplexare – se face achiziția de pe mai multe canale, dar se face doar o măsurare momentana, totuși aceasta metoda permite citirea la 2 senzori.

Fig. 2.5.4. Metoda de multiplexare

– Multiplexare și scanare – se fac mai multe măsurări pe mai multe canale. Cea mai complexa metoda, dar metoda are nevoie de timp pentru a colecta mai multe date de pe câteva canale, și de prelucrat aceste date.

Metoda de multiplexare are un avantaj esențial pentru dispozitivul de comanda, deoarece se pierde puțin timp la detectarea obstacolului, dar datele pot fi eronate și sistemul poate fi oprit la momentul nepotrivit. Multiplexarea și scanarea va oferi o precizie, dar o pierdere vizibila în timp. Totuși se va încerca de simulat ultima metoda, deoarece este mai complicata din punct de vedere a softului. Alegerea metodei de achiziție se va putea face doar prin cercetarea practica, unde se va observa viteza de acționare a motorului. La aplicarea ADC motorul va fi nevoit să aștepte până când ADC va înfăptui toate măsurările, și va filtra datele.

Fig. 2.5.5. Metoda de multiplexare scanare

O metoda de rezolvare ar fi conectarea senzorului la un controler slave care va face toate operațiile și va transmite mesaj la controlerul master. Dar aceasta metoda poate fi utilizata la proiectarea cablajului și softului, în cazul nostru se testează softul și apoi pe baza lui se creează circuitul.

Mai jos sunt reprezentate câteva subprograme de achiziție a datelor.

void masurare()

{int i=0;

while(i<9) //atâta timp cit nu s-au luat 9 măsurări se face reîntoarce la măsurare

{adc=read_adc(1); //citim tensiunea de pe canalul 1

A[i]=adc*5/1023; //convertirea tensiunii analogice în forma digitala și salvarea în masiv pe o adresa concreta „i”

adc=read_adc(2); //citim tensiunea de pe canalul 2

B[i]=adc*5/1023; // al 2 masiv de date de pe canalul 2

i++; //incrementam adresa, datele vor fi înscrise în alta celula

delay_ms(10); //se face întrerupere pentru ca controlerul să rezolve sarcinile

}; }

void aranjare() //aranjarea masivului prin metoda bulelor

{int j=0,i=0;

for(i=0;i<9;i++)

{for(j=i;j<9;j++)

{if(C[i]>C[j]) //dacă cifra din masiv este mai mare ca cifra din alt masiv se face schimbarea lor

{buff=C[i]; //schimbarea cifrelor cu ajutorul unei variabile adăugătoare

C[i]=C[j]; C[j]=buff; }; }; }; }

Programul: {masurare();

for(i=0;i<9;i++)

{C[i]=A[i];}; //Copierea masivului intr-un masiv bufer de aranjare

aranjare();

Media1=(C[3]+C[4]+C[5])/3; //Folosirea celor mai apropiate valori

for(i=0;i<9;i++)

{C[i]=B[i];};

aranjare();

Media2=(C[3]+C[4]+C[5])/3;

afisare();}

Fig. 2.5.6. Folosirea metodei multiplexare scanare la citire ADC-ului

2.5.3. Simularea comunicării în mediul de simulare Matlab

Mai sus a fost rezolvata partea de acționare a motoarelor și achiziția de date de la senzori optici, dar Arduino are nevoie de comunicare cu calculatorul, el primește și transmite pachete de mesaje. Ce se va întâmpla în caz ca pachetele sunt eronate? Controlerul rezolva instrucțiuni cu totul diferit de sarcinile transmise. Pentru a rezolva aceasta problema se folosește „Cyclic Redundancy Check”, este o metoda de control al mesajului. Pe lingă mesaj se transmite și controlul sumei apoi receptorul la fel calculează suma și compara suma primita cu suma recepționata, și în caz ca sumele diferă se găsește bitul eronat și se corectează.

Exemplu:

Să presupunem că dimensiunea cadrului de intrare este 10, gradul polinomului generatorului este 3, starea inițială este[0], și sumele de control sunt 2. Blocul divide fiecare cadru de intrare în două subcadre de mărime 5 și adaugă o sumă de control de dimensiune 3 pentru fiecare sub-cadru, așa cum se arată mai jos. Starea inițială nu este prezentată în acest exemplu, deoarece o stare inițială[0] nu afectează ieșirea algoritmului CRC. Apoi cadrul de ieșire are dimensiunea 5 + 3 + 5 + 3 = 16.

Fig. 2.5.7. Crearea mesajului codat

Se va crea un pachet de așa o forma:

Fig. 2.5.8. Schema de structura pentru codarea mesajului

Pentru un mesaj de intrare cunoscut, cu o lungime de 6 biți, modelul generează biți CRC cu un polinom generator g()=++1, și o stare inițială specificata în registru. Încercăm să simulăm acest exemplu în programa de simulare Simulink Matlab.

Fig. 2.5.9. Schema de simularea CRC în mediul Simulink Matlab

Cu același principiul se poate alcătui un soft pentru a face aceleași operațiuni ca și la schema de mai sus, dar apare o problema globala, este nevoie de timp pentru codare și decodare. dacă la codare se utilizează PC unde viteza de lucru este foarte mare, Arduino nu va reuși să recepționeze – codifice – calculeze CRC – compare CRC – transmite mesaj – citire senzori – acționare. Frecventa de lucru nu este așa de mare, iar controlere cu frecvente mari costa foarte mult.

Pentru a rezolva aceasta problema se propune de aflat suma totala la toate variabilele, fără a transforma în cod binar manual, și de împărțit la polinom. Astfel mesajul va fi constituit din variabilele+restul împărțirii. Arduino face aceleași operațiuni de adunare și împărțire și în plus comparare a resturilor împărțirilor, iar în caz ca resturile nu sunt egale doar să transmită mesaj la PC, fără a corecta bitul eronat. în acest caz are loc câștigul în timp dar se pierde în corecția mesajului. să încercam să alcătuim un pachet codat la calculator ce va fi transmis la Arduino.

Fig. 2.5.10. Mesajul inițial

Se afla suma, și împărțim la cifra 9 pentru a afla restul împărțirii, apoi acest rest concatenam la sfârșitul mesajului.

Suma este: 3+1+600+2+543+1+234+15+10=1409;

Aflam restul împărțirii:

Restul împărțirii reprezintă acel CRC, el se va concatena la mesajul inițial, astfel se va primi mesajul final:

Fig. 2.5.11. Mesajul inițial împreună cu check suma calculată

Concluzie, economisim în timp și operații și pierdem în corecția mesajului, mesajul final pentru acționare are forma: ,3,1,600,2,543,1,234,15,10,5,

In acest subcapitol să elaborat o baza buna de acționare, achiziție, comunicare, este timpul de început de proiectat programul de acționare și achiziție. Pentru aceasta alcătuim algoritmii necesari și ne determinăm cu bibliotecile folosite.

2.6. Proiectarea algoritmilor de funcționare a programului pentru controlerul Arduino

Exista câteva metode de acționare a motorului pas cu pas: prin înscrierea datelor în registru cum a fost descris mai sus, a doua metoda este folosirea PWM, dar pentru Arduino sunt biblioteci pentru acționari, achiziții. Una din bibliotecile de acționare a motorului pas cu pas este:

AccelStepper. Biblioteca AccelStepper permite conectarea a mai multe motoare pas cu pas, cu accelerare și încetinire controlată.

AccelStepper mystepper(1, pinStep, pinDirection);

Un motor pas cu pas controlat de un de driver dedicat, motorul, pasul, direcția.

AccelStepper mystepper(2, pinA, pinB);

Un motor pas cu pas bipolar controlat de un circuit H-Podul.

AccelStepper mystepper(4, pinA1, pinA2, pinB1, pinB2);

Un motor pas cu pas unipolar, controlat de 4 tranzistori.

mystepper.setMaxSpeed(stepsPerSecond);

Setează viteza maximă. La stabilirea poziției, motorul pas cu pas va accelera pentru a trece la această viteză, iar apoi se scădea când se ajunge la destinație.

mystepper.setAcceleration

Setează accelerație pentru a fi utilizate, în pași pe secundă.

mystepper.moveTo(targetPosition);

Deplasarea motorului la o nouă poziție absolută. Acest lucru se întoarce imediat. Mișcarea efectivă este cauzată de centrare ()

funcție.mystepper.move(distance);

Deplasarea motorului(pozitiv sau negativ) în raport cu poziția să actuală. Acest lucru se întoarce imediat. Mișcarea efectivă este cauzată de centrare () .

funcție.mystepper.currentPosition();

Citirea poziției actuală a motorului.

mystepper.distanceToGo();

Citește distanța motorul din poziția sa, la destinație. Acest lucru poate fi folosit pentru a verifica dacă motorul a ajuns în poziția să finală.

mystepper.run();

Actualizarea motorul. Acest lucru trebuie să fie numit repetat pentru a face mișcare motorul.

mystepper.runToPosition();

Actualizarea motorul, și așteptarea pentru ca aceasta să ajungă la destinație. Această funcție nu se întoarce până când motorul este oprit, așa ca este util numai în cazul în care nu există alte motoare sunt în mișcare.

mystepper.setSpeed(stepsPerSecond);

Setați viteza, în pași pe secundă. Această funcție se returnează imediat. Deplasarea reală este cauzată de runSpeed ​​().

called runSpeed().

mystepper.runSpeed();

Actualizarea motorul. Acest lucru trebuie să fie numit repetat pentru a face mișcare motorul.

Pentru conducerea motoarelor servo se folosesc aceleași metode, sau prin folosirea bibliotecii Servo.h ea permite conducerea de pînă la 24 motoare servo.

Servo myservo;

Crearea instanței a bibliotecii Servo. Este nevoie de a crea o instanță pentru fiecare motor, oferind fiecărui motor un nume unic de alegere.

myservo.attach(pin);

Specificarea numărul de PIN la care este conectat semnalul de comandă a motorului.

myservo.write (unghi);

Se muta servo motor la un unghi nou, între 0-180 grade. Unele motoare servo nu sunt capabile de 180 de grade sau au probleme de stabilitate la capetele îndepărtate ale acestei game de valori.

Pentru a elabora algoritmii de funcționare a softului din Arduino, se face o ramificare a întregului soft în câteva parți de baza.

Fig. 2.6.1. Ramificarea subprogramelor pentru Arduino

1. Proiectez algoritmii pentru conducerea motorului pas cu pas, pentru primul motor este nevoie de verificat dacă butoanele nu sunt apăsate. în caz ca unul din butoane este apăsat rezulta ca dispozitivul a ajuns în capăt și nu este nevoie de rotirea motorului. Pentru a controla butoanele se folosește funcția „if” , în caz ca direcția este mai mare ca 0 rezulta ca a fost ales motorul, este necesar de decrementat direcția pentru a mișca în dreapta(0) sau în stingă(1), înscriem direcția la pinul de la Arduino, și citim viteza primita. După toate setările motorul se mișca cu un pas și trece la controlul celuilalt motor.

2. Pentru motoarele servo se determină pasul de incrementare și gradul maxim de mișcare a motorului. în caz ca unul din motoarele servo a fost acționat, se incrementează gradul cu pasul setat, iar mai apoi se controlează dacă nu a fost depășire de capacitate, dacă s-a depistat depășirea, motorul se va mișca la poziția maxima și se va opri. La fel se face și cu mișcarea la gradul minimal adică la gradul 0, în caz ca se primește valoarea negativa, motorul se deplasează la 0 grade. După ce are loc deplasarea motorului se face o întrerupere pentru ca motorul să reușească să se deplaseze, și are loc resetarea comenzii. Pentru ambele motoare algoritmii sunt la fel, și programul va avea aceeași structura.

3. La conectarea dispozitivului și la formarea legăturii, este nevoie ca dispozitivul să treacă un test. Testul consta în deplasarea dispozitivului la punctul minimal apoi la punctul maximal, și se calculează lungimea traseului. Astfel utilizatorul va cunoaște din start dimensiunea traseului de rulare a dispozitivului. Pentru a rula intr-o direcție citim butonul și senzorul, cit timp ele nu sunt acționate, va avea loc deplasarea dispozitivului intr-o direcție sau în alta.

4. Pentru ca Arduino să reacționeze la mesaj, are loc citirea permanenta din USART, în caz ca a apărut simbolul de virgula atunci are loc citirea mesajului. Fiecare simbol se citește, dacă sunt cifre ele se înmulțesc la zece pentru a forma întreaga variabila, iar în caz ca se mai depistează o virgula, are loc repetarea operațiilor cu alte variabile. Astfel prin citirea simbolurilor se formează mesajul complet, unde fiecare variabila se incsrie intr-un masiv de comenzi.

Fig. 2.6.2. Acționarea primului motor pas cu pas Fig. 2.6.3. Testul, mișcare în stânga

Fig. 2.6.4. Servo motor Fig. 2.6.5. Recepționarea mesajelor primite

2.7. Elaborarea softului pentru interfața de comunicare cu controlerul

2.7.1 Proiectarea diagramelor UML pentru interfața de lucru

Ultima stadie de proiectare consta în elaborarea interfeței, pentru a elabora interfața se elaborează diagramele UML. Se proiectează UML diagrama de interacțiune a dispozitivului cu calculatorul. Utilizatorul acționează cu gamepad-ul și citește informația de la PC. Joystic-ul transmite datele direct la PC prin intermediul interfețe, care la rândul sau prelucrează și transmite prin canalul Bluetooth datele la Arduino.

Fig. 2.7.1. Diagrama UML de interacțiune cu utilizatorul

Fig. 2.7.2. Diagrama UML a interfeței proiectate

În diagrama de mai sus a fost elaborata UML pentru interfața, UML consta din Forma principală care este împărțita în Meniu, StatusBar, și Fereastra. Fereastra se împarte în paneluri pentru: setare COM, setarea motorului servo, setarea motorului pas cu pas, recepționarea mesajului, joystic. Toate panelurile sunt folosite la comunicarea prin portul COM cu Bluetooth.

– în MainMenu utilizatorul poate să aleagă reversibilitatea motoarelor, înscrierea coordonatelor în fișier, citirea lor.

– StatusBar se folosește pentru afișarea informației necesare cum ar fi: conectarea la COM, numărul de octeți primiți.

– în fereastra de lucru: se setează portul COM, viteza portului, gradele maxime de rotație a motoarelor servo, pasul de rotație a motoarelor servo, setările motorului pas cu pas, pachetele retransmise de la Arduino, și starea joystic-ului care poate fi accesata la necesitate din MainMenu.

2.7.2. Crearea softului de citire a „joystic”ului

Folosirea joystic-ului se bazează pe utilizarea a mai multor funcții Windows API și structuri pentru Windows, descrise în fișierul mmsystem.h.

Subprogramele de servire a joystic-uri, sunt încărcate la pornirea sistemei de operare. În versiunile pe 32 de biți ale Windows pot fi două „joystic-uri, și fiecare pot avea de la unul la patru butoane. Care este joystic-ul și care sunt caracteristicile driver-elor, se poate determină utilizând funcțiile corespunzătoare din Windows API. În plus, cu alte caracteristici, puteți determină care dintre butoane sunt apăsate în acest moment, și care este poziția curenta cu privire la înclinația de mâner(informații de poziționare a joystic-ului). Acest lucru poate fi realizat fie prin achiziția periodica a joystic-ului, sau prin prelucrarea evenimentelor de la joystic.
Se creează o interfața, unde se adaugă componentele TShape pentru a reprezenta tastarea butonului, din start TShape se face invizibil și la acționarea butonului se face vizibil și se înscrie în mesaj de transmitere la COM port. Se mai adaugă componenta TMemo, pentru a afișa starea analogului și mesaje de inițiere a gamepad-ului.

Înainte de a începe de programat, se inițializează biblioteca mmsystem.h. Apoi trebuie să aflam dacă este instalat draiverul joystic-ului, și dacă este conectat la PC. Pentru a rezolva sarcina se folosește funcția joyGetNumDevs(), dacă ea returnează valoarea diferita de zero înseamnă ca draiverele sunt instalate.

int joycount=joyGetNumDevs();

if (joycount==0) Memo1->Lines->Add("Draiverele „joystic”k-ului nu au fost gasite");

Dar aceasta nu înseamnă ca joystic-ul este conectat, pentru a afla dacă este conectat se folosește funcția joyGetPosEx, și trebuie să ne asiguram ca ea nu returnează eroare.

jr=joyGetPosEx(„JOYSTIC”KID1,&JoyInfo);

if(jr==JOYERR_NOERROR)

{connect=true;

jnum=„JOYSTIC”KID1;}

else if(jr==MMSYSERR_INVALPARAM)

ShowMessage("Eroare depistarii „joystic”k-ului");

else if((jr=joyGetPosEx(„JOYSTIC”KID2, &JoyInfo))==JOYERR_NOERROR)

{connect=true;

jnum = „JOYSTIC”KID2;}

În cazul în care „joystic”k-ul este conectat, puteți afla despre caracteristicile sale cu ajutorul structurii JOYCAPS. Lista de caracteristici disponibile este extinsă și reprezentăm informația importantă în componenta TMemo. Alte informații pot fi obținute într-o manieră similară.

Memo1->Lines->Add("Nr. dispozitivului – "+ IntToStr(jnum));

Memo1->Lines->Add("Nume – " + AnsiString(JoyCaps.szPname));

Memo1->Lines->Add("Nr. de butoane – " + IntToStr(JoyCaps.wNumButtons));

În cazul în care joystic -ul este conectat, putem manipula cu evenimentele sale. Funcția JoySetCapture este folosita pentru a rula mesajele de acest joystic pe ecran. Parametrii acestei funcții conține descriptorul ferestrei, care determină care din joystic-uri trebuie să trimită un mesaj, frecvența de trimiterea mesajului, și un parametru care indică faptul că dacă este nevoie de a trimite mesaj, în cazul în care stare joystic-ului nu să schimbat.

if (connect) joySetCapture(Handle, jnum, 10*JoyCaps.wPeriodMin, FALSE);

În consecință, în scopul de a opri fluxul de mesaje, înainte de a închide forma, se apelează funcția joyReleaseCapture.

if (connect) joyReleaseCapture(jnum);

Se crează funcții ce vor răspunde la evenimentele joysticu-lui, una ar fi afișarea componenta TShape și va înscrie în variabila corespunzătoare starea butonului(variabila se va transmite la controler). Alt eveniment este afișarea discretizării ADC(are loc discretizare de 16biti) de la joystic în componenta TMemo și transformarea stării în viteza motorului. Toate evenimentele se vor în codul sursa situat în anexa.

Fig. 2.7.3. Starea „joystic”u-lui

In figura de mai sus se arata evenimentele prelucrate de gamepad, are loc tastarea primelor trei butoane, și tastarea butonului 5 și 7 din partea dreapta. Iar în componenta TMemo se reprezintă starea analogului, se observa deplasarea în sus pe axa y.

2.7.3. Proiectarea softului de comunicare a interfeței cu portul COM

Pentru a lucra cu portul COM, sunt necesare cel puțin 2 fluxuri: de citire a octeților din port și de înscrierea lor. Pentru a realiza operațiile asincronice cu portul COM, este nevoie ca el să fie deschis cu funcția CreateFile, și cu fanionul FILE_FLAG_OVERLAPPED. Acest eveniment se realizează în funcția de deschidere a portului COMOpen().

HANDLE COMport;

COMport=reateFile(cnum.c_str(),GENERIC_READ|GENERIC_WRITE,0,NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);

In afară de aceasta este nevoie de structura statica OVERLAPPED, ce se folosește pentru controlul asincron al operațiilor suprapuse de I/O.

OVERLAPPED overlapped;

In aceasta structura se folosește câmpul hEvent, restul sunt rezervate de sistema. Operațiile asincronice presupun funcționare pe eveniment, deci este nevoie de semnal obiect-eveniment, ce va fi instalat în semnal de stare la oprirea operațiilor, spunând programei ca operația suprapusa să sfârșit. Tot odată obiectul-eveniment va sublinia pentru funcțiile de așteptare, folosite la oprirea fluxului, în ce timp este necesar de trezit fluxul pentru a citi informația. Obiectul-eveniment se creează cu ajutorul funcției CreateEvent, aceasta funcție returnează descriptorul obiectului, care se înscrie în structura OVERLAPPED:

overlapped.hEvent=CreateEvent(NULL,true,true,NULL);

Deoarece se lucrează în regim asincron, pentru evenimentul din funcția CreateEvent se transmit valorile parametrilor: NULL, true, true, NULL.

1. Se folosește descriptorul sigur;

2. Tipul obiectului-eveniment cu schimbarea manuala a stării neacționate;

3. Trecerea la starea acționata;

4. Obiectul se creează fără nume.

Pentru a monitoriza momentul când în portul COM a venit un bait, cu ajutorul funcției SetCommMask, unim descriptorul portului cu masca evenimentului de sosire a baitului EV_RXCHAR.

SetCommMask(COMport,EV_RXCHAR);

In cazul nostru operația suprapusa se activează cu ajutorul funcției WaitCommEvent. Ea pornește așteptarea evenimentului în port, dat de masca, în caz ca evenimentul nu apare funcția transmite controlul programei și returnează FALSE, iar sistema instalează obiectul-eveniment în starea neacționata.

WaitCommEvent(COMport, &mask, &overlapped);

Aceasta va permite rularea funcției de așteptare, care oprește fluxul până la momentul finisării operației suprapuse, pentru ca fluxul la așteptarea evenimentului să nu ocupe timpul procesului. în calitate de așa funcție se folosește WaitForSingleObject.

signal=WaitForSingleObject(overlapped.hEvent,INFINITE);

În caz ca fluxul a fost activat cu funcția GetOverlappedResult, este necesar de citit rezultatul operației pornit de WaitCommEvent. Funcția GetOverlappedResult returnează rezultatul efectuării operației suprapuse în parametru mask, transmis la WaitCommEvent.

if(GetOverlappedResult(COMport,&overlapped,&temp,true))

După apelarea GetOverlappedResult, cu ajutorul parametrului mask este necesar de înfăptuit un control dacă cu adevărat a avut loc evenimentul de primire a baitului.

if((mask&EV_RXCHAR)!=0)

Acuma când cunoaștem ca octeții au fost primiți, este necesar de aflat numărul lor în bufer. Pentru aceasta folosim funcția ClearCommError, ce umple câmpurile structurii COMSTAT. Unul din câmpurile aceste structuri, cbInQue, conține numărul de baituri din bufer, dar care nu au fost citite încă de funcția ReadFile.

ClearCommError(COMport,&temp,&curstat);

btr=curstat.cbInQue;

Acest număr de baiți citim cu ajutorul funcției ReadFile.

ReadFile(COMport,buf,btr,&temp,&overlapped);

Algoritmul de citire a baiturilor:

0. La deschiderea portului pentru operațiunile asincrone cu CreateFile se utilizează fanionul FILE_FLAG_OVERLAPPED, precum și structura suprapusa OVERLAPPED;

1. Cu funcția CreateEvent se creează un eveniment-obiect de alarmă cu resetare manuală a stării neacționate;

2. Funcția SetCommMask stabilește masca evenimentului pentru porturile deschise;

3. Deschidem un ciclu care va lucra tot timpul cit exista fluxul;

4. Cu operațiunea WaitCommEvent se pornește operația suprapusa de așteptare a evenimentului;

5. WaitForSingleObject introducem fluxul în așteptare, până când nu va apărea evenimentul, și obiectul-eveniment nu va trece în stare acționata;

6. Când evenimentul a avut loc, și fluxul a fost activat, cu funcția GetOverlappedResult verificam rezultatul operației WaitCommEvent. În cazul în care rezultatul a fost făcut cu succes, se efectuează următorii pași (7, 8 și 9), în caz contrar, se începe ciclul de la pasul 4;

7. Cu masca de evenimente ce se transmitea în funcția WaitCommEvent verificam dacă întradevar a venit un bait;

8. Funcția ClearCommError umple structura COMSTAT și din cîmpurile cbInQue citim numărul de octeți disponibili pentru citire;

9. Cu ajutorul funcției ReadFile citim acești octeți;

10. Începem ciclul de la început.

Fluxul de înscriere a octeților este mai simplu ca fluxul de citire, datorita faptului ca se poate de controlat cu înscrierea datelor în port. Mai jos este reprezentat șablonul de înscriere a octeților:

{DWORD temp,signal; //temp-variabila-cheie

overlappedwr.hEvent=CreateEvent(NULL,true,true,NULL); //crearea evenimentului de înscriere a datelor în port

WriteFile(COMport,bufwr,strlen(bufwr),&temp,&overlappedwr);

signal=WaitForSingleObject(overlappedwr.hEvent,INFINITE); //închiderea fluxului pînă când nu se va sfirsi operația suprapusa WriteFile //daca operația s-a sfârșit cu succes se instalează fanionul curent

if((signal==WAIT_OBJECT_0)&&(GetOverlappedResult(COMport,&overlappedwr,&temp,true)))fl=true;

else fl=false;}

Deoarece aici la fel se folosește operațiunea asincrona suprapusa, se folosește aceeași structura OVERLAPPED. Deoarece operațiunile de înscriere și citire pot fi paralele, pentru operația de înscriere este necesar de creat structura interna OVERLAPPED, este necesar de declarat global pentru apelarea ei din mai multe funcții:

OVERLAPPED overlappedwr;

Ca și la citirea octeților, se creează semnalul obiect-eveniment cu ajutorul funcției CreateEvent:

overlappedwr.hEvent=CreateEvent(NULL,true,true,NULL);

Se folosesc aceleași parametri NULL, true, true, NULL.

Se pornește operația suprapusa de înscriere a octeților cu ajutorul funcției WriteFile.

WriteFile(COMport,bufwr,strlen(bufwr),&temp,&overlappedwr);

Aici funcția transmite următorii parametri:

COMport – descriptorul portului;

Bufwr – indicatorul de bufer, ce conțin date necesari de înscriere în port;

Strlen(bufwr) – lungimea mesajului înscris în bufer;

&temp – adresa variabilei, în care vor fi înscriși numărul de octeți;

&overlappedwr – adresa structurii OVERLAPPED, ce conține descriptor pentru semnalul obiect-eveniment.

Pentru ca fluxul să nu ocupe timpul procesorului, așteptând până când operația pornită de înscriere a datelor în port, el trebuie oprit. Pentru aceasta la fel se utilizează funcția WaitForSingleObject:

signal=WaitForSingleObject(overlappedwr.hEvent,INFINITE);

In moment ce operația suprapusa de înscriere a datelor va lua sfârșit, semnalul obiect eveniment împreună cu descriptorul overlappedwr.hEvent, se vor instala în stare activa și funcția WaitForSingleObject va activa fluxul. Ea trebuie să returneze valoarea WAIT_OBJECT_0, ce arata ca operația asincrona suprapusa a luat sfârșit. Orice alta valoare în ambele fluxuri va reprezenta o eroare. în caz ca s-a returnat valoarea WAIT_OBJECT_0, cu ajutorul funcției GetOverlappedResult se controlează succesul sau eșecul operației.

if((signal==WAIT_OBJECT_0)&&(GetOverlappedResult(COMport,&overlappedwr, &temp,true)))fl=true;

else fl=false;

Daca operația s-a terminat cu succes atunci GetOverlappedResult va returna true, atunci instalam fanionul f1 în true. Însa, dacă operația s-a terminat cu eșec se instalează fanionul în valoarea false. Cu ajutorul acestui fanion mai apoi se va determină succesul sau eșecul operației.

Utilizarea softului:

Setam portul, numele lui și viteza;

Se setează gradul maxim de rotație a servo motorului, și pasul de rotație;

Alegem parametrii la motorul pas cu pas, numărul de pași pe secunda, pe rotație;

Setarea coeficientului de reducere și diametrul roții;

Transmitem setările la Arduino;

Tastarea butonului Start, și acționarea joystic-ului în direcția dorita.

Fig. 2.7.4. Fereastra principală a softului de setare și comunicare

In figura de mai sus se observa setările inițiale introduse de utilizator, pasul motorului servo este setat la maxim, la fel și viteza de rulare a motoarelor pas cu pas.

Concluzii:

In acest capitol a fost proiectat graful și algoritmul de funcționare a dispozitivului, și apoi pe baza lor s-a elaborat schema de structura și electrica. La crearea softului a fost elaborata o metoda speciala de control al sumei pentru a economisi timp și resursele controlerului, și pentru controlul dispozitivului în timp real. Folosind metode tradiționale de criptare se observa pierderea regimului real-time, datorita codării și calculelor de lunga durata.

Iar la proiectarea comunicării s-a depistat o problema serioasa cu conectarea portului. La conectarea portului COM mai mare ca 9, softul depistează eroare, fără a răspunde concret la starea erorii. După multe cercetări asupra comunicării cu portul COM s-a dovedit ca programa de proiectare Borland Builder C++ nu funcționează cu porturi mari. Aceasta ne relatează ca programa este veche, deci este nevoie de trecut la un soft mai avansat. Totuși Borland a prevăzut aceasta problema și a propus o sintaxa diferita pentru COM mai mari ”\\\\.\\COM10”.

3. ARGUMENTAREA ECONOMICĂ ȘI ESTIMAREA FIABILIĂȚII DISPOZITIVULUI

3.1. Argumentarea economică a dispozitivului

Compartimentul economic este o parte integră a proiectului de diplomă și constă în calcularea efectului economic care se va manifesta odată cu aplicarea în practică a rezultatelor experimentelor, ipotezelor și produselor primite la sfârșitul îndeplinirii tezei, indiferent dacă rezultatul va fi un produs care va participa sau nu la un proces economic. Deci compartimentul economic reprezintă o continuare a părții de proiectare a tezei, adică evaluarea ei din punct de vedere economic. Aici vor fi studiate toate procesele economice necesare pentru îndeplinirea proiectului: fondurile proiectului, cheltuielile care s-au produs pe parcurs, venitul după realizarea produsului ș.a.

Dacă se elaborează un program, se alcătuiește o bază de date sau se scrie un driver pentru vre-un dispozitiv atunci este necesar să se includă în preț toate accesoriile de care este nevoie (calculatoare, produse soft, hârtie, documentație, imprimanta), dacă se utilizează un limbaj necunoscut trebuie de luat în considerație cheltuielile de timp necesare pentru studierea acestui limbaj sau a pachetelor de program.

Odată cu stabilirea temei s-au format concepțiile prin intermediul cărora se va determină în ce domeniu se va activa, pentru început se va stabili limbajul de programare în care se va lucra, pachetele de programe necesare pentru implementarea programului.

Piața de desfacere a acestui produs este foarte îngustă din punct de vedere național, luând în considerație că lucrarea dată este mai mult făcută pentru amatori de video.

Proiectele tehnologice contemporane sunt caracterizate de următoarele particularități:

– tehnica nouă utilizată este foarte complexă și este construită utilizând ultimele elaborări științifice.

– accelerării vitezei de elaborare a proiectelor.

– proiectele referitoare la complexele tehnicii de calcul și softului sunt supuse uzurii morale foarte rapide.

– necesitatea proiectării de sistemă la elaborarea softului și sistemelor tehnice.

Toate acestea au dus la necesitatea de creare a noi metode de planificare. Una din aceste metode prezintă modelarea procesului de elaborare, adică prezentarea legăturilor și caracteristicilor lucrărilor în procesul elaborării proiectului.

Elaborarea bugetului proiectului este o modalitate universală de a planifica veniturile și cheltuielile și a previziona rezultatele financiare. Pentru o firmă bugetul este expresia cantitativă a obiectivelor pe care aceasta și-a propus să le atingă într-o perioadă de timp precizată, de regulă un an. Obiectivele se formulează în termeni de venituri, cheltuieli totale, profit, rentabilitate etc.

Bugetul firmei reprezintă un plan detaliat asupra folosirii banilor pentru materii prime, salarii și a obținerii lor pentru a face aceste cheltuieli.

Planificarea și constatarea veniturilor și cheltuielilor se face în total pe firmă, pe subdiviziuni sau pe activități.

Principalele surse de date folosite pentru elaborarea bugetului sunt previziunile conducerii privind nivelele posibile ale diferitelor activități și rapoartele contabile.

Elaborarea și administrarea bugetelor are la bază atribuirea responsabilităților pentru cheltuieli și urmărirea Încadrării acestora în limitele stabilite.

Bugetul proiectului conține următoarele despărțituri:

Obiective economice;

Cheltuieli și costuri;

Venituri;

Rezultate financiare.

În concordanță cu această structură etapele elaborării bugetului sunt:

– Formularea obiectivelor economice și a programei de acțiuni pentru realizarea lor;

– Evaluarea cheltuielilor la nivel de firmă sau pe proiect și stabilirea costului unitar al produsului;

– Evaluarea veniturilor în baza calculării prețurilor și previzionării cantității comercializate;

– Estimarea rezultatelor financiare și finalizarea elaborării bugetului.

Sistemul de obiective reprezintă expresia cantitativă a nivelului dorit al principalilor indicatori economici. Obiectivele trebuie să contribuie la dezvoltarea afacerii și să asigure un nivel dorit de performanță.

Programele de acțiuni, elaborate la nivel de firmă cuprind activități necesare pentru realizarea obiectivelor. De exemplu pentru obiectivul – sporirea vânzărilor – activitate de realizat poate servi – diversificarea portofoliului produselor sau a serviciilor prestate. În programe se specifică resursele umane, materiale, financiare și informaționale necesare. Se specifică termenele de realizare și responsabilii.

Tabelul 3.1. Programul de acțiuni

Etapa dimensionării cheltuielilor este importantă, deoarece implică calcule ce stau la baza argumentării profitabilității proiectului. Cheltuielile necesare pentru realizarea proiectului convențional le vom diviza în:

– consumuri materiale directe(materie primă, materiale consumabile);

– consumuri salariale directe(salariile și contribuțiile sociale corespunzătoare ale executanților proiectului);

– consumuri indirecte (amortizarea mijloacelor fixe utilizate pe durata proiectului, amortizarea activelor nemateriale, arenda mijloacelor fixe: spații, echipamente, utilitățile: energie, apă, încălzire, salariile și contribuțiile sociale ale conducătorului științific și ale consultanților, comunicații: internet, telefon, fax, GSM, cheltuieli de transport).

Consumurile salariale directe se vor calcula în baza manoperei directe a executantului proiectului. Numărul total de ore-om, din momentul primirii sarcinii pentru teza de licență și până la prezentarea tezei la catedră, se va înmulți cu un salariu convențional pentru studenți de 15 lei pentru oră.

Tabelul 3.2. Consumuri materiale directe

Contribuțiile sociale constituie 29% din suma consumurilor salariale directe.

Tabelul 3.3. Consumuri salariale directe

Amortizarea mijloacelor fixe utilizate în proiectare: calculator, server, scaner, imprimantă și amortizarea activelor nemateriale. Se vor folosi rate convenționale de amortizare: pentru active materiale pe termen lung (mijloace fixe) – 20% pe an, pentru active nemateriale pe termen lung – 33% pe an, dar se va ține cont de numărul de proiecte ce utilizează aceleași programe de gestiune licențiate.

Tabelul 3.4. Amortizarea mijloacelor fixe și active nemateriale utilizate în proiectare

Utilitățile includ pozițiile următoare: energia, apa, căldura se vor evalua după consumul efectiv și tarifele în vigoare pentru o unitate. Comunicațiile și cheltuielile de transport – în dependență de consumul efectiv, dar nu vor depăși 15% din total consumuri indirecte.

Tabelul 3.5. Utilitățile folosite în proiectare

Consumurile salariale indirecte(tabelul 3.7), din care fac parte salariile conducătorului științific și a consultanților și contribuțiile sociale corespunzătoare, se vor calcula folosind următoarea informație: manopera conducătorului științific – 20 ore, a fiecărui consultant – 4 ore pentru proiect; salariile pe oră – 15-20 lei. Rata contribuțiilor sociale – 23%.

Tabelul 3.6. Consumuri salariale indirecte

Costul total al proiectului se va stabili ca suma totală a consumurilor directe și indirecte:

Costul total = Sd + Si = (465 + 9675) + (770 +428.8 + 298,2) = 11638(lei).

La momentul actual nu se planifică comercializarea repetată a proiectului.

Pentru stabilirea prețului se va folosi rata minimă a profitului – 10% și rata maximă a profitului – 25% și se va calcula prețul minim și prețul maxim al proiectului:

Prețul minim = 11638 * 1,1 = 12801(lei).

Prețul maxim = 11638 * 1,25 = 14547 (lei).

Prețul de livrare va include și TVA 20% pentru ambele nivele de preț:

Prețul minim de livrare = 12801 + (12801* 0,2) = 15361 (lei).

Prețul maxim de livrare = 14547+ (14547 * 0,2) = 17456 (lei).

Veniturile din vânzări se vor estima ca produs a prețului (fără TVA) și a cantității comercializate:

Venit din vânzări minim = 15361* 1 = 15361 (lei).

Venit din vânzări maxim = 17456 * 1 = 17456 (lei).

La calculul rezultatelor financiare: profit brut și profit net se va folosi rata

impozitului pe venit – 22%:

Profit brut minim = Venit din vânzări minim – Costul total=15361 – 11638= 3723(lei).

Profit brut maxim = Venit din vânzări maxim – Costul total = 17456 – 11638= 5818 (lei).

Profit net minim = Profit brut minim – (Profit brut minim * 0,22) = 819 (lei).

Profit net maxim = Profit brut maxim – (Profit brut maxim * 0,22) = 1280 (lei).

Tabelul 3.7. Costul dispozitivului

Mai sus a avut loc calcularea costurilor materialelor folosite, observam ca costul final a întregului dispozitiv este de 238. Mai departe comparam costul dispozitivului cu prototipurile existente, pentru a analiza calitatea, precizia cu costul sistemelor.

Tabelul 3.8. Costul prototipurilor

Afișăm costul prototipurilor și costul dispozitivului sub forma de diagrama, pentru a observa abaterea prototipurilor de la costul mic al sistemului proiectat.

Fig. 3.1. Costurile dispozitivelor

Modul Management:

Pentru a obține o eficiență economică maximă în cadrul unui proiect este nevoie de o strategie managerială care să dirijeze procesul de elaborare și realizare a produsului, deoarece managementul este acea forță motrică care „aduce” venit adică bani proiectului elaborat de proiectant.

Primul pas în orice proiect este întocmirea business planului. Cu ajutorul acestui plan se vede clar la orice etapă de existență a proiectului ce s-a făcut și ce mai trebuie de făcut. Un business plan bine înfăptuit poate sugera și răspunsuri nu numai la întrebarea când, dar și la întrebarea cum, cine, ce etc. La elaborarea planului de afacere se vor utiliza datele primite de la responsabilii de marketing, apoi se studiază schema bugetului.

Un buget este un plan financiar al unui proiect. Un astfel de document trebuie să includă o preconizare a cheltuielilor și a veniturilor legate de un proiect. Mai presus de orice, un buget este un document de a cărui fezabilitate depinde susținerea proiectului din partea unui finanțator sau a unui partener.

Concluzii:

La elaborarea proiectului a fost calculata partea economica, unde sau calculat suma totala a consumurilor directe și indirecte. La fel s-a calculat costul dispozitivului și s-a observat ca la elaborarea acestui dispozitiv costul este redus în comparație cu prototipurile existente, deci dispozitivul devine rentabil în comparație cu alte dispozitive. Prototipurile costa scump și sunt dotate cu funcții suplimentare ce nu sunt indicate în sarcina proiectului. Conform la calitate și pret al dispozitivului, se poate spune ca scopul final a fost atins, de a crea un dispozitiv ieftin, precis, cu funcții necesari, și cu o rata mare a calității de filmare.

3.2. Calculul fiabilității dispozitivului

Fiabilitatea – caracteristică a obiectului care îndeplinește niște funcții, păstrând în timp setul de indicatori de exploatare în limitele prestabilite.

Dezvoltarea rapidă a aparatajului modern duce în mod inevitabil la necesitatea de a prezența cerințe înalte de calitate a producției, una din care este fiabilitatea. Fiabilitatea prezintă în sine un complex de proprietăți: capacitatea de lucru, lucrul fără refuz și durabilitatea.

Pentru cantitatea expresiilor fiabilității se folosesc caracteristici speciale – indicatorii fiabilității. Anume cu ajutorul lor noi avem posibilitatea să evaluăm fiabilitatea obiectului sau elementelor lui.

La micșorarea fiabilității influențează mai mulți factori, de exemplu temperatura mediului ambiant, oscilațiile electromagnetice, șocurile mecanice, umiditatea etc. Influența reciprocă a acestor factori înrăutățesc proprietățile izolante, duc la îmbătrânirea primară și distrug materialul din care constă produsul. Deseori în evaluarea fiabilității o atenție sporită se acordă căderilor. În deosebi dacă este vorba de aparatajul militar sau medical, când fiecare cădere poate să influențeze semnificativ la rezultatul lucrului dispozitivului dat.

Unul din scopurile principale ale inginerului la proiectarea dispozitivului este asigurarea fiabilității date a dispozitivului. Aceasta poate fi obținută prin diferite metode. Una din metode este selectarea elementelor de precizie înaltă, o altă modalitate este micșorarea coeficientului de sarcină a elementelor.

Calculând fiabilitatea este necesar să luăm în considerare următoarele puncte:

1. Se analizează toate elementele care se folosesc în dispozitivul dat;

2. Toate elementele de același fel au fiabilitate egală, intensitatea căderilor este independentă;

3. Toate elementele lucrează în regim normal în conformitate cu condițiile de exploatare;

4. Intensitatea căderilor nu depinde de timp, nu există îmbătrânire și uzură;

5. Refuzul elementelor este independent;

6. Refuzul oricărui element duce la refuzul întregului sistem.

Calculul fiabilității constă din probabilitatea de bună funcționare a sistemei Ps(t) și timpul mediu al bunei funcționări a sistemei TMBF. Aceste valori se determină după formulele:

(4)

MTBF= = (5)

Unde:

t – timpul de lucru;

numărul de elemente de tipul i;

m – numărul tipului de element;

intensitatea de refuz elementului de tip i;

intensitatea de refuz a sistemului.

Intensitatea refuzurilor λi nu rămâne una și aceeași dacă se schimbă condițiile de exploatare(schimbarea temperaturii de lucru, umidității relative, efectelor mecanice, accelerației, agresivitatea mediului înconjurător etc). Aceasta intensitate a căderilor caracterizează fiabilitatea de lucru a dispozitivului.

Primul câmp, determină eșecurile la începutul stadiei de exploatare, caracterizat cu scăderea frecventei de refuz. Viteza de scădere a frecventei este determinata de construcția dispozitivului, parametrii materialelor folosite, și de tehnologia de producere. Curba este determinata de metodele de testare și controlul calității. O metoda de micșorarea numărului de căderi la începutul stadiei de exploatare este electrotermotestarea în procesul de producere.

Fig. 3.2. Dependență intensității căderilor de timpul de exploatare

Intensitatea defectărilor statice este practice neschimbata. Acest câmp are cel mai mare timp de exploatare – timpul normal de exploatare a produsului.

Si ultimul câmp al graficului cu o frecventa de creștere a refuzurilor reprezintă timpul final de exploatare a produsului.

Mărirea testărilor produsului oferă posibilitatea determinării datelor necesari pentru calculul fiabilității produsului, determinarea mecanismului de refuz, și se poate prezice cum se va comporta produsul în diferite medii de exploatare.

Pentru caracteristica sarcinii elementelor se introduce coeficientul de sarcină Ks. Coeficientul de sarcină arată raportul dintre tensiunea de lucru, curentul de lucru sau puterea de lucru la valoarea admisibilă. Cu cât este mai mică valoarea de lucru a parametrului elementului în comparație cu cel admisibil(nominal), cu atât e mai mic coeficientul de sarcină și ca consecință timpul de bună funcționare este mai mare. Coeficientul de sarcină se calculează după algoritmul următor:

1) Pentru microscheme(Bluetooth, draiver A4988, Arduino 2560, senzor optic GP2Y0A02ZK0F). Exemplu pentru draiver A4988 coeficientul de sarcina se calculează în felul următor:

(6)

Unde:

Iîntr – curentul de intrare;

Iieș – curentul maxim la ieșire;

Se calculează Ks pentru toate intrările folosite și se alege Ks maximal, spre exemplu pentru draiver curentul maxim pe ieșire este 2A, în schema curentul este setat la 0,7A.

2) Pentru motoarele pas cu pas și servo coeficientul de sarcina se calculează după formula:

Ks= = = 0,305 (7)

3) Pentru rezistoare de carbon sau oxid de metal coeficientul de sarcină se va calcula după formula:

(8)

Unde:

Plucru – puterea disipată în timpul funcționării;

Pnom – puterea nominală al rezistorului.

R1 este rezistorul de tip carbon, 10k±5% , 0,25W produs în China. Prin el trece un curent de 2mA deci puterea disipată va fi:

Plucru= I2 * R= 0,0022 * 10000= 0,04 (W)

Ks= 0,04 / 0,25= 0,16

4) Iar pentru conectori și întrerupătoare coeficientul de sarcina se va calcula după formula de mai jos:

Ks= = = 0,4 (9)

Mai jos vom prezența tabela unde vom include toate elementele circuitului pentru analiza din punct de vedere al fiabilității. Vor fi indicate notarea elementului, denumirea lui, numărul elementelor de același tip, intensitatea căderilor pentru fiecare element, regimul de lucru, coeficientul de corecție pentru regimul termic stabilit și intensitatea căderilor pentru fiecare tip de element.

Tabelul 3.9. Determinarea intensității refuzurilor a schemei

Pentru calculul final al intensității refuzurilor al unei schemei proiectate se aplică formula de mai jos:

Λs = (10)

Unde:

k1 – coeficientul de corecție la vibrații, pentru cazul nostru vom alege 1,04, deoarece dispozitivul se va exploata în condiții de câmp;

k2 – coeficient de corecție la șoc mecanic, în cazul nostru e 1,03;

k3 – coeficient de corecție la influența umidității, în cazul nostru e 1,0;

k4 – coeficient de corecție la influența presiunii atmosferice, în cazul nostru e 1,0;

λbl – intensitatea refuzurilor al blocului analizat.

Deci pentru schema avem:

Λs= 1,04*1,03*1*1*6,674*=7,149* (1/ora)

Determinăm probabilitatea de lucrului fără refuz cu următoarele condiții de exploatare:

Pcalc.(t) = e-Λs·t ≥ Pdat.(t) (11)

Unde:

Pdat(t) =0,98 – valoarea necesară a probabilității de bună funcționare a sistemei;

t =1000 ore – perioada de exploatare.

Timpul se ia egal cu 1000 de ore, după cum aceasta fiind un timp orientativ a timpului de lucru a dispozitivului.

Pcalc(t)= = 0,992;

După cum se îndeplinește inegalitatea Pcalc(t)= 0,992 ≥ Pdat(t)= 0,98, atunci cerințele sarcinii tehnice sunt îndeplinite. Timpul mediu, în care dispozitivul va funcționa cu această fiabilitate:

Tγ = -ln Pdat(t) / Λс (12)

TƳ= – = = 2825,948 (ore)

Următorul pas este calcularea timpului mediu de bună funcționare:

TMBF = 1 / Λс (13)

MTBF= =139879 (ore)

Calculăm coeficientul de garanție, pentru aceasta luăm în considerație că dispozitivul va funcționa în jur de 250 de zile, iar perioada zilei prielnică pentru aceasta cuprinde în jur 8 ore.

Kgar= ani

Coeficientul de garanție arată că dispozitivul va funcționa în decurs de 1,41 ani păstrând probabilitatea de bună funcționare în limitele a 0,98.

Din rezultatele obținute mai sus putem prezența graficul dependenței probabilității de bună funcționare de timp, pentru aceasta calculam P(T) în dependență de timp:

Tabelul 3.10. Caracteristica probabilității în funcție de timp

Pe baza datelor calculate în tabel se construiește graficul dependentei probabilității de timp.

Fig. 3.3. Graficul probabilității de bună funcționare al dispozitivului

Concluzii:

In subcapitolul dat a avut loc calculul fiabilității tuturor elementelor sistemei, fiabilității sumare. S-a constatat ca fiabilitatea având în considerație toți coeficienții, a arătat că, probabilitatea de bună funcționare a dispozitivului la t=1000 ore, constituie, Pcalc.(t)= 0,992, care satisface cerințele date Pcalc.(t)= 0,992≥ Pdat.=0,98.

Coeficientul de garanție a dispozitivului dat constituie Kgar =1,41ani, ceea ce înseamnă că, lucrările de profilactică la dispozitivul dat trebuiesc efectuate nu mai rar de un an jumate.

Cu toate ca coeficientul de garanție este la un nivel cit de cit mediu ar fi bine de majorat fiabilitatea dispozitivului, pentru aceasta este necesar de proiectat un cablaj cu fiabilitate înaltă, fără utilizarea firelor de conexiuni sau conectoarelor, ca în cazul cu folosirea plăcii Arduino.

3.3. Securitatea activității vitale

1. Masuri de protecția muncii la utilizarea instalațiilor și echipamentelor electrice.

Pentru evitarea accidentelor prin electrocutare, este necesara eliminarea posibilității de trecere a unui curent periculos prin corpul omului. Masurile, amenajările și mijloacele de protecție trebuie să fie cunoscute de către tot personalul muncitor din toate domeniile de activitate. Principalele masuri de prevenire a electrocutării la locurile de munca sunt:

– Asigurarea inaccesibilității elementelor care fac parte din circuitele electrice și care se realizează prin: amplasarea conductelor electrice, chiar izolate, precum și a unor echipamente electrice, la o înălțime inaccesibila pentru om. Astfel, normele prevăd ca înălțimea minima la care se pozează orice fel de conducto electric să fie de 4M, la traversarea parților carosabile de 6M, iar acolo unde se manipulează materiale sau piese cu un gabarit mai mare, aceasta înălțime se depășească cu 2.25m gabaritele respective.

– Izolarea electrica a conductoarelor;

– Folosirea carcaselor de protecție legate la pământ;

– Îngrădirea cu plase metalice sau cu tăblii perforate, respectându-se distanța impusa pînă la elementele sub tensiune.

– Folosirea tensiunilor reduse (de 12, 24, 36V) pentru lămpile și sculele electrice portative. Sculele și lămpile portative care funcționează la tensiune redusa se alimentează la un transformator coborâtor. Deoarece exista pericolul inversării bornelor este bine ca atât distanța piciorușelor fiselor de 12, 24 și 36V, cat și grosimea acestor piciorușe, să fie mai mari decât cele ale fiselor obișnuite de 120, 220 și 380 V, pentru a evita posibilitatea inversării lor.

La utilizarea uneltelor și lămpilor portative alimentate electric, sunt obligatorii:

a. Verificarea atenta a uneltei, a izolații ai a fixării sculei înainte de începerea lucrului;

b. Evitarea răsucirii sau a încâlcirii cablului de alimentare în timpul lucrului și a deplasării muncitorului, pentru menținerea bunei stări a izolației;

c. Menajarea cablului de legătura în timpul mutării uneltei dint-un loc de munca în altul, pentru a fi solicitat prin întindere sau răsucire; unealta nu va fi purtata ținându-se de acest cablu;

d. Evitarea trecerii cablului de alimentare peste drumurile de acces și în locurile de depozitare a materialelor; dacă acest lucru nu poate fi evitat, cablul va fi protejat prin îngropare, acoperire, cu scânduri sau suspendate;

e. Interzicerea reparării sau remedierii defectelor în timpul funcționarii motorului sau lăsarea fără supraveghere a uneltei conectate la rețeaua electrica.

Condițiile principale care trebuie îndeplinite de o protecție prin separare sunt:

1. La un transformator de separație să nu se poată conecta decât un singur utilaj;

2. Izolația conductorului de alimentare să fie întotdeauna în stare buna;

3. Izolarea suplimentara de protecție consta în izolarea unei izolări suplimentare fata de izolarea obișnuită de lucru, dar care nu trebuie să reducă calitățile mecanice și electrice impuse izolării de lucru.

2. Protectia muncii pentru activitatea în birou

Apar din ce în ce mai mult afecțiuni produse la locul de munca datorate riscurilor prezente în mediul de munca. Computerul a devenit o parte esențiala a mediului de munca la nivel mondial. Există modalități de a reduce riscul de producere a afecțiunilor profesionale, prin respectarea unor principii simple care ajuta la minimizarea acestor riscuri. Măsurile de protecția muncii recomanda utilizarea sănătoasa a calculatoarelor, astfel încât să diminueze impactul negativ asupra sănătății umane.

Problemele de sănătate apar datorita efectului cumulativ al diverselor cauze generate de interacțiunea om calculator.

Efectul cel mai des întâlnit poate să fie un stres de natura fizica care dispare după o noapte de odihna. dacă aceste simptome rămân prezente în continuare se recomanda vizita la un medic specializat.

Exista niște masuri care se pot lua la birou pentru minimizarea efectelor asupra organismului uman:

1. Asigurarea unor perioade de pauza în folosirea mausului și a tastaturii, perioade de pauza în care mâinile se pot freca una de alta, pentru contracararea sindromului de tunel carpian.

2. Este necesara ajustarea unghiului fata de monitor astfel încât corpul să rămână intr-o stare relaxata și lejera. Brațele și umerii ar trebui să rămână relaxate tot timpul.

3. Folosirea continua a ochilor pentru vizualizarea monitorului poate să conducă la oboseala accentuata la nivelul ochilor și apariția sindromului CVS (Computer Vision Syndrome). în acest caz este recomandat un filtru de protecție fixat pe monitorul ecranului.

Cele mai frecvente simptome sunt durerile intense de cap, dificultățile fixării cu vederea a anumitor obiecte, senzația de ochi care “ard”, sensibilitate la lumina și dureri ale umerilor și ale gatului.

4. Folosiți un ecran cu backround închis la culoare care să nu forțeze privirea. Veți descoperi în scurta vreme ca este mai ușor pentru ochi.

5. Locul pentru documente pe care le citiți să fie la aproximativ aceeași distant fata de ochi ca și monitorul. Folosii un suport pentru documente care să fie poziționat în apropierea monitorului.

6. La fiecare ora să fie asigurata o pauza a ochilor de măcar 3 minute, pauza în care ochiul să privească în depărtare. Aceasta pauza ajuta la relaxarea cristalinului.

7. Modificați poziția corpului periodic pe tot parcursul zilei.

8. Poziția tastaturii trebuie să fie la un nivel adecvat în fața ta. Este important să se asigure înălțimea cotului, care vă permite să tastați cu încheieturile în poziție orizontala.

9. Este important să fie complet relaxat în timp ce lucrează pe calculator. Menținerea unei poziții rigide și forțate va genera intr-o perioada de timp dureri și contractări ale mușchilor gatului și spatelui.

10. Un scaun ergonomic reduce semnificativ durerile de coloana, brațe și gat.

Fig. 3.4. Pozitionarea corecta la calculator

Pentru evitarea durerilor de spate, și pierderea vederii este necesar de respectat regulile.

3. Calculul iluminatului locului de lucru

Se reduce la selectarea sistemului cu care va fi iluminat, determinarea cantității surselor de lumină, tipul lor și locul de instalarea. Reieșind din aceste cerințe calculăm parametrii iluminatului artificial. De obicei iluminarea încăperilor se face prin intermediul surselor electrice de lumină: becuri incandescente și bec fluorescente. În cazul dat vom folosi becuri fluorescente deoarece au avantaje considerabile față de cele incandescente.

• după componenta spectrală sunt foarte aproape de lumina zilei;

• au eficiența de 1,5-2 ori mai mare decât becuri incandescente;

• durata timpului de lucru este mai înaltă.

Pentru determinarea numărului surselor de lumină determinăm fluxul luminos:

F= (14)

Unde: F – fluxul luminos, E – intensitatea minimă a luminii, S – aria încăperii iluminate,

Z – raportul dintre intensitatea medie și intensitatea minimă, K-coeficientul de rezervă, n-coeficientul de uzură, h – înălțimea suspensiei, A- lățimea încăperii, B-lungimea încăperii. Pentru a găsi coeficientul n în СНиП, calculam indexul :

I= (15)

Respectarea acestor sfaturi de protecția muncii va poate proteja de apariția unor probleme foarte supărătoare în viața dumneavoastră.

Concluzii finale

În această teză a fost proiectat dispozitivul de comunicare și comandă pentru procesele de captare a imaginilor. Actualitatea temei a fost explicată prin exploatarea funcțiilor moderne a dispozitivului: pentru crearea filmărilor, fotografiilor, time-lapse, panoramei. Deoarece omul în timpul filmării creează tremur vizibil pentru video, a fost elaborat dispozitivul pentru a minimiza acest tremur și de a majora precizia filmării, și repetabilitatea filmării. Datorită faptului că prototipurile existente costă scump, 300-10000$, s-a încercat elaborarea dispozitivului la un preț redus, precizie maximă, calitate acceptabilă, și cu funcții suplimentare cum ar fi: repetabilitatea mișcării pe traseu fără interacțiunea utilizatorului, adaptabilitatea dispozitivului la diferite softuri ca de exemplu programul de creare a animației DragonFrame, adaptabilitatea softului la diferite sisteme robotizate.

La proiectarea sistemului s-a folosit metoda mixtă de rezolvarea a sarcinilor:

1. A fost elaborat graful și algoritmul de lucru a sistemului pe bază caietului de sarcini, pentru a avea un plan de rezolvare a problemelor tehnice.

2. Mai apoi a fost creată schema de structură a părții electronice;

3. Cu ajutorul schemei de structură a fost proiectată schema electrică. La elaborarea ei a fost folosită placa de bord Arduino2560 pentru a câștiga timp la proiectare(nu a fost nevoie de elaborarea cablajului). În plus această placă poate fi programată cu biblioteci suplimentare de acționare și achiziție, și oferă posibilitatea comunicării cu DragonFrame. Iar pentru deplasarea dispozitivului s-au folosit motoarele pas cu pas, pentru a crește precizia prin numărarea pașilor motorului. Prin adăugarea draiverelor iarăși s-a majorat precizia de 16 ori, datorită folosirii micro-pasului până la 1/16(se observă deplasarea lină a motorului).

4. Elaborarea algoritmilor de funcționare a programului de acționare.

5. Crearea softului pentru placa Arduino, prin utilizarea bibliotecilor de acționare AccelStepper.h, și Servo.h. Datorită acestor biblioteci softul a fost micșorat până la 3 ori.

6. Proiectarea diagramelor UML pentru interfața grafică.

7. Proiectarea softului pentru PC, compus din achiziția gamepad-ului, prelucrarea datelor, și transmiterea mesajului.

8. A fost calculată fiabilitatea, unde coeficientului de garanție s-a primit de 16 luni(timp lung de exploatare fără profilactică).

În final s-a primit dispozitivul cu următoarele rezultate: precizie medie, ieftin(285$ materialile folosite), cu funcții suplimentare(repetabilitate, adaptabilitate). Adaptabilitatea se realizează prin introducerea datelor motoarelor și generarea noilor setări, ceea ce face sistemul unical și diferit de prototipurile existente.

Bibliografie:

1. Michael Margolis. Arduino cookbook. – Sebastopol: Gravenstein Highway North, 2011. -637pag.

2. Jurnalul «Компьютер Пресс», № 7,- iulie 1999

3. П.Агуров. Последовательные интерфейсы ПК. Практика программирования. –Sanct Petersburg, 2004. – 482pag.

4. М.Титов. Работа с коммуникационными портами (COM и LPT) в программах для Win32. -23pag.

5. А.Я.Архангельский. Программирования в C++ Builder. –Moscova,2003.- 1152pag.

6. Canon EOS 600D (Rebel T3i).–În: http://www.ixbt.com/digimage/canoneos600d.shtml

7. Зеркальные цифровые фотокамеры или гибридные системные беззеркальные – какую все же выбрать?- În: http://www.t-phones.ru/cms.php?type=page&id=555

8. Филип Блум. Выбор DSLR-камеры: что купить?- În: http://snimifilm.com/statyi/filip-blum-vybor-dslr-kamery-chto-kupit

9. Teradek Cube.- În: http://www.teradek.com/pages/cube-details

10. Слайдер для DSLR canon 5d, 7d Линер-4Ф (1,2 м) + Фоллоу фокус + matte box + направляющие (SKU210).– În:http://tehfilm.ru/product/slajder-sfm-500-kit-12-m-follou-fokus-kompendium-sku210-3/

11. CineMoco.Motor Control for your Camera.- În: http://www.kickstarter.com/projects/jj1/cinemoco-motor-control-for-your-camera

12. MOTION CONTROL RIGS.- În:http://www.mrmoco.com/products/rigs/

13. MPT1100-SS Pan & Tilt System.- În:http://www.servocity.com/html/mpt1100-ss_pan___tilt_system.html

14. Traducere: Александр Касьянов. Машинка управляемая сотовым телефоном.- În: http://cxem.net/uprav/uprav24.php

15. Traducere: Александр Касьянов. Wi-Fi робот с видеотрансляцией в реальном времени, обнаружением препятствий.- În:http://cxem.net/uprav/uprav42.php

16. Acționarea motoarelor pas cu pas.- În:http://volta.md/ro/suport/103-acionarea-motoarelor-pas-cu-pas

17. Биполярные и униполярные шаговые двигатели.- În:http://electroprivod.ru/bipolar.htm

http://kazus.ru/shemes/showpage/0/843/

18. Как выбрать драйвер шагового двигателя.- În:http://darxton.ru/articles/cnc-diy/vybirajem-draiver-shagovogo-dvigatelya/

19. Arduino Mega 2560.- În:http://arduino.cc/en/Main/arduinoBoardMega2560

20. Bluetooth Bee.- In:http://www.elecfreaks.com/wiki/index.php?title=Bluetooth_Bee

21. General CRC Generator.- În:

http://www.mathworks.com/help/comm/ref/generalcrcgenerator.html

22. Dragonframe.- În:https://www.dragonframe.com/store/Dragonframe.html

23. AccelStepper Library.- În:http://www.pjrc.com/teensy/td_libs_AccelStepper.html

24. Советы пользователям C++Builder. Немного о джойстиках.- În: http://www.”joystic”ks.ru/”joystic”ks/articles/c_plus_plus_builder.shtml

25. C++ Builder, com port.- În:http://rol20.ya.ru/replies.xml?item_no=97

26. Андрей Колпаков. Методы оценки надежности силовых модулей.- În: http://www.power-e.ru/2004_01_40.php

27. MASURI DE PROTECTIA MUNCII LA UTILIZAREA INSTALATIILOR SI ECHIPAMENTELOR ELECTRICE.- În:http://www.referate-scolare.ro/fizica/MASURI-DE-PROTECTIA-MUNCII-LA-UTILIZAREA-INSTALATIILOR-SI-ECHIPAMENTELOR-ELECTRICE/

Bibliografie:

1. Michael Margolis. Arduino cookbook. – Sebastopol: Gravenstein Highway North, 2011. -637pag.

2. Jurnalul «Компьютер Пресс», № 7,- iulie 1999

3. П.Агуров. Последовательные интерфейсы ПК. Практика программирования. –Sanct Petersburg, 2004. – 482pag.

4. М.Титов. Работа с коммуникационными портами (COM и LPT) в программах для Win32. -23pag.

5. А.Я.Архангельский. Программирования в C++ Builder. –Moscova,2003.- 1152pag.

6. Canon EOS 600D (Rebel T3i).–În: http://www.ixbt.com/digimage/canoneos600d.shtml

7. Зеркальные цифровые фотокамеры или гибридные системные беззеркальные – какую все же выбрать?- În: http://www.t-phones.ru/cms.php?type=page&id=555

8. Филип Блум. Выбор DSLR-камеры: что купить?- În: http://snimifilm.com/statyi/filip-blum-vybor-dslr-kamery-chto-kupit

9. Teradek Cube.- În: http://www.teradek.com/pages/cube-details

10. Слайдер для DSLR canon 5d, 7d Линер-4Ф (1,2 м) + Фоллоу фокус + matte box + направляющие (SKU210).– În:http://tehfilm.ru/product/slajder-sfm-500-kit-12-m-follou-fokus-kompendium-sku210-3/

11. CineMoco.Motor Control for your Camera.- În: http://www.kickstarter.com/projects/jj1/cinemoco-motor-control-for-your-camera

12. MOTION CONTROL RIGS.- În:http://www.mrmoco.com/products/rigs/

13. MPT1100-SS Pan & Tilt System.- În:http://www.servocity.com/html/mpt1100-ss_pan___tilt_system.html

14. Traducere: Александр Касьянов. Машинка управляемая сотовым телефоном.- În: http://cxem.net/uprav/uprav24.php

15. Traducere: Александр Касьянов. Wi-Fi робот с видеотрансляцией в реальном времени, обнаружением препятствий.- În:http://cxem.net/uprav/uprav42.php

16. Acționarea motoarelor pas cu pas.- În:http://volta.md/ro/suport/103-acionarea-motoarelor-pas-cu-pas

17. Биполярные и униполярные шаговые двигатели.- În:http://electroprivod.ru/bipolar.htm

http://kazus.ru/shemes/showpage/0/843/

18. Как выбрать драйвер шагового двигателя.- În:http://darxton.ru/articles/cnc-diy/vybirajem-draiver-shagovogo-dvigatelya/

19. Arduino Mega 2560.- În:http://arduino.cc/en/Main/arduinoBoardMega2560

20. Bluetooth Bee.- In:http://www.elecfreaks.com/wiki/index.php?title=Bluetooth_Bee

21. General CRC Generator.- În:

http://www.mathworks.com/help/comm/ref/generalcrcgenerator.html

22. Dragonframe.- În:https://www.dragonframe.com/store/Dragonframe.html

23. AccelStepper Library.- În:http://www.pjrc.com/teensy/td_libs_AccelStepper.html

24. Советы пользователям C++Builder. Немного о джойстиках.- În: http://www.”joystic”ks.ru/”joystic”ks/articles/c_plus_plus_builder.shtml

25. C++ Builder, com port.- În:http://rol20.ya.ru/replies.xml?item_no=97

26. Андрей Колпаков. Методы оценки надежности силовых модулей.- În: http://www.power-e.ru/2004_01_40.php

27. MASURI DE PROTECTIA MUNCII LA UTILIZAREA INSTALATIILOR SI ECHIPAMENTELOR ELECTRICE.- În:http://www.referate-scolare.ro/fizica/MASURI-DE-PROTECTIA-MUNCII-LA-UTILIZAREA-INSTALATIILOR-SI-ECHIPAMENTELOR-ELECTRICE/

Similar Posts