Proiect Diploma Ionescu V1 [628943]

UNIVERSITATEA POLITEHNIC A din BUCUREȘTI

FACULTATEA DE INGINERIE ELECTRICĂ

DEPARTAMENTUL DE MAȘINI, M ATERIALE ȘI ACȚIONĂRI ELECTRICE

PROIECT DE DIPLOM Ă

SISTEM AUTOMATIZAT DE SORTARE A
COLETELOR

Autor: Andreea -Roxana IONESCU

Conducător științific: Ș.l. dr. ing. Ioan-Drago ș DEACONU

BUCUREȘTI

2019

1
CUPRINS

INTRODUCERE
3
0.1. ISTORIC 3
0.2. CHESTIUNI ACTUALE REFERITOARE LA BENZILE
TRANSPORTOARE 5
0.3. SORTAREA COLETELOR 9

CAPITOLUL 1
10
ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE
SORTARE A COLETELOR

1.1. CONTROLERE LOGIC PROGRAMABILE ȘI PLĂCI DE DEZVOLTARE 10
1.2. SENZORI 22

CAPITOLUL 2
30
APLICAȚIA SOFTWARE PENTRU UN SISTEM DE
SORTARE …………

2.1. MEDIUL DE DEZVOLTARE ARDUINO IDE 30
2.2. APLICAȚIA SOFTWARE 33

CAPITOLUL 3
38
DEZVOLTAREA MACHETEI EXPERIMENTALE ……………………………………………

3.1. ECHIPAMENTE ȘI MATERIALE UTILIZATE 38

Andreea Roxana IONESCU – Proiect de diplomă
2
3.2. PLACA DE DEZVOLTARE UTILIZATĂ 43
3.3 MACHETA EXPERIMENTALĂ REALIZATĂ 46
3.4. PROGRAMUL SOFTWARE IMPLEMENTAT 48

CONCLUZII
51
C.1. CUPRINSUL LUCRĂRII ȘI CONTRIBUȚII ORIGINALE …………………….. 51
C.2. PERSPECTIVE DE DEZVOLTARE ULTERIOARĂ 53

……. BIBILIOGRAFIE …………………………………………………………………… …………. 54

3
INTRODUCERE

0.1. ISTORIC

Transportoarele s unt componente durabile și fiabile utilizate în distribu ția și depozitarea
automat ă, precum și în instalațiile de producție . Acesta este considerat un sistem de economisire a
forței de munc ă care permite deplasarea rapid ă a volumelor mari într-un proces, permițând astfel
firmelor s ă vândă și să primească volume mai mari cu cheltuieli mai mici [1].
Înainte de introducerea benzi lor transportoare, oamenii ce lucrau în fabrici trebuiau s ă se
deplaseze destul de des de la un punct de lucru la altul cu diferite materiale, efectul acestei mișcări
fizice devenind un stres suplimentar și bineînțeles o utilizare ineficient ă a timpului de lucru a
angajatului . De asemenea, introducerea benzilor transportoare în fabrici a fost util ă pentru
transportul produselor grele sau periculoase , reducând u-se astfel riscul de accidentare a angajaților ,
aceast a fiind o metod ă comod ă și eficient ă [2].
Primele benzi transportoare au fost utilizate încă din secolul al XIX -lea, acestea fiind
fabricate din piele , pânză sau cauciuc care se deplasau pe o band ă plată din lemn. Primele utilizări
au fost pentru a muta cantități mari de cereale pe distan țe scurte [2].
Thomas Robins a început , între anii 1880 -1890, o serie de invenții ce au condus la
dezvoltarea de benzi transportoare. În principal, acestea au fost utilizate pentru transportul de
cărbune și minereu [1].
În anul 1901 , Sandvik a început să producă transportoarele metalice ce s -au dovedit a fi
mai eficiente în diferite aplicații . În anul 1908, transportorul cu role a primit brevet si a început să
fie utilizat în diferite fabrici și uzine [1].
Până în 1919, în fabricile de asamblare auto au fost utilizate pe scar ă largă benzile
transportoare cu motor [1].
Cu timpul, sistemele de transport ce utilizau benzi transportoare au început să apară în cât
mai multe zone ale globului și să eficientizeze c ât mai multe industrii , fiind cel mai des utilizate
în fabrici, magazine alimentare, depozite și centre de transport public .

Andreea -Roxana IONESCU – Proiect de diplomă
4
Putem spune c ă banda transportoare a fost un adevărat simbol al erei industriale, o urmare
a utilizării acesteia fi ind o creștere a producției .
Utilizarea acestora nefiind limitat ă la fabrici, se pot observa diferite sisteme de benzi
transportoare în magazine pentru a mișca produsele spre casa de marcat. O întrebuințare
important ă a benzilor transportoare este utiliza rea acestora în aeroporturi și în alte sisteme de
transport în comun pentru a livra bagajele clienților .

Fig. 0.1 – Banda transportoare utilizat ă pentru sortarea coletelor [3]

INTRODUCERE
5
0.2. CHESTIUNI ACTUALE REFERITOARE LA BENZILE
TRANSPORTOARE
Benzile transportoare au fost continuu îmbunătățite și au devenit o parte integrat ă de
mecanizare și automatizare în sistemele de manipulare.
Benzile transportoare utilizează astăzi puncte de precizie, role de transport cu motor intern
și roți motorizate. Toate aceste inovații tehnologice reduc zgomotul și întreținerea costisitoare,
mărind în același timp productivitatea și eficiența [2].

Fig. 0.2 – Bandă transportoare utilizat ă frecvent în stațiile de sortare [4]

Benzile transportoare funcționează pe principiul controlului vitezei variabile, în cazul în
care banda se mișcă prea încet firma așteptând u-se la pierderi și în cazul deplasării prea rapide
existând riscul de a deteriora produsele transportate și bineînțeles riscul ca angajații să nu reușească
să manevreze în siguranță produsele la ieșirea de pe band ă. Acestea sunt adesea antrenate de
motoare electrice cu turație variabil ă, de reductoare electronice c e pot alege viteza benzii și
rapiditatea cu care transport ă materialul sau de alte părți în mișcare dintr -un sistem complex [2].
Cel mai răspândit tip de transportor continuu este transportorul cu band ă, acesta putând fi
utilizat ca instalație staționară cât și ca transportor mobil. Acestea sunt echipamente foarte utile în
munca de zi de zi, având o construcție simpl ă, o greutate mic ă, consum de energie redus și
siguranță mare în funcționare . Exist ă, de asemenea, și transportoare cu role sau tra nsportoare cu
lanț.

Andreea -Roxana IONESCU – Proiect de diplomă
6

Fig. 0.3 – Tipuri diferite de transportoare cu band ă utilizate [5]
Principalele părți componente ale unui transportor cu band ă sunt[6]:
1. Tamburul de întoarcere ;
2. Capacul transportor ;
3. Jgheabul ;
4. Banda ;
5. Tamburul ;
6. Sistem ul de antrenare ;
7. Tamburul de antrenare ;
8. Tamburul de întindere ;
9. Șurubul de întindere ;
10. Motorul electric ;
11. Variatorul de turație ;
12. Reduc ătorul planetar ;
Susținerea benzii se face cu ajutorul unor role de susținere . Unele transportoare mai sunt
prevăzute cu dispozitive de curățare a benzii dispuse pe ramura inferioar ă a acestora .

INTRODUCERE
7

Fig. 0.4 – Părțile componente ale unei benzi utilizate pentru transport și sortare de materiale [6]
Montarea transportoarelor cu band ă se face doar pe baza unui proiect întocmit în prealabil,
operațiunile fiind realizate numai de către personal calificat sub îndrumarea unui șef de echip ă.
Înainte de montare trebuie verificat echipamentul electric p entru a vedea daca corespunde
gradelor de protecție ce trebuie utilizate pentru fiecare instalație în parte. Este indicat ca după
montarea definitiv ă a acestuia s ă fie efectuate probe de mers în gol și probe de mers în sarcin ă
pentru a se observa funcționalitatea benzii și pentru a fi efectuate eventualele modificări la aceasta
înainte de a o da în folosinț ă.
Întreținerea benzilor de transport este foarte important ă, fiind nevoie de o mare atenție
atunci când se fac inspecții tehnice sau lucrări de mentenanț ă.
Este important c ă banda de cauciuc s ă nu fie uzat ă și să fie corect așezată pe role, aceasta
fiind una din cele mai pretențioase părți a transportorului deoarece se poate uza cel mai rapid.
Trebuie observat dac ă piesele utilizate pentru difer ite îmbinări și dac ă rulmenții sunt fisurați sau
deteriorați , dac ă banda nu vine în contact cu alte piese metalice fixe, dac ă racordarea
echipamentelor electrice și a motoarelor este corect efectuat ă, dac ă transportorul este corect legat
la priza de pământ [7].

Andreea -Roxana IONESCU – Proiect de diplomă
8
Echipamentele de siguranță și mijloacele de protecție trebuie montate și personalul trebuie
să se asigure c ă acestea funcționează în mod corespunzător . După fiecare terminare a unui ciclu
de operații , este necesar ca benzile s ă fie curățate și inspectate în timp util. Acest lucru poate ajuta
în evitarea producerii de accidente și în evitarea întreruperii transportului de produse pentru
perioade mai lungi, lucru ce ar costa fabricile întârzieri ale livrărilor .
Transportorul cu band ă prezint ă următoarele avantaje [8]:
➢ Poate fi utilizat pentru transport pe distan ță lungă;
➢ Structur ă de construcție simpl ă;
➢ Capacitate mare de transport;
➢ Investiții mai mici și costuri operaționale reduse;
➢ Pot fi montate atât orizontal, oblic sau într-o direcție orizontal ă sau vertical ă, astfel
utilizând -se mai ușor și în condiții dificile;
➢ Se poate realiza foarte ușor controlul automat al acestora, operațiunea fiind una
simpl ă, fiabil ă și sigur ă;
Pe lângă numeroasele avantaje, putem observa și dezavantaje, cum ar fi [8]:
➢ Banda este supus ă uzurii, frecarea fiind mare;
➢ Pentru monta rea a cesteia este necesa r personal calificat;
➢ În cazul deteriorării întregului sistem diferite aplicații ale acestora pot fi oprite
pentru un timp îndelungat , astfel oprindu -se și producția în fabric ă;

INTRODUCERE
9
0.3. SORTAREA COLETELOR
De foarte mulți ani se poate observa în fabricile în care exista un flux mare de produse de
livrat necesitatea sortării acestora pentru o mai bun ă înțelegere a ceea ce trebuie trimis și unde.
Putem observa c ă în mediile de producție cu ritm intens de lucru operațiile de sortare sunt
solicitante pentru pers onalul uman, deoarece impun vitez ă, precizie și dexteritate continue.
Încercând u-se eficientizarea procesului, tot mai multe fabrici, magazine și chiar aeroporturi
au trecut la sortarea cu ajutorul diferitelor mașinării automatizate, acestea putând efectu a operațiile
în mod consecvent, la vitez ă mare, fără să aibă nevoie de pauze ca în cazul personalului uman.
Sortarea se poate realiza după mai mulți parametrii, unii dintre aceștia fiind dimensiunea, greutatea
sau chiar culoarea , utilizând u-se în acest scop diferiți senzori. Software -urile folosite pot fi utilizate
pentru a coordona și sincroniza mai multe aparate, astfel economisindu -se timpul de producție si
reducând u-se costurile în comparație cu operațiile manuale.
Sistemul utilizat pentru sortare este o metod ă des utilizat ă și foarte ușor de implementat,
aceasta având un design compact, un nivel de zgomot redus și o mentenanț ă ușor de realizat.
Elementul ce produce sortarea este un bra ț ce redirec ționeaz ă coletele de pe o band ă
transportoare principal ă pe una secundar ă, făcând asta de fiecare dat ă când produsul se încadrează
în parametrii descriși în automatizarea acestuia , acest lucru putând fi observat în Figura 0.5.

