SISTEM DE DEPOZITARE AUTOMATIZAT I. ENUNȚUL TEMEI: Studiul si realizarea unui sistem de depozitare automatizat . II. CONȚINUTUL proiectului de… [608953]

UNIVERSITATEA TEHNICĂ din CLUJ -NAPOCA
FACULTATEA de INGINERIE ELECTRICĂ

SISTEM DE DEPOZITARE AUTOMATIZAT

I. ENUNȚUL TEMEI:
Studiul si realizarea unui sistem de depozitare automatizat .
II. CONȚINUTUL proiectului de diplomă/lucrării de disertație
a) Piese scrise
b) Piese desenate
c) Anexe

III. LOCUL DOCUMENTĂRII: Laborator Sisteme Digitale

IV. CONDUCĂTOR ȘTIINȚIFIC:
………………………………………………

V. Data emiterii temei: 15.10. 2019
VI. Termen de predare: 08.07.2020

Conducător științific, Absolvent: [anonimizat] 2

Sistem automatizat de depozitare

Pagina 3

Declarație -angajament : Deoarece acest proiect de diplomă/lucrare de disertație nu ar fi putut fi
finalizat(ă) fără ajutorul membrilor departamentului MAȘINI ȘI ACȚIONĂRI ELECTRICE și a
echipam entelor de la departament, mă angajez să public informațiile conținute în lucrare numai
cu acordul scris al conducătorului științific și al directorului de departament.

Data: 07.07.2020 Semnătura

Declarație : Subsemnatul MLADIN ALEXANDRU -DANIEL declar că am întocmit prezentul
proiect de diplomă/lucrare de disertație prin eforturi proprii, fără nici un ajutor extern, sub
îndrumarea conducătorului științific și pe baza bibliografiei indicate de acesta.

Data:07.07.2020 Semnătura

Sistem automatizat de depozitare

Pagina 4

Sistem automatizat de depozitare

Pagina 5

STRUCTURA ORIENTATIVĂ A UNUI PROIECT DE
DIPLOMĂ/LUCRARE DE DISERTAȚIE

1. Pagina de titlu
2. Foaia de capăt 3
3. Cuprins 5
4. Introducere 7
Motivația și importanța subiectului ales
Obiectivele cercetării
Analiza soluțiilor e xistente în literatura de specialitate consultată
Prezentarea strategiei de lucru
5. Prezentarea studiului teoretic (cu titlul adecvat)
6. Rezultate și interpretarea lor
7. Concluzii și autoevaluarea contribuțiilor originale
8. Anexe
9. Bibliografie

Sistem automatizat de depozitare

Pagina 6

Sistem automatizat de depozitare

Pagina 7 Capitolul 1. Introducere
Manipularea mărfurilor nu a fost întotdeauna ținta principală în concepțiile și strategiile
de îmbunătațire al timpului î n care ajunge un produs la un client. În trecut producătorii luau î n
calcul progresiv producția , vânz area ș i produsul. Depo zitarea a devenit un lucru esenț ial si
creator de valoare pentru client abia după impunerea orientării că tre consumator, specific
marketingului. Automati zarea acestui proces a luat viaț a la inceputul aniilor 1960. Acesta
făcându -și ap ariția în domeniile în care mă rfurile ave au volum sau greutate mare, spaț iul de
depoz itare era limitat, nu era adusă valoare (societatea făcea doar transport și depozitare) sau
când acuratețea era critică din cauza materialelor sensibile.
Sistemele AS/RS (din engleză ,, Automated Storage and Retrieval System”) au fost
primele pe piața automatiză rii de pozitelor. Acest sistem operează sub controlul unui calculator
care ține evidența fiecă rui produs depozitat. Manipularea es te realizată prin specifi carea tip ului
produsului dorit și cantitatea î n care acesta treb uie livrat. Computerul determină locația acestuia
și dă comanda unui SRM ( din engleză ,,storage and retrieval machine”) care p rin intermediul
unor mecanisme ș i/sau c onveyoare marfa este manipulată și adusă la locul de expediere. [1]
Pentru gestiunea acestor depozite există o interfața. Aceasta interfața controlează tot
sistemul și este ușor de folosit de către om. În general există un software care îndeplineș te acest
rol. Cel mai folosit este un WMS (Warehouse Management System) care acoperă și partea fizică
(servere, dizpozitive de scanare sau imprimare). Această interfață are mai multe roluri precum:
 Recepția mă rfurilor – Cu ajutorul dizpozitivelor de scanare a codulu i, fie el cod
de bare, QR code sau alt tip de cod pentru proce sarea produsului este stocart într –
o bază de date.
 Interfaț a asupra magaziei – Software -ul conferă o vizualizare eficientă a
locației fiecărui produs în magazie direct din aplicați e.
 Comenzi – În interiorul softului se pot face comenzi î n mod d irect pe produs sau
poate recepț iona comenzi provenite din e xterior ( un server web, aplicație mobilă
, etc).
 Livrarea – Softul dă comenzi si stemului pentru transportarea mărfurilor î n
conformitate cu re gulile impuse.

Sistem automatizat de depozitare

Pagina 8 Beneficile simțite î n urma implementă rii acestui sistem automatizat au fost cu un impact
major asupra reducerii masi ve de personal , reducerea spațiului de depozitare și o acuratețe mult
mai mare asupra evidenț ei depozitului. A ceste avantaj e masive definesc în mod implicit ș i
importanța implementă rii acestui sis tem. Un alt argument principal în favoarea optă rii pentru
atuomatizarea depozitului este eliminarea erorilor umane. [2]
Datorita acestor beneficii tot mai multe întreprinderi încep să aleagă astfel de soluț ii
tehnologice pe ntru a a nu fi lăsați în urmă de competiție. Î ntr-adevar, implementarea unui astfel
de sistem poate fii foart e costisitoare dar beneficiile își vor spune cuvântul pe termen lung ș i se
vor dovedii a fii un instrument principal pentru dezvoltare si eficientizare.
După implementare clientul va obser va din primele zile o crestere î n capacitatea de
stocare datorită rafturilor înalte ș i locului de t ransportare mic, se va observa și o creștere în
calitatea administră rii inventarului, acest lucru fiind procesat dig ital de că tre softul sitemului.
In funcț ie de cererea clientului beneficile pot fii personalizate ș i asta din c auz flexibilitații
implementă rii acestui sistem. De exemplu dacă un client a re nevoie de acuratețe sporită , de
sortare, de rapiditate sau chiar de procesarea mă rfurilor de greutate mare companiile care
instalează sistemele pot fii foarte maleabile pentru necesităț ile clientului.
În Româ nia primul depozit High -Bay a fost adus de că tre grupul Coca -Cola Hellenic, î n
2009 , la fabrica de imbuteliere de la Ploieș ti . Acest s istem presupune preluarea paleți lor de la
liniile de imbuteliere ș i transportarea acestora cu ajutorul benzilor transportoare. Pe de alta parte
, Macromex a inaugura t , în 2014, la Campia Turzii Edenia Distribution Center cel mai mare
depozit High -Bay de produse congelate din Europa. Sistemul lor constă î n trei ma carale
automate care traversează tot depozitul în 30 de secunde și plasează produsele cu o precizie de
2mm. Pentru compania din industria fashion, Fashion Days implementarea depoz itului
automatizat a adus o creștere î n capacitatea de procesare zilnică de 3 ori față de perioada dinainte
să implementeze acest sistem dar a scăzut drastic și numărul angajaț ilor și a a crescut viteza de
procesare a comenzilor.
Tot în Româ nia , Fa rmexim, un importator și distribuitor important în industria
farmaceutică a instalat un sistem semiautomatizat de depozitare compus din mai multe benzi
transportoare și în plus acest sist em etichetează și sigilează automat cutiile destinate clienț ilor.
Făcând un studiu de piață se po ate observa un numă r impo rtant de companii care
prestează servicii de implementare a asftel de sisteme.

Sistem automatizat de depozitare

