CAPITOLUL 1 ………………………….. ………………………….. ………………………….. ……………………… 2… [613647]
CAPITOLUL 1 ………………………….. ………………………….. ………………………….. ……………………… 2
INTRODUCERE ………………………….. ………………………….. ………………………….. …………………… 2
CAPITOLUL 2 ………………………….. ………………………….. ………………………….. ……………………… 7
ROBOȚI AUTONOMI ………………………….. ………………………….. ………………………….. ………….. 7
2.1. Mecanica și cinematica roboților ………………………….. ………………………….. ………………… 7
2.1.1. Cinematica robotului ………………………….. ………………………….. …………………….. 11
2.2. Comanda roboților ………………………….. ………………………….. ………………………….. ……… 12
2.3.Senzori și traducotare în controlul roboților ………………………….. ………………………….. … 15
Senzorii digitali: ………………………….. ………………………….. ………………………….. ……….. 17
Senzorii analogici ………………………….. ………………………….. ………………………….. ……… 17
2.4. Microcontrolere ………………………….. ………………………….. ………………………….. …………. 23
EEPROM ………………………….. ………………………….. ………………………….. …………………. 26
RISC si CISC ………………………….. ………………………….. ………………………….. …………… 27
Utilizarea microcontrolerelor ………………………….. ………………………….. ………………….. 28
2.2.1 Structurahardware ………………………….. ………………………….. ……………………… 30
2.2.2 Programarea microcontrolelor ………………………….. ………………………….. …….. 32
2.5. Concluzii ………………………….. ………………………….. ………………………….. …………………… 36
CAPITOLUL 3 ………………………….. ………………………….. ………………………….. ……………………. 36
PROIECTAREA UNUI ROBOT LINE FOLLOWER ………………………….. ………………………. 36
3.1. Mecanica și cinematica robotului ………………………….. ………………………….. ……………… 36
3.2. Structura hardware ………………………….. ………………………….. ………………………….. ……… 36
3.3. Programrea sistemului ………………………….. ………………………….. ………………………….. … 48
CAPITOLUL 4 ………………………….. ………………………….. ………………………….. ……………………. 48
APLICAȚII ȘI EXPERIMENTE ………………………….. ………………………….. ……………………….. 48
CAPITOLUL 5 ………………………….. ………………………….. ………………………….. ……………………. 48
CONCLUZII FINALE ȘI CONTRIBUȚII ………………………….. ………………………….. ………….. 48
BIBLIOGRAFIA ………………………….. ………………………….. ………………………….. …………………. 48
CAPITOLUL 1
INTRODUCERE
In trecut munca umana si ajutorul procurat de la animalele domesticite au contribuit la
efortul depus de catre oameni pentru a construi primele societati.
Apoi au fost inventate mecanis me pentru a realiza anumite sarcini repetiti ve care au dus la
usurarea traiului si vietii oamenilor , datorita acestor mecansime complexe ca rezultat au
aparut si mai multe dezvoltari si avansari tehnologice ce s -au raspandit mult.
Electronica a fost un important avans tehnologic ce a dus la crearea robotilor industriali. In
1954, George Devol a inventat un robot digital programabil pe care l -a numit „Unimate”, care
mai tarziu a fost folosit de catre General Motors in 1960 pentru a muta obiecte din metal
fierbinti.
Unimate a fost primul robot industri al.
Domeniul roboticii este o bransa c e reuneste mai multe discipline cum ar fi inginerie
electrica, inginerie mecanica, programare si altele. Robotica se ocupa cu designul, constructia
si operarea robotilor , de asemenea si cu sisteme informatice pentru co ntrolul acestora,
feedbackul sensorial si procesarea informatiilor.
Aceste tehnologii sunt folosite pentru a crea masini care pot inlocui oamenii in medii
periculoase, iar robotii sunt ideali in aceste medii periculoase si toxice pentru sanatatea
omului dar si in industrie , unde un robot ce functioneaza 24h/7 este mai profitabil decat o
persoana iar acesta nu necesita foarte multe costuri odata ce a fost instalat .
Conceptul de a crea masini ce pot functiona autonom dateaza de mai mult timp, dar
cercetarea i n functionalitatea si folosirea potentialului robotilor nu a crescut decat in secolul
20 .
Termenul“ robot ” a fost introdus in voacabular de catre scriitorul ceh Karel Capek(1890 –
1938) in opera sa R.U.R. (Rossum’s Universal Robots), publicat in 1920. Oper a ia loc intr -o
fabric ace construieste oameni artificiali numiti roboti. A fost nominalizat de cateva ori pentru
operele sale la prestigiosul premiu Nobel.
Cuvantul de robotica, folosit pentru a descrie acest domeniu de studio, a fost inventat
accidental d e scriitorul de science fiction Isaac Asimov(1920 – 1992) in 1940.
Asimov a propus “Trei Legi ale Roboticii”, si mai tarziu a mai adaugat inca o lege, legea
numarul 0.
Legea numarul 0 : Un robot nu poate rani omenirea, sau prin lipsa de actiune lasand
omen irea sa ajunga sa se raneasca.
Legea numarul 1 : Un robot nu poate rani un om, sau prin lipsa de actiune lasand omul sa
se raneasca, doa r daca aceasta violeaza o lege cu grad mai mare.
Legea numarul 2 : Um robot trebuie sa urmeze ordinele prim ite de catre oameni, cu
exceptia cand asemenea ordine ar intra in conflict cu o alta lege de ordin mai mare.
Legea numarul 3 : un robot trebuie sa -si protejeze propria existenta atat timp cat nu intra in
conflict cu o alta lege de un ordin mai mare.
Majoritatea robotil or industriali au cel putin urmatoarele 5 parti componente:
Senzori
Efectori
Actuatori
Controlere
Brate
Tipuri de roboti
Cele mai commune tipuri de roboti sunt:
Roboti mobili
Roboti stationari
Roboti autonomi
Roboti controlati cu telecomanda
Roboti virtuali
Robotii mobili sunt de 2 tipuri:
Roboti care ruleaza – au roti pentru a se deplasa. Pot sa se deplaseze rapid si
usor.
Acesti roboti sunt folositori doar pe suprafete plate.
Figura 1. L.j/kn k;k
Figură 11
Roboti umblatori – roboti care au picioare si sunt folositori pe terenuri
accidentate. Majoritatea robotilor au cel putin 4 picioare; de obicei au 6 sau mai multe.
Figura 2.
2
Figură 2
Roboti stationari
Robotii nu sunt folositi doar pentru a explora zone sau pentru a imita fiinte umane.
Majoritatea robotilor realizeaza sarcini reptetatibe fara a se deplasa deloc. Majoritatea
robotilor “lucreaza” in medii industrial e si sunt stationari.
1http://www.cs.cmu.edu/~reliability/
2http://mechatronicsfly.com/cgi -sys/suspendedpage.cgi?t=9320
3
Figură 3 Robot stationar
Roboti autonomi
Robotii autonomi se auto sustin sau cu alte cuvinte sunt independent i. Se poate
spune ca se bazeaza pe propriile “creiere”.
4
Figură 4 Robot autonom
Roboti controlati
3
4https://en.wikipedia.org/wiki/Autonomous_robot
O persoana poate manevra un robot cu ajutorul telecomenzii. O persoana poate
perfroma sarcini dificile si pericloase fara a se afla la in locul unde au loc aceste
sarcini.
5
Figur a5. Robot controlat prin telecomanda
Robotii virtuali
Acesti roboti nu exista in lumea reala. Robotii virtuali sunt doar programe,
construind blocuri de software intr -un calculator.
Avantaje:
● pot calatori spre planete indepartate de pamant
● pot submerge in ape si adnacuri necunoscute si mine unde oamenii nu pot
ajunge
● ne ofera informatii la care nu am avea acces la fel de usor
● lucreaza in locuri 24/7 fara salariu si mancare. In plus nu se plictisesc.
● pot performa sarcini mai rapid deca t oamenii si mult mai consistent.
● majoritatea sunt autonomi, deci nu este nevoie de interventia omului prea des.
Dezavantaje:
● oamenii isi pot pierde locurile in fabric
● au nevoie de surse de alimentare
● au nevoie de mentenanta din partea omului pent ru a continua sa functioneze
● costa bani pentru a cumpara sau construi un robot.
5https://www.red5.co.uk/remote -control/robots.aspx
Astazi robotica este un domeniu in continua crestere .
Aplicatii unde sunt folositi robotii:
-armata
-medicina
-agricultura
-arene de lupta intre roboti
-industria auto etc.
Prin prezenta lucrare mi -am propus urmatoarele obiective :
1. Realizarea unui studiu asupra roboț ilor
2. Implementare a unor aplicații pentru un robot line fol lower
CAPITOLUL 2
ROBOȚ I AUTONOMI
2.1. Mecan ica și cinematica roboților
Multi roboti mobili folosesc un mecanism de antrenare a rotilor cunoscut sub numele de
tractiune diferentiala. Este format din 2 roti montatare pe o axa comuna si fiecare roata poate
fi controlata pentru a se deplasa in fata sau in spate independent.
In timp ce putem varia viteza fie carei roti, pentru ca robotul sa se poata deplasa, robotul
trebuie sa se roteasca in jurul unui punct care este pozitionat de -a lungul axei comune a rotilor
stanga si dreapta.
Punctul prin jurul caruia robotul trebuie sa se roteasca este numit Centrul de C urbura
Instantanee( Instantaneous Center of Curvatur e – ICC).
6
Figur a6 Cinematica tractiunii diferentiale
Variind vitezele celor 2 roti, putem varia si traiectoria robotului.
Deoarece rata rotatiei despre ICC trebuie sa fie la fel pentru ambele roti, putem scrie
urmatoarele ecuatii:
ω (R + l/2) = Vd (1)
ω (R − l/2) = Vs (2)
unde l este distanta dintre centrele celor 2 roti, Vd, Vs sunt vitezle rotii din dreapta
respective din stanga , si R este dinstanta de la punctual ICC pana l a punctual de la jumatatea
distantei dintre cele 2 roti.
Putem rezolva pentru R si ω:
R =
ω =
(3)
Sunt 3 cazuri interesante cu acest tip de tractiune.
1. Daca Vs = Vd, atunci avem miscare inainte liniare intr -o linie dreapta. R
devine infinit , si nu avem deloc rotatii – ω este zero.
2. Daca Vs = – Vd, atunci R = 0, si avem rotatii in jurului punctului de la
jumatatea axei dintre cele 2 roti – ne rotim in cerc.
3. Daca Vs = 0, atunci avem rotatii in jurul rotii stangi, In acest caz R =
. La fel si
daca Vd = 0.
6Gregory Dudek_ Michael Jenkin -Computational principles of mobile robotics -Cambridge University Press
(2010)
Un robot cu tractuine diferentiala nu se poate misca in directia de -a lungul axei –
aceasta este o singularitate.
Vehiculele cu tractiune diferentiala sunt foarte sensibile la cele mai mici schimbari de
viteza la fiecare roata. Mici erori in viteza relative dintre cele 2 roti poate afecta traiectoria
robotului. De asemenea este foarte sensibil si la variatii mici ale planului pe care se
deplaseaza, si poate avae nevoie de roti in plus (roata caster) pentru support.
Cinematica directa a robotului cu tractiune diferentiala
In figura 1,presupunem ca robotul este la pozitia(x, y), inreptnadu -se intr -o directive
facand un unghi θ cu axa X. Presupunem că robotul este centrat într -un punct la mijlocul
axului roții . Manipuland parametrii de control Vs, Vd, putem face ca robotul sa se miste spre
pozitii si orientari diferite. (nota: Vs, Vd sunt vitezele rotilor pe plan).
Stiind vitezele Vs, Vd si folosindu -ne de ecua tia 3, putem gasi locatia ICC.
ICC = [x − R sin(θ), y + R cos(θ)] (4)
=
+
(5)
Aceasta ecuatie descrie mi scarea unui robot ce se roteste o distanta R in jurul punctului
ICC cu o viteza unhiulara .(figura nr )
O alta cale de a intelege este faptul ca miscarea unui robot este echivalenta cu
1) Traducerea ICC la originea sistemului de coordinate
2) Rotindu -se in jurul originii cu un unghi ω δt
3) Traducerea inapoi la ICC
7
Figur a7 Cinematica directa a tractiunii diferentiale
Cinematica inversa a unui robot mobil
In general, putem descrie pozitia unui robot capabil de a se deplasa intr -o directive
particulara Θt la o viteza data V (t) :
x(t) =
y(t) =
Θ(t) =
Pentru cazul special a unui robot cu tractiune diferentiala e cuatiile devin:
x(t) =
y(t) =
.
Θ(t) =
O problema in cazul cinematicii inverse ar fi cum putem controla robotul sa ajunga la
configuratie data (x, y, θ), aceasta problema este cunoscuta ca si problema cinematicii inverse.
Din pacata, un robot cu tractiune diferentiala impune asa numitele constrangeri non –
holonomice privind stabilirea pozitiei. De exemplu, robotul nu se poate deplasa lateral de -a
lungul axei sale. O constrangere non -holonomica similara este a automobilului ca isi poate
vira doar rotile frontale. Nu se poate deplasa direct lateral , cum o parcare laterala a masinii
7Gregory Dudek_ Michael Jenkin -Computational prin ciples of mobile robotics -Cambridge University Press
(2010)
implica mai multe manevre. Deci nu putem specifica simplu o pozitie arbitrara a robotulu i (x,
y, θ) si sa aflam vitezele care o sa ne duca in acel punct dorit.
In cazurile speciale ale vl = vr = v ( robotul miscandu -se intr -o linie dreapta) ecuatiile de
miscare devin:
(6)
Daca r = −vl = v, atunci ro botul se roteste pe loc si ecuatiile devin:
(7)
Aceasta motiveaza o strategie de a misca robotul intr -o linie dreapta, apoi rotindu -l o data
pe loc si apoi miscandu -l drept din nou ca o strategie de navigatie pentru ro botii cu tr actiune
diferentiala
2.1.1. Cinematica robotului
Robotul foloseste tractiune diferentiala. Definim uramtorii termini: raza rotii =
14.3mm. : lungimea dintre cele 2 roti = 130mm . :magnitudinea vitezei masurat
in rad/sec.
Pentru a calcula rotatia unghiulara φ a robotului, trebuie sa gasim ecuatia pentru valoare de
timp ce ne trebuie ca sa rotim robotul la un unghi de grade φ folosind viteza rotii .
In acest exemplu, presupunem ca rotile se invart in directii opuse cu aceeasi viteza( robotul
se invarte pe loc).
Roata va parcurge o distanta egala cu rθ de -a lungul arcului. Daca presupunem o viteza a
rotii , atunci roata va parcurge 10*14.3 = 143 mm intr -o secunda, care
este echivalent cu 0.143 mm in 1 ms.
La un timp dat t, raota se va roti:
= * * t
Pentru a determina timpul pentru a roti robotul la un unghi specificat, trebuie sa notam ca
intreaga circumferinta C a robotului cand se roteste 360 este π . Putem roti la un unghi
φ in timpul t folosind ecuatia:
C = π = 3.14 * 130 = 408.2mm
=
(
=
(
t =
.
Exemplu: presupunem ca intoarcem robotul la 90 . Robotul are de 14.3 mm,
De 130 mm si setam viteza rotii la 10 rad/sec:
Pentru a roti la 90 ( π/2 rad):
t =
=
= 0.71 sec
2.2. Comanda roboț ilor
In general robotii sunt o clasa tehnica de sisteme care imita sau inlocuiesc locomotia
umana si functiile intelectuale.
Principiul de baza al sistemelor de control a robotilor , ca si cel al sistem elor de scalaa larga
in general, este structura ierarhica.
Organizarea ieirarhica a sistemelor de control a robotilor este de obicei verticala pentru ca
fiecare nivel de control sa se confrunte cu aspecte mai largi a comportamentului intregului
sistem nu d oar cu un nivel jos. Un nivel inalt de control se refera intotdeauna la asp ecte care
incetinesc sistemul si c ontroleaza paramatrii acelui sistem care variaza mai incet .
La roboti si bratele manipulatoare(instalatie automata care executa operatiuni repetitive,
miscarile realizandu -se dupa un program fix, rigid) cel mai inalt nivel ierarhic este legat de
operatorul care poate comunica cu sistemul de control in diferite modu ri, prin diferite nivele
de intreruperi. Omul este cel care reprezinta cel mai inalt nivel de control, doar ca in cazul
robotilor interactivi participarea la luarea deciziilor este doar sporadica.
La robotii automati, operatorul uman intrerupe doar period ic controlul automat. Deciziile
operatorului pot suprascrie/interveni peste orice decizie luata de sistemul automat de
control(operatorul uman este cel care poate intervini si poate controla sistemul in diverse
situatii de urgenta daca doreste).
Un sistem de control ierarhic poate avea diferite numere de nivele de control depinzand de
tipul robotului si complexitatea sarcinilor pentru care robotul a fost construit.
Patru nivel de control sunt cel mai des intalnite:
1. Nivelul de recunoaștere (nivel înalt) – este nivelul ce recunoaste obstacolele in spatiul de
operare si conditiile sunb care o sarcina este realizata si ia decizii cum sarcina impusa trebuie
sa fie realizata.
2. Nivelul strategic – este nivelul ce imparte operatiile impuse in operatii elementar e
3. Nivelul tactic – este nivelul care realizeaza distribuita unei miscari elemetare la miscarea
fiecarui grad de libertate a robotului.
4. Nivelul executiv – este nivelul care executa miscarea impusaa fiecaru grad de libertate a
robotului.
Nivelul cel ma i inalt il reprezinta operatorul uman care comunica cu sistemul de conducere al
robotului si intervine periodic sau in caz de avarie pentru a schimba strategia si programul
robotului.
Printr -un sistem de actionare al robotilor se intelege anasamblul care l ucreazza la procesul de
transformare a unei energii potentiale(nemacanice) cum este energia electrica, penumatica,
hidraulica, intr -o energie mecanica care serveste la transmiterea miscarii mecanice a unor
elemente.
Sistemul de actionare este de obicei con stituit din pricipalul sistem de transformare a unei
energii( de obicei electrica) si anume motorul electric care deseveste la transformarea energiei
electrice in energie mecanica.
Cele mai intalnite actonari in constructia robotilor industriali sunt urmat oarele:
– Actionarea electrica
– Actionarea hidraulica
– Actonarea pneumatica
– Actionarea mixta(electro -hidraluica, electro -pneumatica)
8
Figura 3 Evoluția în timp a tipurilor de acționare a R.I.
Actionarea electrica este cea mai raspand ita acctionare a robotilor industriali datorita
avantajelor pe care le poseda:
– disponibilitatea energiei electrice
– simplitatea racordãrii echipamentelor la rețea
– construcția robustã și fiabilitatea motoarelor electrice
– preț accesibil
– compatibi litate cu sistemul de comandã și cu senzorii.9
Dezavantajul major al actionarii electrice este format din necesitatea utilizarii unor
mecanisme suplimentare pentru a regla viteza unghiulara si momentul motor la cerintele
concrete ale cuplelor motoare.
Actionare electrica este compusa dim:
– grupul moto -reductor;
– variatorul de turație;
– dispozitive de mãsurare a vitezei și poziției.
Actionare hidraulica
A fost cea mai raspandita si utilizata actionare a robotilor industriali inainte ca actionarea
electrica sa treaca pe primul loc in actonarea robotilor.
Actionarea hidraulica dezvlta puteri mari si nu are nevoie de mecanisme suplimentare pentru
transformarea energiei hidraulice in energie mecanica.
Dezavatajul sau este ca nu este foarte precisa.
Actiona rea pneumatica
8http://arhiva –
www.uoradea.ro/attachment/791672704232e82e41d0a31a6bc16159/dec921474ac88e17da9b7bfc476a15e6/Trip
e_Vidican_Calin.pdf
9https://ro.scribd.com/doc/190730139/Curs -Roboti -Industriali
Este tipul de actionare a robotilor cel mai putin raspandita si utlizata datorita preciziei slabe si
puetrii mici dezvoltate.
Senzori ș i traducotare în controlul roboț ilor
Cuvantul de „traductor” este termenul colectiv folosit pentru senzori care sunt folsiti pentru a
sesiza o gama larga de diferite energii cum ar fi miscare, semnale electrice, energie radianta,
energie magnetica etc, cat si pentru actuatori care sunt folositi pentru a comuta tensiuni sau
curenti.
Sunt multe tipuri dif erite de senzori si traducotri, atat analog si digital si intrari sau iesiri
disponibile pentru a le folosi.
Controlerul trebuie sa stiu unde este situata linia in functie de pozitia vehicolului. Aceasta
informatie este luata de senzorii montati pe vehicol . Diferiti senzori sunt disponibili pentru a
realiza sarcina aceasta si acuratetea si implementarea depind de tipul senzorului.
Camere video
A fost nevoie de multa cercetare pentru a folosi camere video pe vehicole autonome. Camera
este folosita pentru a f ace poze drumului din fata vehicolului. Procesarea de imagini este apoi
realizata pentru a extrage informatii din imagine despre locatia masinii pe drum, Acest tip de
sesizare este folosit si de soferi intr -un mod natural. Camerle vad inainte si controleru l poate
face manevrele de ajustare bazate pe forma drumului din fata sa.
Senzori infrarosii
Senzorii infrarosii au fost folositi pentru a detecta o linie alba pe un fundal negru. Lumina
infrarosie este emisa de ledurile de sub sasiu. Lumina este reflectata de linia alba si absorbita
de fundalul negru. Senzorii detecteaza lumina ce este reflectata inapoi si asa locatia liniei albe
este cunoscuta. Aceasta metoda este fol osita in cazul in care un vehicu l are sarcina de a
urmari o linie alba.
Senzorii magentici
Senzorii magentici functioneaza detectand prezenta unui camp magnetic. Senzorii de sub
masina detecteza magentii incorporati in drum. Aceasta metoda este foarte similara metodei
cu senzorii infrarosii dar necesita schimbari majore a infrastructurii deoare ce majoritatea
drumurilor nu au magneti incorporati in ele.
Radar
Folosirea radarului urmeaza acelasi principiu ca si tehnologia cu senzori infrarosii exceptand
tipul diferit de energie care este folosita. Un semnal de radio frecventa este emis spre drum s i
poate fi redirectionat inapoi de o banda reflectorizanta. Informatia despre pozitie este
transmisa controlerului. Fiecare tip de senzor are avantaje si dezavantaje.
Tipul intrarii sau iesirii traductorului folosit depinde de tipul semnalului sau procesul ui
„sesizat” sau „controlat”, darputem, defini atat senzorii cat si traductorii ca dispozitive ce
convertesc o cantitate fizica in alta.
Dispozitivele ce executa o functie de „intrare” sunt de obicei numite senzori deoarece ele
„sesizeaza” o schimbare fizi ca intr -o caracteristica ce schimba raspunsul la o exitatie anume,
de exemplu caldura sau forta si o converteste intgr -un semnal electric.
Dispozitivele ce executa o functie de „iesire” sunt de obicei numite”actuatori” si sunt folosite
pentru a controla di spozitive lectrice, de expmlu miscare sau sunet.
Traductoarele electrice sunt folosite pentru a converti energie de un fel intr -o energie de alt
fel. Cum ar fi, un microfon(dispozitiv de intrare) converteste undele sonore in semnale
electrice pentru amplificator pentru a pute fi amplificate(un proces), si o boxa(dipszitiv de
iesire) converteste aceste semnale elctrice inapoi in unde soneore si un exemplu de acest tip
de sistem de intrare/iesire(I/O) este desenat mai jos.
10
Figură 8 Sistem de intrare/iesire
Pe piata sunt diferite tipuri de senzori si trductoare disponibile, iar alegerea acestora dpinde de
calitatea masurata sau controlata.
Sunt doua tipuri de sinzor: digitali si analogici
10http://www.electronics -tutorials.ws/io/io_1.html
Senzorii digitali:
La fel cum o sp une si numele, acesti senzori produc la iesire semnale discrete digitale sau
tensiuni care sunt reprezentarea digitala a cantitatii masurate.Senozrii digitali produc o
reprezentare binara la iesire in forma logica de „1” sau „0”(ON sau OFF).
Asta ineamna c a un semnal digital produce doar valoari discrete ce pot fi reprezentate ca un
singur „bit”(transmisie seriala) sau combinand acesti biti pentru a produce un
singur”octet”(transmisie paralela)
11
Figură 9 Senzor de lumina folosit pentru a produce un semnal digital
In exemplul de sus, viteza axului rotativ este masurata folosind un optocuplor. Discul care
este fixat la axul rotativ( de exemplu, de la un motor de la roata robotului), are un numar de
sloturi transparente in construct ia sa. In timp ce discul se roteste odata cu viteza axului,
fiecare slot trece in dreptul senzorului producand un puls de iesire reprezentand “1” sau “0”.
Aceste pulsuri sunt trimise la un registru de control si la iesire sunt afisate de un display
aratan d viteza axului.
Crescand numarul sloturilor din disc, mai multe pulsuri pot produce la o rotatie complete a
axului. Avantajul este ca cu cat rezolutia creste si acuratetea este mai mare.
Senzorii analogici
Sunt diferite t ipuri de senzori care produc la iesire un semnal analogic iar acesti senzori sunt
considerati senzori analogici.
11http://www.electronics -tutorials.ws/io/io_1.html
Semnalul de iesisre este un semnal continuu produs de senzorii analogici.
Sunt mai multe tipuri de senzori analogici, exemple practice ar fi urmatorii: accelerometru,
senzor d e presiune, senzor de lumina, senzor de temperatura, etc.
Accelerometrul
Este un tip de senzor analogic care detecteaza schimbarea in poz itie, viteza, orientare, soc,
vibratie si inclinatie,, sesizand miscarea. Aceste accelerometre analogice sunt clasifica te ca
diferite tipuri pe baza varietatii configurarii si sensibilitatii.
Accelerometrele analogice produc un tensiune variabila constant bazata pe acceleratia aplicata
accelerometrului.
12
Figura 4 Accelerometru
Senzorul de lumina
Este un senzor analogic care este folosit pentru a detecta cantitatea de lumina ce bate pe
suprafata senzorului.Acesti senzori de lumina analogici sunt si ei clasificati in diferite tipuri
cum ar fi, fotorezistorul, fotocelula. Rezistorul dependent de lumi na poate fi folosit ca un
senzor analogic de lumina care poate fi folosit ca un intrerupator. Rezistenta LDR -ului creste
si scad e odata cu scaderea si cresterea luminii.
12https://www.elprocus.com/types -analog -digital -sensors/
Figura 5 Rezistor dependent de lumina
Senzorii de temperatu ra sunt larg folositi ca senzor digital sau analogic. De obicei senzorii de
temperatura analogici folositi sunt termistorii. Sunt diferite tipuri de termisotri care sunt
folositi pentru aplicatii diefrite.
Termisotrul este un rezistor sensibil termiccare este folosit pentru a detecta schimbarile in
temperatura. Daca temperatura creste, rezistenta electrica a termisotrului scade. Similar daca
temperatura scade atunci rezistenta scade.Termistorul este cel mai folosit senzor analogic de
temperatura datorita c ostului scazut.
13
Figura 6 Termistor
Senzorul de reflectie QTR -8A este destinat/folosit ca un senzor de linie, dar poate fi si folosit
ca scop general de senzor de proximitate sau senzor de reflectie.
Modulul este un suport conven abil pentru 8 perechide fototranzistori InfraRosii
13http://www.adelaida.ro/termistor -ntc-1k-ntcm -hp-5k-1.html
(emitori si receptori) la un interval de distanta de 9.5 mm.
Fiecare fototranzistor este conectat la un resistor de pull -up pentru a forma un divisor de
tensiune care produce o iesire de tensiune analaogi ca intre 0V si Vin(care de obicei este de
5V) ca urmare a reflectiei semnalului IR. O tensiune de iesire mai mica este un indicativ a
unei reflectii mai mari.
14
Figură 10 Divizor de tensiune
Toate iesirile sunt independente, dar ledurile sunt aranjate in perechi pentru a injumatati
curentul consumat. Ledurile sunt consummate de un MOSFET cu grila normal conectata la
alimentare, permitanad ca ledurile sa fie oprite cand grila MOSFET -ului este trasa in 0 logic.
Stingand ledurile poa te fi avantajos pentru a pentru a limita puterea consumata cand senzorul
nu este in uz sau pentru a varia luminozitatea efectiva a ledurilor prin controlul PWM -ului.
Rezistorii ledului de limitare a curentului pentru operatii de 5V sunt aranjati in 2 stagi i;
Acesta permite o evitare simpla a etapei de permitere pentru operatii la 3V.
Curentul prin leduri este de aproximativ 20 -25 mA, iar consumul total al moduluio este de
aproximativ 100mA.
Diagrama schematic modului este reprezentata mai jos.
14https://www.pololu.com/product/960
15
Figură 11 Schema electrica a senzorului QTR -8A
Interfata cu iesiriele senzorului QTR -8A
Sunt cateva moduri diferite prin care ne putem conecta la iesirile senzorului;
● Folosirea convertorului ADC a microcontrolerului pentru a masura tensi unile
● Folosirea comparatorului cun un threshold ajustabil pentru a converti fiecare tensiune
analogical in emnal digital(ex. Negru/alb) care poate fi citit de ca portul digital de I/O al
microcontrolerului.
● Conectare fiecarei iesiri direct la pinul dig ital de I/O al microcontrolerului si bazanadu -ne
pe comparatorul intern.
Aceasta ultima metoda va functiona doar daca reflectia este mare pe suprafata alaba cum este
demonstrate in imaginea stanga, dar probabil nu va functiona daca semnalul reflectat este mai
mic(figura 15)
15https:/ /www.pololu.com/product/960
16
Figură 12 Distanta de 3.1 mm fata de backgroundul alb cu linie neagra
17
Figură 13 Distanta de 9.5 mm fata de backgroundul alb cu linie neagra
16https://www.pololu.com/product/960
17https://www.pololu.com/product/960
Microcontro lere
Termenul de “microcompu ter” este folosit pentru a descrie un system ce include minim un
processor, o memorie program, memorie de date, si un dispoz itiv de intrare/iesire.
Unele sisteme include compoenente aditionale cum ar fi timere, countere, si convertoare
analog -numerice. Cu toate acestea un system de microcomputer poate fi orice de la un
computer ce are hard discuri, floppy disc, sau imprimante pana la un singur controller.
Aceste sisteme cu un singur chip se numesc microcontrollere si sunt folosite in multe
dipozitive electr onice si electrocasnince cum ar fi aparat de microunde, telecomenzi, cd –
playere, computer personale, frigidere etc.
Un microcontroller putem spune ca este un computer pe un singur chip. Micro sugereaza
ca dispozitivul este de dimensiuni mici, iar ocntrole r sigereaza ca este folosit in aplicatii de
control. Alt termen pentru microcontroller este de system incorporate, deoarece majoritatea
microcontroleror sunt construite in dispozitivele pe care le controleaza.
Un microprocessor difera de un microcontrolle r prin mai multe cai. Principala diferenta
este aceea ca microporcesorul are nevoie de cateva component pentru a fi functional si a opera
corespunzator cum ar fi, memoria de program si memoria de date, dispositive de int rare/iesire,
si un circuit de ceas e xtern.Un microcontroller pe de alta parte are toate aceste circuite de
support incorporate inauntrul chipului sau. Toate microcontrolerele opereaaz pe un set de
instructiuni stocate in memorie. Un microcontroller adduce instructiuni din memoria program
una cate una, decodeaza aceste instructiuni si apoi efectueaza operatiunile necesare.
Microcontrolerele au fost programte initial in limbaj de asamblare. Cu toate ca limajul de
asamblare este rapid are cateva dezavantaje. Un program assemblu este constituit din
mnemonici ceea ce face invatarea si intretinerea programului scris in limbaj de asamblare
dificil. Iar diferiti producatori de microcontrolere au propriul limbaj de asamablare
implementat iar utilizatorul trebuie sa invete un nou limbaj cu fiecare nou micorcontroler
folosit.
Microcontrolerul poate fi de asemenea program at folosind nu limbaj high level, cum ar fi
Basic, Pascal sau C. Limbajele high level sunt mai simplu de invatat decat limbajele de
asamblare. Faciliteaza dezvoltarea de programe mari si complexe.
In teorie, un singur chip este sufficient pentru a avea si rula un system embedded. Cu toate
acestea in aplicatiile practice este nevoie de alte component aditionale pentru ca
microcomputerul sa fie interfatat cu mediul incojurator.
18
Figură 14Schema bloc a unui microsistem
Cu ajutorul familiei PIC de microcontrolere timpul de dezvoltare a unui proiect electronic
a fost redus la cateva ore.
Pe scurt, un microcontroller executa un program creat de utlizator ce este incarcat in
memoria program. Sub controlul acestiu program, datele sunt receptionate de la dispositive
externe(intrari), manipulate si apoi trimise catre dispoztive externe(iesiri). De exemplu, intr –
un system bazat pe microcontrolere care controleaza tempe rature unui cuptor,
microcomputerul citeste temperatura folosindu -se de un sensor de temperature iar apoi
opereaza un incalzitor sau ventilator pentru a mentine temperature specificata.
Figura urmatoare afiseaza o diagram bloc a unui system simplu de contr ol a temperaturii
intr-un cuptor.
18Lucian N. VINȚAN – Organizarea si proiectarea microarhitecturilorde calcul(pentru uzul studenților),
Universitatea “Universitatea “L. Blaga” din Sibiu, 2010,
19
Figură 15Diagram a bloc a unui system simplu de control a temperaturii intr -un cuptor
Un microcontroller este o unealta puternica ce ii da voie utilizatorului pentru a crea date de
intrare -iesire sophisticate si de a le manipula cu ajutorul programului.
Microcontrolerele sunt clasificate dupa numarul de biti pe care ele proceseaza.
Microcontroelere pe 8 biti sunt cele mai populare si folosite in aplicatiile bazate pe
microcontrolere. Microcontrol ere pe 16 biti si 32 biti sunt mult mai puterinice, dar sunt de
obicei mai scumpe si nu este nevoie de ele in majoritatea aplicatiilor generale mici si medii ce
au nevoie de un microcontroller.
Cea mai simpla arhitectura de microcontrolere este constituita dintr -un microprocessor,
memorie, si intrari/iesiri. Micrprocesorul este constituit din unitatea centrala de
procesare(CPU) si o unitate de control ( CU). CPU este creierul microcontroleruli, aici este
locul unde toate operatiile aritmetico -logice sunt ef fectuate. Unitatea de control controleaza
operatiile interne a microprocesorului si trimite semnale la alte parti ale microcontrolerului
pentru a efectua operatiile necesare.
Memoria este o parte importanata a unui system de microcontrolere si poate fi cl asificata in
2 tipuri: memoria program si memoria de date. Memoria program stocheaza programul scris
de catre programtor si este de obiecei non -volatila( ex datele nu sunt pierdute cand
alimentarea este oprita). Memoria de date scocheaza date temporare fol osite in program si
este de obicei volatile( datele sint pierdute cand alimentarea este oprita).
Pe scurt sunt 6 tipuri de memorii, sumarizate astfel:
RAM
Random Acces Memory( memorie cu acces aleator) este o memorie cu scop general ce de
obicei stocheaza datele utilizatorului in program. Majoritatea microcontrolerelor au o cantitate
19Advanced PIC Microcontroller Projects in C – Ibrahim Dogan
stabilita de memorie RAM, 256 octeti este o cantitate comuna de memorie, cu toate ca unele
microcontrolere au mai putina sau mai multa memorie RAM.
Microcontrolerul folosit de mine are o memorie RAM de 1024 de octeti. Memoria de
obicei poate fi marita adaugand chipuri de memorie externe.
ROM
Read Only Memory( citeste memoria) de obicei stocheaza programul si date fixe scrise .
Memoria ROM este programta in timpul procesului de fabricare, iar utilizatorul nu poate
schimba continutul. Memoria ROM este folositoare daca ai un program dezvoltat si doresti ca
creezi cateva mi de copi.
PROM
Programmable Read Only Memory, este un tip de memorie ROM ce poate fi programata
de catre utilizator cu un dispoztiv numit programator PROM. Odata ce a fost progtamata
contintutul sau nu poate fi schimbat. Memoriile PROM sunt de obieci folosite de catre
aplicatii unde doar de cateva memorii de aces t gen este nevoie.
EPROM
Erasable Programmable Read Only Memory este similara memoriei ROM, dar EPROM
poate fi programata folosind un dispozitiv de programare care se potriveste. O memorie
EPROM are o mica “fereastra”de sticla deasupra chipului iar datele pot fi sterse sub o luminca
ultraviolet puternica. Odata programta memoria , fereastra poate fi acoperita de o banda
inchisa la culoare pentru a preveni stergeri acidenatale ale datelor. O memorie EPROM poate
fi stearsa inainte de a fi programta, Multe ve rsiuni dezvoltate de microcontrolere sunt
fabricate cu memorii EPROM unde programul scris de catre utilizator poate fi stocat.
Aceste memorii pot fi sterse si reprogramte pana cand utilizatorul este satisfacut de
programul creat. Unele versiuni de memorii EPROM, cunoscute ca si OTP ( one time
programmable) , pot fi programate folosind un programtor dar nu puteau fi sterse. Memoriile
OTP costa mult mai putin decat EPROM, OTP este folositor cand un proiect a fost dezvoltat
complet si multe copi ale memoriei p rogram trebuie create.
EEPROM
Electrically Erasable Programmable Read Only Memory, sunt folosite pentru a salva
informatii de configurare, valori maxime si minime, date de identificare etc. Unele
micrcontrolere au memorii EEPROM incorporate. Un chip cu mem orie EEPROM este mult
mai costisitor decat un chip cu memorie EPROM.
Flash EEPROM
Este o versiune a memoriei EEPROM, a devenit populara in aplicatii cu microcontrolere si
este folosita pentru a stoca programul utlizatorului. Este non -volatila si de obicei rapida.
Arhitecturi ale Microcontrolerului
Doua tipuri de arhitecturi sunt conventionale in microcontrolere:
Arhiectura Von Neiumann, folosita de un mare procentaj de microcontrolere, plaseaza
memoria, instrunctiunile si datele pe aceeasi magistrala.
Figură 16 Arhitectura Von Neumann20
Arhitectua Harvard( folosita de catre microcontrolerele PIC) unde codul si datele sunt pe
magistrale separate, si le permite sa fie preluate simultan, rezultan d intr-o performanta
imbunatatita.
Figur a1721
RISC si CISC
RISC(reduced instruction set computer) si CISC( complex instruction set computer) se
refera la setul de instructiuni folosit de microcontroller. Intr -un microcontroller RISC pe 8
biti, datele sunt de 8 biti d ar cuvintele instructiunilor sunt mai mult de 8 biti lungime( de
obicei(12, 14 sau 16) si instructiunile ocupa un cuvant in memoria program. Asta face ca
instructiunile sa fie preluate si executate intr -un ciclu imbunatatind performata.
20Advanced PIC Microcontroller Projects in C – Ibrahim Dogan
21Advanced PIC Microcontroller Projects in C – Ibrahim Dogan
Intr-un microcontro ller CISC, datele si instructiunile sunt de 8 biti lungime. Datale si codul
sunt pe aceeasi magistrala si nu pot fi preluate simultan.
Utilizarea microcontrolerelor
“Toate aplicațiile în care se utilizează microcontrolere fac parte din categoria așa ziselor
sisteme încapsulate -integrate (“embedded systems”), la care existența unui sistem de calcul
incorporat este (aproape) transparentă pentru utilizator. Pentru ca utilizarea lor este de foarte
ori sinonimă cu ideea de control microcontrolerele sunt ut ilizate masiv în robotică și
mecatronică. Conceptul de mecatronică este pană la urmă indisolubil legat de utilizarea
microcontrolerelor. Automatizarea procesului de fabricație -producție este un alt mare
beneficiar: CNC Computerised Numerical Controls -comen zi numerice pentru mașinile unelte,
automate programabile -PLC, linii flexibile de fabricație, etc.). Indiferent de natura procesului
automatizat sarcinile specifice pot fi eventual distribuite la un mare număr de microcontrolere
integrate într -un sistem u nic prin intermediul uneia sau mai multor magistrale. Printre multele
domenii unde utilizarea lor este practic un standard industrial se pot menționa: în industria de
automobile (controlul aprinderii/motorului, climatizare, diagnoză, sisteme de alarmă, etc .), în
așa zisa electronică de consum (sisteme audio, televizoare, camere video și videocasetofoane,
telefonie mobilă, GPS -uri, jocuri electronice, etc.), în aparatura electrocasnică (mașini de
spălat, frigidere, cuptoare cu microunde, aspiratoare), în con trolul mediului și climatizare
(sere, locuințe, hale industriale), în industria aerospațială, în mijloacele moderne de măsurare
– instrumentație (aparate de măsură, senzori și traductoare inteligente), la realizarea de
periferice pentru calculatoare, în me dicină.
„Johnnie” (figura 20) un robot umanoid destul de simplu, construit la Universitatea
Tehnică din Munchen în 1998, utilizează 5 microcontrolere, conectate prin intermediul unei
magistrale CAN la un calculator PC. „Alpha” un alt robot umanoid (fotbali st ca destinație)
dezvoltat la Universitatea din Freiburg utilizează, intr -o variantă a sa, 11 microcontrolere
conectate similar. Un număr foarte mare de microcontrolere sunt folosite și de așa zisele
jucării inteligente, din care „capetele de serie” cele mai cunoscute sunt cei doi roboți, unul
canin și altul umanoid: AIBO (Sony, figura 2 1) și ASIMO (Honda, figura 2 4). ASIMO
folosește 26 de microcontrolere numai pentru controlul individual al celor 26 de elemente de
acționare inteligente (motoare). Tot în c ategoria roboților umanoizi intra și QRIO (Sony, 2 3)
sau HOAP -1 (Fujitsu, figura 2 2). Roboții respectivi sunt produși în serie, unii dintre ei chiar la
un preț „accesibil”. Ca un exemplu din industria de automobile (automotive industry), unde
numai la nive lul anului 1999, un BMW seria 7 utiliza 65 de microcontrolere, iar un Mercedes
din clasa S utiliza 63 de microcontrolere. Practic, deși am prezentat ca exemple concrete
numai sisteme robotice și mecatronice, este foarte greu de găsit un domeniu de aplicați i în
care să nu se utilizeze microcontrolerele.”22
23 24 25
Figur a18 Johnie Figur a19 Aibo Figur a20 Hoap 1
26 27
Figur a21 Qrio Figur a22 Asimo
22http://web.ulbsibiu.ro/laurean.bogdan/html/Microcontrolere%20introducer e.pdf
23http://web.ulbsibiu.ro/laurean.bogdan/html/Microcontrolere%20introducere.pdf
24http://web.ulbsibiu.ro/laurean.bogdan/html/Microcontrolere%20introducere.pdf
25http://web.ulbsibiu.ro/laurean.bogdan/html/Microcontrolere%20introducere.pdf
26http://web.ulbs ibiu.ro/laurean.bogdan/html/Microcontrolere%20introducere.pdf
27http://web.ulbsibiu.ro/laurean.bogdan/html/Microcontrolere%20introducere.pdf
2.1.1 Structura hardw are
Vom defini un microcontroller pornind de la o reprezentare simplificată a sa în interacțiune cu
mediul(figura 25 )
28
Figur a23 Schema simplificata a unui microcontroler
Ca intrări se folosesc de regulă semnale provenind de la comutatoarele individuale sau de la
traductoare (de temperatură, de presiune, foto, traductoare specializate). Intrările pot fi
digitale sau analogice. Intrările digitale vehiculează semnale discrete, i nformația "citită" fiind
informația ce se eșantionează la momentul citirii liniei respective. Intrările analogice
vehiculează informații exprimabile prin funcții continue de timp. "Citirea" acestora de către
microcontroller presupune prezența unor circuite capabile să prelucreze aceste informații, fie
comparatoare analogice, fie convertoare analog -numerice, ale căror ieșiri sunt citite de către
MC. Ieșirile sunt fie analogice, caz în care reprezintă de fapt ieșiri ale convertoarelor numeric –
analogice, fie s unt digitale, caz în care informația este în general memorată pe acestea până la
o nouă scriere operată de către UC la un port al MC. Ieșirile pot comanda dispozitive de
afișare, relee, motoare, difuzoare, etc. O structură mai detaliată, care include blocu rile
principale, este reprezentată în figura 2 6.
28http://www.unitbv.ro/faculties/biblio/interfete_specializate/curs.pdf
29
Figur a24 Schema bloc a unui microcontroller
Microcontrolerul are un număr de 35 de instrucțiuni cu un grad mare de ortogonalitate, din
care majoritatea se execută într -un singur c iclu, iar cele de salt în două cicluri.
Sunt disponibile circuite cu OTP, cu EPROM sau EEPROM inclus, care fac posibilă atât
realizarea seriilor mari cât și a prototipurilor sau a aplicațiilor cu elemente care se modifică
(de exemplu aplicații de asigurare a securității cu coduri variabile). Aceste MC admit o
frecvență de până la 20MHz.
Microcontrolerul PIC16 are o arhitectură Harvard, cu magistrale diferite pentru date și pentru
instrucțiuni. Acest lucru permite ca magistrala de instrucțiuni să fie mai mar e (de 14 biți) și ca
urmare majoritatea instrucțiunilor pot fi de un cuvânt și pot fi executate într -un singur ciclu30.
29http://www.unitbv.ro/faculties/biblio/interfete_specializate/curs.pdf
30http://www.unitbv.ro/faculties/biblio/interfete_specializate/curs.pdf
31
Figur a25 Schema bloc PIC16
2.1.2 Programare a micr ocontrolelor
Microcontrolerul executa programul incarcat in memoria sa flash. Acest a este asa numitul cod
executabil comprimat in mai multe secvente de 1 si 0. Este organizat in cuvinte de lungimi
de12, 14 sau 16 biti, depinzand de arhitectura microcontrolerului. Fiecare cuvant este
considerat de catre CPU ca si o comanda executata de -a lungul operarii microcontrolerului.
Din motive practice, este mult mai usor pentru utilizatori de -a lucra cu sistemul hexadeciaml
numit cod hex. Toate instructiunile pe care micrcontrolerul le poate recunoaste este numit set
de instr uctiuni. Pentru microcontrolerele PIC cuvintele sunt organizate pe 14 biti, iar setul de
instructiuni are 35 de instrctiuni in total.
31http://www.unitbv.ro/faculties/biblio/interfete_specializate/curs.pdf
32
Figur a26 Programarea unui microcontroller in cod asamblare
Procesul de a scrie cod executabil era obositor pen tru programatori iar primul lim baj mai inalt
a fost creat , limbajul de asamblare. Limbajul de asamblare acum era mai complicat dar pe
cealalta parte a pus capat scrierii de programe sub forma de biti.
Instructiunile in asamblaresunt reprez entate sub forma de mnemonici, iar procesul compilarii
in cod executabil este lasat pe seama unui program special a PC -ului numit compliator.
Principalul avantaj a acestui limbaj de program areeste simplitatea, fiecare instructiune
corespunde unei locatii d e memorie in microcontroller.Da voie unui control complet a ceea ce
se intampla in chip, facand ca limbajul sa fie si astazi destul de folosit.
Cu toate aceste programatorii au avut nevoie intototdeauna de un limbaj de programre
apropiat limbajului folosit in ziua de zi cu zi.
Ca un rezultat, au aparut limbaje de nivel inalt cum este si C. Principalele avantaje a acestor
limbaje este simplitatea scrieii unui program. Nu mai este posibil a cunoaste exact cum fiecare
comanda este exe cutata, dar nu mai este de interes oricum.
32https://learn.mikroe.com/ebooks/piccprogram ming/chapter/programming -languages/
33
Figur a27 Programarea in C a unui microcontroller
Similar programarii in asamblare, un program specializat a PC -ului numit compilator este cel
care compileaza programul in cod masina.
34
Figur a28 Incarcarea unui program intr -un sistem embedded
Figura de mai sus ne ilustreaza in mare ce se intampla in timpul procesului de compilare a
programului dintr -un limbaj de programare de nivel inalt intr -un limbaj de programare de
nivel jos.
Aici av em un exemplu de program simplu scris in limbaj C:
33https://learn.mikroe.com/ebooks/piccprogramming/chapter/programming -languages/
34https://learn.mikroe.com/ebooks/piccprogramming/chapter/programming -languages/
35
Figur a29 Program C
Preprocesorul este o parte integrate a unui compliator C iar functia sa este de arecunoaste si
executa instructiuni de preprocesare. Acestea sunt instructiuni special ce nu apartin limbajului
C, dar sunt o parte dintr -un pachet software venind odata cu compilatorul. Fiecare comanda
de preprocesare incepe cu “#”. Inainte de a compila programul, compilatorul C actieveaza
preprocesorul ce scaneaza proramul dupa ac est semn. Daca sunt gasite, preprocesorul le
inlocuieste cu alt text care depinzand de tipul comenzii pot fi continutri de fisiere sau doar
secvente scurte de caractere. Apoi procesul de compilare poate incepe. Instructiunile de
preprocesare pot fi oriunde in programul sursa si fac referire doar la partea urmatoare dup ace
35https://learn.mikroe.com/ebooks/piccprogramming/chapter/pro gramming -languages/
Concluzii
Robotii autonomi sunt roboti construiti special pentru a realiza sarcinile impuse in mediile in
care sunt plasati fara ca omul sa actioneze asupra sa.
Robotii autonomi au abilitatea de a obtine informatii despre mediul inconjurator si pot
functiona pentru o perioada extinsa de timp fara interventie umana. Exemple de acest tip de
roboti pot varia de la elicoptere autonome pana la roboti curatatori.Acesti roboti
autodependeti se pot deplasa singuri cand isi executa sarcinile fara asistenta umana si sunt
capabili de a evita situatiile periculoase pentru ei, oameni sau mediul inconjurator. Robotii
autonomi de asemenea se pot adapta la schimarile din jurrul sau. Este de dorit ca robotii
autonomi sa aiba o autonomie cat mai crescuta fara a fi nevoie de o interventie umana.
Unii roboti industriali moderni pot fi numiti roboti autonomi doar in mediul si aria sa de
actiune si nu putem spune ca au un grad mare libertate in mediul lor d irect. Cu toate acestea
situatii neprevazute se intampla in fabricilie si mediile in care robotii industriali autonomi
realizeaza sarcinile impuse.
Unul din domeniile de cercetare din cadrul roboticii este acela de a construi roboti cat mai
performanti car e sa realizeze sarcinile impuse in orice mediu de actiune.
Capactiatile unui robot complet autonon sunt:
– Obtinerea de informatii asupra mediului in care lucreaza
– Autonomie ridicata fara interventie umana
– Evitarea de situatii in care pot fi periculaose pent ru el,oameni si mediul inconjurator
– Autodeplasarea fara interventie umana
CAPITOLUL 3
PROIECTARE A UNUI ROBOT LINE FOL LOWER
3.1. Mecanica și cinematica robotului
3.2. Structura hardware
Microcontroller -ul PIC16F1518
Pentru realizarea robotului line -follower am ales microcontrolerul PIC16F1518 de la
firma producătoare Microchip. Microcontrolerul ales are avantajul că are 2 module de
CCP(Capture Compare Pwm), module de care este nevoie pentru a controla cele 2 motoare
ale robotului.
Alimentar ea micrcontrolerului si blocul oscilator
Tensiunea de alimentare folosită pentru acest microcontroler este de 5V.
Alimentarea este conectată la pinii de VDD ai microcontrolerului(pinul 20) respectiv pinii
VSS(pinii 8 și 19).
Pinul V DD se conectează la 5V ,conectând si condensatori de protecție la variații de tensiune
pentru a proteja microcontrolerul. Pinii VSS se conectează la masă.
La pinul de VDD am conectat 2 condensatori, unul de 22uF pentru variațiile mari de tensiune
și un con densator de 100nF pentru variații de tensiune mai mici.
Figura 7 Alimentarea microcontrolerului și blocul oscilator
Mediul de lucru LT Spice
Realizăm schema electrică în mediul de lucru LT Spice după cum urmează.
Figura 8 Schemă electrică bloc alimentare realizată în LT Spice
Putemvizualizatensiunileșicurențiiexistențiîn circuit cu ajutorulprobelor de
tensiuneșicurențiapăsândpenodurilepe care vremsă le vizualizămșianalizăm ,iar apoi apăsăm
pe pictogr ama “Run” pentru a incepesimularea.
Figura 9 Vizualizare tensiune ieșire V(ieșire) și curentul I(R1) care trece prin rezistor
Ideea generală a blocului de alimentare a circuitului este de a avea un buton de start pentru a
alimenta micrcontrolerul care odată alimentat activează un pin de ieșire care menține
alimentarea pornită.
Condensatorul C1 (10uF) și rezistorul R2 (75 Ω) din drepta schemei electrice simulează o
sarcină electrică.
VCS(voltage controlled switch) buton contr olat în tensiune este un înlocuitor în simularea în
programul LT Spice a push -butonului.
Când butonul este lăsat neapăsat, în grila tranzistorului mosfet cu canal P cade o te nsiune de
8.2V iar tranzsitorul rămâne blocat și circuitul este nealimentat.
Figura 10 Reprezentarea grilă -ieșire a tensiunilor când butonul este neapăsat
Pentru a putea alimenta schema electrică apăsăm butonul și tragem la masă grila mosfet -ului
cu canal P care în acel moment tranzistorul se deschide iar circuitul este alimentat.
Figura 11 Reprezentarea grilă -ieșire a tensiunilor când butonul este apăsat
Pentru ca timerele micrcontrole rului să funcționeze, PIC16F 1518 are nevoie de o conexiune la
un timer.
Sursele de ceas pot fi externe sau interne. Sursele de ceas externe se bazează pe circuite
externe pentru a funcționa. Exemple ; modul oscilator(Ec mode), rezonator ceramic
rezonatoare din cristale de quartz(LP, HS și XT ) și module de circuit RC(rezistor –
condensator).
Analizând foaia de catalog a micrcontrolerului PIC16F1518 cu privire la modurile de ceas am
ales un oscilator extern cu o frecvență de 20MHz care este conectat la pinii 9 și 10 ai
microcontrolerului, adică la pinii de OSC1 și OSC2.
36
Figura 12 Blocul oscilator
36https://learn.mikroe.com/ebooks/piccprogramming/chapter/clock -oscillator/
Porturile microcontrolerului
Figura 13 Porturile microcontrolerului PIC16F1518
Microcontrolerul PIC16F1518 are 4 porturi : PORTA, PORTB, PORTC și PORTE.
Portul A conține 8 pini care pot fi utilizați și ca pin i de intrare sau ieșire.
Folosesc 6 pini din portul A al microcontrolerului și anume : RA0, RA1, RA2, RA4, RA6 și
RA7.
RA0 este folosit ca și pin de ieșire de catre microcontroller și bitul 1 din registrul LATA este
setat pe 1 logic pentru a genera 5V pemtru a deschide tranzistorul bipolar NPN.
RA1 este utilizat ca și pin de intrare analogic, este folosit pentru a citi tensiunea d e pe
bateriile Li -Ion pentru a nu se descărca sub 3.2V per celulă, deoarece se deteriorează mult mai
repede dacă se descarcă complet.
RA2 și RA4 sunt folosiți pentru a controla sensul motoarelor .
RA6 și RA7 sunt utilizați de catre circuitul oscilatorului extern.
Figura 14 PORTA
PORTB este de asemenea format din 8 pini.
Din acești 8 pini folosesc RB0, RB1, RB2, RB4, RB5, RB6 și RB7.
RB0, RB1, RB2 și RB4 sunt pini de intrare analogici care sunt folosiți pentru a citi tensiunea
analogica pe care senzorul analogic QTR -8A o generează când senzorul detectează o linie
neagră pe fundal alb.
RB5 este folosit ca și pin de ieșire pentru a controla sensul motoarelor cu ajutorul driverul
L293D.
RB6 și RB7 sunt liniile de Clock respectiv de Date cu ajotorul cărora se poate program
integratul PIC16F1518 prin intermediul programatorului Pickit3.
Figura 15 PORTB
PORTC este un registru format din 8 biți, iar fiecare bit corespunde unui pin din cei 8 pe care
portul C îi cuprinde.
Din acești 8 pini folosesc 7 pini și anume : RC1, RC2, RC3, RC4, RC5, RC6 și RC7.
Pinii RC1 și RC2 sunt pinii care generează semnalul de PWM care controlează turația
motoarelor DC.
Pinul RC3 este folosit pentru a stabili sensul motoarelor.
Pinii RC4, RC5, RC6 și RC7 sunt de asemenea pini de intrare analogici care sunt folosiți
pentru a citi tensiunea analogică pe care senzorul analogic QTR -8A o generează când
senzorul detectează o linie neagră pe fundal alb.
Figura 16 PORTC
Portul E este un port bidirecțional de lungime de doar 4 biți, iar la microcontrolerul
PIC16F1518 biții de la 0 la 2 nu sunt implementați.
Folosesc RE3 ca si pin de Memory Clear și Vpp(tensiune de programare).
Figura 19 PORTE
Proiectarea PCB cu ajuto rul programului Eagle
Mediul de lucru Eagle
Proiectarea schemei electrice și desenarea cablajului a fost realizată cu ajutorul mediului de
lucru specializat Eagle.
Este unnul din cele mai cunoscute și utilizate programe de proiectare datorită ușurinței și
facilităților oferite de către soft.
Programul specializat Eagle este compus din trei module principale denumite : Control Panel,
Schematic și Board.
Librăriile de componente, proiectele și regulile de desenare realizate de către utilizator se
găsesc în mo dul Control Panel. Modul Schematic este modul în care se realizează schema
electrică și se verifică erorile iar în modul Board se proiectează cablajul propriiu -zis.
Calcule din schema electrică
Calculul rezistență LED -uri
Figura 17 Rezistență LED
Ω
Calcul divizor de tensiune
Tensiunea de la baterie pentru a putea fi monitorizată avem nevoie de un pin de intrare
analogic care citește cât de încărcată este bateria.
Figura 18 Divizor de tensiune
ș
ș
Un Convertor Analog Numeric acceptă o intrare analogică – tensiune sau curent – și
convertește într -o valoare dgitală care poate fi citită de către microprocesor.
Tensiunea de referință este valoarea maximă pe care convertorul analog digital o poate
converti.
Convertorul analog digital pe care micrcontrolerul PIC16F1518 îl are este de 10 biți. Poate
măsura 1024 de valori. Mărimea pasului este dată de :
unde Vref este tensiunea de referință. Mărimea pasului convertorului ne dă rezoluția
convertorului. Pentru o tensiune de referință de 5V, mărimea pasului este :
Convertorul de 10 biți reprezintă intrarea analogică ca și un cuvânt digital. Cel mai
semnificativ bit a acestui cuvânt indică dacă tensiunea de intrare este mai mare decât
jumătatea tensiunii de referință(2,5V, cu o tensiune de referință de 5V). Fiecare bit succesiv
reprezintă jumătate din intervalul bitului precedent.
Deoarece avem o tensiune mai mare de 5V pe cele 2 celule Litium -Ion avem nevoie de un
divizor de tensiune pentru ca tensiunea de intrare să nu fie mai mare decât tensiunea de
refer ință. Acest lucru este realizat cu un divizor care divizează tensiunea de intrare cu ½,
deoarece tensiunea pe cele 2 celule nu poate fi mai mare decât 8.4V.
Microcontrolerul PIC16F1518 dispune de un convertor pe 10 biți care are urmaătoarele
caracteristici :
– Convertor analog numeric cu aproxim ări succesive
– 28 intrări analogice (AN0 – AN27)
– Pini externi pentru tensiunea de referință(selectabil prin software)
– Două tipuri de aliniere a rezultatului conversiei
În schema de maijosesteprezentată o schema bloc a co nvertorului analog numeric:
Figura 19 Diagrma bloc a convertorului analog numeric
Modulul Adc are 18 regiștri asociați, care vor fi descriși în continuare. Dintre aceștia, 2
regiștri sun t pentru salvarea rezultatului conversiei ș i 2 pentru configurarea modului ADC.
Figura 20 Regiștri asociați modului ADC
Regiștrii ADCON0 și ADCON1 sunt regiștri de configurare ai modului ADC, fie portului
I/O. Regiștri ADRESH și ADRESL sunt regiștri în care se salvează r ezultatul conversiei.
Există 2 moduri de aliniere a rezultatului pe 10 biți și anume stânga și dreapta.
Placa cu PIC16F1518
Figura 21 All Layers
Figura 22Top layer fără GND
Figura 23Bottom layer fără GND
Figura 24Top layer cu plan de masă
Figura 25Bottom layer cu plan de masă
Cablaje imprimate dublu strat
3.3. Programrea sistemului
CAPITOLUL 4
APLICA ȚII ȘI EXPERIMENTE
CAPITOLUL 5
CONCLUZII FINALE ȘI CONTRIBU ȚII
BIBLIOGRAFIA
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: CAPITOLUL 1 ………………………….. ………………………….. ………………………….. ……………………… 2… [613647] (ID: 613647)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