Fig. 0.5 – Sistem de sortare a coletelor [9]

10
CAPITOLUL 1
ELEMENTE COMPONENTE DE BAZ Ă ÎNTR -UN SISTEM DE SORTARE
A COLETELOR

1.1. CONTROLERE LOGIC PROGRAMABILE ȘI PLĂCI DE
DEZVOLTARE
Un controler logic programabil mai este numit uzual automat programabil (AP) sau PLC
(Programmable Logic Controller). Un PLC este un sistem electronic, proiectat pentru a fi utilizat
în special în mediul industrial, de obicei pentru linii de producție cu caracter secvențial precum
liniile de asamblare sau dispozitivele robotizate. Acesta utilizează o memorie programabil ă pentru
stocarea intern ă a instrucțiunilor necesare implementării funcțiilor specifice, cum ar fi cele logice,
secvențiale , de temporizare, de contorizare etc. pentru a putea controla prin intrările și ieșirile sale
diferite tipuri de mașini industriale [10].

Fig. 1.1 – Schema bloc a PLC
Aceste tipuri de dispozitive sunt foarte des utilizate deoarece oferă siguranț ă în cadrul
secvenței de comand ă, fiind ușor de programat și permițând diagnosticarea rapid ă a defectelor ce
pot apărea în cadrul aplicației pentru care sunt utilizate [11].
De-a lungul timpului, au existat diferite tipuri de automate programabile, cum ar fi
sistemele cu logic ă cablat ă, automatele programabile algoritmice sau automatele programabile
vectoriale [10]. Inițial PLC-urile s -au utilizat pentru industria producătoare de vehicule, în prezent
ele fiind utilizate pe scar ă largă ca dispozitive de comand ă în cadrul sistemelor domotice [ 11].
Familiile de PLC -uri variază de la dispozitive de mici dimensiuni, la dispozitive de mari
dimensiuni, montate pe șine în dulapuri, caracterizate de sute sau mii de intrări și ieșiri , acestea

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
11
fiind de cele mai multe ori integrate în rețele de controlere logic programabile sau în siste me de
tip SCADA (Supervisory Control and Data Aquisition) [ 11].
Metodele de programare ale controlerelor logic programabile sunt definite în standardul
Comisiei Internaționale pentru Electrotehnica (IEC) IEC 61131 -3, principalele metode de
programare fiind [10]:
• IL (Instruction List) ce are strucutur ă asem ănătoare cu limbajele de asamblare ale
microprocesoarelor. Un program IL este o list ă de instruc țiuni de diferite tipuri, ce
calculeaz ă, de regul ă, niște term eni ai unor expresii logice și evalue ază răspun sul
cu True sau cu False.
• ST (Structured Text) care folose ște instruc țiuni de atribuire, selec ție și control al
subprogramelor , cu o structur ă apropiat ă de limbajele de programare de nivel înalt.
• LD (Ladder Diagram) este un limbaj semigrafic, asem ănător schemelor cu c ircuite
cu relee și cont actoare, acesta oper ând în special cu variabile de tip Boolean
(logice). Un program scris ca și diagram ă de tip scar ă este alc ătuit, pe l ângă
simboluri, din re țele și ramifica ții. Execu ția programului se face de sus în jos și
rețeaua se execut ă de la st ânga la dreapta.
• FBD (Function Block Diagram) este o extensie a limbajului Ladder Diagram, în
care se permite și utilizarea de blocuri complexe.
• SFC (Sequential Function Chart) este un limbaj graphic secvential ce este
asemănător unor diagrame func ționale care permite utilizarea de functii complexe
și proceduri. Acesta este un limbaj de origine francez ă.
PLC-urile pot fi conectate între ele sau împreun ă cu PC -uri și alte controlere în sistem,
utilizându -se rețelele de tip LAN (FieldBus) ce au specificații proprietare de cele mai multe ori
(Melsec Net – Mitsubishi, Net Factory Lan – General Electric, Siemens PPI, etc.) sau rețele
neproprietare cum ar fi rețelele de tip Profibus, Profinet, Ethernet, CANOpen, Modnus, e tc. Pe
scară largă se utilizează și porturile de comunicații seriale, cum ar fi protocolul RS 232, RS 422 și
RS 485 [1 0].
Printre PLC -urile utilizate în industrie, amintim de cele de la Eaton, Siemens si Schneider,
acestea fiind și unele dintre cele mai ut ilizate în diferite aplicații automatizate.

Andreea -Roxana IONESCU – Proiect de diplomă

12
Cei de la Eaton utilizează seria Moeller® easy500/700 și easy800 c e combină mai multe
funcții într-un singur dispozitiv . Împreună, acestea formează familia easyRelay – un sistem
universal care dispune de software de programare obișnuit și operare simplă. Flexibilitatea
diverselor clase de programare easyRelay determină c ă acestea reprezint ă cea mai bună alegere
pentru o gamă largă de aplicații legate de industrie, automatizarea construcțiilor și comerț [12].
Seria de relee Easy cuprinde easy500/700/800 ce sunt alese în func ție de complexitatea
aplica ției, la acestea se adaug ă și alte accesorii precum ecranul multi -funcțional MFD -Titan sau
extensii de int rări/ieșiri [12].

Fig. 1.2 – Easy500/700/800 și MFD -Titan [ 12]

Printre modelele prezentate pe piață de Siemens, se disting Siemens Logo! 12/24RCE si
Siemens SIMATIC S7 -1500.
Siemens Logo! 12/24RCE are 8 intrări digitale dintre care 4 se pot folosi ca și intrări
analogice, 4 ieșiri cu relee și o tensiune de alimentare de 12 -24V – tensiune continu ă. Acesta
dispune de afișaj și de o mic ă tastatur ă pentru control, este foarte ușor având o greutate de 0.2 kg
și interfață de comunicare prin conector de tip RJ45 (Ethernet). Pentru a îl putea programa este
necesar software -ul LOGO! Soft Comfort V8.2 [11] .

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
13
Siemens SIMATIC S7 -1500 este un PLC mai complex, acesta dispunând de 16 intrări
digitale și 5 intrări analogice, de 16 ieșiri digitale si 2 ieșiri analogice și de afișaj și taste pentru
control. Greutatea sa este de aproximativ 1.1 kg, acesta folosește interfețe de comunicație Profibus,
Profinet, RJ45 (Ethernet), iar software -ul necesar pentru a îl programa este SIMATIC STEP 7 V15
[11].

Fig. 1.3 – Siemens Logo! 12/24RCE [13] si Siemens SIMATIC S7 -1500 [ 14]

Printre modelele prezentate de Schneider pe piață , se disting Schneider Modicon M221
TM221C16T și Schneider Modicon M340 -BMXP341000 .
Schneider Modicon M221 TM221C16T este un PLC cu 9 intrări digitale și 2 intrări
analogice, cu 7 ieșiri digitale și interfețe de comunicație USB și RJ45 (Modbus). Principalul
dezavantaj al acestuia este c ă nu dispune de afișaj și nici de tastatur ă pentru controlul s ău.
Software -ul necesar pentru a îl putea programa este EcoStructure Machine Expert [ 11].
Schneider Modi con M340 -BMXP341000 este un automat programabil al cărui număr de
intrări analogice și digitale c ât și numărul de ieșiri digitale și analogice este dat de extensia
conectat ă la acesta, cu interfețe de comunicație USB și RJ45 (Modbus). Acesta se alimentează la
24V – tensiune continu ă și utilizează pentru a fi programat software -ul EcoStructure Control
Expert [ 11].

Andreea -Roxana IONESCU – Proiect de diplomă

14

Fig. 1.4 – Schneider Modicon M221 TM221C16T [15] și Schneider Modicon M340 -BMXP341000 [16]

O plac ă de dezvoltare este un dispozitiv de comand ă utilizat cel mai adesea în momentul
dezvoltării în stadii incipiente a unei aplicații. Acestea reprezint ă, de fapt, microcontrolere plasate
pe un circuit electronic (plăcuță cu circuite electronice – single -board microcontrollers) și permit
dezvoltarea unor aplicații care presupun execuția unor acțiuni comandate și/sau interacțiunea între
diferite subsisteme ale unui sistem complex [11].
Astfel de plăcuțe/plăci de dezvoltare sunt disponibile pe scară largă la niv el mondial, la
prețuri mai mici decât controlerele logic programabile , fiind deseori pre -asamblate în cadrul kit –
urilor de tip „dezvoltă singur” (do -it-yourself DIY) [11].
Plăcile de dezvoltare au fost pentru prima dat ă utilizate în școli și universit ăți, acestea
încep ând să fie larg r ăspândite în special în universit ăți în perioada 2007 -2012, fiind o alternativ ă
mai putin costisitoare at ât pentru încep ători cât și pentru avansa ți. Acestea erau cel mai des utilizate
pentru realizarea dispozitivelor sau sistemelor care pot fi controlate în func ție de informa țiile
primite de la diferi ți senzori [11].
În acest moment pl ăcuțele de dezvoltare sunt utilizate pe scar ă largă ca dispozitiv e de
comand ă în cadrul aplica țiilor dezvoltate pentru a realiza anumite ac țiuni care s ă simplifice sau s ă
îmbun ătățească viața utilizatorilor [11].
Familiile de plăci de dezvoltare variază ca performanțe și preț însă principiul lor de
realizare este asemănător. În principal, pe fiecare plac ă exist ă un procesor, un num ăr de intr ări și
un num ăr de ie șiri, un conector prin care se poate realiza alimentarea pl ăcii dintr -o surs ă
independent ă de tensiune și un conector care realizeaz ă comunica ția dintre disp ozitivul de pe care

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
15
se face programarea și alimentarea pl ăcii. Uzual, acestor pl ăci li se pot ad ăuga extensii pentru a le
oferi propriet ăți și caracteristici suplimentare [11].
Cele mai utilizate pl ăci de dezvoltare sunt cele din gama Arduino și din gama Raspberry
Pi.
Arduino este o platform ă electronic ă open -source care produce atât plăcuțe de dezvoltare
bazate pe microcontrolere, cât și partea de software destinată funcționării și programării acesto ra.
Plăcile Arduino sunt capabile să citească intrări – lumină pe un senzor, un deget pe un buton sau
un mesaj Twitter – și să o transforme într -o ieșire – activarea unui motor, activarea unui LED,
publicarea unui articol online [ 17].
Primul Arduino a ap ărut în anul 2005, la Ivrea Interaction Design Institute ca un instrument
ușor de prototipare rapidă, destinat studenților fără un background în electronică și programare.
Acesta avea ca țintă asigurarea unei soluții ieftine și simple pentru începători și pr ofesioniști spre
a crea dispozitive capabile să interacționeze cu mediul, folosind senzori și sisteme de acționare.
Cele mai comune exemple sunt dispozitivele pentru utilizatorii începători precum: roboții simpli,
termostatele și detectoarele de mișcare [17].
În momentul în care plăcuțele Arduino au ajuns la o comunitate mai larg ă și feedback -ul
primit pentru acestea a fost unul pozitiv, cei din conducerea Arduino au decis s ă se adapteze
nevoilor și provocărilor , diferențiind oferta sa de la plăcile de 8 biți până la produse speciale pentru
aplicații IoT și imprimante 3D [17].
Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor
kituri de asamblat acasă (do -it-yourself). Specificațiile schemelor sunt disponibile pentru orice
utilizator, permițând oricui să fabrice plăcuțe Arduino. De -a lungul an ilor aceste plăcuțe au fost
folosite la milioane de proiecte, din cele mai simple care prezint ă aprinderea diferitelor led -uri
până la aplicații complexe, în jurul acesteia formând u-se o comunitate mondial ă de utilizatori: de
la studenți , pasionați , la pro gramatori profesioniști , toți își împart descoperirile și adaugă o
incredibil ă cantitate de cunoștințe accesibile tuturor, acestea fiindu -le de ajutor atât altor experți
cât și celor începători [17].
Componenta principal ă a unei plăcuțe Arduino este microcontrolerul Atmel AVR ce poate
fi de 8,16 sau 32 de biți, din anul 2015 utilizându -se și microcontrolerele de la alți producători .