Pagina 9 Kardex Remstar este o companie care aduce servicii de AR/RS pe plan internațional. Cu
sediul în Elveția, Kardex se bucură de 1,650 de angajați în întreaga lume. Cu produse precum
lifturi vertical e, buffere vertical e, carusele , sisteme orizontale și unități cu putere de ridicare
sporită se poate lă uda ca f iind unul dintre liderii pe piață a acestui domeniu. Aceștia promit o
creștere cu 99% în acuratețe, o creștere cu până la 400% a productivităț ii și salvare de până la
90% a spaț iului.
Un alt gigant din domeniul acesta es te Jungheinrich AG , cu sediul în H amburg, aceștia
având aproximativ 16.000 de angajați din 39 țări. Pe lângă consi liere pentru procese aceștia oferă
și utilaje adecva te scopului de depozitare. Pe lângă gama lor foarte variată de produse și servicii
aceștia instalează ș i sisteme de depozita re automate pentru bunuri de dimensiuni mici. Sistemul
de rafturi, software -ul, tehnica de transport conectată ș i dispozitivul de deservire a rafturilor sunt
îmbinate î ntr-un ansamblu perfect.
Jungheinrich WMS este softul lor de interfațare logistică și ei spun că e adaptabil , flexibil
și se actualizează în permanență .[3]
O altă variantă pe piață este ULMA, cu o activitate mai mult în sfera de împachetare și
ambalare. Această companie vine cu soluții de transport modern ș i complet automatizate.
Am fost captivat de această temă datorită complexitații și utilității acesteaia. Consider că
este un domeniu cu perspectivă î n viitor, un domeniu care va deveni o necessitate în cadrul pieței
competitive și un domeniu în care se aplică multe cunostințe inginerești plecâ nd de la proiectare,
programare și ajungând chiar la montaj electric ș i mecanic, alegerea componentelor și chiar și
analiza eficientiză rii costurilor.
Analizând riguros necesitățile și perspectiva către acest domeniu pot spune că se observa
un viitor roditor în direcția implentă rii acestor t ipuri de sisteme automatizate așa că in cadr ul
lucră rii voi aborda diferitele tehnici și tehnologii folosite în construirea acestor sisteme și am să
fac o analiză pe baza acestora.
Motivarea deciziei
Având î n ve dere specializarea, Instrumentație și Achizitii de Date, consider că tema
aleasă e potr ivită din diverse motive.
Unul din motivele principale a fost folosirea a cât mai multor practici și tehnologii
învățate în aceș ti ani de fa cultate. Atfel prin această lucrare am atins puncte precum folosirea
microc ontrollerului Arduino, punerea în funcț iune a motoarelor de curent continuu, citirea

Sistem automatizat de depozitare

Pagina 10 datelor de la senzori IR, programar ea microcontrollerului, interfaț are cu ajutorul LabVIEW,
protocoale de comunicație și procesarea numerică a imaginilor ( citirea QR Code).
Un alt motiv principal este dorinț a personală de aprofundare în aceste detalii și să observ
procesul de automatizare în mai multe sfere. Mă pasionează sfera automatizări și cons ider că e
un domeniu de viitor și sunt încântat să -l descopar.
Analiza perosnală
După un șir de multe cercetă ri asupra domeniului am observat o tendi nță de șablonare a
întregului proces î n mai multe procedee mici, abordate diferit de la companie la compa nie.
După analiză am constatat urmatoarele procese standardizate:
 Scanarea produsului : Deobicei produsul vine prestabilit cu un cod 2D pe cutia
acestuia. Cele mai întâ lnite coduri sunt QR Code, cod de bare sau chiar DMC(
Data -Matr ix Code). Scanarea se re alizează cu ajutorul unei camer e video care
captează imaginea ș i cu un soft de procesare numerică a imaginilor se de scifrează
codul î n text. Acest text contine codul de produs.
 Stabilirea disponibilităț ii in depozit : Cu ajutorul unui algoritm de numărare sau
o bază de date se poate deduce câ te locuri sunt disponibile pe rafturi . Acest lucru
se poate verifica ș i cu ajutorul datel or primite de la senzori. O dată scanat
produsul, este identificat și apoi se verifica numă rul de locuri pe raftul prestabilit
produsul ui respectiv, dacă este loc, se trece la procesul urmator, dacă nu, se
afisează un mesaj de eroare. Deseori î n cazul în care depozitul este plin se scoate
automat un produs pentru a evita un blocaj.
 Adăugarea produsului și locul acestuia î n baza de da te : Pentru evidența
numărului de produse și disponibilitatea pe stoc, după procesul de scanare al
produsului, acesta este introdus într -o bază de data, de cele mai multe ori de tip
SQL. In cazul în care nu se dispune de o bază de date, aceste informaț ii sunt luate
strict de la senzorii puși pe fiecare poziți e.
 Comanda motoarelor pentru transportul produsului : Pentru controlul
transportului produselor pe benzile transportoare este nevoie de motoare electrice.
Se folosesc și motoare AC dar ș i DC. Comanda a cestora vine de la controller, în
general un PLC și este trecută prin relee sau convertoare pentru a adapta
semnalul l a intră rile motoarelor.

Sistem automatizat de depozitare

Pagina 11  Interfaț a software pentru utilizator : Este necesar ă vizualizarea ș i comanda
sistemului pentru o bună utilizare a acestuia. Acest lucru este rea lizat prin
transpunerea informaț ilor pe un monitor. Acest lucru poate fii realizat cu ajutorul
multor tehnologii software precum Phyton, Visu al Basic, Processing , LabVIEW
și multe altele. Utilizatorul acestui sistem trebuie cu ajutorul interfeței să poată
vizualiza statusul sistemului și chiar să poată să dea comenzi acestuia.
 Algoritmica software : După părerea mea, cea mai importantă și dificilă parte a
unui sistem de acest tip. Necesită cunoștinț e tehnice complexe, progra mare si
eficiență. De cele mai multe ori această algoritmică este scrisă pe un PLC și
programatorul trebuie să dezvolte un algoritm care să se potrivească perfect cu
necesităț ile sistemului.
Simple procedee puse cap la cap rezultă sistemul de automatizare , astfel am preferat să –
mi pun amprenta în abordarea ș i alegerea acestor procedee.

Sistem automatizat de depozitare

Pagina 12 Capitolul 2. Componente ș i tehnologii
2.1. Arduino
2.1.1. Introducere în Arduino

Figura 2.1 Placa de dezvoltare Arduino [4]
Arduino este un microcontroller “open -source” pe care se poate scrie, șterge sau rescrise
instrucțiuni oricând, instant. Introdusă î n 2005, pl atforma Arduino a fost destinată pasionaților,
studenților și profesioniștilor ca o platformă ieftină pentru dezvo ltarea anum itor dispozitive.
Este capabil să funcționeze ș i ca un mini computer, la fel ca toate cel elalte microcontrollere,
achiziționând date de la input -uri și controlâ nd output -urile pentru o varietate de produse
electronice.
Este capabil de a trimi te și a primi informaț ii prin in ternet cu ajutorul unei varietăț i de
"shielduri". Arduino folosește pe partea de hardware plă cile de dezvoltare Arduino iar pentru
implementarea co dului, ca dezvoltator implicit și cea mai folosită metodă , Arduino IDE. Placa
este construită cu microcontrollerul de 8 biț i Atmel AVR, construite de Atmel sau chia r
microcontrollerul pe 32 de biț i Atmel ARM. Aceste microcon trollere pot fi programate cu
ușurință folosind C sau C++ î n cadrul Arduino IDE.
Spre deosebire de alte microc ontrollere din India, Arduino a intrat pe piaț a electronicelor
destul de recent fiind restricț ionate doar pe proiecte mici. Specialiștii încep gradual să accepte
rolul și importanța plăcutei Arduino î n diferite proiecte mai mari. Se pot încă rca structuri d e cod

Sistem automatizat de depozitare

Pagina 13 doar folosind un cablu USB conectat între Arduino ș i un computer. Mediul de dezvoltare
Arduino IDE permite cu u șurința folosirea acestuia de orice persoan ă și dezvoltarea și
implementarea de programe pentru Arduino scrise în C sau C++.
Având atâ t de multe opț iuni în alegerea unui tip de plăcuț e, trebuie făcută o analiză
asupra nevoilor, necesităților ș i obiectivelor proiectu lui conceput. Fiecare tip de plăcuț a vine cu
un set special de specificații și capacități î ndreptate spre anumite nevoi. [5]
2.1.2. Există nevoia de Arduino?
Care sunt mai exact beneficile acestei plăci? Ce o face diferită față de alte opțiuni?
Prezint, în urmatoarele rânduri un numă r de motive importante ca raspuns acestor întrebă ri.
1. Comun itate activă de utilizatori: Grupuri de persoane care folosesc acelaș i produs
pentru proiecte similare au oportu nitatea de a schimba sau cere păreri altor utilizatori în legătura
cu problemele cu care aceștia se confruntă .
2. Creș terea prin Arduino: Din prisma faptului că Arduino e ste "open source" acesta
creează oportunități cu un cost redus pentru entuziaști și chiar profesioniști să dezvolte aplicații
și să construiască device -uri. Arduino este o unealtă perfectă pentru începă tori.
3. Hardware ieftin: Arduino, ca și compiler ș i mediu de lucru, vine gratis, doa r
componentele hardware necesită cumpărate și beneficiul major e că sunt foarte accesibile
financiar.
4. Conectivitate ușoară : Pentru a pune în funcțiune o placă de dezvoltare Arduino tot ce
trebui e făcut e fie conectată la o sursă , fie conectată cu USB la un calculator, acel cablu USB e
folosit chiar și pentru î ncarcarea de cod pe procesor.
5. Mediu maleabil pe mai multe platforme: Arduino IDE poate rula pe un numă r mare
de platforme precum și cele m ai utilizate: Microsoft, Linux și Mac OS X făcâ nd astfel
comu nitatea de utilizatori Arduino și mai bogată .
2.1.3. Tipuri de plă ci Arduino
Plăcile Arduino sunt disponibile cu multe tipuri de module incorporate implicit. Plă ci
precum Arduino BT ca re vin e pre -instalată cu un m odul Bluetooth, pentru comunicaț ii wir eless.
Aceste module le putem găsii și separat ș i pot fi montate separat pe placa Arduino. Ace ste
module se numesc "Shield" -uri.

