Sunteți pe pagina 1din 7

UNIVERSITATEA POLITEHNICA TIMIOARA 2015

FACULTATEA DE AUTOMATIC I CALCULATOARE

Sisteme Incorporate
ARDUINO LINE FOLLOWER
Robot construit pe platforma Arduino cu abilitatea de a urmri
un traseu n mod autonom

Bugariu Razvan
Tuduce Adela
An 3 CTI
An universitar 2014 - 2015

Componente:

Platforma de dezvoltare: Arduino UNO


Sasiu 4WD Kit cu motoare incluse
Senzor linie (8 senzori)
Driver motor

Platforma de dezvoltare
Arduino este un microcontroler board, destinat s fac aplicarea de obiecte
interactive sau medii mai accesibile.
Hardware-ul const dintr-un open-source hardware board proiectat n jurul unor 8bit Atmel AVR microcontroller, sau de 32-bit Atmel ARM. Modelele actuale sunt
dotate cu o interfa USB, 6 pini de intrare analogice, precum i ace de 14 I/O
digitale, care permite utilizatorului s se ata eze mai multe placi de extensie.
Introdus n 2005, platforma Arduino a fost proiectat pentru a oferi un mod ieftin i
uor pentru pasionai, studeni i profesioniti pentru a crea dispozitive care
interacioneaz cu mediul lor folosind senzori i actuatori. Exemple comune pentru
amatori incepatori includ simple, roboi, termostate i senzori de micare. Arduino
UNO este o platforma de procesare open-source, bazata pe software si hardware
flexibil si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm /
5.3 cm in cea mai des intalnita varianta) construita in jurul unui procesor de
semnal si este capabila de a prelua date din mediul inconjurator printr-o serie de
senzori si de a efectua actiuni asupra mediului prin intermediul luminilor,
motoarelor, servomotoare, si alte tipuri de dispozitive mecanice. Procesorul este
capabil sa ruleze cod scris intr-un limbaj de programare care este foarte similar
cu limbajul C++.

Specificatii

Microcontroller: ATmega328

Tensiune de intrare: 7-12V

Tensiune de sistem: 5V

Clock de frecventa: 16MHz

Digital I/O: 14

Intrari analogice: 6

PWM: 6

Memorie Flash: 32Kb

Interfata de programare: USB via ATMega16U2

Microcontroller ATMega328
Atmega328 AVR 8-bit este un circuit integrat de nalt performan ce se
bazeaz pe un microcontroler RISC, combinnd 32 KB ISP flash o memorie cu
capacitatea de a citi-n-timp-ce-scrie, 1 KB de memorie EEPROM, 2 KB de SRAM,
23 linii E/S de uz general, 32 nregistrari procese generale, trei cronometre
flexibile/contoare n comparaie cu, ntreruperi intern i extern, programator de
tip USART, orientate interfa serial byte de 2 cabluri, SPI port serial, 6-canale 10bit Converter A/D (8-chanale n TQFP i QFN/MLF packages), "watchdog timer"
programabil cu oscilator intern, i cinci moduri de software-ul intern de economisire a
energiei selectabil. Dispozitivul funcioneaz 1,8-5,5 vol i.
Prin executarea instruciuni puternice ntr-un singur ciclu de ceas, aparatul realizeaz
un rspuns de 1 MIPS

Parametrii

Flash: 32Kbytes

RAM: 2Kbytes

Cantitate pini: 28

Frecventa maxima de functionare:


20MHz

CPU: 8-bit AVR

Numarul de variabile canale: 16


3

Pini maximi de E/S: 26

Intreruperile externe 24

Module folosite
Generare de semnale PWM in Arduino
PWM este o metoda de a obtine un semnal analogic prin intermediul unui
semnal digital generand tensiuni de 1 si 0 la anumite perioade de timp. Fractiunea de
perioada cat semnalul este activ (1 logic) se numeste factor de umplere, sau duty
cycle. In Arduino se poate folosi PWM in trei moduri, fie prin temporizatoare, fie
folosind functia analogWrite, sau variind manual durata cat un pin este activ (1 logic).
In aceast proiect vom folosi functia analogWrite(factor de umplere). Valorile
posibile pentru analogWrite sunt de la 255 care reprezinta 5V la 0.

Senzori Analogici
Microcontrollerele sunt capabile sa detecteze semnale binare, 0 sau 1, cum
este de exemplu starea unui buton (apasat sau ridicat). Aceste semnale se numesc
semnale digitale. Cand un microcontroller este alimentat de la 5 V el intelege
valoarea tensiunii de 5V ca si 1 logic si 0V ca si 0 logic. Cu toate acestea noi avem
nevoie sa masuram si altfel de semnale in lumea reala, semnale intermediare
valorilor extreme (de exemplu, 2.57 V). Aceste semnale contin informatie relevanta in
nivelul tensiunii lor, si poarta numele de semnale analogice. Un ADC (convertor
analog la digital) converteste un semnal analogic la un numar. Prin intermediul
acestui dispozitiv avem posibilitatea de a interfata tot felul de periferice la
microcontrollerul nostru si de a masura informatiile analogice din jurul nostru. Nu toti
pinii de pe arduino pot face astfel de conversii. Pinii care pot fi folositi impreuna cu
senzori analogici sunt pinii care au un A in fata numelui lor pe placa.

Protocolul de comunicatie I2C


Interfaa I2C (Inter Integrated Circuits) este o interfa serie, aprut din
necesitatea de a realiza sisteme ieftine cu microcontrolere, destinate n principal
conducerii proceselor industriale. Un astfel de sistem este constituit, de regul, dintrunul sau mai multe microcontrolere i o serie de echipamente periferice (de
intrare/ieire, memorie etc.). Conectarea acestora printr-o interfa serie satisface
cerinele enunate. Viteza mic de transfer, caracteristic interfeelor serie, nu