Andreea -Roxana IONESCU – Proiect de diplomă

16
Unul din aspectele importante în privința plăcuțelor Arduino este c ă aceasta dispune de
conectori standard, aceștia permițând utilizatorului s ă conecteze plăcuța cu procesorul la diferite
module numite shield -uri. Unele sh ielduri comunic ă direct prin pinii digitali sau analogici, altele
pot comunica printr -o magistral ă serial ă, astfel permițându -se utilizarea mai multor module în
paralel [18].
Până în anul 2015 plăcuțele Arduino oficiale au folosit doar cipuri Atmel din seria
megaAVR, cele mai utilizate fiind: ATmega8, ATmega168, ATmega328, ATmega1280 și
ATm ega2560 . După 2015, compania a adăugat cipuri și de la alți producători [18].
Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică
încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită
programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea de pe
orice computer ordinar. În prezent, bootloader -ul optiboot este bootloader -ul implicit instalat pe
Arduino UNO [19].
Plăcuța Arduino ar e expuși mulți dintre pinii de intrare/ieșire ai microcontrolerului, pentru
ca aceștia să fie folosiți de alte circuite. Diecimila, Duemilanove și UNO oferă 14 pini digitali de
intrare/ieșire, dintre care 6 pot produce semnale PWM și 6 intrări analogice ca re, de asemenea, pot
fi folosite ca intrări/ieșiri digitale. Acești pini sunt accesibili prin partea superioară a plăcuței, prin
intermediul unor barete mamă cu pasul între pini de 2,54 mm [18].

Fig. 1 .5 – Plăcuța Arduino cu descrierea pinilor I/O [18]

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
17
Plăcuțele Arduino au fost produse de către firma italian ă Smart Projects, o parte din
plăcuțele cu brandul Arduino fiind proiectate de companiile americane Adafruit Industries și
SparkFun Electronics [18].
Un mare avantaj al plăcuțelor Arduino este acela c ă acestea au un preț foarte accesibil în
comparație cu alte platforme de microcontroler , versiunea cea mai ieftin ă a acestuia poate fi
asamblat ă manual, modulele Arduino pre -asamblate costând mai puțin de 50$ [17].
Până în acest moment, pe piață au fost co mercializate 16 versiuni de hardware Arduino,
dintre care amintim [18]:
• Arduino Diecimila in Stoicheia : schimbarea principală a Arduino Diecimila este
aceea că poate fi resetată de pe computer, fără a fi necesară apăsarea fizică a
butonului de resetare de pe placă. Numele Diecimila înseamnă 10.000 in italian ă și
a fost utilizat pentru a marca faptul c ă peste 10.000 de plăcuțe Arduino au fost
fabricate [20].
• Arduino Duemilanove (2019) : aceasta plăcuț ă folosește cipul ATmega168 sau
ATmega328, are 14 intrări și ieșiri digitale dintre care 6 pot fi utilizate ca și ieșiri
PWM, 6 intrări analogice, conexiune USB, mufa de alimentare și buton de resetare.
Placa poate funcționa pe o surs ă extern ă de 6-20 [V]. Se recoman dă ca intervalul
utilizat s ă fie totuși între 7 -12 [V], plăcuța comportându -se instabil la tensiuni mai
mari sau mai mici [20].
• Arduino UNO : placa UNO este cel mai bun model de plăcuț ă care poate ajuta un
începător la realizarea unui proiect, acesta fiind și cel mai folosit și documentat
model de plăcuț ă din familia Arduino. Aceasta folosește cipul ATmega328P, are
14 intrări și ieșiri digitale dintre care 6 pot fi utilizate ca ieșiri PWM, 6 intrări
analogice, conexiune USB, muf ă de alimentare și un buton de resetare [20].
• Arduino Leonardo : plăcuța Arduino Leonardo utilizează cipul ATmega32u4, are
20 de intrări și ieșiri digitale dintre care 7 pot fi utilizate ca ieșiri de tip PWM și 12
ca intrări analogice , o conexiune microUSB, o muf ă de alimentare și un buton de
resetare . Leonardo diferă de toate plăcile anterioare prin faptul că ATmega32u4 are
deja construit ă comunicare a USB, eliminând necesitatea unui procesor secundar.

Andreea -Roxana IONESCU – Proiect de diplomă

18
Acest lucru permite ca Leonardo să ap ară pe un computer conectat ca mouse și
tastatură, în plus față de un port serial / COM virtual (CDC) [20].
• Arduino Mega : acesta utilizează cipul ATmega1280 și un cip FTDI USB -to-serial
[20].
• Arduino MEGA 2560 R3 : aceast ă plăcuț ă este versiunea actualizat ă a plăcu ței
Arduino Mega, înlocuind -o pe aceasta. Aceasta utilizează cipul ATmega2560 , are
54 de pini de intrare sau ieșire digitali, dintre care 15 pot fi utilizați ca si ieșiri de
tip PWM, 16 intrări analogice, 4 UART -uri (porturi seriale hardware ), conexiune
USB, muf ă de alimentare si buton de resetare [21].
• Arduino Nano : acest Arduino utilizează ATmega328 și un PCB cu doua straturi .
Led-ul de p ornire este trecut de aceast ă dată în partea superioar ă a plăcii [20].
• Arduino Due (ARM Cortex -M3 core) : Arduino Due este prima placă Arduino
bazată pe un microcontroler ARM pe 32 de biți. Aceasta are 54 de pini pentru intr ări
sau ie șiri digitale, 12 intrări analogice, ace asta fiind o placă perfectă pentru
proiectele la o scar ă mai mare Arduino. Spre deosebire de celelalte pl ăcuțe Arduino,
aceast ă placu ță funcționeaz ă la 3.3 [V] , tensiunea maxim ă tolerat ă de pinii I/O fiind
cea de 3.3 [V]. Prin aplicarea tensiunilor mai mari de 3.3 [V] pe oricare dintre pinii
plăcuței aceasta se poate avaria [22].
• LilyPad Arduino : Designul inițial al LilyPad utilizează ATmega168, bootloaderul
utilizat fiind tradiționalul bootloader NG. O revizie ulterioar ă a acestuia utilizează
cipul ATmega 328P [20].
• Arduino Yun : plăcuța are suport WiF i și Ethernet integrate , un port USB -A, un slot
pentru card micro -SD, 20 de pini digitali pentru ieșiri sau intrări , dintre care 7 pot
fi utilizați ca ieșiri PWM și 12 ca intrări analogice, conexiune microUSB și trei
butoane de resetare.

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
19

Fig. 1.6 – Diferite tipuri de plăcuțe Arduino [2 0]
Plăcuțele Arduino și plăcuțele compatibile pot folosi plăcuțe de expansiune cu circuite
imprimate ce se numesc shield -uri, acestea conectându -se la pinii disponibili Arduino. Aceste
shield -uri au capacitatea de a controla motoare, de GPS, Ethernet sau LCD. Unele dintre acestea
pot fi realizate în regim do -it-yourself (DIY) [18].
Printre cele mai utilizate plăcuțe de expansiune utilizate în dif eritele proiecte Arduino,
amintim [23]:
• ARDUINO MOTOR SHIELD REV3 : aceast ă plăcuță de expansiune se bazeaz ă pe
L298, care este un driver dual full bridge , construit pentru a pune în mișcare sarcini
inductive , de exemplu relee, motoare de curent continuu și motoare pas cu pas.
Acesta te ajut ă să controlezi dou ă motoare de curent continuu cu pl ăcuța Arduino,
control ând viteza și direc ția fiec ăruia dintre acestea independent de cel ălalt. Printre
caracteristicile acestuia observ ăm și faptul c ă se poate m ăsura absorb ția de curent a
fiecărui motor.
• Arduino USB Host Shield: acesta permite utilizatorului s ă conecteze un dispozitiv
USB la placa Arduino.
• Arduino 4 Relays Shield: acesta permite utilizatorului s ă controleze sarcini de mare
putere cu pl ăcuța Arduino.
• Arduino USB 2 Serial Micro: aceasta p lacuță converte ște conexiunea USB într-o
conexiune serial ă TX și RX de 5 [V] care se poate conecta în mod direct la Arduino
Mini, Arduino Ethernet sau alte microcontrollere, permi țându-le acestora s ă

Andreea -Roxana IONESCU – Proiect de diplomă

20
comunice cu calculatorul. Aceasta dispune de un ATmega16u2 programat ca un
convertor USB – Serial, acela și cip g ăsit și în Arduino UNO.

Fig. 1.7 – Diferite tipuri de plăcute de expansiune compatibile Arduino [23]

În cazul în care dezvoltatorilor nu li se pare potrivit ă plăcuța de dezvoltare Arduino, pe
piață exist ă și plăcuțele de dezvoltare Raspberry Pi, acestea fiind o serie de „mici computere”,
dezvoltate în Regatul Unit de către Raspberry Pi Foundation pentru a promova predarea
informaticii de baz ă în școli și în principal în țările în curs de dezvoltare [24].
Până în acest moment au fost lansate pe piață câteva generații de Raspberry Pi, prima fiind
lansat ă în 2012 (Raspberry Pi 1 Model B). Dintre modelele lansate pe piață de aceștia , amintim
[23]:
• Raspberry Pi 1 Model B, A, B+, A+ ;
• Raspberry Pi 2 Model B;
• Raspberry Pi Zero Model Zero, W/WH;
• Raspberry Pi 3 Model B, A+, B+;

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
21

Fig. 1 .8 – Diferite modele de plăcuțe de dezvoltare Raspberry Pi [23]