Sistem automatizat de depozitare

Pagina 14 Câteva din cele mai folosite "Shield" -uri sunt :
 Arduino Ethernet Shield: Permite conexiunea unei plă ci Ar duino la internet
folosind libră ria Ethernet.
 Arduino Wireless Shield: Face disponibilă comunicarea wireless prin
intermediul Zigbee.
 Arduino Motor Driver Shield: Permite plăcii Arduino să gestioneze un driver
pentru motoare, etc.
În urmă torul tabel sunt prezentate tipurile de plăci Arduino aferente fiecă rui tip de
microcont roller și a frecvenț ei de ceas :
Tabel 1. Tipuri de plă ci de dezvoltare Arduino
Tipul placii Arduino Microcontrollerul Viteza de ceas
Arduino U no ATmega328 16 MHz cu auto -reset
Arduino Duemilanove ATmega328 16 MHz cu auto -reset
Arduino Nano ATmega328 16 MHz cu auto -reset
Arduino Mega 2560 ATmega2560 16 MHz cu auto -reset
Arduino Leonardo ATmega32u4 16 MHz cu auto -reset
Arduino Mini cu ATmeg a328 ATmega328 16 MHz cu auto -reset
Arduino Ethernet Echivalent cu Arduino Uno
Arduino Fio. ATmega328 8 MHz cu auto -reset
Arduino BT cu ATmega328 ATmega328 16 MHz cu auto -reset
LilyPad Arduino cu
ATmega328 ATmega328 8 MHz(3.3V) cu auto -reset
Arduino P ro sau Pro Mini ATmega328 16 MHz cu auto -reset
Arduino NG ATmega8 16 MHz cu auto -reset

2.1.4. Elementel e plă cii de dezvoltare Arduino
Elem entele constructive ale unei plăcuțe Arduino se pot împărții în două categorii:
 Hardware
 Software
2.1.4.1. Hardw are
Placa de dezvoltare Arduino conține mai multe componente care împreună fac posibilă
funcț ionarea a cesteia. Aici sunt prezentate câ teva componente principale :
 Microcontroller: Acesta este inima plăcii de dezvoltare și funcționează ca un
mini-computer . Citește și trimite informații sau comenzi că tre componentele

Sistem automatizat de depozitare

Pagina 15 periferice conectate la ace asta. Microcontrollerul folosit diferă de la placă la placă
și poate veni chiar cu specificaț ii proprii diferite.
 Mufa USB: Această mufă este cea mai importanta mufă din placă . Este folosita ă
pentru a urca programe pe microcontroller folo sind un cablu USB. Aceasta are și
funcție de sursă de alimentare în cazul în care o sursă de alimentare exterioară
este absentă.
 Sursa exterioară de alimentare: Este posibilă conectar ea unei surse exterioare
de alimentare pentru placa de dezvoltare la o tensiune de 9 -12V.
 Buton de reset: Tot timpul prezent, butonul de reset este folosit pentru a reseta
microcontrollerul.
 Pini analogici: Pe orice placă gă sim un numar diferit de la pl acă la placă de pi ni
analogici care pot fi folosiți ca și intrări și/sau ieșiri. Sunt notați cu litera "A"
înaintea unui număr corespunză tor pinului.
 Pini I/O digitali: Evident, la fel ca în cazul pinilor analogici, găsim un numă r
variat de la p laca la placa de pini digit ali, având rol de intrări și ieș iri digitale.
 Pini de alimentare si masă (GND): Sunt pini aflaț i pe plac a de dezvoltare care
alimentează cu 3.3V sau 5V și pini de masă (GND).

Figura 2 .2 Elementele plă cii de dezvoltare Arduino [6]

Sistem automatizat de depozitare

Pagina 16 2.1.4.2. Software
Codul scris pentr u Arduino este cunoscut ca schiță. Software -ul folosit î n cele mai multe
cazur i pentru a creea astfel de schiț e pentru Arduino este cunoscut ca și Arduino IDE. Acest IDE
conține urmatoar ele p ărti:
 Editor text: În aceasta porț iune se introduce codul folosind o versiune
simplificată a limbajului de programare C++.
 Zona de mesaj: Aici sunt afișate mesajele de eroare precum și informaț ile legate
de salvarea sau exportul codului.
 Bara de unelte: Această bara conț ine diferite butoane precum "Verify",
"Upload", "New", "Open", "Save" si "Serial Monitor".
2.1.4.3. Alte caracteristici ale Arduino IDE
 Fișierele unui proiect sau ale unei schiț e sunt salvate cu extensia .ino
 Sunt disponibile acț iuni precum decupare/copiere/lipire.
 Cea mai mare parte a scheletului unui c od in Arduino va avea doua funcț ii.
2.1.5. Bazele programă rii in Arduino
Acum discută m despre tehn icile de programare a unei schițe Arduino în Arduino IDE.
Există două părț i important e pe ca re orice schiță le va conț ine, acestea sunt:
 void setup ()
 void loop ()
2.1.5.1. void setup ()
Această funcție este prima care lucrează atunci câ nd Ard uino este pornit. Este executată
doar o dată în toată funcț ionarea acestuia.
Această funcți e conține i nițializarea fiecărui pin pe care intenționăm să -l folosim î n
proiectul nostru pentru intrare sau ieșire. Aici avem un ex emplu legat de cum ar trebuii să arate:

Figura 2 .3 Inițialiarea pinilo în funcț ia setup()

Sistem automatizat de depozitare

Pagina 17 Putem observa declararea func ției în prim ul rând apoi două rânduri de inițializări de pini
cu funcția "pinMode()" care acceptă ca parametrii numărul pinului, în cazul nostru variabila
"pin" și tipul acestuia, adică INPUT/OUTPUT.
În funcția setup() mai putem inițializa ș i Serial Monitorul. Acesta este folo sit pentru a
vizualiza informația care este transmisă prin comunicarea serială .

Figura 2.4 Inițializarea comunicării seriale în funcț ia setup()

2.1.5.2. void loop()
Aceasta funcție este la fel de importantă ca ș i setup(). Aceasta conține păr țile de cod care
trebuie executate î n mod continuu, s pre deosebire de codul din funcț ia setup() c are trebuie
executat doar o dată .
Un exemplu pentru funcț ia loop() :

Figura 2 .5 Exemplu pentru funcț ia loop()
Principalele funcții folosite î n programa rea codului din interiorul funcției loop() sunt
funcț iile:
 digitalWrite(): Această funcție este folosită pentru a controla dacă pe pinul
digital dat se setează valoarea de 5V pinu lui sau 0V. Pinul dat trebuie să fie
inițializat ca și OUTPUT. Funcț ia acceptă ca parametrii numărul pinului ș i
valorile "HIGH" sau "LOW".
 digitalRead(): Funcție folosită pentru citirea unei valori de tensiune primită pe
pinul dat, pinul trebuie să fie inițializat ca și INPUT și va întoarce valoarea 0 î n

Sistem automatizat de depozitare

Pagina 18 caz că nu există tensiune primi tă pe acel pin și valoarea 1 în cazul în care este.
Acceptă ca parametru numă rul pinului.
 analogWrite(): Similară funcției digitalWrite(), această funcție poate să decidă ,
în mod analogic nivelul de tensiune care este trimis că tre pinul dat. V aloarea este
cuprinsă î ntre 0-254, 0 fiind 0V iar 254 5V.
 analogRead(): Citeș te valoarea pinului anologic trimis prin parametru și
retrunează o valoare între 0 ș i 254.
Dacă există nevoia de un delay î n executarea programului de un interval specific de tim p
deseori se folosește funcția de dealy() care acceptă ca paremtrii milisecunde:

Figura 2 .6 Funcț ia de delay()
În figura de mai sus avem un exemplu de un delay de 1000 milisecunde, adică o secundă .

Figura 2 .7 Exemplu Blink
Aici avem cel mai de bază exemplu, în figura de mai sus, în care se aprinde și se stinge
un LED la o secundă .
2.1.6. Aplicaț ii
Aplicabilitatea plăcii Arduino se î ntinde pe o rază destul de mare. De la pr oiecte foarte
mici precum măsurarea temperaturii, controlul unor LED -uri, citirea anu mitor se nzori ș i
controlul motoarelor, proiecte bazate pe un set mic și simplu de instrucț iuni, la proiecte mult mai