constituie un neajuns pentru aplicaiile principale avute n vedere (conducerea


proceselor).
Realizarea unui sistem I2C presupune interconectarea unor circuite integrate
(specializate) prin numai trei linii: dou de semnal i una de mas. Cele dou linii de
semnal sunt denumite "serial data" (SDA) i "serial clock" (SCL). Fiecare circuit
integrat are o adres unic i poate funciona fie ca transmitor, fie ca receptor, n
funcie de tipul circuitului. De exemplu, un circuit pentru comanda unui afiaj cu
cristale lichide poate fi numai receptor, n timp ce un circuit de memorie RAM poate fi
att transmitor ct i receptor (evident, nu simultan).

Senzori
Bara senzori linie analogic QTR-8A

Aceasta placuta are 8 perechi de leduri infrarosii/fototranzistori montate la o

distanta de aproximativ 9,5 mm .


Perechile de leduri sunt dispuse in serie pentru a reduce consumul, totodata

pentru economisirea energie, MOSFET-ul permite oprirea ledurilor.


Fiecare senzor furnizeaza semnal de iesire analogic.

Input date
Cei 8 senzori IR vor transmite semnale analogice n func ie de ce

culoare vd: ~200mV (alb) ; 3V-3,5V (negru)


Prelucrare date
AtMega16 va prelua pe portul A semnalul de la senzori i avnd pragul

logic pe la 1,5V-2V, va codifica automat semnalul la 0 sau 1. Dup aceea


determin pe baza algoritmului, modul de comand al motoarelor.
Output date
Microcontrollerul va trimite punii H duala - L298N - direc ia i viteza

(prin pwm) de rotire a motoarelor, aceasta trimind semnale analogice celor


dou motoare.
Controlerul va mai trimite pe portul C registrul n care este salvat

configuraia curent a senzorilor, pentru a fi afiat pe un bargraf de leduri,


pentru debug i aspect vizual

Specificatii
Dimensiuni: 2.95 x 0.5 x 0.125
Tensiunea de operare: 3.3-5.0 V
Curentul : 100 mA
Formatul output-ului: 8 tensiuni analogice
Tesiunea de iesire : 0 V pana la tensiunea de alimentare
Distanta optima: 0.125 (3 mm)
Distanta maxima recomandata: 0.25 (6 mm)
Greutate: 0.11 oz (3.09 g)

Driver motor
Driver-ul de motoare L298 este utilizat pentru controlul motoarelor de curent
continuu folosind Arduino. Arduino este capabil sa scoata pe porturile lui o putere
foarte mica, total insuficienta pentru a invarti un motor. Daca vom conecta un motor
electric direct la un port Arduino, cel mai probabil vom obtine arderea procesorului
din placa Arduino.
Ca sa nu se intample acest lucru, avem nevoie de un amplificator de putere,
care sa ia putere din sursa de alimentare (baterie, de exemplu), si sa o transmita
6

motoarelor asa cum ii comanda Arduino. Acest amplificator poarta numele generic de
"driver de motoare".
Driver-ul este bazat pe integratul L298, fiind un driver de nivel mediu din punct
de vedere al puterii conduse. Poate controla motoare care necesita cel mult 2
Amperi. Driver-ul se conecteaza la platforma Arduino folosind 4 pini digitali (3, 5, 6 si
9) prin infigere directa in pinii placii Arduino.
Alimentarea shield-ului se face prin pinii cu surub VIN si GND. Shield-ul se
alimenteaza in functie de necesitatile motoarelor. Daca motoarele accepta o tensiune
de cel mult 6V atunci poti utiliza o cutie cu 4 baterii. Tensiunea totala a bateriilor este
de 6V dar driver-ul consuma intern intre 2.5 si 4.5V. In acest mod, pe motor, ajunge o
tensiune cuprinsa intre 4.5V si 6.5V, suficient cat sa isi indeplineasca functia fara sa il
arzi.

S-ar putea să vă placă și

  • Control Motor DC Cu Punte H
    Control Motor DC Cu Punte H
    Document4 pagini
    Control Motor DC Cu Punte H
    Iris Irina
    Încă nu există evaluări
  • Sockets PDF
    Sockets PDF
    Document47 pagini
    Sockets PDF
    Adela Duma
    Încă nu există evaluări
  • Marketing Rezolvari
    Marketing Rezolvari
    Document29 pagini
    Marketing Rezolvari
    Adela Duma
    Încă nu există evaluări
  • Lurc A11
    Lurc A11
    Document5 pagini
    Lurc A11
    Adela Duma
    Încă nu există evaluări
  • Harti Conceptuale 2
    Harti Conceptuale 2
    Document32 pagini
    Harti Conceptuale 2
    Adela Duma
    Încă nu există evaluări
  • Avl Trees
    Avl Trees
    Document20 pagini
    Avl Trees
    Adela Duma
    Încă nu există evaluări
  • Harti Conceptuale 2
    Harti Conceptuale 2
    Document32 pagini
    Harti Conceptuale 2
    Adela Duma
    Încă nu există evaluări
  • Lucr A
    Lucr A
    Document4 pagini
    Lucr A
    Adela Duma
    Încă nu există evaluări
  • Carte
    Carte
    Document10 pagini
    Carte
    Adela Duma
    Încă nu există evaluări
  • Graf
    Graf
    Document38 pagini
    Graf
    Adela Duma
    Încă nu există evaluări
  • Discipline Fundamentale ID
    Discipline Fundamentale ID
    Document47 pagini
    Discipline Fundamentale ID
    cocoronco1212
    Încă nu există evaluări