Pe plăcuța Raspberry Pi se pot conecta diferite accesorii, cum ar fi [23]:
• Gertboard : acesta este un dispozitiv aprobat de catre R aspberry Pi Foundation,
conceput în scopuri educa ționale, care extinde pinii GPIO ai pl ăcuței pentru a
permite controlul led -urilor, comutatoarelor, semnalelor analogice, a senzorilor și
a altor dispo zitive. De asemenea, acesta include și un controller op țional compatibil
cu Arduino pentru a interfa ța cu dispozitivul Raspberry Pi.
• Camera: în mai 2013, funda ția și distribuitorii Rs Components&Premier Farnell
/Elements14 au lansat camera Raspberry Pi împreun ă cu o actualizare a fi rmware –
ului pentru a se potrivi. Modulul se livreaz ă cu cablu flexibil care se conecteaz ă la
conectorul CSI situat între porturile Ethernet și HDMI. Modulul poate produce
video de 1080p, 720p și 640x480p. În 2016 ace știa au scos variant a a doua a
camerei, aceasta fiind o camer ă de 8 megapixeli.
• Camera cu infraro șu: în octombrie 2013, funda ția a anun țat că vor începe s ă
produc ă acest model numit Pi NoIr.
• Display: în septembrie 2015, compania a lansat pe pia ță Raspberry Pi Touch
Display.
• Plăcuțele de expansiune HAT (Hardware Attached on Top): acestea au fost lansate
împreun ă cu modelul B+ și inspirate de shield -urile Arduino. Fiecare plac ă HAT
conține un mic EEPROM, care con ține detaliile relevante ale pl ăcii, astfel încât OS-
ul Raspberry Pi s ă fie infor mat despre toate detaliile tehnice ale acestuia.

Andreea -Roxana IONESCU – Proiect de diplomă

22
Principalul sistem de operare pe care îl utilizează Raspberry Pi se numește Raspbian, acesta
fiind special optimizat p entru aceasta. Exista trei versiuni ale sistemului de operare, și anume:
Wheezy, Jessie și Stretch. Derivat din Debian, acesta oferă pe lângă funcțiile de bază ale nucleului,
aplicații cum ar fi browserul Chromium, Python, Scratch, Sonic Pi, RealVNC, NodeRED, Geany,
Wolfram, Java și peste 35000 de alte pachete, software precompilat, toate ar anjate într -o manieră
ușor de instalat și utilizat [23].

1.2. SENZORI
Senzorii sunt dispozitive tehnice care reacționează calitativ sau cantitativ la anumite
proprietăți fizice sau chimice din mediul din preajma lui. Aceștia pot fi activi sau pasivi, iar ca
parte component ă a unui aparat sau sistem, acesta poate măsura sau înregistra presiunea,
umiditatea, câmpul magnetic, accelerația , forța , radiațiile , etc. [25].
În cad rul automatizărilor , senzorii sunt utilizați pentru a livra informația calitativ ă și
cantitativ ă măsurat ă, ce după o eventual ă amplificare și prelucrare servește la controlul și reglarea
sistemelor tehnice automate [25].

➢ Senzori de temperatur ă

Senzorii de temperatură oferă o ieșire proporțională cu temperatura. Majoritatea senzorilor
de temperatură au un coeficient de temperatură pozitiv ceea ce înseamnă că la ieșire senzorul va
indica o valoare mai mare decât cea de referinț ă în timp ce tempera tura crește, iar unii senzori au
un coeficient de temperatur ă negativ, ceea ce înseamnă că la ieșire senzorul va indica o valoare
mai mic ă decât cea de referinț ă în timp ce temperatura crește [26].
Multe sisteme de control necesită senzori de temperatură , deoarece în acestea se găsesc
diferite elemente ce sunt dependente de temperatur ă și cărora li se pot schimba proprietățile la
schimbări de temperatur ă [26]. În cadrul sistemului automatizat de sortare realizat, senzorul de
temperatură este un element benefic , necesar deoarece motorul ce înv ârte banda transportoare se
poate înc ălzi, la fel și driverul acestuia, ajungându -se până la defectarea lor. Cu ajutorul senzorului

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
23
acest lucru poate fi observat continuu și se pot lua măsurile necesare funcț ionării optime a
motorului.
Dintre tipurile de senzori de temperatur ă existenți , amintim: senzorul de temperatur ă cu
bimetal, termocuplul , termistorul, senzorii de temperatur ă din circuitele integrate, etc . [26] .
Termistorul este un dispozitiv cu dou ă terminale care își schimb ă rezisten ța o dat ă cu
schimbarea temperaturii. Termistorii sunt fabricați din materiale semiconductoare pe bază de oxid,
se găsesc pe piață într-o varietate de dimensiuni și forme și au coeficient de temperatur ă negativ.
Aceștia sunt neliniari, nefiind utilizați pentru o citire precis ă a temperaturii dar p entru a indica
modificările de temperatur ă apărute , cum ar fi supraîncălzirea [26].
Termistoarele vin cu o gam ă largă de rezisten țe, de la câțiva ohmi la 1 MΩ , alegerea c orect ă
a acestuia depinzând de domeniul de temperatur ă de interes. Modelele cu o rezisten ță mai mare
sunt utilizate pentru temperaturi mai mari și pentru creșterea sensibilității senzorului, dar și pentru
a limita curentul utilizat de acesta [26].
Pentru a utiliza un senzor cu plăcuța Arduino pe care o folosim , putem folosi senzorul
DHT22 . Acesta este un senzor de temperatur ă și umiditate digital , utilizând un senzor capacitiv
pentru măsurarea umidității și un termistor pentru măsurarea temperaturii din mediul înconjurător
[27].
Senzorul DHT22 este un senzor simplu de utilizat ce necesit ă o sincronizare atent ă pentru
a putea fi obținute date. Singurul dezavantaj al acestui senzor este acela c ă datele pot fi obținute o
dată la 2 secunde [27].
Date ale senzorului DHT22 [27]:
– preț redus;
– tensiune 3 – 5 [V];
– curentul maxim 2.5 [mA];
– acurate țe de 2 -5% pentru citirile de umiditate în intervalul 0 -100%;
– acurate țe de +/ – 5°C pentru citirile de temperatur ă în intervalul -40°C – 80°C;
– greutate 2.4 g;

Andreea -Roxana IONESCU – Proiect de diplomă

24
Senzorul are integrat ă o rezisten ță de tip pull -up, dar pentru siguranță se poate adăuga o
rezisten ță adițională [27]. În figura următoare se poate observa modul de conectare al senzorului
la plăcuța Arduino.

Fig. 1 .9 – Conectarea pinilor DHT22 [28]

➢ Senzor i de pozi ție

Senzorii de poziție determină poziția 3D a unui obiect în spațiu . Senzorii de poziție au la
bază tehnologiile: magnetice, optice, mecanice, etc.
Senzorii de poziție raportează poziția fizică a unui obiect ( în cazul de fa ță a benzii de
sortare) în raport cu un punct de referi nță ales anterior. Informația furnizat ă poate fi de tip liniar
sau poate fi un unghi [26].
Senzorii de poziție se pot baza pe un potențiometru , acesta fiind utilizat pentru conversia
deplasării rotative sau liniare într-o tensiune. Senzorul de poziție poate fi un codificator optic
rotativ care produce date de poziție unghiular ă direct în form ă digital ă, eliminând astfel nevoia de
un convertor an alog – digital [26].
Pentru a putea observa poziția în care este situat ă banda de sortare (aceasta putând fi așezat ă
paralel cu podeaua sau înclinat ă la diferite unghiuri prestabilite) putem utiliza cu Arduino un
senzor de orientare, și anume senzorul IMU 9-DOF Adafruit BNO055 . Acest senzor are orientare
absolut ă (date de orientare pe trei axe bazate pe o sfer ă de 360 °), vector de vitez ă unghiular ă (trei
axe pentru viteza de rotație în rad/s) și vector de accelerație [29].

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
25
➢ Senzor i de culoare

Principiul de funcționare al unui senzor de culoare este împărțit în trei tipuri diferite de
senzori de culoare: conversie lumin ă-analogic ă, conversie lumin ă-digital ă și conversie lu mină-
fotocurent. Conversia lumin ă-digital ă reprezintă , de obicei, culoarea reală a părții de intrare a
senzorului, deoarece amplitudinea curentului original este foarte mic ă, necesitând întotdeauna
amplificarea la debitul optic [30].
Senzorul de culoare detectează culoarea suprafeței, de obicei în scara RGB. Culoarea este
rezultatul interacțiunii dintre o sursă de lumină, un obiect și un observator. În cazul luminii
reflectate, lumina care cade pe un obiect va fi reflectată sau absorbită în funcție de caracteristicile
suprafeței [31].
Măsurarea culorilor se poate face în principiu în dou ă moduri. Cea mai ușoară modalitate
este utilizarea unei surse de lumin ă care schimb ă culoarea și un senzor care măsoară intensitatea
luminii. Majoritatea senzorilor de culori industriali conțin un emițător de lumină albă și trei
receptoare s eparate. Există de obicei trei seturi de sursă de culoare sau un filtru de culoare cu
sensibilități de vârf la lungimi de undă pe care le identificăm ca roșu (580nm), verde (540nm) și
albastru (450nm). Toate culorile pot fi derivate din componentele lor [31].

Fig. 1 .10 – Principiul de funcționare al senzorului de culoare [30]

Andreea -Roxana IONESCU – Proiect de diplomă

26
Senzorii de culoare au o varietate de aplicații, inclusiv detectarea mediului, alegerea
produsului potrivit și sortarea. Detectarea culorii în comparație cu senzorul de viziune este mult
mai rapidă și mai ieftină [31].
În programarea realizat ă cu ajutorul Arduino, cel mai des utilizat senzor de culoare este
senzorul TCS230, acesta simțind lumina culorilor cu ajutorul unui aranjament de 8×8 serii de
fotodiode. Apoi, folosi nd un convertor curent -la-frecvență, citirile de la fotodiode sunt convertite
într-o form ă de und ă pătrată cu o frecvență direct proporțională cu intensitatea luminii. În cele din
urmă, folosind Arduino, putem citi rezultatul undei pătrate și obținem rezul tatele pentru culoare
[32].
Fotodiodele au trei filtre de culoare diferite. 16 dintre ele au filtre roșii, alte 16 au filtre
verzi, alte 16 au filtre albastre, iar celelalte 16 fotodiode sunt transparente , fără filtre [32].
Fiecare 16 fotodiode su nt conectate în paralel, astfel încât, folosind c ei doi pini de comandă
S2 și S3, putem selecta care dintre ele vor fi citite. De exemplu, dacă vrem să detectăm culoarea
roșie, putem folosi doar 16 fotodiode filtrate roșu prin setarea celor doi pini la niv el logic scăzut,
conform tabelului Tabel 1.2 de mai jos [32].
Senzorul are încă doi pini de comandă, S0 și S1, care sunt utilizaț i pentru scalarea
frecvenței de ieșire. Frecvența poate fi redusă la trei valori presetate diferite de 100%, 20% sau
2%. Această funcție de scalare a frecvenței permite optimizarea ieșirii senzorului pentru diferi te
contoare de frecvență sau microcontrolere [32].

S0 S1 Scalarea frecven ței de ieșire
L L 0 %
L H 2 %
H L 20 %
H H 100%
Tabel 1 .1 – Utilizarea pinilor S0 si S1 la senzorul de culoare

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
27

S1 S2 Tipul fotodiodei
L L Roșu
L H Albastru
H L Transparent ( fără filtru)
H H Verde
Tabel 1.2 – Utilizarea pinilor S2 si S3 la senzorul de culoare
În continuare se poate observa modul de conectare a senzorului de culoare la plăcuța
Arduino.