Sistem automatizat de depozitare

Pagina 19 complexe precum braț e robo tice, sisteme complexe de alarmă, sisteme de achiziți i de date sau
proiecte care neceistă algoritmi complexi ș i de amploa re.
Arduino poate fi programat ș i de alte softuri precum LabVIEW, MATLAB ca re vin cu un
plus de algoritmică și procesare video, aducând capacități în plus proiectelor și realizând o
interfață între utilizator ș i produs.
2.1.7. Concluzii
In acest capito l am studiat principile de funcționare ale plăcii de dezvoltare Arduino , atât
partea hardware cât ș i partea software . Am studiat construcția și tipurile de plă ci și aplicațile î n
care aceasta poate fii folosită . Dezvoltarea de idei noi cu Arduino est e fară un sfârș it
2.2. LabVIEW
2.2.1. Instrumentație virtuală
Un instrument este un dispozitiv proiectat să colecteze informaț ii dint r-un mediu sau de
la o unitate și să o facă disponibilă utilizatorului. In general sunt preluate date și măsură ri fizice
precum t emperatura sau distanța și sunt convertite î n semnale electrice.
Creșterea rapidă a tehnologilor computerelor din ultimii 20 de ani a dezvoltat o revoluție
în intrumentarea pentru teste, măsurari și automatiză ri. Un aspect important rezultat din ac eastă
revoluț ie este conceptul de instrumentație virtuală, un concept ce oferă multe beneficii
inginerilor și oamenilor de știință care au nevoie de un grad înalt de productivitate, acuratețe și
performanță .
Un i nstrument virtual constă î ntr-un computer echipat cu o aplicație software foarte
potentă și o parte de hardware eficientă din punct de vedere financiar, precum plăcile de tip
"plug -in" care împreună pot moștenii funcțiile unui instrument tradiț ional. I nstrumentele virtuale
reprezintă trecerea de l a tradi ționalele instru mente concentrate pe hardware că tre sisteme
concentr ate pe software care exploatează capacitaț iile unui computer. Cu ajuto rul acestui
concept, inginerii și oamenii de ș tiinta au posibilita tea de a construii sisteme de măsurare ș i
automatiza re adaptade la nevoile acestora în loc să fie limitaț i doar la funcția fixă pe care o
deține un instrument tradiț ional.
Amprenta software este cea mai importantă componentă î n cadrul unui instrument
virtual. Cu aplicația potrivită se pot dezvolta c u efici ență ridicată aplicații proprii ș i adaptate la
nevoile dezvoltatorului precum și interfeț e care se potrivesc cu scopul aplicației ș i cu nevoile

Sistem automatizat de depozitare

Pagina 20 persoanelor care urmează să interacționeze cu aceasta. Există posibilitatea ca o aplicaț ie cu scop
de ins trument virtual să aibe integrate capacități de decizie, foarte des intalnite, precum să se
adapt eze la semnalele care se schimbă sau să automatizeze un proces.
Aplicaț ile dez voltate cu ajutorul instrumentaț ilor virtuale su nt foarte diverse, de la
aplicaț ii simp le precum monit orizarea temperaturii la aplicații complexe precum măsurări și
control î n timp real al procselor mari.
2.2.2. Introducere î n LabVIEW
National Instruments au inventat și dezvoltat uma din cea mai bună platformă software de
instrum entație v irtuală , anume LabVIEW ( Laboratory Virtual Instrumentation Engineering
Workbench) . Acesta este unu mediu de programare grafică puternic folosit pentru achiziții de
semnal, analize de măsurare ș i prezentare de date oferind o flexibilitate a unui l imbaj de
programare fără complexitatea tradițională a acestor unelte. Din 19 86, câ nd National Instruments
a introdus LabVIEW pentru Macintosh a atras repede inginerii care căutau un limbaj de
programare producitv și puternic pentru aplicaț ii de control și test. Astazi, LabVIEW este
preferat de mii de ingineri .[7]
Acest soft este integral un instru ment virtual deoarece furnizează un mediu de
programare uș or de folosit proiectat specific pentru nevoile stricte a le inginerilor. LabVIEW
oferă un bagaj mare de opț iuni de conectare la o var ietate de dispozitive hardware și chiar ș i alte
software -uri. Programarea grafică este bine pusă în evidență cu ajutorul LabVIEW, ajutându -i pe
ingineri să creeze instrumente virtuale proiectâ nd interfeț e grafice pentru utilizatori, oferindu -le
urmatoarele caracteristici:
 Controlul unui hardware specific
 Vizualizarea rezultatelor
 Analiza informației achiziț ionate
 Operarea instrumentului
Inginerul poate personaliza panoul frontal punâ nd butoane, sw itch-uri, taststaturi ș i
grafice pentru a simula controlul unui instrument tradițional. Desigur poate și reprezenta
controlul ș i starea unui proces.
Pentru a concepe un program ș i a gestiona comportamentul acestuia se prevede
conectarea bloc urilor î n diagrama blo c , un proces mult m ai rapid decat limbajele convenț ionale
de programare, astfel inginerul câștigând timp și eficiență .

Sistem automatizat de depozitare

Pagina 21 Programele construite in LabVIEW sunt numite inst rumente virtuale chiar din cauză că
seamana si funcționează ca un instrument fizic, p recum osciloscopul. Putem folosi o va rietate de
unelte pentru achiziție, analiză, proiectare și stocare de informație. În principiu în construcția
unui program avem două elemente constructive necesare tot timpul . Panoul frontal (Front panel)
și diagrama bl oc (Block diagram). Panoul fronta l este construit din controale ș i indicatori,
controalele fiind elemente prin c are se poate transmite o comandă precum un buton iar
indicatoarele sunt elemente care transpun informația primită î n diferite forme, precum LED ,
grafice .
Panoul frontal și diagrama bloc , puse în general una lânga alta arată astfel:

Fig. 2.8 Panoul frontal ș i diagrama bloc LabVIEW
2.2.3. Panou l frontal
Atunci câ nd un instrument virtual este deschis, un panou frontal gol și fără titlu este
deschis. Panoul frontal este elementul prin care utilizatorul interacționează cu sistemul. Î n cadr ul
panoului frontal se poate atât trimite informație cât și primii și afiș at.
Deasupra spațiului de lucru avem prezentată o bară cu o serie de comenzi p recum rularea
și oprirea program ului, fontul elementelor text cât și setări legate de poziția elementelor din
panou. O bară asemănătoare o găsim și î n diagrama bloc

Fig. Bara de comenzi panoul frontal LabVIEW
Panoul frontal este construit dintr -o comb inație de controale și indicatoare . Controalele
simulează intrările instrumentului și furnizează informație ș i com enzi iar indicatoarele simulează
ieșirile instrumentului și afișeaz ă informația care diagrama blo c o achiziționează sau generază .

Sistem automatizat de depozitare

Pagina 22 Un obiect așezat pe pa noul frontal poate fii ajustat în mărime, formă, poziție, culoare ș i
alte atribute. Contro alele ș i indicatoarele pot fi clasificate î n felul urmator:
1. Controale ș i indicatori numerici
2. Controale ș i indicatori booleani
După cum le spune și numele, cele numerice au rolul de a prezenta și controla elementele
ce conț in numere prin diferite meto de. Cele booleane au ca scop mai mult prezentarea unei
decizii, comenzi pr in diverse modalități precum apă sarea butonului, aprinderea LED -ului, etc.

Fig. 2.9 Exempl e de controale ș i indicatori numerici

Fig. 2.10 Exemple de controale ș i indicatori numerici

Sistem automatizat de depozitare

Pagina 23 2.2.4. Diagrama bloc
Fereastra diagramei blo c deține sursa codului grafic din interiorul unui program
LabVIEW, aceast a corespunde cu liniile de cod găsite într-un limbaj mai convenț ional precum C
sau Java adică este chiar codul care se excută. O diagrama bloc se construieș te cu ajutorul
blocurilor de tip: terminale, noduri ș i fire.
Ca și la panoul frontal deasu pra diagramei dispunem de o bară de unelte , puțin diferită
totuș i de bara de la panoul frontal, fiind adăugate ș i controale legate de rularea codului:

Fig. 2.11 Bara de unelte a diagramei bloc
După ce panoul frontal est e construit, inginerul poate adăuga cod folosind reprezentațiile
funcț iilor pentru a controla obiectele de pe panoul frontal. Aceste obi ecte de pe panoul frontal
apar î n diagrama bloc drept terminale. Obiec tele din diagrama blo c includ și sub -VI-uri, funcții,
constante, ș i structuri.
Terminalele sunt ieșirile și intră rile prin care se face schimbul de informație între panoul
frontal ș i diagrama bloc . Pentru a face din n ou analogia cu limbajele convenț ionale de
programare acestea reprezintă parametrii și constantele funcțiilor. O dată adă ugat un indicator
sau control pe panoul frontal LabVIEW generează automat un termi nal pe diagrama bloc
corespunză tor acelui element. Există posibilit atea de a alege ca un element să fie reprezentat
printr -o iconiță, alegând opț iunea "Vi ew as Icon" pentru a reduce spaț iul ocupat.
Pentru a putea face distincția vizual între indicatoare și controale, se aplică grosimi
diferite la borduri , mai groase pentru controale și mai subți ri pentru indicatoare, este foarte
importantă diferența dintre ele pentru că sunt și funcț ional diferite, controalele au funcția de
input iar indicatoarele de output.
Nodurile reprezintă operatorii, funcțiile, subrutinele și declaraț ile limbajului de
programare. Ca exemplu IF, AND , XOR, =0? sau altele reprezintă un tip de noduri. O structură
reprezintă alt tip de noduri. S tructurile pot executa cod în mod repetat sau condiționat,
asemănă tor cu buclele sau cazurile limbajelor standar d de programare. LabVIEW mai deține ș i
noduri mai speciale precum Formula care vine cu sprijin matematic în rezolvarea instrucțiunilor
și expres ilor matematice.

Sistem automatizat de depozitare

Pagina 24 Firele au rol de legatură între terminale și noduri. Acestea transferă date de la o sursă la
unul sau mai mulț i destinatari. Fiecar e fir are o culoare prestabilită în funcție de tipul de
informație pe care îl transportă. Principiul de fu ncționare al firelor explică de ce controalele ș i
indicatoarele nu se pot schimba î ntre ele. Sursa este tot timpul un control și destinaț ia este un
indicator.
Pentru ca o conexiune să fie reușită sursa și destinașia trebuie să accepte același tip de
informație. De exemplu o informație text nu poate fi reprezentată de un indicator numeric.

Fig. 2.12 Exemple de terminale, noduri și fire î n diagrama bloc
2.2.5. Achiziții de imagine ș i procesarea acestora
În LabVIEW achiziția ș i procesarea imaginilor se f ace cu ajutorul NI -IMAQ. Acesta este
un driver software compatibil cu LabVIEW, dar nu numai, se poate folosi ș i in cadrul Visu al
Basic, Measurements Studio ș i chiar Microsoft Visual C++.
NI-IMAQ oferă control perficelor de achiziț ie de imagine precum cam ere web . Driverul
este un API complet și robust pentru achiziții de imagini și poate performa fără instrucț iuni
complexe .
2.2.6. Aplicaț ii
Datorită avantajelor intrumentației virtuale și perfomanț ei LabVIEW, acesta este folosit
în foarte mult e domenii ș i subdo menii ca aplicaț ii de monitorizare, control, interfaț are precum
sisteme SCADA, sisteme de au tomatizare, sisteme de control ș i comanda :
 Control al produciț ie industriale
 Monitorizare ș i contr ol al echipamentelor din producț ie
 Monitorizare ș i control d e la d istanță
 Testări și validă ri al echipamentelor/produselor
 Aplicații personalizate pentru inspecț ii, teste, control.

Sistem automatizat de depozitare

Pagina 25 2.2.7. Concluzii
In acest subcapitol am studiat conceptul de instrument virtual și software -ul LabVIEW.
Am prezentat principiile de fu ncționare, structura ș i beneficiile acestuia. Bazat pe acestea, am
cugetat că este o alegere potrivităfolosirea acestuia î ntr-un sistem de depozitare automatizat.
În cadrul proiectelor î n care nu este nevoie de inteligență artificială ci doar de executare a
unor instrucțiuni și pentru a crea o interfață folositoa re pentru utilizator consider că LabVIEW
este mai mult decât potrivit. Uș or de folosit , maleabil pe mai multe platforme acest software
poate simula aspecte fizice precum butoane sau întrerupă toare , fapt care dă o notă de realism și
ajută utilizatorul pentru a ințelege mult mai bine funcț ionalitatea acestuia.
2.3. Senzor IR (Infra -roșu)
Termenul de "senzor" este folosit mai des în ță rile vestice ale globului, pentru partea
noastră este folosit term enul de "traductor".
Mai exact, se nzorul este elementul sensibil însusi, pe câ nd traductorul es te acel element
sensibil plus părț ile de circuit aferente. Senzorii ș i traductoarele sunt folosite cu scopul de a
măsura mărimi electrice ș i neelectri ce. În gen eral un traductor stabilește o corespondență între
mărimile fizice ș i un semnal electric.
Pentru proximitate, o alegere bună este senzorul cu Infra Roșu cu emițător ș i receptor.
Principiul de funcț ionare al acestora este transmiterea unui semna l infra -roșu din emițător,
această undă se loveș te de obiectul din calea acestuia și se întoarce la receptor. În cazul în care
nu există obiect î n calea acestuia unda de lumina nu se întoarce, astfel știm că nu există obiect în
fața acestuia.
De luat î n vedere este faptul că acestea funcționează cu lumina infra -roșie, aceasta lumina
fiind prezentă în razele soarelui,așa că nu este deloc recomandat să se folosească acest tip de
senzori î n exterior sau la directa traiectorie a razelor solare, acestea derutâ nd traducto rul.[8]
2.4. Mașini de curent continuu
Mași nilie electrice sunt convertoa re electromagnetice care asigură transformarea energiei
electrice în energie mecanică sau invers. În cazul î n care aceasta transformă energia electrică în
mecanică ne referim la o mașină electrică în regim de motor, atunci când se întâmplă invers este
considerată o mașină electrică în regim de generator. Mai există un caz în care se transformă din
energie electrică tot în energie electrică iar în acel caz m așina se numeș te transformator.

Sistem automatizat de depozitare

Pagina 26

Fig. 2.13 Mașina electrică
2.5. Cod 2D
Un cod 2D ( bi -dimens ional) este o matrice construită din celule albe și negre aranjate în
forme pă tratice sau chiar dreptunghice. Informaț ia încapsulată poate include text sau nume re.
Posedă o citire rapidă ș i o c apacitate de stocare a informației mai mare decâ t codurile de bare
generice.

Fig. 2.14 "test123" generat î n QR Code
Printre cele mai cunoscute tipuri de coduri 2D este codul QR ( Quick Response ). Acesta
fiind foarte folo sit în domenii de ma rketing sau bilete electronice însă în producț ie s-au dovedit a
fi mai potrivi te codurile DataMatrix, datorită dimensiunilor mai mici ș i nivelul de eroare la citire
mai mic. [9]
Față de tradiț ionalele coduri de bare uni -dimensionale care conțin un număr limitat de
informaț ie, coduri le bi-dimensionale conțin mult mai multă informație, mai specific până la 2335
caractere alfanumerice. Această capacitate crescută aduce un plus de versatilitate codurilor 2D
față de codurile de bare standard.

Sistem automatizat de depozitare

Pagina 27

Fig. 2.15 QR Code vs. cod de bare

Sistem automatizat de depozitare

Pagina 28 Capitolul 3. Rezultatele studilor experimentale
3.1. Concept general
În acest capitol voi prezenta tactica abordată precum ș i abordarea m ea tehnică asupra
acest or procese folosi nd aptitudini și tehnologii invățate î n cadrul celor 4 ani de facultate.
Am preluat fiecare proces î n parte, am explicat modul personal de impelemtare al
acestora și rezultatele experimentale în urma implementă rii lor.
Tactica abordă rii ac estor procese e ste exemplificată în urmatoarea schemă logică :

Fig. 3.1 Schema logică a sistemului

Sistem automatizat de depozitare

Pagina 29 3.2. Abordare personală
3.2.1. Citirea datelor de la senzori
Pentru obț inirea datelor de la senzori, alegerea exemplifică rii mele a fost o construcț ie cu
senzori IR digi tali cu transmițator și receptor ș i placa de dezvoltar e Arduino din motive
economice și al complexităț ii mai reduse.
Pentru citirea unui sin gur senzor digital se conectează pinul de 5V și GND la aceaș i pini
de pe placa Arduino i ar pinul de semnal se conec tează la un pin digital al plăcii în felul urmă tor:

Fig. 3.2 Conectarea senzorului IR la Arduino
Acești senzori trebuie montaț i foarte aproap e de obiectul pe care trebuie să -l depisteze,
mai exact într -o rază de maxim 20cm în faț a senzorului deoarece raza de funcț ionare a aces tui
senzor este de 20cm. Această rază se poate regla cu ajutorul șurubelului aflat pe plăcuța acestuia
dar maximul este de 2 0cm. Tensiunea pe care o acceptă este de 5V maxim cu curent continuu ,
așa că trebuie mare atenție cu asta, altfel se va arde și nu o să mai funcț ioneze.
După ce circuitul a fost făcut și placa a fost conectată la un computer, pent ru citirea unui
singur senzor, întâi se declară pinul digital la care este conectat senzorul:

Sistem automatizat de depozitare

Pagina 30
Fig.3.3 Declararea unui senzor
Apoi, pentru citirea propriu zisă trebuie s ă îi insuș im unei va riabile citirea senzorului, ca
în exemplul urmator:

Fig. 3.4 Citirea unui senzor
Desigur, într -o aplicație de mă rimi mai ma ri, unde se citesc mult mai mulți senzori se
construiesc funcț ii speci fice care pot citii mai mul ți senzori deodată și sunt apelate î n inte riorul
algoritmul doar atunci câ nd este nevoie.
Pentru o funcție care citește mai mulți senzori avem nevoie ca numărul pinilor să fie
trimiș i ca par ametru ș i mai multe variabile sau un v ector să însușească valorile citite, precum în
funcția alăturată :

Fig. 3.5 Funcț ie pentru citirea mai multor senzori în acelaș i timp

Sistem automatizat de depozitare

Pagina 31 3.2.2 . Citirea QR Code -ului
După cum ziceam ș i mai sus, citirea codului se face prin diferite softuri, depinde de l a
companie la companie, astfel în acest proces, am ales să utilizez LabVIEW din două motive:
 Complexitatea de r ealizare nu este foarte ridicată : Aces t aspect este foarte
important în decizia mea , consider că pentru mi ci procese care sunt foarte
întâlnite în industrii o unealta software ar trebui să vină cu un grad de
complexitate redus. Astfel se poate observa cu câteva bloc uri și legături între ele
se realizează foarte uș or acest proces.
 Versatilitatea LabVIEW : National Instruments au dezvotat acest sof t ca fiind
unul foarte versatil, adaptabil și foarte capabil să realizeze multe mici instrucțiuni.
Pe lângă citirea de QR code, pot să afisez date, pot să pun butoane și să controlez
sistemul, totul din acelaș i software.
Astfel, a m creeat un algoritm care primeș te acces la camera web, o transformă în alb –
negru pentru eficiență ș i o trece printr -un bloc care face automat descifrarea ș i trimite mai
departe stringul cu informaț ia din cod. Se poate observa beneficiul sof twareului LabVIEW prin
ușurința prin ca re se creează un astfel de algoritm.
Mai jos sunt prezentat e diagrama bloc și panoul frontal pentru acest proces:

Fig. 3.6 Diagarama bloc LabVIEW citire cod QR

Sistem automatizat de depozitare

Pagina 32 Panoul frontal pentru acest proces este folosit ma i mult pentru testare deoarece în
interfața propriu -zisă a unei aplicaț ii de aut omatizare de depozite nu se afișează toate d etalile
acestea , asftel, această diagramă bloc o să fie folosită ca un sub -vi . Came ra si comanda fiind
inputurile ș i mesajul descifrat fiind outputul.
Acest instrument virtual este folosit ca un sub -VI, fiind setate intrările ș i iesirile. Ca
intrare trebuie dată camera și ca ieșire informația descifrată de tip string și un boolean care să
confirme descifrarea codului.

Fig.3.7 Panoul frontal LabVIEW citire cod QR
3.2.3 . Comunicare Arduino -Labview
Transferul de informație între partea de interfațare și cod se face î n 3 cazuri:
1. Când un produs este scanat
2. Când există o comandă din LabVIEW că tre Arduino
3. În timp real de la Arduino la LabVIEW
Pentru a facilita această comun icare între cele două parți importante se utilizează
comunicarea serială. Această comunicare se prezintă diferit la Arduino față de LabVIEW

Sistem automatizat de depozitare

Pagina 33 Transferul de informație î n timp real de la Arduino la LabVIEW este necesar pentru că
transmite datele de la senzor i constant ș i orice schimbare trebuie sesizată imediat, de aceea e cel
mai important aspect al comunicării între cele două .
Perspectiva Arduino
Astfel, din cauză că este important acest aspect am abordat acest topic mai diferit. Știind
că exista o posibi litate mare ca într -un sistem de genul să fie foarte mulți senzori și motoare și
alte informații auxiliare, am decis că informația transmisă să fie împachetată î ntr-un vector cu
valori de 1 sau 0. Fiecare poziț ie fiind prestabilită cu o informație. De exem plu poziț iile d e la 5
la 10 din acest vector să repre zinte 5 senzori , LabVIEW primește acest vector ș i pentru
verificarea citirii senzori lor se citesc valorile din pozițile 5 -10 ale vectorului, 1 însemnând că
senzoru l nu detectează nimic iar 0 că este un obiect în față .
Întâi trebuie să se declare un vector care să simbolizeze pachetul de date trimise, de
exemplu pentru 10 elemente transmise, se va declara un vector astfel:

Fig. 3.8 Decararea vectorlui
După construirea pachetului se transmite informaț ia prin comunicare serială , pentru ca
acest lucru sa fie posib il, în funcția de setup trebuie acessată comunicarea prin funcț ia urmatoare:

Fig. 3.9 Inițializarea comunică rii seriale
Funcț ia aceasta deschide p ortul pentru comunicarea serială și setează rata de transmisie a
datelor, de cele mai multe ori la 9600 bps. O data deschis portul ș i avem acces la Serial Monitor,
este ușor să trimitem și să citim informație. Pentru a timite în timp real informaț ie constant și să
putem și descifra acest pachet î n cadrul LabVIEW se va trimite element cu element iar pentru a
se face distincția între elemente și pachete se folosește un element despărțitor și un element ca și
capăt de linie.

Sistem automatizat de depozitare

Pagina 34
Fig. 3.10 Transmiter ea pachetului din Arduino IDE că tre LabVIEW
Având ca ex emplu un pac het de 10 elemente cu o instrucț iune for trecem prin toate
elementele pachetului, cu funcț ia Serial.print(); trimitem elementul, exact dupa fiecare element
se va trimite si un punct pentru delimitare a elementelor între ele. După ce toate el emen tele
pachetului au fost afiș ate avem nevoie de un caracter special pentru a anunț a terminarea
pachetu lui, î n cazul nostru "2 ". De specificat că acest vector poate să fie oricât de mare și să
transmită orice tip de informație, chiar și șiruri de caractere, această abordare e strict subiectivă .
Pentru citirea datelor care sunt transmise de la LabVIEW înapoi către Arduino, adică
acele comenzi sau codul descifrat. Î n aceste cazuri, se poate creea un "cod" specific tocmai
pentr u a reduce dimensiunile informaț iei transmise.
În Ard uino IDE pentru citirea informației din comunicarea serială se folosește următoarea
instrucț iune:

Fig. 3.11 Instrucț iune pentru citirea datelor primite prin serial
Prin intermediul funcț iei Serial.available() se verifică dacă exist ă un raspuns, în cazul în
care există, atunci o variabilă preia informația primită și se poate prelucra în codul nostru
Arduino ș i poate face parte din algoritmică .
Perspectiva LabVIEW
Pentru a accesa comunicarea serială în cadrul LabVIEW se foloseș te pa leta "Serial",
pentru a selecta paleta trebuie să alegem din meniu "Data communication" >> "Protocols">>
"Serial". Această paleta are urmă toarele elemente:

Sistem automatizat de depozitare

Pagina 35

Fig. Paleta Serial LabVIEW
În această paletă cele mai folosite elemente sunt primle 4 , adică blocul pentr u
configurarea conexiunii, blocul pentru scriere în comunicarea serială , blocul pentru citirea din
comunicarea serială si blocul de î nchidere a conexiunii.
Bloc ul VISA Configure Serial Port este folosit pentru configurarea portului pentru
comuni carea serială. În cazul nostru, avem setată pe Arduino rata de transmisie a datelor de
9600, astfel pentru a putea comunica trebuie setată la fel și în cadrul LabVIEW.
Acest bloc ne permite să -i selectam parametrii pentru conexiune precum rata de
transmis ie, portul USB și chiar și dacă avem ne voie de caractere de separare. Î n cazul nostru ,
dupa cum am explicat mai sus în perspectiva Arduino, avem ca ș i element de separare a
pachetelor caracterul "2". Astfel, cunoscâ nd aceste lucruri se face configurarea as tfel:

Fig. 3.12 Configur area portului serial in LabVIEW
După ce s-a facut configurarea, putem accesa bloc urile de citire sau scriere , toate acestea
într-o bucla, pentru a fii realizate î n timp real.
Pentru bloc ul de citire, VISA Read se fac următoarel e legă turi:

Sistem automatizat de depozitare

Pagina 36
Fig. 3.13 Citirea serială î n LabVIEW
Ca intră ri avem datele de la configurarea cone xiunii plus numarul maxim de biți pe care -l
asteaptă, am setat un număr mai mare ca o marjă de eroare. Ca ieșiri, predă informaț ile de
conexiune mai d eparte și avem și stringul pe care -l citeș te.
Pentru a scrie, mai exact pentru a trimite informație înapoi către Arduino, se folosește
urmatorul bloc :