Fig. 1 .11 – Modul de conectare al pinilor TCS230 [32]

➢ Senzor de greutate

O celul ă de sarcin ă (senzor de greutate) este un tip de manometru, acesta compunându -se
dintr -un traductor utilizat pentru crearea unui semnal electric direct proporțional cu forța măsurată .
Diferitele tipuri de celule de sarcină includ un indicator hidraulic, pneumatic și d e tensiune [33].
Celulele de sarcină pentru măsurarea tensiunilor sunt cele mai frecvente în industrie. Aceste
celule de sarcină sunt deosebit de rigide, au valori foarte bune de rezonanță și tind să aibă cicluri

Andreea -Roxana IONESCU – Proiect de diplomă

28
lungi de viață în aplicare. Celulele de sar cină pentru măsurarea tensiunii funcționează pe principiul
conform căruia tensiometrul (un rezistor planar) se deformează atunci când materialul celulelor de
sarcină se deformează în mod corespunzător. Deformarea manometrului modifică rezistența sa
electri că, cu o valoare proporțională cu tensiunea. Schimbarea rezistenței indicatorului de tensiune
asigură o schimbare a valorii electrice care este calibrată la sarcina plasată pe celula de sarcină
[33].
O celulă de încărcare constă de obicei din patru senzori de tensiune într -o configurație a
punții Wheatstone . Ieșirea semnalului electric este în mod obișnuit de ordinul a câtorva milivolți
(mV) și necesită amplificarea de către un amplificator de instrume ntație înainte de a fi utilizată.
Ieșirea traductorului poate fi redusă pentru a calcula forța aplicată traductorului. Uneori, un
convertor analog -digital de înaltă rezoluție, de obicei de 24 de biți, poate fi utilizat direct [33].
Exist ă diferite problem e ce se pot întâlni în cazul celulelor de sarcin ă, cum ar fi [33]:
– Montarea mecanică: celulele trebuie montate corespunzător. Toată forța de
încărcare trebuie să treacă prin partea celulei de sarcină, unde este detectată
deformarea acesteia. Fricțiunea poate induce offset sau histerezis. Montarea greșită
poate duce la forțele de raportare a celulei de -a lungul axei nedorite, care poate
totuși să se coreleze într -o oarecare măsură cu sarcina detectată, confuzând
tehnicianul.
– Suprasarcină: în cadrul evaluării sale, celula de sarcină se deformează elastic și
revine la forma sa după descărcare. Dacă este supus sarcinilor peste limita maximă
a acestuia, materialul celulei de sarcină se poate deforma plastic; acest lucru poate
duce la o deplasare a s emnalului, la pierderea liniarității, la dificultatea sau la
imposibilitatea calibrării sau chiar la deteriorarea mecanică a elementului de
detectare (de exemplu delaminare, rupere).
– Problemele legate de cabluri: firele către celulă pot dezvolta o rezisten ță ridicată,
de ex emplu datorită coroziunii. Alternativ, căile de curent paralele pot fi formate
prin pătrunderea umezelii. În ambele cazuri semnalul dezvoltă offset (dacă toate
firele nu sunt afectate în mod egal) și precizia este pierdută.
– Nelinearitatea : la capătul inferior al scalei lor, celulele de sarcină tind să fie
neliniare. Acest lucru devine important pentru celulele care detectează intervale

ELEMENTE COMPONENTE DE BAZĂ ÎNTR -UN SISTEM DE SORTARE A COLETELOR
29
foarte mari sau cu un exces mare de capacitate de încărcare pentru a rezista
suprasarcinilor sau șocurilo r temporare (de exemplu clemele de prindere a
cablurilor). Mai multe puncte pot fi necesare pentru curba de calibrare.
Pentru a putea fi utilizat un senzor de greutate cu o plăcuț ă Arduino, acesta trebuie s ă fie
întâi conectat la amplificatorul HX 711, deoa rece schimbările rezisten ței electrice trebuie
amplificate pentru a putea fi citite de către placa de dezvoltare. În figura următoare se poate
observa modul de conectare al pinilor.

Fig. 1 .12 – Modul de conectare a pinilor pentru senzorul de greutate [34]

30
CAPITOLUL 2
APLICA ȚIA SOFTWARE PENTRU UN SISTEM DE SORTARE

2.1. MEDIUL DE DEZVOLTARE ARDUINO IDE
Pentru a putea utiliza plăcuța Arduino, pe aceasta trebuie încărcat programul specific
aplicației pe care o realizăm, pentru acest lucru utilizându -se mediul de dezvoltare Arduino IDE.
Un program Arduino poate fi scris în orice limbaj de programare ce are un compilator
capabil să producă un cod mașină binar. Pentru acest lucru, cei de la Atmel oferă un mediu de
dezvoltare pentru microcontrolerele sale, A VR Studio și mai nou, Atmel Studio [18].
Cei de la Arduino oferă un mediu integrat de dezvoltare (IDE) , acesta fiind o aplicație
cross -platform, scrisă în Java. Acesta își are originile în mediul de dezvoltare pentru limbajul de
programare Processing și în proiectul Wiring. Mediul de dezvoltare creat de Arduino este proiectat
pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software
[18].
Un program scris în IDE pentru Arduino poartă denumirea de sketch. Programu l include
un editor de cod cu diferite funcții menite să ajute programatorul, cum ar fi funcții pentru
evidențierea sintaxelor, potrivirea acoladelor și spațierea automată. Acesta oferă mecanisme
simple pentru a compila și încărca programele în plăcuța Ard uino [18].
Ultima versiune a Arduino IDE este versiunea 1.8.9, aceasta fiind și versiunea utilizată
pentru scrierea programului utilizat pentru automatizarea benzii de sortare realizată. Aplicația
poate fi utilizată pe Windows, Mac OS X și Linux, acest lucru oferind accesibilitate tuturor
utilizatorilor.
Arduino IDE suportă limbajele de programare C și C++ , dar utilizează reguli speciale
pentru organizarea codului.

APLICAȚIA SOFTWARE PENTRU UN SISTEM DE SORTARE
31
Fiecare program Arduino are două funcții principa le, acestea fiind [18]:
• setup (): aceast ă funcție este rulată o singură dată, la începutul programului sau
atunci când este apăsat butonul de resetare, când se inițializează setările.
• loop() : aceast ă funcție este apelată în mod repetat până la oprirea alimentării cu
energie a plăcuței.

Fig. 2.1 – Interfața mediului de dez voltare
Mediul de programare Arduino IDE este distribuit, în principal, în trei secțiuni : zona
meniului, zona de editare text și zona de afi șaj a ieșirilor [35].
În zona meniului putem observa cinci opțiuni diferite pe care le putem alege, după cum
urmează [35]:
• File: din acest meniu putem alege să deschidem o nouă fereastră pentru a scrie un
cod nou, să deschidem un cod deja existent, să deschidem diferite exemple ce ne

Andreea -Roxana IONESCU – Proiect de diplomă

32
pot ajuta să cre ăm codul necesar, să salvam codul realizat, să printăm și să ieșim
din programul software.
• Edit: de aici putem copia și lipi linii de cod, putem comenta liniile de cod și putem
crește sau micșora font -ul pe care îl utilizăm în scrierea programului.
• Sketch: în acest meniu putem compila si verifica codul realizat si putem adăug a
diferite librării necesare. Unele din librăriile întâlnite sunt : Ethernet, GSM,
LiquidCristal, Servo, Stepper, WiFi, etc.
• Tools: de aici putem alege pl ăcuța pe care o utilizăm, putând alege dintr -o gam ă de
peste 25 de tipuri de plăcuțe și putem vedea por tul la care plăcuța este conectată.
• Help : meniul de ajutor al programului Arduino IDE, aici fiecare utilizator găsind
diferite răspunsuri pentru problemele pe care le poate întâmpina în scrierea codului.
Cele șase butoane ce apar sub meniu sunt utilizate c a și comenzi rapide, semnificația lor
fiind, de la stânga la dreapta : buton pentru verificarea codului, buton pentru încărcarea programului
pe plăcuța Arduino, buton pentru deschiderea unei noi ferestre, buton pentru salvarea programului
și butonul „Serial Monitor” [18].
Butonul Serial Monitor este o fereastr ă separată care acționează ca un terminal independent
și joac ă un rol vital pentru trimiterea și primirea datelor seriale. Acesta se poate accesa și din
panoul Instrumente (Tools), sau ap ăsându -se simultan Ctrl+Shift+M. Acesta ajută la depanarea
schițelor scrise, unde putem afla cum funcționează programul realizat. Pentru a activa monitorul
serial, modulul Arduino trebuie să fie conectat la computer prin cablu USB [35].
Ecranul principal al mediului de dezvoltare este zona de editare text, aici scriindu -se
programul efectiv pe care îl încărcăm pe plăcuță.
Sub zona de editare text se găsește zona de afișaj a ieșirilor, aceasta evidențiind statusul de
compilare a programului : memoria utilizată de către cod și erorile apărute în program, fiind necesar
ca acestea să fie rezolvate înainte de încărcarea programului în modulul Arduino.

APLICAȚIA SOFTWARE PENTRU UN SISTEM DE SORTARE
33
2.2. APLICATIA SOFTWARE
În continuare se va prezenta codul surs ă realizat pentru o band ă de sortare utilizat ă în
mediul industrial, care dispune de 3 tipuri de sortare, și anume înălțime, culoare și greutate. Codul
sursă este realizat pentru programarea unei plăcuțe Arduino UNO și necesită pentru o bună
funcționare senzorul de culoare TCS230, senzorul de greutate re alizat dintr -o celulă de sarcină și
un amplificator HX711 și un sensor infraroșu de obstacole pentru detectarea înălțimii coletelor.

1 #include <HX711.h>
2 #include <Servo.h>

Liniile 1 și 2 ale codului includ în programul realizat bibliotecile HX711 și Servo, utilizate
pentru controlul servomotoarelor și al amplificatorului HX711. Amplificatorul este utilizat pentru
amplificarea semnalului dat de celula de sarcin ă (senzor de greutate) .

3 Servo servo;
4 Servo Servo_culoare ;
5 Servo servo_greutate ;
6 HX711 scale ;

Între liniile 3 -6 putem obs erva elementele folosite din cele două biblio teci: 3 servo motoare
și senz orul de gr eutate.

7 #define S2 10
8 #define S3 11
9 #define sensorOut 12

10 int senzor2=2;
11 const int senz_greutate_date = 3;
12 const int senz_greutate_clock = 4;
13 int senzor1=7;
14 int step_pas =8;
15 int dir =9;

Liniile 7 -15 ne prezintă modul de decla rare al pinilor u tilizați de pe pl ăcuța pentru
elementele folosite.

16 int initial_pos =0;
17 int final_pos =90;

Andreea -Roxana IONESCU – Proiect de diplomă

34
Liniile 16 și 17 sunt utilizate pentru declararea pozi țiilor ini țiale și finale p entru cele trei
servomot oare utilizate.

18 int frequency = 0;
19 int color=0;

Liniile 18 și 19 ne prezintă declararea variabilelor utilizate pentru senzorul de culoare .

20 const int greutate_minima =2;
21 float stepper_speed =1;
22 bool activate =1;
23 unsigned long time_period =10000,t1=0;

Între liniile 20 -23 se poate observa declararea constantelor utilizate pe parcursul
programului implementat .

24 void setup()
25 {
26 pinMode(dir,OUTPUT);
27 pinMode(step_pas ,OUTPUT);
28 pinMode(senzor1,INPUT_PULLUP );
29 pinMode(senzor2,INPUT_PULLUP );
30 pinMode(S2, OUTPUT);
31 pinMode(S3, OUTPUT);
32 pinMode(sensorOut , INPUT);

Liniile 24 -32 prezintă setarea pinilor de intrare și ieșire pentru elementele fol osite (motorul
pas cu pas și senzori i).

33 digitalWrite (dir,HIGH)

Linia 33 este utilizat ă pentru stabilirea direc ției de mers a benzii de sortare .

34 servo.attach(6);
35 servo.write(initial_pos );
36 Servo_culoare .attach(5);
37 Servo_culoare .write(initial_pos );
38 servo_greutate .attach(13);
39 servo_greutate .write(initial_pos );

Liniile 34 -39 sunt utilizate pentru setarea pinilor utilizați pentru servomotoare și
inițializarea pozi țiilor ini țiale ale acestora .

APLICAȚIA SOFTWARE PENTRU UN SISTEM DE SORTARE
35
40 scale.begin(senz_greutate_date ,senz_greutate_clock );

Linia 40 este utilizată pentru inițializarea pinilor fol osiți pentru senzorul de gr eutate.

41 attachInterrupt (digitalPinToInterrupt (senzor2),move_box , FALLING) ;

Linia 41 este folosit ă pentru realiza rea unei întreruperi la activarea senzorului 2, pentru a
avea loc sortarea .

42 TCCR2A = 0;
43 TCCR2B = 0;
44 TCNT2 = 0;
45 OCR2A = 250;
46 TCCR2A |= (1 << WGM21);
47 TIMSK2 |= (1 << OCIE2A);

Liniile 42 -47 sunt folosite pentru setarea timerului 2 , pentru realizarea întreruperii de
control a stepperului, la o frecven ță de 1kHz .

48 sei();

Linia 48 ajută la activarea întreruperilor globale .

49 }

50 void loop()
51 {
52 if(digitalRead (senzor1)==0)
53 misca_banda ();

54 if(readColor ()==1)
55 Servo_culoare .write(final_pos );

56 else if(readColor ()==2)
57 {
58 Servo_culoare .write(initial_pos );
59 delay(2000);
60 if (scale.is_ready ())
61 {
62 long reading = scale.read();
63 if(reading > greutate_minima )
64 servo_greutate .write(final_pos );
65 }
66 delay(3000);
67 }
68 opreste_banda ();
69 }

Andreea -Roxana IONESCU – Proiect de diplomă

36

În bucla de rulare a programului, între liniile 50 și 69 se observ ă următoarele :
-verific ăm senz orul 1 dac ă a detectat un colet . În acest caz se porne ște banda.
-verificăm dacă coletul are culoarea ro șie. În cazul în care coletul este ro șu, se activeaz ă
Servo.cul oare și coletul este înlăturat de pe banda de sortare. În cazul în care coletul este albastru,
acesta va merge în cont inuare pe banda de sortare.
-coletul albastru va ajunge în zona senz orului de greutate, unde se va verifica dac ă acesta
depășește greutatea admis ă (2kg). Dac ă aceasta gr eutate este dep ășită, se va activa servo.gr eutate
și se va realiza sortarea. În caz contrar, coletul va ajunge la finalul benzii, urm ând ca banda s ă se
opreasc ă.

70 void move_box ()
71 {
72 servo.write(final_pos );
73 delay(4000);
74 opreste_banda ();
75 }

Între liniile 70 și 75 observ ăm rutina de rulare la activarea întreruperii în cazul detecției
unui colet de către senzorul 2. În acest caz se va activa servo motorul și se va realiza sortarea. În
caz contrar, coletul își va continua parcursul pe banda de sortare .

76 int readColor () {

// Setting red filtered photodiodes to be read
77 digitalWrite (S2, LOW);
78 digitalWrite (S3, LOW);
79 frequency = pulseIn(sensorOut , LOW);
80 int R = frequency ;

// Setting Blue filtered photodiodes to be read
81 digitalWrite (S2, LOW);
82 digitalWrite (S3, HIGH);
83 frequency = pulseIn(sensorOut , LOW);
84 int B = frequency ;

// Setting Green filtered photodiodes to be read
85 digitalWrite (S2, HIGH);
86 digitalWrite (S3, HIGH);
87 frequency = pulseIn(sensorOut , LOW);
88 int G = frequency ;

89 if(R<45 & R>32 & G<65 & G>55){
90 color = 1;
91 }

APLICAȚIA SOFTWARE PENTRU UN SISTEM DE SORTARE
37

92 if (G<58 & G>45 & B<40 &B>26){
93 color = 2;
94 }
95 return color;
96 }

Între liniile 76 și 96 se poate observa funcția de verificare a culorii coletului sortat. Aceasta
va returna 1 în cazul în care coletul este roșu și 2 în cazul în care coletul este albastru.

97 void misca_banda (void){
98 TCCR2B |= (1 << CS22);
99 }

Liniile 97 -99 ne ajut ă să activ ăm timerul 2 care este fol osit la controlul stepperului .

100 void opreste_banda (void){
101 TCCR2B &= ~(1 << CS22);
102 }

Liniile 100 -102 ne ajut ă să dezactiv ăm timerul 2 care este fol osit la controlul stepperului .

103 ISR(TIMER2_COMPA_vect ){
104 digitalWrite (step_pas ,!digitalRead (step_pas ));
105 }

Liniile 103 -105 prezint ă rutina de întrerupere care asigur ă controlul stepperului la o
frecven ță de 1kHz.

38
CAPITOLUL 3
DEZVOLTAREA MACHETEI EXPERIMENTALE

3.1. ECHIPAMENTE ȘI MATERIALE UTILIZATE
Pentru a se putea observa fizic programul software implementat pe pl ăcuța Arduino, am
realizat machet a experimental ă a unui sistem automatizat de sortare a coletelor, pe aceasta sortarea
realiz ându-se în func ție de înălțimea coletului. Pentru realizarea machetei a fost nevoie de un motor
pas cu pas, un servomotor, doi senzori cu infraro șu pentru obstacole și diferite elemente de origine
mecanic ă. Conectarea motoarelor și a senzorilor și programarea acestora s -a realizat cu ajutorul
plăcuței Arduino, acestea conect ându-se cu ajutorul firelor Dupont și cu ajutorul breadboard -ului.
Cablurile Dupont utilizate pot fi de tipul mam ă-mam ă, tată-tată sau ma mă-tată, acestea
având diferite lungimi, în func ție de nevoile fiec ăruia. Avantajul utiliz ării acestora este acela c ă
firele sunt de culori diferite, f ăcând conectarea lor mult mai u șoară, mai ales în momentul în care
se utilizeaz ă un num ăr mare de fire.

Fig. 3.1 – Fire Dupont
Breadboard -ul se utilizeaz ă în momentul în care se dore ște construirea rapid ă și ușoară a
unui circuit. Aceasta este o plac ă de plastic cu g ăuri și contacte metalice în interior ce permite
conectarea prin fire a elementelor de circuit, f ără a fi nevoie s ă le lipim [36].

DEZVOLTAREA MACHETEI EXPERIMENTALE
39

Fig 3.2 – Breadboard
Breadboard -urile pot avea diferite dimensiuni, acestea av ând sec țiunile verticale prezentate
în figura de mai sus cu ro șu și albastru (+ și -) ce se utilizeaz ă de obicei pentru alimentare și
secțiunile orizontale unde se insereaz ă elementele de circuit utilizate. Pe mijloc exist ă un canal ce
separ ă secțiunile pentru a oferi mai multe noduri și pentru a face posibil ă conectarea elementelor
de circuit ce au dou ă perec hi de pini [36].
Pentru ca întreg sistemul s ă funcționeze, s -a folosit alimentarea de la o surs ă extern ă de
12V.
Macheta exprimental ă a fost realizat ă pe un placaj Tego cu dimensiunile de 0.8x45x60 cm.
Pentru realizarea benzii au fost utilizate diferite e lemente mecanice, cum ar fi: picioru șe pentru
mobilier reglabile, șuruburi inox M4, M6, M8, piuli țe hexagonale, șaibe plate și șaibe grower, tij ă
filetat ă M4, col țar metalic perforat tip L de diferite dimensiuni.
Pentru a se detecta obiectele de pe band ă și pentru a se realiza sortarea acestora s -au utilizat
doi senzori de tipul “Senzor infraro șu de obstacole”, ace știa fiind a șezați în punct e cheie ale
machetei pentru optimizarea întregului sistem. Senzorul utilizat este un senzor digital ce poate
detecta prezen ța obiectelor aflate la o distan ță de la 2 cm p ână la 180 cm, acest senzor nefiind
utilizat și pentru m ăsurarea distan ței.
Un senzor IR ( infraro șu) este un instrument electronic care scaneaz ă semnalele IR în
anumite intervale de frecven ță și le transform ă în semnale electrice pe pinul de ie șire, denumit în

Andreea -Roxana IONESCU – Proiect de diplomă

40
mod obi șnuit pin de semnal. Senzorii pentru obstacole sunt de obicei de dou ă tipuri, cu 3 sau 4
pini. Cei cu 3 pini nu pot fi enabled/disabled, cei cu 4 pini av ând și aceast ă opțiune. În cadrul
machetei experimentale am utilizat un senzor cu trei pini, ace știa fiind un pin pentru alimentare,
un pin pentru punerea la masa și un pin de semnal . Exist ă și un poten țiometru, acesta fiind utilizat
pentru a regla sensibilitatea senzorului. Poten țiometrul se utilizeaz ă pentru a ajusta distan ța la care
senzorul va detecta un obiect.

Fig. 3.3 – Senzor ul de obstacole utilizat
Servomotoarele sunt motoare speciale ce au capacitatea de a -și controla precis pozi ția. În
mod uzual, acestea nu se pot roti 360°, ci doar 90° în stânga și în dreapta, fa ță de pozi ția ini țială,
parcurz ând astfel un unghi maxim de 180° [36].
Servomotoarele sunt alc ătuite dintr -un motor de curent continuu, un poten țiometru ac ționat
de axul motorului ce m ăsoară unghiul la care acesta se rote ște, un circuit ce compar ă semnalul
provenit de la poten țiometru cu comanda primit ă de la utilizator ( în cazul nostru pl ăcuța Arduino),
și un mecanism cu ro ți dințate ce reduce tura ția motorului dar cre ște cuplul acestuia [ 36].
Exist ă trei fire cu care se realizeaz ă conexiunea servomotorului: GND, 5V și un fir pentru
comand ă, care se va conecta la un pin de tip PWM de pe pl ăcuța Arduino [36].
Pentru controlul unui servomotor cu Arduino se folose ște biblioteca Servo.h. Aceasta ne
permite s ă declar ăm până la 8 obiecte de tipul servo și să folosim func țiile aferente acesteia,
precum attach(pin) pentru a indica obiectului cu ce pin comunic ă sau write(pozi ție) pentru a
controla direct pozi ția servomotorului [36].

DEZVOLTAREA MACHETEI EXPERIMENTALE
41
Servomotor ul utilizat în cadrul machetei experimentale este micro servomotorul Polulu hd –
1900a, acesta fiind un servomotor des utilizat pentru mecanismele mici.