Fig. 3.14 Scrierea serială î n LabVIEW
Mai exact, VISA Write, la fel ca ș i VISA Read, are ca parame trii dat ele de configurație,
și în plus, are ca intrare un control, un string î n care se introduce textul care urmează să fie
transmis.
Pentru descifrarea pachetului primit , stringul primit este un table string, trebuie separat pe
elemente cu ajutorul blo cului Spreadsheet String to Array . Acest proces arată î n felul urmator:

Sistem automatizat de depozitare

Pagina 37

Fig. 3.15 Diagrama bloc pentru descifrarea pachetului
Ca și intrări pentru acest bloc sunt : stringul citit, tipul stringului, caract erul de separare al
elementelor ș i tipul de vecto r pe care dorim să -l avem la ieșire. Dupa cum am specificat și se
vede ș i in figura, caracterul de separare al elementelor este punctul ".".
Ca ieș ire ave m vectorul de elemente care conține poziția ș i valoarea. Pentru a prelua o
valoare de pe o poziție sp ecifică cu ajutorul bloc ului Index Array la care i se transmite ca intră ri
vectorul cu elementele pachetului și poziția valorii pe care dorim să o extragem. La ieșire avem
valoarea elementului și o putem afișa sau prelucra. Pentru o simplă afișare, dacă tr ansmitem un
pachet cu două elemen te, de exemplu doi senzori citiți, pachetul ar conț ine x.x.2, x reprezentând
valoarea citită de la senzori, 0 sau 1. Se poate afișa în felul urmă tor:

Fig 3.16. Panou frontal afiș are elemente pachet
Astfel, p achetul poate să fie câ t de mare dorim, se poate extrage orice element
specificând poziția acestuia cu ajutorul blocului Index Array, după, aceste informații pot fii
transformate î n alte tipuri de date prec um boolean pentru a putea mai ușor să controlă m anumite
faze al e proceselor.

Sistem automatizat de depozitare

Pagina 38 3.2.4. Strategia folosită î n cadrul Arduino IDE
În cadrul sistemelor de genul acesta algoritmica diferă gradual de la comp anie la
companie, de la persoană la persoană , de la soft la soft. Eu am prezentat procesele iar modul d e a
le îmbina se rezumă strict la abordarea și tactica personală, nu există un ș ablon pentru acest
capitol dar totuș i sunt principii pe care se bazează .
Subprogramele, sau funcțile, sunt folosite î n cadrul proiectelor mai mari. Toate procesele
prezentate de mine sunt c oagulate în funcții și apelate atunci câ nd e nevoie de ele.
Pentru e xperimentul meu, am creeat funcții pentru urmatoarele operaț ii:
 citirea tuturor senzorilor si memorarea î n vector
 citirea qr code
 funcț ii de pornire/oprire a conveyoarelor
 funcție de acț ionare a pusherelor
 funcț ii pentru determinarea locului prede stinat în funcț ie de codul QR
 funcție care verifică disponibilitatea pe linie
 funcție care mută produsul cu un loc mai în față
 operațiuni de comunicare serială cu LabVIEW
3.2.5 . Coman da că tre moto are
Benzi transportoare
Pentru a pute a face o exemplificare potrivită , voi prezenta cum se controlează un motor
de curent continuu cu ajutorul plă cii de dezvoltare Arduino.

Sistem automatizat de depozitare

Pagina 39

Fig. 3.17 Motor de curent continuu
Între Ar duino ș i motor trebu ie să existe un driver pentru controlul semnalului care ajunge
la motor. Un driver potrivit nevoilor noastre este L298N.

Fig. 3.18 Driver pentru motor cu curent continuu L298N

Sistem automatizat de depozitare

Pagina 40 Driverul L298N conține două punț i H cu care se poate controla viteza și direcția a două
motoare de curent continuu simultan. Acest modul poate control a motoare cu tensiune de la 5
până la 25V ș i curent de maxim 2A.
Principalele avan taje ale acestui tip de driver î n controlul unui motor de curent continuu
sunt:
 PWM : Posibilitatea de a controla viteza cu ajuto rul tehnicii PWM
 Punte H : Controlul direcției cu ajutorul unei punț i H
PWM ( Pulse Width Modulation) este o tehnică pentru a permite ajustarea valorii medii
a tensiunii care mer ge la dispozitiv prin oprirea și pornrirea semnalului transmis la o rată anume.
Valoarea med ie depinde de "duty cycle" adică timpul în care există semnal raportat la timpul în
care nu este î ntr-o perioada.
Puntea H este un circuit simp lu care permite controlul direcț iei unui motor de c urent
continuu. Un motor rulează în direcții diferite în funcție de cum sunt conectați pini de plus ș i
minus. Dupa circuitul de mai jos, avem conectat motorul la o sursă și o masă doar că î ntre
acestea avem 4 tranzistoare cu funcție de comutație. Dacă dorim ca plusul să fie conectat la sur să
și minus ul la masă, acționăm tranzistorii 1 și 4, astfel în caz contrar acționăm tranzistorii 2 ș i 3.
Această metodă este una foarte cunoscută și folosită î n cadrul acestui tip de control al
motoarelor. Deseori este controlată de un microcontroller precum Arduino

Sistem automatizat de depozitare

Pagina 41
Fig. 3.19 Puntea H [10]
După cum se observă , acest driver vine cu o seri e de pini pentru conectare, aceș ti pini
sunt plasaț i în felul urmator:

Fig. 3.20 Modelul de pini al driverului L298N [11]

Sistem automatizat de depozitare

Pagina 42 Pinii OUT1&OUT2 sunt pini de conectare la motorul A, iar pinii OUT3&OUT4 sunt
pini de conectare la motorul B. Pinul VCC si GND sunt su rsele de tensiune pentru motor și
acceptă tensiuni între 3 ș i 35V . Pinii ENA si ENB sunt pinii folosiț i pentru co ntrolul vitezei
motoarelor iar pinii IN1&IN2 și IN3&IN4 sunt folosiți pentru determinarea direcț iei motorului
A, respectiv B.
Astfel, vom folosi o surs ă exterioară de 12V pentru alimentarea motoarelor fiind nevoie
de o putere puț in mai mare :

Fig. 3.21 Sursă de alimentare pentru m otoare

Sistem automatizat de depozitare

Pagina 43

Fig. 3.22 Conexiunea motoarelor cu ajutorul driverlui L298N
După cum se poate observa, motoarele sunt conectate la OUT1&OUT2, respectiv
OUT3&OUT4. Pentru controlul vitez e am conectat ENA&ENB la un numă r de pini anal ogici, la
fel și pentru controlul direcț iei. Sursa de 12V am conectat -o la pinul VCC ș i GND, ground -ul
fiind comun cu cel al Arduionului.
O dată conexiunile făcute, rămâne să stabilim partea de cod în ceea ce privește pornirea ș i
oprirea moto arelor. Avân d în vedere că nu este necesara schimbarea direcț iei d e mers al
motoarelor, noi simulâ nd un conveyor pini de tip IN o să rămână neschimbaț i.
Schema logică pentru pini i IN și EN e în felul urmă tor:

Sistem automatizat de depozitare

Pagina 44 Tabel 2. Logica piniilor IN1, IN2 SI EN
EN IN1 IN2 DIRE CTIE MOTOR
0 1(HIGH) 1(HIGH) MOTOR OPRIT
1 0(LOW) 0(LOW) MOTOR OPRIT
1 1(HIGH) 0(LOW) ÎN FAȚĂ
1 0(LOW) 1(HIGH) ÎN SPATE
1 1(HIGH) 1(HIGH) MOTOR OPRIT

Pentru că pornirea și oprirea motoarelor sunt operaț ii care se foloseste de mai multe ori
se cree ază o funcție pentru pornire și o altă funcție pentru oprire care acceptă ca parametrii
numărul pinilor de pe placa Arduino care sunt conectați la pinii de tip IN și EN de pe driver. Se
stabilește direcț ia, și se fac teste pentru a stabili i cât semnal se v a da la motor pentru viteza
dorită. Ca exemplu am ales să ofer motorului aproximativ jumă tate din cap acitate, astfel driverul
creează un PWM cu un duty cycle de aproximativ 50%. Știind de mai sus că funcția de scriere
analogică din Arduino IDE percepe ca p arametrii un numă r intre 0 si 255, am aproximat
jumătate cu 120 în felul urmă tor:

Fig. 3.23 Funcț ie pentru pornirea motoarelor.
Pentru oprirea motorului ca parametrii avem nevoie doar de pinii de tip IN deoarcere
dacă niciunul nu primeș te tensiun e atun ci motorul nu se mișcă. Astfel se creează o funcț ie de
genul:

Fig. 3.24 Funcț ie pentru oprirea motoarelor.
Pentru a controla mai multe motoare, numă rul pinilor la care sunt conectate trebuie
declarat și apoi apelată funcț ia cu acele variabile sau consta nte drept parametr ii. Astfe, cu aceste
conexiuni și cu aceste funcții este foarte usor să conrolă m viteza a mai multor motoare conectate
într-un sistem automatizat de depozitare.

Sistem automatizat de depozitare

Pagina 45 Sistem de pusher
Pentru că avem nevoie ș i de manipularea produsul pe ntru îm pinginere de pe o bandă pe
alta folosim un sistem de pusher acț ionat de un servo motor care e controlat din Arduino

Fig. 3.25 Servo motor pentru sistemul de pusher
Pentru conectarea și controlul acestuia procedă m astfel:

Fig. 3.26 Conexiunea servo -motorului la placa Arduino

Sistem automatizat de depozitare

Pagina 46 Controlul servo motorului î n cadrul Arduino se face cu ajutorul libră riei Servo, astfel
trebuie inclusă la începutul programului:

Fig. 3.27 Includerea libră riei Servo
Pentru că Servo e o librărie care creează obiecte, tr ebuie sa creăm un obiect în aplicația
noastră :

Fig. 3.28 Declarea obiectului myservo
Declararea pinului pe care este conectat Servo -motorul trebuie mentionată în funcția de
setup() a plăcii Arduino după cum urmează :

Fig. 3.29 Ataș area acestuia la pinii de la Arduino
Pentru că este servom otor, comanda acestuia se face în grade de rotație, astfel ca
parametru se tran smite unghiul dorit ca acesta să se rotească în met oda "write" din obiectul
servomotorului.

Fig. 3.30 Funcția de comandă a servomotoarelor

3.2.6. Interfaț area folosind LabView
Utilizatorul are nevoie de o interfață pentru acest tip de sistem, o interfață grafică care să –
i prezinte locurile din depozit și butoane pentru comandă . LabVIEW este un soft mai mult decâ t
potrivit pentru acest t ip de s arcină .
După cum am prezentat deja, interfaț a reprezinta panoul frontal care poate fii ușor
personalizat cu controale și indicatoare și evident cu text. Există framework -uri în acest scop,
librării care a u deja personalizate controale ș i indicatoar e pentr u un aspect mai plă cut.

Sistem automatizat de depozitare

Pagina 47 Eu personal am fol osit JKI Design Pallete, o libr ărie gratis care vine cu un set de butoan e
, indicatoare cu un design pl ăcut.

Fig. 3.31 JKI Design Palette

Pentru o aplica ție de genul acest a designul nu este prioritar a șa că mă rezum la propor ții
minimaliste. LED -uri pentru citirea senzorilor și butoane pentru comand ă.

Sistem automatizat de depozitare

Pagina 48
Fig. 3.32 Interfa ță minimalist ă aplica ție

3.3. Prezentarea rezultatelor
Pentru a prezenta rezultat ele experimentate am construit în miniatur ă un sistem
autom atizat de depo zitare. Acesta const ă în cinci conveyo are, dou ă dintre ele reprezint ă benzile
de transport (intrare/ie șire) iar celelalte trei sunt locurile disponibile din depozit.
În cadrul acestei construc ții s-au folosit profile din aluminiu pentru sc helet, meca nisme
pentru motoare, obiecte m ărunte dezvoltate de o imprimant ă 3D, mu șama pen tru banda
conveyourului. Toate împreuna cu componentele și tehnologiile pe care le -am enumerat in
subcap itolul anterior au rezultat urm ătorul produs:

Sistem automatizat de depozitare

Pagina 49
Fig. 3.33 Sist emul automatizat de depozitare
După cum se vede, am folosit cutii de carton imprimate cu u n cod QR citit de o camera
web și transportat de conveyoare și pushere.
Senzorii de proximitate au fost pu și deasupra, pentru a evita orice fel de blocaje,reglate
astfel încât să prind ă doar produsul:

Fig. 3.34 Senzori IR plasai deasupra benzilor

Sistem automatizat de depozitare

Pagina 50 Placa Ardu ino, surs a de 12V , driverele pentru motoare și un num ăr de butoane pentru
control manual au fost plasate pe un plafon l ângă sistem:

Fig. 3.35 Placa Arduino și driverele în cadrul proiectului
Pentru motoare, pe langa drivere a fost nevoie și de un mecanism pen tru a învârtii rola
din plastic a conveyourului.

Fig. 3.37 Motor cu mecanism

Sistem automatizat de depozitare

Pagina 51 Capitolul 4. Concluzii
Concluzâ nd, în această lucrare am studi at și am realizat un concept de automatizare în
cadrul depozitelor. Astfel î n capitolul întâ i am făcut o introducere sumară a unui sistem de
automatiza de depozitare, o scurtă istorie a acestora , beneficile acestui sistem, exemple din
industria din România ș i am prezentat motivația personală asupra abordă rii acestei teme.
În al doilea capitol am fă cut o prezentare a tehnologiilor ș i a com ponentelor pe care le
folosesc în cadrul acestei lucrări, informații generale despre acestea și scurtă motivare a alegerii.
Printre acestea se numă ra Ardu ino, LabVIEW, senzorii infra -roșu , QR Code cât și maș inile
electrice.
Pentru cel de-al treilea capitol am venit cu o abordare mai tehnică și în amănunt asupra
utilizării acelor tehnologii ș i componente în scopul construcț iei u nui sistem de depozitare
automatizat , prezentând astfel fiecare pas al proceselor . Procesele pe care le -am prezentat sunt :
citirea datelor de la senzori, citirea codului QR, comunicarea dintre LabVIEW și Arduino,
strategia folosită în cadrul Arduino, coma nda că tre motoare și interfațarea folosind LabVIEW.
După prezentarea proceselor am facut ș i o scurta prezentare a rezultatelor, conținând imagini cu
construcția ș i modul de plasare al se nzorilor, motoarelor, camerei cât ș i a benzilor.
Conform acestor rezu ltate se poate observa performanța ș i utilitatea soft -ului LabVIEW
folosit pentru un astfel de sistem, se poate programa cu ușurinta, dispune de o interfață grafica
plăcută și ușor de folosit ș i acceptă multe librării pentru diverse nevoi, precum citirea d e cod QR
și comunicarea cu alte dispozi tive se poate realiza cu mare ușurință . Legat de A rduino, ca ș i
micro -controller putem spune că îș i face treaba foarte bine pentru proiecte cu nivel de
complexitate mic spre mediu. P entru proiecte mai mari, există alt e opț iuni precum PLC -uri
pentru a gestiona a lgoritmica, citirea senzorilor ș i comanda că tre motoare. A rduino este limitat și
din punct de vedere al numărului de intrări cât ș i pe parte de circuit.
Proiectul realizat de mine suportă imbunătăț iri care se po t adă uga ulte rior precum
conectarea la o bază de date a companiei sau a unui website, se poate mării capacitatea și tehnica
de manip ulare a produselor folosind braț e robotice sau chiar mutarea aplicației pe o platformă
online.

Sistem automatizat de depozitare

Pagina 52 Bibliografie
[1] *** https://en.wikipedia.org/wiki/Automated_storage_and_retrieval_system preluat la data
de 20.02.2020
[2] ***
https://www.farmexim.ro/upload/Image/Pres%C4%83/Transporter%3A%20sistemele%20autom
atizate%2C%20cheia%20pentru%20%C 3%AEmbun%C4%83t%C4%83%C5%A3irea%20perfo
rman%C5%A3elor%20supply%20chain -ului.pdf preluat la data de 22.02.2020
[3] *** https://www.jungheinrich.ro/sisteme -logisti ce/sisteme -de-depozitare -automate preluat la
data de 21.02.2020
[4] *** https://www.distrelec.ro/ro/microcontroller -board -uno-arduino -a000066/p/11038919
prelu at la data de 20.05.2020
[5] *** https://technobsafrajdiego.wordpress.com/arduino/ preluat la data de 22.05.2020
[6] Louis, Leo. (2018). WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL
FOR STUDY AND RESEARCH.
[7] Cristian Foșalău, Introducere în instrumentația virtuală , Iași, Editura CERMI, 2010
[8] *** https://www.academia.edu/30646109/SENZORI _%C5%9EI_TRADUCTOARE_ –
_NOTE_DE_CURS preluat la data de 29.05.2020
[9] *** https://www.controldesign.com/assets/13WPpdf/130520 -keyence -2d-code –
implementat ion.pdf preluat la data de 19.04.2020
[10] *** https://www.build -electronic -circuits.com/h -bridge/ preluat la data de 10.04.2020
[11] *** https://lastminuteengineers.com/l298n -dc-stepper -driver -arduino -tutorial/ preluat la
03.04.2020

Similar Posts