Fig. 3.4 – Micro servomotor ul utilizat
Date le tehnice ale servomotorului utilizat [37]:
– Temperatura de operare: -10 ÷ 50 °C;
– Tensiunea de operare: 4.5V ÷ 6V;
– Viteza de operare în gol: 60 de grade în 0.11 secunde la 4.8V/ 60 de grade în 0.08
secunde la 6V;
– Curent consumat: 4mA la 4.8V/ 5mA la 6V;
– Limita unghiului de rota ție: 180 ± 10 grade;
Motoarele pas cu pas (stepper) sunt motoare ce se pot roti sub unghiuri discrete bine
definite (pa și). Motoarele pas cu pas sunt folosite în aplica ții ce necesit ă un control precis al
mișcării. Acestea pot fi întâlnite în imprimante normale sau 3D, CNC -uri și brațe robotice [36].
În cadrul machetei experimentale, motorul pas cu pas utilizat este PLUSIVO Stepping
Motor, Model 17HS440. Acesta are urm ătoarele specifica ții [38]:
– Unghi pas: 1.8 grade;
– Lungime motor: 40mm;
– Curent : 1.7 A la 12 V;
– Rezistență fază: 1.5 Ω;

Andreea -Roxana IONESCU – Proiect de diplomă

42
– Inductanță fază: 2.8mH;
– Cuplu: 40N x cm;
– Precizie pas: ±5%;
– Acuratețe rezistență: ±10%;
– Acuratețe inductanță: ±20%;
– Temperatură maximă: 80°C;
– Temperaturi mediu de lucru: -20°C ÷ 50°C;
– Rezistență izolație: 100M Ω, min. 500 V DC;
– Masă: 280g.

Fig. 3.5 – Motor ul pas cu pas utilizat
O modalitate eficient ă și elegant ă de a controla motorul pas cu pas este utilizarea unui
driver specializat. În cadrul proiectului am utilizat driverul A4988.
Modelul A4988 este un driver microstepping p entru controlul motoarelor pas cu pas
bipolare, care are un translator încorporat pentru o funcționare ușoară. Aceasta înseamnă că putem
controla motorul pas cu 2 pini de la controlerul nostru, sau putem utiliza unul pentru controlul
direcției de rotație, iar celălalt pentru controlul pașilor [39].

DEZVOLTAREA MACHETEI EXPERIMENTALE
43
Driverul ofer ă 5 rezolu ții diferite de pas: pas întreg, jum ătate de pas, un sfert de pas, o
optime de pas și o șaisprezecime de pas. De asemenea, acesta dispune de un poten țiometru pentru
reglarea puterii de ie șire, a temperaturii de supra -încalzire și pentru protec ția la supracurent.

Fig. 3.6 – Driverul utilizat

3.2. PLACA DE DEZVOLTARE UTILIZAT Ă
În realizarea machetei experimentale am utilizat pl ăcuța de dezvoltare Arduino UNO,
aceasta fiind un instrument relativ ușor de utilizat pentru automatizarea unei benzi de sortare,
alături de celelalte materiale folosite.

Fig. 3.7 – Placa de dezvoltare utilizat ă
Arduino UNO este considerată cea mai bună plăcuță de dezvoltare pe care un începător o
poate folosi în proiectele sale, aceasta fiind cea mai utilizată placă de dezvoltare de pe piață și cea
la care există cea mai multă documentație, de la cataloage în care este cuprinsă funcționalitatea sa,
la proiecte realizate cu ajutorul acesteia [40].

Andreea -Roxana IONESCU – Proiect de diplomă

44
UNO înseamnă in italian ă unu si a fost ales ca si nume pentru plăcuța Arduino pentru a
marca lansarea software -ului Arduino IDE 1.0. Plăcuța Arduino UNO și prima versiune a
software -ului pentru programarea acesteia sunt versiunile de referință ale Arduino, care au evoluat
acum la versiuni mai noi [ 40].
Arduino UNO se bazează pe microcipul ATmega328P, are 14 intrări si ieșiri digitale, dintre
care 6 se pot utiliza ca și ieșiri de tip PWM, 6 intrări analogice, conexiune USB, muf ă de alimentare
și un buton de resetare [ 40]. Pinii plăcuței pot fi conectați la diferite plăcuțe de expansiune sau la
alte circuite. Cu ajutorul portului de tip USB se poate realiza conexiunea la PC și programarea
plăcuței . Alimentarea plăcuței se poate realiza atât de către cablul USB utilizat și pentru încărcarea
programului pe plăcuț ă, cât și de către o surs ă extern ă, o baterie de 9V [ 41].
Funcțiile generale ale pinilor de pe plăcuța Arduino UNO [ 41]:
• LED: pe plăcuț ă exist ă un led încorporat, acesta fiind acționat de pinul digital 13.
Când pinul returnează high led -ul este pornit, iar când pinul returnează low acesta
este oprit.
• VIN: acest pin este utilizat pentru tensiunea de intrare pe placa Arduino, atunci când
utilizează o surs ă extern ă de alimentare.
• 5V: acest pin are la ieșire tensiunea de 5V.
• 3.3V: a cest pin are la ieșire tensiunea de 3.3V.
• GND: pinii pentru legarea la mas ă.
• IOREF: acest pin de pe placa Arduino furnizează referința de tensiune cu care
microcontrolerul funcționează. Un shield configurat corespunzător poate citi
tensiunea de pin IOREF ș i poate selecta sursa de alimentare adecvată sau poate
activa traducătorii de tensiune pe ieșiri pentru a funcționa cu 5V sau 3 .3V.
• Resetare: acest pin este utilizat pentru adăugarea unui buton de resetare pe placa
Arduino.
Fiecare dintre cei 14 pini digitali și 6 pini analogi ai Uno pot fi utilizați ca intrări sau ieșiri,
utilizând funcțiile pinMode(), digitalWrite() și digitalRead(). Acestea funcționează la 5 volți.
Fiecare pin poate furniza sau primi 20 mA ca condiție de funcționare reco mandată și are o
rezistență internă de tracțiune (deconectată în mod implicit) de 20 -50 kΩ. Un maxim de 40 mA

DEZVOLTAREA MACHETEI EXPERIMENTALE
45
este valoarea care nu trebuie depășită pe nici un pin de intrare sau ieșire pentru a evita deteriorarea
permanentă a microcontrolerului. Uno are 6 intrări analogice, numite A0 până la A5, fiecare dintre
acestea oferind 10 biți de rezoluție (adică 1024 valori diferite) [41].
În plus, unii pini au funcții speciale, cum ar fi [ 41]:
• Serial / UART: pini 0 (RX) și 1 (TX) sunt utilizați pentru a recepționa (RX) și a
transmite (TX) date seriale TTL. Acești pini sunt conectați la pinii corespunzători
ai cipului serial ATmega8U2 USB -to-TTL.
• Întreruperi externe: pinii 2 și 3 pot fi configurați pentru a declanșa o întrerupere la
o valoare scăzută, o margine în c reștere sau în scădere sau o schimbare a valorii.
• PWM (modul de impuls): Pentru acest ă funcție sunt utilizați pinii 3, 5, 6, 9, 10 și
11. Poate furniza o ieșire PWM pe 8 biți cu funcția analogWrite().
• SPI (interfață serial periferică): Pinii 10 (SS), 11 (MOSI), 12 (MISO) si 13 (SCK)
acceptă comunicarea SPI utilizând biblioteca SPI.
• TWI (interfață cu două fire) / I²C: pin A4 sau SDA și pin A5 sau SCL. Suportă
comunicarea TWI folosind biblioteca Wire.
• ARE F (referință analogică): Tensiunea de referință pentru intrările analogice.
Placa de dezvoltare utilizează microcontrolerul creat de Atmel, din familia mega AVR, și
anume ATmega328P. Acesta poate avea 28 sau 32 de pini, cel utilizat fiind cel de 32 de pini . În
figura de mai jos se poate observa modul de conectare al pinilor microcontrolerului.

Fig. 3.8 – Modul de conectare ai pinilor ATmega328 [ 42]

Andreea -Roxana IONESCU – Proiect de diplomă

46
3.3. MACHETA EXPERIMENTALĂ REALIZATĂ
Banda de sortare observată în cadrul machetei experimentale a fost dezvoltată pentru o
bună în țelegere a procesului.

Fig. 3.9 – Bandă automatizată de sortare
Cu ajutorul motorului pas cu pas PLUSIVO Stepping Motor, Model 17HS440 este
asigurată mișcarea benzii transportoare, sortarea realizându -se cu ajutorul servomotoru lui Polulu
hd-1900a.
În momentul în care coletul de pe bandă este observat de către primul senzor cu infrarosu
pentru obstacole, acesta îi transmite motorului responsabil cu mișcarea benzii comanda de a porni.

DEZVOLTAREA MACHETEI EXPERIMENTALE
47

Fig 3.10 – Trecere pe sub elementul de sorta re a coletului mai mic decât înălțimea maximă admisă

Obiectul este mișcat pe bandă până în dreptul senzorului 2, acesta fiind așezat la o distanță
de 5 cm față de suprafața benzii transportoare , aceasta fiind înălțimea maximă admisă .
Dacă obiectul este mai înalt de 5 cm, acesta este observat de către senzorul al doilea și se
dă comandă servomotorului pentru a acționa elementul responsabil cu sortarea coletelor.
Dacă obiectul are o în ălțime mai mic ă de 5 cm, acesta nu va ajunge în raza senz orului al
doilea și își va continua traseul până la terminarea benzii.

Andreea -Roxana IONESCU – Proiect de diplomă

48

Fig. 3.11 – Sortarea coletului mai înalt decât înalțimea maximă admisă

3.4. PROGRAMUL SOFTWARE IMPLEMENTAT
Codul prezentat în continuare este utilizat în funcționarea benzii de sortare realizată pe
macheta experimentală, aceasta dispunând de un tip de sortare, sortarea în funcție de dimensiunea
coletului.
1. #include <Servo.h>

Prima linie a codului prezint ă biblioteca Servo.h, biblioteca necesar ă pentru controlul
servomotorului ce realizează sortarea coletelor.

2. Servo servo ;

Pe linia 2 se poate observa elementul utilizat din bibliotec ă, adică servomotorul.

3. int dir =9;

DEZVOLTAREA MACHETEI EXPERIMENTALE
49
4. int step_pas =8;
5. int senzor1=7;
6. int senzor2=2;

Liniile 3 -6 ne prezint ă modul de declarare al pinilor utilizați de pe plăcuță pentru
elementele folosite .

7. float stepper_speed =1;
8. bool activate =1;

Liniile 7 și 8 sunt folosit e pentru declararea vitezei cu care se învârte motorul și pentru
evitarea activării accidentale a servomotorului.

9. int initial_pos =0;
10. int final_pos = 160;

Liniile 9 si 10 sunt utilizate pentru declararea poziției inițiale și a poziției finale pentru
servomotorul utilizat.

11. unsigned long time_period =10000,t1=0;

Linia 11 este folosit ă pentru declararea perioadei de funcționare a benzii după ce coletul a
depășit raza primului senzor.

12. void setup() {
13. pinMode(dir,OUTPUT);
14. pinMode(step_pas ,OUTPUT);
15. pinMode(senzor1,INPUT);
16. pinMode(senzor2,INPUT_PULLUP );

Liniile 12-16 prezintă setarea pinilor de intrare și ieșire pentru elementele folosite (motorul
pas cu pas și senzorii).

17. digitalWrite (dir,HIGH);

Linia 17 este utilizat ă pentru stabilirea direcției de mers a benzii de sortare.

18. servo.attach(6);
19. servo.write(initial_pos );

Liniile 18 și 19 sunt utilizate pentru setarea pinilor folosiți pentru servomotor și inițializarea
poziției inițiale a acestuia.

Andreea -Roxana IONESCU – Proiect de diplomă

50

20. attachInterrupt (digitalPinToInterrupt (senzor2),move_box , FALLING) ;

Linia 20 este folosit ă pentru realizarea unei întreruperi la activarea senzorului 2, pentru a
avea loc sortarea.

21. }

22. void loop() {
23. if(digitalRead (senzor1)==0)
24. {
25. t1=millis();
26. while(time_period >millis()-t1)
27. {
28.
29. activate =0;
30. digitalWrite (step_pas ,HIGH);
31. delay(stepper_speed );
32. digitalWrite (step_pas ,LOW);
33. delay(stepper_speed );
34.
35. }
36. t1=0;
37. activate =1;
38. servo.write(initial_pos );
39. }
40. }

În bucla de rulare a programului, între liniile 22 și 40 se observ ă următoarele :
-se verific ă dacă senzorul 1 este activ.
-se memorează timpul actual și se verific ă dacă banda nu s -a oprit.
-se realizează partea de control a motorului de tip pas cu pas.
-se aduce servomotorul utilizat la poziția inițială .

41. void move_box ()
42. {
43. if(activate ==0)
44. servo.write(final_pos );
45. }

Între liniile 41 și 45 observ ăm rutina de rulare la activarea întreruperii în cazul detecției
unui colet de către senzorul 2. În acest caz se va activa servomotorul și se va realiza sortarea. În
caz contrar, coletul își va continua parcursul pe banda de sortare.

51
CONCLUZII

C.1. CUPRINSUL LUCRĂRII ȘI CONTRIBUȚII ORIGINALE
În prezenta lucrare se prezintă modul în care funcționează un sistem automatizat de sortare
destinat coletelor.
Pentru a înțelege mai bine rolul benzilor transportoare în cadrul benzilor de sortare și
utilitatea acestora, în introducerea lucrării a fost realizat un scurt istoric al acestora. Prin
prezentarea stadiului actual al acestora s -au observat numeroase avantaje dar și dezava ntaje ale
utilizării lor, în special în cadrul unui sistem dedicat sortării de produse.
Primul capitol al lucrării, intitulat “Elemente componente de bază într -un sistem de sortare
a coletelor”, prezintă în detaliu ce elemente pot fi folosite pentru progr amarea și realizarea unei
benzi de sortare.
Principalele elemente sunt controlerele logic programabile și plăcile de dezvoltare utilizate
pentru programarea sistemului de sortare. Acestea se regăsesc pe piață într -un număr foarte mare
de modele și funcțio nalităti, potrivite atât pentru proiecte de anvergură dar și pentru proiecte mici.
Principalul lor avantaj este c ă sunt foarte u șor de programat, având de asemenea și prețuri relativ
mici.
Pe lângă plăcuțele de dezvoltare, un rol foarte important îl au și senzorii, aceștia asigurând
buna funcționare a întregului sistem. În funcție de mărimea proiectului realizat, în cadrul unei
fabrici ce se ocupă cu sortarea diferitelor produse și are ca element principal benzile de sortare
automatizate pot exista sute de senzori de diferite tipuri. Am ales să prezint câ țiva dintre aceștia,
și anume senzorul de greutate, senzorul de temperatură, senzorul de culoare și senzorul de poziție.
Pentru ca un sistem automatizat de sortare s ă funcționeze, este nevoie ca acestuia să îi fie
implementat o aplicație software, acesta fiind încărcată pe plăcuța de dezvoltare sau pe controlerul
logic programabil utilizat. În cadrul capitolului al doilea al lucrării am aprofundat mediul de
dezvoltare utilizat, acesta fiind mediul de dezvolt are Arduino IDE ce se utilizează pentru
programarea plăcuțelor construite de Arduino.

Andreea -Roxana IONESCU – Proiect de diplomă
52
Tot în acest capitol, se poate observa codul sursă ce poate fi utilizat într -o instalație din
mediul industrial, aceasta având fiecare zonă comentată pentru o mai bună în țelegere. Acest cod
este realizat în ideea în care banda de sortare automatizată din mediul industrial va realiza sortarea
produselor în func ție de trei caracteristici principale ale acestora, și anume dimensiunile coletului,
culoare coletului și greutatea acestuia.
Capitolul 3 al lucrării prezintă modul în care s -a realizat dezvoltarea unei machete
experimentale, aceasta fiind construită și fizic pentru o mai bună întelegere a întregului sistem și
pentru observarea funcționalității codului.
În acest capito l au fost prezentate principalele echipamente și materiale utilizate pentru
dezvoltarea părții hardware, motoarele și senzorii utiliza ți având o prezentare mai detaliată. Se
poate observa și accentul pus pe plăcuța utilizată în mod real, detaliindu -se fiec are element ce se
regăsește pe aceasta.
Se pot observa fotografii realizate machetei experimentale alături de explicațiile referitoare
la modul de funcționare a acesteia, cât și partea software implementată, adică codul sursă utilizat
în cadrul benzii de sortare realizată fizic. Desigur, codul prezintă comentarii pentru o bună
înțelegere a acestuia.

CONCLUZII
53
C.2. PERSPECTIVE DE DEZVOLTARE ULTERIOARĂ
Dezvoltarea ulterioar ă a machetei experimentale realizate se poate face prin utilizarea unor
materiale mai sofisticate din punct de vedere calitativ, acest lucru mărind costurile de producție.
Prin mutarea benzii de sortare pe un placaj cu dimensiuni mai mari se poate realiza s ortarea deja
existent ă (după dimensiuni) și un nou tip de sortare, cum ar fi sortarea după culoare cu ajutorul
senzorului de culoare. Programul software deja existent ar trebui îmbunătățit prin adăugarea
elementelor necesare senzorului de culoare.
O band ă automatizat ă poate fi dezvoltat ă și prin realizarea unei aplicații online ce ar facilita
controlul acesteia. Prin realizarea unei aplicații ce poate fi disponibil ă pe telefonul mobil ,
instituțiile pot fi mai receptive la achiziționarea unei astfel de benz i de sortare , aplicația ajutându-
i la monitorizarea și controlul sistemului automatizat de sortare de la distan ță.
Aplicația permite vizualizarea orelor de funcționare ale benzii, c âte obiecte au fost sortate
dar și atenționează producătorul în cazul unei defecțiuni la oricare dintre elementele sistemului de
sortare.

54
BIBLIOGRAFIE

[1] https://en.wikipedia.org/wiki/Conveyor_belt
[2] https://sanducu.ro/benzile -transportoare -istorie -si-tipuri/
[3] https://www.nwradu.ro/2014/10/in -vizita -la-fan-courier -functionarea -instalatiei -moderne -de-
sortare -a-coletelor -si-pregatirile -pentru -black -friday/
[4] https://www.orientalmotor.com/motor -sizing/beltConveyor -sizing.html
[5] https://www.orientalmotor.com.mx/servomotores/servom otores -de-sin-oscilacion -serie –
nx.html
[6] https://www.scribd.com/document/94063116/Transportor -cu-banda
[7] http://ro.tpu -belt.com/news/how -to-maintain -the-belt-conveyor -7817939.html
[8] http://ro.tpu -belt.com/news/belt -conveyor -vs-auger -20039730.html
[9] https://www.ammeraalbeltech.com/fi -fi/toimialat/logistiikka/jakelu -ja-varastointi/
[10] Curs Automate Programabile, MCTR/RI 2017.
[11] Dragos DEACONU, Aurel CHIRI LA – Curs Domotica,UPB,Facultatea de Inginerie
Electrica,2018.
[12]https://www.eaton.com/Eaton/ProductsServices/Electrical/ProductsandServices/Automationa
ndControl/Automation/ProgrammableLogicControllers/EASY500700800IntelligentRelays/index
.htm#tabs -1
[13] https://w3.siemens.com/mcms/programmable -logic -controller/en/logic -module –
logo/modular -basic -variants/Pages/Default.aspx#
[14] http://www.tpautomation.de/Automation -systems/SIMATIC -S7-1500/Compact –
CPUs/6ES7512 -1CK01-0AB0 -S7-1500 -Compact -CPU -1512C -1-PN::34516.html?language=en
[15] https://www.schneider -electric.com/en/product -range/62128 -logic -controller –modicon-
m221/

BIBLIOGRAF IE
55
[16] https://www.schneider -electric.com/en/product -range/1468 -modicon -m340/?parent –
category -id=3900&parent -subcategory -id=3950&filter=business -1-industrial -automation -and-
control
[17] https://www.arduino.cc/en/Guide/Introduction
[18] https://ro.wikipedia.org/wiki/Arduino#cite_note -7
[19] „Optiboot Bootloader for Arduino and Atmel AVR” – https://github.com/Optiboot/optiboot
[20] https://www.arduino.cc/en/main/boards
[21] https://store.arduino.cc/mega -2560 -r3
[22] https://store.arduino.cc/due
[23] https://www.arduino.cc/en/Main/Products
[24] https://en.wikipedia.org/wiki/Raspberry_Pi
[25] https://ro.wikipedia.org/wiki/Senzor
[26] Delmar – „Modern Control Technology – Components & Systems”, 2nd edition.
[27] https://learn.adafruit.com/dht/overview
[28] https://ardushop.ro/ro/electronica/230 -senzor -de-tempera tura-si-umiditate -dht22.html
[29] https://www.optimusdigital.ro/ro/senzori -altele/2161 -senzor -de-orientare -imu-9-dof-
adafruit -bno055.htm l
[30] Scribd – „Color -Sensor -Working”
[31] http://home.roboticlab.eu/en/examples/sensor/color
[32] https://howtomechatronics.com/tutorials/arduino/arduino -color -sensing -tutorial -tcs230 –
tcs3200 -color -sensor/
[33] https://en.wikipedia.org/wiki/Load_cell
[34] https://www.instructables.com/id/Arduino -Scale -With -5kg-Load -Cell-and-HX711 -Amplifi/
[35] https://www.theengineeringprojects.com/2018/10/introduction -to-arduino -ide.html

Andreea -Roxana IONESCU – Proiect de diplomă
56
[36] Alexandru Rebega, Bogdan -Florin Florea – “Introducere in Arduino”, Bucuresti 2016.
[37] https: //www.pololu.com/product/1050
[38] https://www.optimusdigital.ro/ro/motoare -motoare -pas-cu-pas/5057 -motor -pas-cu-pas-
17hs4401 -17-a-40-ncm.html
[39] https://howtomechat ronics.com/tutorials/arduino/how -to-control -stepper -motor -with-a4988 –
driver -and-arduino/
[40] https://store.arduino.cc/arduino -uno-rev3
[41] https://en.wikipedia.org/wiki/Arduino_Uno
[42] http://www.hobbytronics.co.uk/arduino -atmega328 -pinout

Similar Posts