Dispozitiv de Hranire al Animalelor de Companie Actionat Prin Internet

Cuprins

Lista figurilor …………………………………………………………………………………………………………………….11 Lista acronimelor………………………………………………………………………………………………………………..13 Introducere…………………………………………………………………………………………………………………………15

Microcontrolere. …………………………………………………………………………………………………………..17

Definiții si concepte………………………………………………………………………………………………..17

Arhitectura microcontrolerelor……………………………………………………………………………..18

Microcontrolere integrate sau de memorie externa…………………………………………….19

Unitatea Centrala de Procesare………………………………………………………………………19

Arhitecturea de bază a CPU………………………………………………………………….19

Microcontrolere cu arhitectura CISC sau RISC………………………………………21

Microcontrolere cu arhitectura Harvard sau Van Neumann………………………21

Setul de instructiuni…………………………………………………………………………….22

Memoria…………………………………………………………………………………………………….23

Intrare/Iesire digital si analogic…………………………………………………………………24

Intreruperi…………………………………………………………………………………………………….24

Temporizator………………………………………………………………………………………………..25

Atmel AVR ATmega32U4……………………………………………………………………………….26

Caracteristici………………………………………………………………………………………..26

Diagrama Bloc………………………………………………………………………………………………28

Configuratia si descrierea pinilor…………………………………………………………………….29

Arduino Leonardo ETH…………………………………………………………………………………………………30

Definitii si concepte

Specificatii si caracteristici Arduino Leonardo ETH

Interfata Web

Mod de functionare

Plan de afacere………………………………………………………………………………………………………… 69

Sinteza planului………………………………………………………………………………………………………69

Analiza mediului de afacere și propunerea afacerii……………………………………………………..69

Descrierea afacerii………………………………………………………………………………………………….70

Marketingul afacerii………………………………………………………………………………………………..73

Managementul afacerii…………………………………………………………………………………………….73

Finanțele afacerii…………………………………………………………………………………………………….73

Concluzii finale………………………………………………………………………………………………………………….50 Bibliografie………………………………………………………………………………………………………………………..51 Anexe………………………………………………………………………………………………………………………………..53

Lista Figurilor

Figura 1.1 Microcontroler Atmel………………………………………………………………………………………….17 Figura 1.2 Schema bloc a microcontrolerelor…………………………………………………………………………18 Figura 1.3 Arhitecturi de baza a CPU……………………………………………………………………………………19 Figura 1.4 Arhitectura Harvard…………………………………………………………………………………………….21 Figura 1.5 Arhitectura Van Neumann……………………………………………………………………………………21

Figura 1.6 Microcontroler ATMEL AVR ATmega32U4…………………………………………………………26

Figura 1.7 Schema Bloc Atmel AVR ATmega32U4……………………………………………………………….28

Figura 1.8 Configuratia Pinilor……………………………………………………………………………………………..29 Figura 2.1 Placa Arduino Leonardo ETH……………………………………………………………………………….21

Figura 2.2 Placa cu cablaj Imprimat………………………………………………………………………………………26

Lista Acronimelor

µC, uC, MC = Microcontroler

CPU = Central Processing Unit = Unitate Centrala de Procesare

ADC = Analog-to-digital convertor = Convertor analog-digital

DAC = Digital-to-analog convertor = Convertor digital-analog

CI = circuit integrat

I/O = input/output = intrare/iesire

DMA = Direct Memory Access = Acces direct de memorie

JTAG = Joint Task Action Grup

GBIP = General Purpose Interface Bus = Magistrala de interfata cu scop general

USB = Universal Serial Bus = Magistrala serie universala

DSP = Digital signal processing = Procesare digitala de semnal

CAN = Controller area network = Controler zona de retea

PWM= Pulse Width Modulation = Modulatia latimii pulsatiei

EEPROM = Electrically Erasable Programmable Read Only Memory

CISC = Complicated intruction set calculator = Calculator de set de instructiuni complicate

RISC = Reduced instruction set calculator = Calculator de set de instructiuni reduse

SRAM = Static Random Access Memory = Memorie de acces aleator statica

DRAM = Dynamic Random Access Memory = Memorie de acces aleator dinamica

ROM = Read Only Memory = Memorie ce poate fi doar citita

PROM = Programmable Read Only Memory = ROM programabil

NVRAM = Non-Volatile Random Access Memory = Memorie de acces aleator nevolatila

ISR = Interrupt service routine = Rutina de intrerupere servicii

DDR = Data Direction Register = Registrul Directiei Datelor

PIN = Port Input Register = Registrul Intrarii Portului

IE = Interrupt Enable = Permite Intrerupere

IF = Interrupt Flag = Steag Intrerupere

MIPS = Milion de instructiuni pe secunda

PLL = Phase Locked Loop = Bucla inchisa de faza

CMOS = Complementary metal-oxide semiconductor = Semiconductor complementar de metal-oxid

LVTTL = Low Voltage Transistor-Transistor Logic = Logica Tranzistor-Tranzistor de Voltaj Mic

ALU = Arithmetic Logic Unit = Unitatea de Logica Aritmetica

PCB = Printed circuit board = Placa cu cablaj (sau circuit) imprimat

TCP = Transmision Control Protocol = Protocol de control transmisie

IP = Internet Protocol = Protocol internet

PoE = Power over Ethernet = Putere asupra Ethernet

COM = Comunications Port = Port de comunicatii

SD = Secure Digital = Securizare digitala

UART = Universal asynchronous reciever/transmitter = Transmitator/receptor asincron universal

TTL = Transistor-Transistor Logic = Logica Tranzistor-Tranzistor

MAC = Media acces control = Control de acces media

ICSP = In Circuit Serial Programing = Programare serial in circuit

Introducere

Pe masura ce societatea evolueaza responsabilitatile si nevoile fiecarui membru al acesteia cresc, iar timpul liber scade, fapt ce a generat nevoia rezolvarii multiplelor probleme simultan. Fiind fortati sa se angajeze in multiple activitati, necesitatea unor dispozitive care sa usureze orice natura de munca a crescut exponential.

In aceasta instanta, problema aparuta este cea a detinatorilor de animale de companie si anume a hranirii animalelor. Acestia sunt costransi de diferite activitati, spre exemplu: loc de munca, concedii, etc., sa gaseasca un mijloc de a ingriji animalelele de companie, fie ca apeleaza la un alt membru al societatii, ex: ruda, vecin, etc., fie ca anuleaza planurile de concedie sau pleaca de la munca, acest inconvenient este constant prezent in viata fiecaruia.

Prin urmare, lucrarea de fata isi propune proiectarea unui dispozitiv de hranire al animalelor de companie care, prin intermediul Internetului, sa usureze aceasta munca, inlaturand una din problemele des intalnite in cadrul oricarei societati. Aplicabilitatea acestui proiect este extisa, el putand fi folosit in activitati precum: dresaj, controlarea orelor de masa ale animalelor, hranirea la distanta, in cazul concediilor, in cazul caselor de vacanta unde este prezent un animal de companie sau in cazul in care nu puteti ajunge intr-un timp suficient pentru a hrani animalul de companie, si nu numai.

Lucrarea este structurata pe mai multe capitole

Microcontrolere

Definitii si concepte

Microcontrelerele sunt microcalculatoare su un singur chip, potrivite pentru automatizarea si controlul masinariilor si proceselor.

Microcontrolerele au o unitate centrala de procesare (CPU), mememorie, porturi de intrare si iesire (I/O), contoare si temporizatoare, convertor analog-digital (ADC), convertor digital-analog (DAC), porturi serial, logica de intrerupere, circuite de oscilatie si multe alte blocuri pe chip.

Toate aceste blocuri functionale intr-un singur circuit integrat (CI) duc la reducerea dimensiunii placii de control , consum mai mic de putere, fiabilitate mai mare si integrarea usoara intr-un design de aplicatie. [1]

Microcontrolerele sunt cunoscute si folosite si dupa urmatoarele abrevieri: µC, uC, MC.

Figura 1.1 Microcontroler Atmel

Controlererul de semnale mixte este un microcontroler ce poate procesa atat semnale digitale cat si semnale analogice. [2]

Sistemele Integrate reprezinta o zona mare de aplicabilitate pentru microcontrolere. Pentru sistemele integrate unitatea de control este integrata in sistem. Spre exemplu in telefonul mobil controlerul este inclus in acest dispozitiv. [2]

Unitatea centrala de procesare contine unitatea de logica aritmetica, unitatea de control si registrele. (contoarele de program, pointerul de stiva, registrele acumulator, fisierele registru, etc.) [2]

Memoria este cateodata impartita in memorie de program si memorie de date. In controlere de mari dimensiuni un controler de tip DMA se ocupa de transferul de date dintre componentele periferice si memorie. [2]

Temporizatorul/Contorul sunt parti vitale pentru microcontroler, fiecare microcontroler are 2-3 Temporizatoare/Contoare, folosite pentru a masura intervale, pentru a marca momente de timp ale unor evenimente sau pentru a contoriza evenimente. [2]

Controlorul de intrerupere este folositor pentru a intrerupe modul de functionare normal al programului in cazul unor evenimente (importante) externe sau interne. Impreuna cu modulele de hibernare ajuta la conservarea puterii. [2]

Arhitectura microcontrolerelor

Un microcontroler este alcatuit dintr-un circuit sau unitate de micrococalculator cu o aditie de a rula in modul inactiv sau cu putere scazuta. [3]

Figura 1.2 Schema bloc a microcontrolerelor

Elementele de baza sunt aratate cu margini solide, elementele cu margini punctate sunt optionale

De asemenea, schema bloc a unui microcontroler contine cateva sau mai multe din urmatoarele componente:

Dispozitive port impreuna cu procesare de catre CPU a instructiunilor de manipulare a bitilor, ce da control asupra interfetei releelor si comutatoarelor.

Dispozitive de tip 10 serie sincronizate si asincronizate.

Dispozitive de temporizare pentru ceasul sistemului, ceasul de timp real, temporizatorului softwareului, detectie in timp real al unui eveniment sau semnal si temporizatorul de tip watchdog.

Dispozitive de tip PWM si ADC

Dispozitiv modem

Porturi DSP cu instructiuni de procesare ale circuitului DSP la CPU.

Porturi cu instructiuni de procesare ale circuitului controlerului nonlinear, cu interfata de retea si cu interfata mobia sau wireless

Dispozitive cu interfata USB/PCI/CAN/JTAG/GPIB

Microcontrolere integrate sau de memorie externa

Microcontrolere integrate: Cand un sistem are un microcontroler ce are toate unitatile de software si hardware incorporate intr-o singura unitate, acel MC se numeste microcontroler integrat. Pentru procesarea in timpul controlului sau in timpul folosirii dispozitivelor exterioare sunt prezente putine sau niciun sistem sau unitate exterioara.

Microcontrolere de memorie externa: Cand un sistem integrate are un MC ce are toate unitatile de software si hardware prezente, nu ca o singura unitate ci individual, si are toate partile unitatile memoriei intefatate extern folosind un circuit de interfatare numit circuit lipici, acel microcontroler se numeste microcontroler de memorie externa.

Unitatea Centrala de Procesare

Unitatea centrala de procesare (CPU) este principala componenta din orice microcontroler. [2]. Acesta are rolul de a rula instructiuni si programe de calculator performand operatii de baza aritmetice, logice, de control si de intrare/iesire specificate de instructiuni.

Termenul de “CPU” a fost folosit in industria calculatoarelor inca din anii 1960, traditional facand referire la procesor, mai specific la unitatea de control si unitatea de procesare ale acestuia.

Arhitectura de bază a CPU

Unitatea centrala de procesare intr-un microcontroler este un circuit secvential complex al carui functie primara este de a executa programe ce sunt stocate in Flash EEPROM. Un program este o simpla serie de instructiuni ce indeplineste o anumita sarcina. Odata dezvoltat programul acesta se poate descarca in microcontroler , microcontrolerul devenind un sistem de procese de sine statator.

Odata resetat, unitatea centrala de procesare va accesa o intructiune a programului din memorie, va decoda continutul instructiunii si va executa intructiunea respectiva. Desi unitatea centrala de procesare (CPU) este centul principal de control al intregului microcontroler, in timp ce primeste diferite intructiuni de la program acesta va apela subsistemele rezidente pentru a isi indeplini sarcina. [4]

Asa cum este ilustrat in continuare in Figura 1.3 arhitectura de baza a CPU poate fi impartita in mai multe categorii generale, fiecare cu avantajele si dezavantajele ei.

Figura 1.3 Arhitecturi de baza a CPU

Arhitectura tip Acumulator: Intr-o arhitectura de tip acumulator, ilustrata in Figura 1.3(a), instructiuile incep si se termina intr-un registru special numit acumulatori (Acc A si Acc B). In mod normal o operatiune este executata in oricare dintreo operanzi este gasit un acumulator, iar celalalt este adus din memorie, rezultatul fiind atunci plasat in acumulator.

Aceasta arhitectura tinde sa ruleze mai incet din cauza faptului ca operanzii trebuie adusi constant din memorie. In mod normal memoria ruleaza la viteze mai mici decat procesorul principal, drept urmare procesorul trebuie sa incetineasca pentru acomodarea operandului adus din memorie. O arhitectura de acest tip poate in schimb sa opereze instructiuni mai complicate.

Arhitectura tip Registru: Intr-o arhitectura tip registru, ilustrata in Figura 1.3(b), amandoi operanzi sunt stocati in registre ce sunt in mod obisnuit in acelasi loc cu unitatea centrala de procesare. Rezultatul oricarei operatii este stocat si el in registru. Din moment ce CPU si registrele functioneaza la aceeasi viteza, procesorul nu trebuie sa incetineasca pentru citirea si scrierea operanzilor. Continutul registrelor este ulterior scris si citit din momeorie prin intermediul unor operatii de fundal.

Arhitectura tip Stiva: Intr-o arhitectura tip stiva, ilustrata in Figura 1.3(c), amandoi operanzii si operatia este executata si stocata pe stiva. Resultatul este plasat apoi inapoi pe stiva. Stiva poate fi bazata pe registre dedicate sau poate fi o portiune speciala a memoriei aleatoare de acces.

Arhitectura tip Conducta: O arhitectura tip conducta are forma generala ilustrata in Figura 1.3(d). Arhitectura este constituita din subsisteme separate de hardware numite stagii, ce aduc instructiuni din memorie, decodeaza instructiunile, aduc operanzii instructiunilor din memorie si registre, executa instructiunile si apoi scriu rezultatul in memorie.

Fiecare stagiu proceseaza simultan diferite instructiuni astfel incat intregul rezultate este executarea completa a instructiunii in fiecare ciclu al ceasului. In mod obisnuit, intructiunile intr-un sistem de procesare tip conducta sunt instructiuni simple, usor de implementat in fiecare stagiu.

Microcontrolere cu arhitectura CISC sau RISC

Microcontrolere cu arhitectura CISC: cand un microcontroler are un set de instructiuni ce suporta mai multe moduri de adresare pentru intructiunile logice si aritmetice si pentru intructiunile de transfer de date si de acces de memorie, microcontrolerul are o arhitectura CISC. Aceasta arhitectura permite flexibilitate in alegerea multiplelor cai de a realiza operatii de aritmetica, transfer de date si nu numai. Instructiunile sunt un numar variabil de biti si pot avea diferiti timpi de executie.

Microcontrolere cu arhitectura RISC: Cand un microcontroler are un set de intructiuni ce suporta una sau doua moduri de adresare pentru intructiunile logice si aritmetice si cateva ( load, store, push si pop) pentru intructiunile de transfer de date, acel microcontroler are o arhitectura RISC. Aceasta arhitectura nu oferica nici o flexibilitate in alegerea multiplelor cai de a realiza operatii de aritmetica, transfer de data, etc.. Arhitectura RISC implementeaza fiecare intructiune intr-un singur ciclu folosind un control cablat distict la o cantitate mai mica de circuite rezultand la o mai mica putere de disipare datorita setului redus de instructiuni.

Microcontrolere cu arhitectura Harvard sau Van Neumann

Exista doua clase majori de arhitecturi de calculatoare si anume “Arhitectura Harvard” si arhitectura “Van Neumann (sau Princeton)”. [1]

Figura 1.4 Arhitectura Harvard Figura 1.5 Arhitectura Von Neumann

Arhitectura Harvard: Multe designuri speciale de microcontrolere si DSP folosesc arhitecturi Harvard.[1]

Arhitecturile Harvard (Figura 1.4) folosesc memorii separate pentru programe si date prin intermediul magistralelor de date si adreselor independente. Datorita celor doua cai de adrese si date diferite nu trebuie sa avem vreo forma de multiplexare divizionala de timp pentru adrese si magistrale de date. Arhitectura nu numai ca suporta magistrale paralele pentru adrese si date, dar si permite o organizare interna diferita, astfel instructiunile peor fi preaduse si decodate cat timp date multiple sunt aduse si prelucrate. Mai mult de atat, magistrala de date poate avea o dimensiune diferita fata de magistrala de adrese. Asta permite latimii optime de magistrala pentru magistralele de date sau adrese, olositor pentru executia rapida a instructiunilor.

Un exemplu de microcontrolere ce folosesc arhitectura Harvard este familia de microcontrolere MCS-51 de la Intel, ce are o arhitectura Harvard deoarece exista diferite spatii de memorie pentru program si date si magistrale separat pentru adrese si date. Similar, microcontrolerele PIC folosesc arhitectura Harvard.

Arhitectura Van Neumann (Princeton): In arhitectura Von Neumann, programele si data impart acelasi spatiu de memorie. In Figura 1.5 se poate observa arhitectura Von Neumann.

Arhitectura Von Neumann permite stocarea si modificarea usoara a programelor. Totusi, codul stocat nu este neaparat sa fie optim si necesita multiple aduceri din formularul instructiunilor. Aducerile de program si data sunt facute folosind multiplexarea divizionala, ce afecteaza performanta.

Un exemplu de microcontrolere ce folosesc arhitectura Von Neumann (Princeton) este microcontrolerul 68HC11 de la Motorola.

Setul de instructiuni

Setul de instructiuni este o caracteristica importanta al oricarei unitate centrala de procesare. Influenteaza marimea codului, ce reprezinta cat spatiu de memorie ocupa programul nostru.[2] Drept urmare, trebuie ales un microcontroller ale carui set de instructiuni se potriveste nevoilor specifice proiectului.

Caracteristicile setului de instructiuni care sunt importante pentru decizia de design sunt urmatoarele:

Dimensiunea Instrictiunii

Viteza de executie

Instructiunile disponibile

Modurile de adresare

Dimensiunea instructiunii: O instructiune contine in opcodul informatiei sale amandoua, operatia care trebuie executata si operanzii sai. In mod evident, o masinarie cu mai multe instructiuni diferite si moduri de adresare diferite necesita opcoduri mai lungi decat una care are nevoie de mai putine, drept urmare masinariile CISC tind sa aiba opcoduri mai lungi decat masinariile RISC.

Viteza de executie: Viteza de executie al unei instructiuni depinde de mai multi factori, fiind in mare parte influentata de complexitatea arhitecturii, drept urmare o masinarie CISC va folosi mai putine cicluri pentru executarea unei instructiuni decat una RISC. De asemenea aceasta depinde de frecventa de oscilatie, ce da viteza absoluta, si de dimensiunea cuvintelor ale masinariei.

Instructiunile disponibile: Natura instructiunilor disponibile este un criteriu important in alegerea microcontrolerului, acestea fiind impartite in mai multe clase:

Instructiuni aritmetico-logice

Transferul de date

Instructiunile de control

Fluxul programului

Modurile de adresare: Cand se foloseste o instructiune aritmetica, programatorul aplicatiei trebuie sa specifice operanzii expliciti ai instructiunii, Operanzi trebuie sa fie constanti. Drept urmare procesorul trebuie sa ofere moduri de a specifica tipul de operand. Cat timp fiecare procesor permite specificarea acestor tipuri de operanzi, accesul la locatii de memorii poate fi facut in mai multe feluri in functie de ce este necesar. Drept urmare numarul si tipurile de moduri de adresare este o caracteristica importanta a oricarui procesor.

Memoria

Principalul rol al memoriei este de a interactiona cu CPU, aceasta putand accesa instructiuni si date prin intermediul memoriei. [2] Drept urmare, o disctinctie evidenta a tipurilor de memorie s-a facut in functie de functiile indeplinite:

Fisierul Registru: De regula o memorie de mica dimensiuni integrata pe Unitatea Centrala de Procesare. Este folosit ca scrachpad pentru depozitare temporara a valorilor cu care lucreaza Unitatea Centrala de Procesare.

Memoria de date: Pentru stocare de termen lung, CPU generice folosesc de regula o memorie externa ce este mult mai mare fata de fisierul registru. Datele sunt stocate aici pot fi folosite putin timp sau pe intreaga durata de functionare a CPU.

Memoria de instructiuni: Ca si memoria de date, aceasta memorie este o memorie externa de dimensiuni relativ mari. Pentru arhitecturile Von Neumann ele pot fi acelasi lucru cu memoria fizica, la fel si memoria de date.

Acestea sunt cele mai proeminente intrebuintari din si din jurul Unitatilor Centrale de Procesare, care din perspectiva unui programator au o caracteristica logica, dar designeri de placute privesc memoria din perspectiva proprietatilor fizice ale componentei electronice din care este facuta memoria, ajungand la o distinctie diferita de tipuri de memorie, dintre care cele mai cunoscute sunt memoria volatila si cea nevolatila.

Memoria Volatila: Memoria volatila retine continutul sau doar cat timp sistemul este pornit. Spre deosebire de memoria nevolatila acesta are o viteza de lucru mult mai mare, se lucreaza mai usor cu ea si este mai ieftina de realizat. Un alt avantaj este timpul de acces care pentru memoria volatila este de ordinul nanosecundelor, cat timp memoria nevolatila este neaccesibila pentru milisecunde, dupa scrierea unui singur bit. Tipuri de memorie volatila includ SRAM (Static Random Access Memory) si DRAM (Dynamic Random Access Memory)

Memoria Nevolatila: Memoria nevolatila prezinta un avantaj fata de memoria volatila, acela ca isi poate retine continutul chiar daca este oprita puterea. Acest avantaj vine si cu un pret, scrierea tipurilor de memorii nevolatile este de regula mult mai inceata si mai costisitoare. Tipuri de memorie nevolatila includ ROM (Read Only Memory), PROM (Programmable Read Only Memory), Flash, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), NVRAM ( Non-Volatile Random Access Memory).

Intrare/Iesire digital si analogic

Intrare/Iesire (I/O) digital: Termenul de I/O digital reprezinta la modul general abilitatea directa de monitorzare si control al hardwareului si reprezinta caracteristica principala a microcontrolerelor. In consecinta, practic toate microcontrolerele au cel putin 1-2 pini I/O digital ce pot fi direct conectati la hardware. In general se pot intampina intre 8 si 32 de pini pe majoritatea microcontrolerelor.

Pinii I/O sunt ingeneral grupati in porturi de 8 pini, ce pot fi accesati cu un singur bit de acces. Pinii pot fi doar pentru intrare, doar pentru iesire sau, cel mai des, bidirectionali, adica capabili sa actioneze atat ca intrare cat si ca iesire.

In ceea ce priveste Intrare/Iesire digital exista trei registre de comportament al pinilor:

Registrul Directiei Datelor (DDR): Fiecare port are propriul DDR, ce contine un bit pentru fiecare pin din port. Functionalitatea pinului este determinata de eliberarea sau setarea bitului in DDR.

Registrul Port: Acest registru este folosit pentru controlul voltajului al pinilor de iesire.

Registrul Intrarii Portului(PIN): Registrul PIN este in general “de citit” si contine starea curenta a tuturor pinilor, fie ca sunt configurati pentru intrare sau pentru iesire.

Intrare/Iesire (I/O) analog: Microcontrolerul este in natura lui un dispozitiv digital, generand astfel nevoia de a converti semnalul digital in semnal analog si viceversa. Aceasta problema este solutionata de modulul Analog al microcontrolerului. [2]

Intrarile analog pot masura si stoca informatie analogica precum semnale electrice de la traductoare, traductoarele deriva semnalele electrice de la ratele de flux, temperaturi, presiuni, rotatii si nivel de lichide. Modului intrarilor analog ia un semnal din portul hardware, il scaleaza si face disponibil rezultatul scalarii in registrul sau de iesire.

Iesirile analog permit controlul dispozitivelor externe prin trimiterea unui curent sau voltaj specific ce este proportional cu punctul susrsa. Modulul iesirilor analog ia o valoare de intrare si o scaleaza la valori corespunzatoare pentru iesirea catre un port hardware analog. De asemenea, ofera si valoarea scalata ca registru de iesire pentru a putea fi accesat de alte module.

Intreruperi

Microcontrolerele tind sa fie instalate in sisteme ce trebuie sa reactioneze la diferite evenimente. Evenimentele reprezinta schimbarile starilor in sistemul controlat si in general necesita o reactie din partea microcontrolerului. Aceste reactii pot reprezenta de la un raspuns simplu, precum incrementarea contorului, pana la masuri critice temporale, spre exemplu intreruperea sistemului daca cineva intervine in zona de lucru a masinariei.

O solutie simpla pentru rezolvarea acestei probleme este de a efectua sondaje la semnalul de intrare si a verifica periodic pentru schimbari in stare. Aceasta solutie poate intimpina diferite probleme, spre exemplu ratarea unei fluctuatii in semnalul de intrare sau ratarea unei schimbari de stare.

Microcontrolerul in sine ofera o varianta eficienta pentru solutionarea acestui caz sub forma de intreruperi. In acest caz, microcontrolerul sondeaza semnalul si intrerupe programul principal doar daca exista o schimbare de stare. Cat timp nu este nici o schimbare de stare microcontrolerul executa programul fara a tine cont de evenimente. In momentul in care apare un eveniment microcontrolerul apeleaza la o rutina de intrerupere servicii (ISR) ce se ocupa de eveniment. Aceasta rutina este oferita aplicatiei de programator.

Controlul intreruperilor: Principala interfata pentru intreruperea logica a microcontrolerelor este formata din 2 biti:

Bitul Permite Intreruperi (IE) este setat de programatorul aplicatiei pentru a indica, cand controlerul trebuie sa apeleze la o rutina de intrerupere servicii, drept reactie la un eveniment.

Bitul Steag Intreruperi (IF) este setat de microcontroler oricand apare un eveniment si este automat sters la intrarea in rutina de intrerupere servicii sau manual de programator.

Pe scurt, Bitul Permite Intreruperi arata cand este indeplinita conditia de intrerupere, iar bitul Steag Intrerupere permite intreruperii in sine sa se creeze.

Temporizator

Temporizatorul este o parte importanta a oricarui microcontroler, majoritatea microcontrolerelor oferind unul sau mai multe temporizatoare cu rezolutii de 8 si/sau 16 biti. [2]

Temporizatorul, in sine, este un contor. Temporizatoarele sunt folosite pentru o gama larga de sarcini, de la simple intarzieri la masurarea perioadelor. Cea mai elementara intrebuintare a temporizatoarelor este de contor, dar temporizatoarele permit in general stantarea temporala a evenimentelor externe, folositor pentru provocarea intreruperilor la anumite cicluri de ceas sau chiar pentru a genera semnale modulate pentru controlul unui motor.

Fiecare temporizator este in esenta un contor ce poate fi incrementat sau decrementat la fiecare miscare a ceasului. Directia incrementarii sau decrementarii a contorului este fie fixa, fie configurabila. Valoarea curent de contorizare poate fi citita printr-un registru contor si poate fi setata de utilizator la o valoare specifica. Pentru o rezolutie a temporizatorului de n, valoarea contorului poate fi intre [0, 2n − 1]. Trebuie avut grija ca lungimea temporizatorului sa nu depaseasca lungimea cuvintelor microcontrolerului, spre exemplu folosirea unui temporizator de 16 biti pe un microcontroler de 8 biti.

Temporizatoarele pot in general sa produca intreruperi oricand au supraincarcare a valorii contorului. Acest lucru poate fi implementat intr-un semnal periodic rudimentar, setand valoarea contorului la o valoare de start data si asteptand supraincarcarea.

In modul Ceas de Sistem (Ceas Intern), temporizatorul este incrementat la fiecare bataie a ceasului sistemului. Acest este modul de functionare implicit. Termenul de “Intern” se refera la fapul ca aceasta este sursa care o foloseste tot microcontrolerul. Oscilatorul pentru acesta poate fi la fel de bine folosit si extern.

Atmel AVR ATmega32U4

Microcontrolerul ales pentru realizarea acestui proiect este Atmel AVR ATmega32U4. Executand instructiuni puternice intr-un singur ciclu de ceas, acest dispozitiv ajunge la transferuri de aproape 1MIPS pe MHz, permitandu-i sa optimizeze consumul de putere versus viteza de procesare, facandu-l alegerea ideala pentru dispozitivul nostru. [5]

Figura 1.6 Microcontroler ATMEL AVR ATmega32U4

In urmatoarele capitole v-om discuta despre specificatiile si caracteristicile microcontrolerului Atmel AVR ATmega32U4, prezentarea diagramei bloc si configuratia si descrierea pinilor mocrocontrolerului.

Caracteristici

Microcontrolerul Atmel AVR ATmega32U4 este un microcontroler de 8 biti tip CMOS cu un consum redus de putere bazat pe arhitectura imbunatatita AVR de tip RISC. Executand instructiuni puternice intr-un singur ciclu de ceas. [5]

Microcontrolerul Atmel AVR ATmega32U4 are urmatoarele specificatii si caracteristici:

Microcontroler de performanta ridicata si putere mica, de tip AVR 8 biti

Arhitectura RISC avansata

135 de instructiuni puternice, cele mai multe executii intr-un singur ciclu de ceas

32 x 8 Registre de lucru cu scop general

Operatiuni complet statice

Multiplicatoare cu 2 cicluri pe chip

Memorii de program si date nevolatile

32kB de Flash programabil in interior

2.5kB de SRAM intern

1kB de EEPROM intern

Cicluri de scris/sters: 10.000 Flash/100.000 EEPROM

Retentie de date: 20 de ani la 85˚C/ 100 de ani la 25˚C

Sectiune optionala de butare cod cu biti de inchidere independenti

Inchidere programare pentru securitatea softwareului

Interfata JTAG

Capabilitati de scanare granita conforme cu standardul JTAG

Suport extins pentru depanare pe chip

Programare de Flash, EEPROM, sigurante si biti de inchidere prin interfata JTAG

USB 2.0 cu intrerupere la terminarea transferului

In conformitate cu Specificariile USB Rev 2.0

Suporta rate de transfer de date de pana la 12Mbit/s

6 puncte de sfarsit programabile cu directii IN sau OUT si cu transferuri in masa, intrerupte si izocronice

Suspendare/Reluare intreruperi

Posibilitatea resetarii Unitatii Centrale de Procesare pe detectia resetarii a magistralei USB

Conectare/Deconectare a magistralei USB la cererea microcontrolerului

Pentru modul de viteza redusa functionare fara cristale

Caracteristici periferice

Doua temporizatoare/contoare de 16 biti cu prescalare separata, mod de captura si comparare

Un temporizator/contor de viteza inalta de 10 biti cu PLL la 64MHz si mod de comparare

Patru canale PWM de 8 biti

Patru canale PWM cu rezolutie programabila de la 2 la 16 biti

Sase canale PWM pentru operatiuni de viteza inalta cu rezolutie programabila intre 2 si 11 biti

Modulator de comparare iesire

Interfata serial Master/Slave

Interfata serial tip 2 fire bit orientat

Comparator analog pe chip

Intrerupere sau trezire la schimbarea pinului

Sensor de temperatura pe chip

Caracteristici speciale ale microcontrolerului

Detectie de resetare la pornire si maronire programabila

Oscilator intern calibrat de 8MHz

Surse de intrerupere interna si externa

6 module de hibernare: inactic, Reducere de zgomot, salvare de putere, in asteptare si asteptare extinsa

Intrari/iesiri si pachete

Toate I/O combina iesirile CMOS si intrarile LVTTL

26 de linii I/O programabile

Voltaje de functionare

2.7 – 5.5V

Temperatura de functionare

Industiala (de la -40˚C pana la +85˚C)

Frecventa maxima

8 Mhz la 2.7V

16 Mhz la 4.5V

Diagrama bloc

Asa cum se poate observa in Figura 1.7 Miezul AVR combina un set bogat de instructiuni cu 32 de registre de lucru cu scop general. Toate cele 32 de registre sunt conectate direct la Unitatea de Logica Aritmetica (ALU), permitand ca doua registre independente sa fie accesate intr-o singura instructiune, executata instr-un singur ciclu de ceas. Arhitectura rezultate este mai eficienta din punct de vedere al codarii, obtinand transferuri de pana la 10 ori mai mult decat microcontrolerele conventionale cu arhitectura CISC. [5]

Figura 1.7 Schema Bloc Atmel AVR ATmega32U4

Dispozitivul este manufacturat folosind tehnologia Atmel® de memorie nevolatila de inalta densitate. Flashul ISP de pe chip permite memoriei programului sa fie reprogramata in sistem prin intermediul unei intefete serial SPI de catre un programator al memoriei nevolatila conventionala. Combinand Unitatea Centrala de Procesare de 8 biti, cu arhitectura RISC, cu Flasul autoprogramabil in sistem pe un chip monolitic, dispozitivul este un microcontroler puternic ce ofera flexibilitate ridicata, solutii de cost eficienta pentru multe applicatii de control integrate.

Atmel AVR ATmega32U4 este suportat de o suita mare de programe si unelte de dezvoltare de sistem precum: Compilatoare C, macro asemblere, simulatoare/depanatoare de program, emulatoare in circuit si kituri de evaluare.

Configuratia si descrierea pinilor

Figura 1.8 Configuratia Pinilor

Descrierea Pinilor

VCC – Furnizarea de voltaj digitala

GND – Inpamantare

Port B (PB7…PB0) – Portul B este un port Intrare/Iesire de 8 biti bidirectional cu rezistente interne de tip pull-up. Tampoanele iesirilor portului B au caraceristici de drive simetrice. Ca iesiri, pinii porturilor B ce sunt extern trase in jos vor deveni surse de curent daca rezistentele pull-up sunt activate. Are capabilitati mai bune conductoare decat celelalte porturi

Port C (PC7, PC6) – Portul C este un port I/O de 8 biti bidirectional cu rezistente interne de tip pull-up. Tampoanele iesirilor portului C au caraceristici de drive simetrice. Ca iesiri, pinii porturilor C ce sunt extern trase in jos vor deveni surse de curent daca rezistentele pull-up sunt activate. Doar pini 6 si 7 sunt prezenti pe pinoutul produsului.

Port D (PD7…PD0) – Portul D este un port I/O de 8 biti bidirectional cu rezistente interne de tip pull-up. Tampoanele iesirilor portului D au caraceristici de drive simetrice. Ca iesiri, pinii porturilor D ce sunt extern trase in jos vor deveni surse de curent daca rezistentele pull-up sunt activate.

Port E (PE7, PE6) – Portul E este un port I/O de 8 biti bidirectional cu rezistente interne de tip pull-up. Tampoanele iesirilor portului E au caraceristici de drive simetrice. Ca iesiri, pinii porturilor E ce sunt extern trase in jos vor deveni surse de curent daca rezistentele pull-up sunt activate. Doar pini 2 si 6 sunt prezenti pe pinoutul produsului.

Port F (PF7..PF4, PF1,PF0) – Protul F serveste ca intrare analog pentru Convertorul analog/digital. Daca nu sunt folosite canalele convertorului analog/digital, portul F devine un port I/O de 8 biti bidirectional cu rezistente interne de tip pull-up. Tampoanele iesirilor portului F au caraceristici de drive simetrice. Ca iesiri, pinii porturilor F ce sunt extern trase in jos vor deveni surse de curent daca rezistentele pull-up sunt activate. Doar pini 2 si 3 sunt prezenti pe pinoutul produsului. Portul F serveste si ca funtie a interfetei JTAG.

D- – Port de urcare al datelor negative ale USB de viteza inalta sau joasa. Trebuie conectat la pinul D- USB printr-o rezistenta serie de 22

D+ – Port de urcare al datelor pozitive ale USB de viteza inalta sau joasa. Trebuie conectat la pinul D+ USB printr-o rezistenta serie de 22

UGND – Impamantarea tampoanelor USB

UVCC – Furnizorul de voltaj de intrare al regulatoarelor interne ale tampoanelor USB

UCAP – Furnizorul de voltaj de intrare al regulatoarelor interne ale tampoanelor USB. Trebuie conectat la un condensator extern de 1µF

XTAL 1 – Intrarea amplificatorului inversat al oscilatorului si intrare pentru circuitul operational al ceasului intern

XTAL 2 – Iesirea aplificatorului inversat al oscilatorului

AVCC – AVCC este pinul de intrare pentru furnizarea tensiunii pentru toate canalele convertorului analog/digital. Daca nu este folosit el trebuie conectat la un Vcc extern

AREF – Acesta este pinul de referinta analog de intrare pentru convertorul analog/digital

VBUS – magistrala video a intrari monitorului al USB

Arduino Leonardo ETH

Pentru a porni o discutie pe baza placii cu cablaj (sau circuit) imprimat folosita, adica Arduino Leonardo ETH, inainte trebuie sa definim notiunea de placa cu cablaj imprimat si notiunea de Arduino.

Figura 2.1 Placa Arduino Leonardo ETH

Definitii si concepte

Placa cu cablaj imprimat: O placa cu cablaj imprimat numita si placa cu circuit imprimat, prescurtat PCB (printed circuit board), suporta mecanic si conecteaza electric componentele electronice, folosind trasee conductive, tampoane si alte optiuni obtinute prin laminarea unoi foi de cupru pe un substrat non conductiv.[7]

Placutele cu circuit imprimat pot fi de mai multe feluri, cu o singura fata, adica un strat de cupru, cu doua fete, adica doua straturi de curpru, sau cu multi-strat, mai multe straturi interioare si exterioare. Placutele multi-strat permit o densitate de componente mult mai mare. Conductorii de pe diferite straturi sunt conectati prin intermediul unor gauri placate numite vias. Placi avansate pot contine condensatoare, rezistente, dispozitive active, integrate in substrat.

Figura 2.2 Placa cu cablaj Imprimat

Exista multiple avantaje pentru folosirea unei placute cu circuit imprimat in loc de metode de cablaj de interconectare sau tehnici de montare ale componentelor [8]. Dintre aceste avantaje amintim urmatoarele:

Marimea ansamblului componentelor este redusa, drept urmare si greutatea ansamblului este redusa

Cantitatea de productie poate fi realizata la un cost mai mic per unitatea de produs

Asamblarea si cablarea poate fi automatizata, eliminand greselile de natura umana

Caracteristicile circuitului pot fi mentinute fara a introduce o variatie capacitiva in circuit

Asigura un nivel ridicat de repetabilitate si uniformitate al caracteristicilor electrice de la asamblare la asamblare

Locatia componentelor este fixa, usurand identificarea si mentenanta sistemelor si echipamentelor tehnologice

Timpul de inspectie al echipamentului este redus, imprimarea circuitelor electrice scazand probabilitatea unei erori de cablare

Sansele cablarii gresite sau de scurtcircuitare sunt minimizate datorita usurintei de cablare

Arduino: Arduino este o unealta open-source folosita pentru constructia proiectelor electronice. Arduino este constituit dintr-o placa cu circuite fizica programabila (deseori numita si microcontroler) si un mediu de dezvoltare sau IDE (Integrated Development Enviroment), adica un Mediu Integrat de Dezvoltare, ce ruleaza pe calculator si este folosit pentru a scrie si incarca coduri de calculator pe placa in sine. [9]

Placutele Arduino sunt capabile sa citeasca intrari, precum detectarea apasarii unui buton, detectarea luminii intr-un senzor, detectarea unui mesaj, si sa le transforme in iesiri, pornirea unui motor, aprinderea unui led, publicarea a ceva online. Toate acestea sunt definite de setul de instructiuni programat in softwareul Arduino. Datorita simplitatii si accesibilitatii utilizarii placutei Arduino, aceasta a fost folosita in mii de proiecte si aplicatii diferite. Softwareul arduino este usor de folosit pentru incepatori, dar suficient de flexibil pentru a acomoda nevoile utilizatorilor avansati. [10]

Arduino simplifica intregul process de lucru cu microcontrolere, oferind anumite avantaje profesorilor, studentilor si amantorilor interesati, avand urmatoarele beneficii:

Cost redus – Placutele Arduino au un cost relativ redus fata de alte platforme de microcontrolere. Cea mai ieftina vatianta a modulului Arduino putand fi asamblata de mana, ajutand la intelegerea intregului proces de functionare, iar modulele pre-asamblate de Arduino costa pana in 250 Ron.

Multiplatforma – Softwareul Arduino ruleaza pe Windows, Macintosh OSX si sisteme de operare Linux, cat timp majoritatea sistemelor de microcontrolere ruleaza doar pe Windows.

Mediu de programare simplu si clar – . Datorita simplitatii si accesibilitatii utilizarii placutei Arduino, aceasta a fost folosita in mii de proiecte si aplicatii diferite. Softwareul arduino este usor de folosit pentru incepatori, dar suficient de flexibil pentru a acomoda nevoile utilizatorilor avansati.

Software extensibil open source – Softwareul Arduiono este publicat ca unealta open source, disponibil ca extensie pentru programatori experimentati. Limbajul poate fi extins prin librari C++.

Hardware extensibil open source – Planurile pentru placutele Arduino sunt publicate sub Licenta Creatiei Comuna, asa ca designeri experimentati de placute isi pot crea propria versiune a modulului, putand sa o extinda si sa o imbunatateasca. Pana si Utilizatorii amatori pot crea cea mai simpla varianta a placii pentru a intelege cum functioneaza si pentru a salva bani.

Specificatii si caracteristici Arduino Leonardo ETH

Prezentare generala

Arduino Leonardo ETH este o placa de microcontroler bazate pe ATmega32U4 si pe noul Controler Integrat Ethernet W5500 TCP/IP. Are 20 de pini digitali de intrare/iesire, un oscilator de cristal de 16 Mhz, o conexiune de RJ45, un conector micro USB, un jack de intrare, un header ICSP si un buton de resetare. Contine tot ce este necesar pentru functionarea unui microcontroler.

Leonardo ETH difera de placile Ethernet prin faptul ca ATmega32U4 are comunicare USB intrinseca, eliminand nevoia unui convertor de serial extern, permitandu-I sa apara conectat la computer ca mouse sau tastatura, aditional portului virtual serial sau COM.

Placa are un cititor de carduri microSD ce poate fi folosit pentru stocarea fisierelor. Pinul 10 este rezervat pentru interfata Wiznet, SS pentru cardul SD este pe pinul 4. [11]

Sumar

Microcontroler – ATmega32U4

Voltaj de operare – 5v

Intrare in priza de voltaj (recomandat) – 7-12V

Intrare in priza de voltaj (limite) – 6 -20V

Intrare in PoE de voltaj (limite) – 36 – 57 V

Pini digitali intrare/iesire – 20 pini

Canale PWM – 7 canale

Pini Arduino rezervati – 4 pini folositi pentru selectia cardului SD

10 pini folositi pentru selectia W5500

Pini intrare analog – 12 pini

Curent direct per pin I/O – 40 mA

Curent direct per pin 3.3V – 1A

Memorie Flash – 32 KB

SRAM – 2.5 KB

EEPROM – 1 KB

Viteza ceas – 16 MHz

Controlor integrat Ethernet W5500 TCP/IP

Card micro SD cu translator de voltaj activ

Putere

Aceasta placa poate fi alimentata printr-o sursa externa de putere, printr-un modul PoE optional sau folosind o conexiune micro SD.

Puterea externa (non USB) poate proveni de la un adaptor AC-DC sau de la baterie. Adaptorul de putere poate fi folosind introducand in jackul de putere cu centru positiv de 2.1mm

Fire de la o baterie pot fi introduse in pinii de impamantare si Vin ai conectorilor de putere.

Placuta poate functiona cu o sursa externa de la 6 la 20 V, dar este recomandata o tensiune intre 7 si 12 V, pentru a evita defectarea placutei prin supraincalzire la tensiune ridicata.

VIN – Intrarea de tensiune la placa Arduino cat timp se foloseste o sursa externa de putere. Se poate introduce o sursa prin aces pin sau daca este aplicata tensiune pe jackul de putere, se poate accesa prin acest pin

5V – Pinul de iesire de 5V de la regulatorul placutei. Placa poate fi alimentata cu putere fie de la jackul de putere DC, de la conectorul USB sau de la pinul VIN al placutei.

3V3 – Tensiune de 3.3 V generata de regulatorul placutei, cu o intensitate maxima de 50mA

GND – Pini de impamantare

IOREF – Acest pin de pe placa Arduino furnizeaza tensiunea de referinta la care functioneaza microcontrolerul

Memorie

Microcontrolerul ATmega32U4 are o memorie de 32KB, 2.5 KB de SRAM si 1KB de EEPROM (ce poate fi citita si scrisa cu ajutorul librariilor EEPROM)

Intrari si Iesiri

Fiecare din cei 14 pini digitali ai placutei Leonardo ETH poate fi folosit ca intrare sau iesire, folosind functiile pinMode(), digitalWrite() si digitalRead(). Fiecare poate furniza sau primi maxim 40 mA si au rezistente pull-up interne de 20-50 kOhmi.

Anumiti pini au functii specializate:

Serial: Pinul 0 si 1 sunt folosite pentru a primi si transmite date serial de tip TTL folosind capabilitatile de hardware serial ale microcontrolerului

Intreruperi externe: Cei patru pini pot fi configurati pentru a intrerupe la o valoare mica, la cresteri sau scaderi de semnal sau la schimbarea unei valori.

PWM: Pinii 3, 5, 6, 9, 10, 11 si 13 ofera iesire PWM de 8 biti prin functia analogWrite().

SPI: Acesti pini asigura suport pentru comunicatiile SPI folosind librariile SPI.

LED: Exista un conectat pe pinul digital 13, la valoare High pinul este pornit, la valoare LOW pinul este oprit

Intrari Analog: A0 – A5, A6- A11 (pe pinii digitali 4, 6, 8, 9, 10, 12) Leonardo ETH are 12 intrari analog, ce pot fi folosite ca intrare/iesire digitala. Fiecare intrare analog ofera 10 biti de rezolutie. Fiecare intrare analog masoara de la masa o tensiune de 5V, dar este posibila schimbarea acestei valori folosind pinul AREF.

AREF: Tensiune de referinta pentru intrarile Analog

RESET: Daca se pune pe LOW se poate reseta microcontrolerul

Comunicatii

Placa Arduino Leonardo ETH prezinta mai multe facilitati pentru comunicarea cu un calculator, un alt Arduino sau alte microcontrolere/

Microcontrolerul ATmega32U4 asigura comunicatii de 5V de tip UART TTL, disponibil pe pini 1 (TX) si pinul 0 (RX). De asemenea permite comunicatii serial si prin USB, aparand ca un port de comunicatii pe calculator. Acest chip actioneaza ca dispozitiv USB 2.0 folosind driverele standard de comunicatie USB. Softwareul Arduino include monitorizare ce permit trimiterea si primirea de date simple in format text. Ledurile pinilor 0 si 1 se vor aprinde in momentul in care sunt transmise date prin intermediul USB.

O librarie de software serial permite comunicarea serial cu oricare din pini digitali ai placutei Leonardu ETH.

Placa Arduino Leonardo ETH apare ca o tastatura sau un mouse, generic, putand fi programat sa controleze dispozitivele de intrare folosind clase de tastatura sau mouse.

De asemenea, placuta este conectata la o retea de internet prin Ethernet. Cand se conecteaza la o retea trebuie furnizata o adresa IP si o adresa MAC, fiind suportata si libraria Ethernet. Cititorul de carduri SD poate fi folosit accesand librariile SD.

Programare

Leonardo ETH poate fi programat cu ajutorul softwareului Arduino.

Microcontrolerul ATmega32U4 de pe placuta Leonardo ETH vine cu un bootloader pre scris pe acesta ce permite incarcarea unui nou cod fara a folosi un programator de hardware extern. El comunica folosind protocolul AVR109.

Se poate ocoli bootloaderul pentru a programa microcontrollerul prin ICSP folosind Arduino ISP sau programe similare.

Resetare automata

In loc sa se apese butonul de resetare inainte de uploadare, placuta Leonardo ETH este conceputa de asa maniera incat permite resetarea de software ce ruleaza pe calculatorul conectat. Resetarea este automat declansata cand portul de comunicatii al placutei este deschis la 1200 baud si apoi inchis. Cand acest lucru se intampla este resetat procesorul, intrerupand conexiunea USB. Dupa ce procesorul este resetat, porneste programul bootloader, ramanand activ pentru circa 8 secunde. Cand este prima data pornita, placuta deschide automat schita utilizatorului in loc sa deschida bootloaderul.

Datorita modului in care gestioneaza resetarea, cel mai bun lucru de facut este sa lasam softwareul sa initializeze resetarea inainte de urcarea programului. Daca softwareul nu poate reseta placuta se poate porni oricand bootloaderul apasand butonul de resetare de pe placuta.

Protectia USB de supraalimentare

Arduino Leonardo ETH are o polisiguranta resetabila ce protejeaza porturile USB de supraalimentare sau scurtcircuit. Desi majoritatea calculatoarelor au protectia lor interna, siguranta ofera un strat suplimentar de protectie. Daca sunt aplicati pe portul USB mai mult de 500 mA, siguranta va opri automat conexiunea pana cand este inlaturat scurtcircuitul sau supraincarcarea.

Caracteristici Fizice

Lungimea si latimea maxima pentru placuta cu circuit imprimat Arduino Leonardo ETH este de 2.7 inch (6.858 cm), respectiv 2.1 inch (5.334 cm), cu un conector RJ45 si un jack de putere ce se intind peste dimensiunile mai sus discutate. Patru gauri de surub permit atasarea placutei de orice suprafata. Distanta dintre pinii digitali 7 si 8 este de 0.4 cm.

5. Plan de afaceri

Sinteza planului

Scopul planului de afaceri

Planul de afaceri are rolul de a stabili un fundament, printr-o analiza a mediului si oamenilor din societatea in care demareaza proiectul, pe baza caruia poate porni o afacere.

Afacerea in sine, se va ocupa cu productia si distributia Dispozitivului de hrănire al animalelor de companie acționat prin Internet , lucru ce determina o analiza economica a pietei pentru stabilirea costurilor de productie si distributie, inclusiv costurile de salarizare, infiintare afacere, etc., pentru a determina profitabilitatea si rentabilitatea unei afaceri cu aceasta activitate.

Oportunitatea afacerii

Populatia Romaniei, la data de 1 iulie 2015, conform datelor publicate de Institutul National de Statistica, era estimata la 19.536.648 de locuitori [12], cat timp numarul animalelor de companie se situeaza la aproximativ 11.5 milioane de animale de companie, din care se estimeaza circa 1-1,5 milioane de animale fara stapan. Putem observa ca aproximativ 1 roman din 2 detine un animal de companie.

Conform unui studiu efectuat de “Ziarul Financiar”, bazat pe cifrele publicate de Euromonitor, in 2013, “Românii cheltuie 170 de milioane de euro pe hrana și îngrijirea animalelor de companie”. [13].

Avand in vedere aceste informatii, putem constata ca un roman cheltuia lunar, in 2013, aproximativ 100 Ron per animal de companie, cu o piata in continua crestere putem aproxima pentru usurinta studiului aceeasi suma de bani pentru ingrijirea si hranirea animalelor de companie.

Gradul de munca si responsabilitati ale unui membru al oricarei societatii a crescut considerabil in ultimii ani, generand astfel impedimente in realizarea celor mai simple sarcini precum hranirea animalelor de companie.

Avand in vedere aceste aspecte, dezvoltarea unui produs care are ca rol usurarea sarcinii de hranire a animalelor poate fi dezvoltat in conditii prielnice, existand atat putere de achizitie, cat si nevoia pentru un asemenea dispozitiv. Dispozitive similare existand foarte putine, diversificarea ofertei va fi bine primita atat de utilizatorii finali, cat si de economia tarii prin creerea unor conditii prielnice de competitivitate.

Solutia oferita

Avand in vedere oportunitatea creata de conditiile de piata sus mentionate, putem spune ca o companie care produce si distribuie, atat la clienti finali, cat si la redistribuitori, este o oportunitate ce poate genera un profit satisfacator, prin intermediul unui produs ce satisface toate nevoie pietii.

Analiza mediului de afacere si propunerea afacerii

Intreprinderea se va incadra in sfera IMM-urilor (Intreprinderi mici si mijlocii) ce reprezinta unul dintre cele mai dezvoltate sectoare ale economiei romanesti.

Analiza macromediului

In continuare v-om ilustra prin intermediul unui tabel oportunitatile si riscurile la care se expune afacerea.

Tabel 5.1 Oportunitati si factori de risc

Descrierea afacerii

Compania

In scopul producerii si comercializarii produsului, se va deschide o intreprindere cu raspundere limitata, numita S.C. PET S.R.L., inregistrata la Registrul Comertului cu numarul J/40/5299/2015, cu codul de identitate fiscala sau cod unic de inregistrare: RO12341234 (Firma platitoare de TVA, cu scopul deducerii TVA-ului de la achizitiile de materiale, obligatoriu odata cu obtinerea statutului de IMM), cu sediul social la Aleea Valea lui Mihai, nr 1, Sector 6 Bucuresti.

Pentru productia dispozitivelor, depozitarea lor, a marfurilor aferente constructiei dispozitivelor si spatiile de birouri, firma v-a avea punct de lucru intr-un mic depozit din complexul Mirano situat pe Soseaua Progresului nr 90-100.

Firma S.C. Pet S.R.L. va avea capitalul social subscris și vărsat de 200 RON este împărțit în 20 părți sociale cu valoarea de 10 RON fiecare, varsat de asociatul unic, care este si administratorul afacerii.

Intreprinderea va avea obiectul principal al activitatii asa cum este mentionat in codul CAEN 4619 – Intermedieri in comertul cu produse diverse.

Produsul

Produsul oferit de companie odata cu lansarea acestuia consta intr-un Dispozitiv de hranire al animalelor de companie actionat prin internet, ce va avea ca scop usurarea procesului de hranire al animalelor de companie indiferent de situatia care creaza din acest lucru un discomfort, fie ca esti la munca si nu poti ajunge acasa, fie ca se doreste creerea unei diete a animalului, dresarea acestuia sau pur si simplu este vorba de un concediu, aceste lucruri se propun a se realiza printr-un dispozitiv usor de folosit si instalat, potrivit pentru nevoile fiecarui om.

Toate componentele v-or fi achizitionate direct de la producatori, atat externi cat si interni in functie de pretul si termenul de livrare al pieselor.

Pentru realizarea produsului avem nevoie de:

Un motor DC

Componente electronice (rezistente, diode, cabluri, tranzistoare)

– Fludor

– Clorura ferica

– Sursa de alimentare

– Placuta PCB

– Microcontroler

– Carcasa dispozitiv

– Sistem dozare

Pentru realizarea dispozitivului se v-or lipii piesele electoronice necesare pe placuta goala PCB, si se vor alimenta la sursa de alimentare. Se va lega motorasul de sistemul de dozare. Componentele le leaga la placa cu microcontrolerul apoi tot sistemul se monteaza inauntrul carcasei.

Evaluarea punctelor forte ale mediului de acțiune – Analiza SWOT

Tabelul 5.2 Analiza SWOT

Marketingul afacerii

Cercetarea de marketing

Se efectueaza o cercetare de marketing pentru a urmarii conditiile pietei ce contribuie la dezvoltarea afacerii. Pentru acest lucru trebuie urmatiti clientii, concurenta, strategiile curente de promovare si de devoltare.

Piața

Produsul se adreseaza oricarui impatimit al animalelor de companie, ce are nevoie de ajutor pentru hranirea la distanta a animalelor.

Clienți

Clientii sunt reprezentati de orice persoana care detine un animal de companie, ce nu poate fi tot timpul prezent pentru hranirea animalelor. Afacerea este de o dimensiune relativ redusa, prin urmare relatia cu clientii trebuie sa fie in permaneneta ingrijita. Fiind un domeniu sensibil, compania trebuie sa se investeasca cu cat de mult se poate in tot soiul de actiuni benefice pentru imaginea companiei, iar clientii trebuie constant pastrati atenti la ultimele dezvoltari ale produsului. Totodata se va crea o baza de date ce contine toate detaliile de contact ale clientilor, incluzand si zilele de nastere, cumparaturile efectuate, numarul de animale.

Prețul

Presupunand ca politica de plata in avans a furnizorilor de materiale genereaza un cost redus al materialelor si cantitatea tranzactionata de produse si vanzarile sunt mari, putem stabili un pret ridicat conform perioadei de “smantanire” de 650 Ron, urmand pentru perioada de penetrare sa se stabilizeze in zona 400-450 Ron. Din punct de vedere al strategiei de vanzare se va folosi un pret de “smantanire”, impreuna cu o campanie agresiva de promovare a produsului pe toate canalele media, urmand dupa primele 3 luni sa apelam la o campanie de penetrare a pietei prin folosirea de preturi competitive, atragand mai multi clienti. Acelasi proces se va repeta si pentru ulterioare modele ale dispozitivului.

Promovarea

Pentru promovare se va apela la canalele media, precum site-uri de socializare, site-uri de anunturi publicitare, campanii TV, se vor impartii pliante in diferite zone de aglomeratie constanta, se vor pune banere in zone des circulate, se vor discuta potentiale puncte de publicitate in zona si inauntrul cabinetelor veterinare si se va crea un site ce are ca rol evidentierea utilitatii si avantajele dispozitivului de hranire al animalelor de companie controlat prin Internet.

Distribuția

Produsul v-a fi distribuit in orice punct de desfacere specializat, in magazine si hypermarketuri, dar va exista si un punct de desfacere in cadrul companiei unde se va putea achizitiona produsul direct de la firma.

Managementul afacerii

Firma la inceput va fi manageriata si condusa de unicul asociat, admistratorul afacerii. Acesta se va ocupa de partea de design a produsului, de mentinerea relatiei cu furnizorii, achitarea datoriilor fata de stat si furnizori si de o parte din eforturile de vanzari ale produsului.

Contabilitatea primara va fi externalizata catre o institutie sau o persoana specializata in acest domeniu.

In primele luni de activitate firma v-a rula cu un echipaj “schelet”, folosind personalul necesar pentru dezvoltarea, productia, vanzarea si distributia produsului. Acesta va consta in:

Un programator pentru dezvoltare

O persoana pentru asamblarea produsului

Doua persoane pe vanzari

O persoana care se va ocupa de livrarea in zona Bucuresti-Ilfov (externalizandu-se printr-o firma de curierat pentru restul Romaniei)

Finantele afacerii

Cheltuieli infiintare firma [14]

Obținerea numelui firmei: 75 Ron

Plata capitalului social minim: 200 Ron

Taxa notarială pentru specimen de semnătură: 80 Ron

Taxa notarială pentru declarația de asociat: 130 Ron

Taxa de dosar plătită la ONRC: 500 Ron

Registru unic de control si registru de evidenta fiscala: 240 Ron

Total cheltuieli infiintare: 1225 Ron

Cheltuieli de inceput

Componente electronice:

Rezistente 0,1 Ron/Buc x 500 Buc = 50 Ron

Tranzistoare 0,6 Ron/Buc x 300 Buc = 180 Ron

Diode 0,1 Ron/Buc x 500 Buc = 50 Ron

Motoare DC 20 Ron/Buc x 50 Buc – 1000 Ron

Placuta PCB 3 Ron/Buc x 50 Buc – 150 Ron

Clorura Ferica si fludor – 3 Ron/Buc x 10 Buc – 30 Ron

Modele carcasa 10 Ron/Buc x 50 Buc – 500 Ron

Ciocan de lipit 150 Ron/Buc x 1 – 150 Ron

Placute cu microcontroler incorporat – 150 Ron/Buc x 50 Buc – 7500 Ron

Alimentatoare – 20 Ron/Buc x 50 Buc – 1000 Ron

Laptopuri – 2000 Ron/Buc x 3 Buc – 6000 Ron

Telefoane – 1000 Ron/Buc x 3 Buc – 3000 Ron

Casa de marcat – 500 Ron

Program de facturare si gestiune marfa – 300 Ron

Mobilier – 5000 Ron

Alte aparaturi – 5000 Ron

Masina pentru distributie – 20000 Ron/Buc x 1 Buc – 20000 Ron

Masini pentru vanzari – 10000 Ron/Buc x 2 Buc – 20000 Ron

Total cheltuieli inițiale = 65.410 Ron

Cheltuieli lunare

Cheltuieli cu salarii: 5 muncitori – 1500 Ron x 5 = 7500 Ron

Publicitate: 500 Ron

Cheltuieli cu spațiul: 3000 Ron

Alte cheltuieli (ex: abonamente telefonice, motorina, etc.): 2000 Ron

Total cheltuieli lunare = 13000 Ron

Realizarea unui produs costa aproximativ 250 Ron, iar pretul de vanzare de 650 de Ron, urmand sa ajunga la 450 Ron.

Venituri

Venitul total intr-o lună: 2buc/zi ∙ 30zile/lună ∙ 650lei/buc = 39000lei

Profitul brut pe lună: P = VT – CT/lună = 39000lei – 13000lei = 23000lei

Se pleaca de la premisa ca toate elementele sus mentionate exista, forta de vanzari este eficienta si se tine cont de riscul implicat de factorii exteriori ce pot influenta afacerea.

Putem concluziona ca ideea de afacere este profitabila, in contextul implementarii de succes a conceptului, ce este caracterizat de o serie de factori favorabili.

Concluzii

Scopul de lucrari de fata a fost creerea unui dispozitiv de hranire al animalelor de companie actionat prin internet, pentru a ajuta iubitorii de animale sa aiba grija de acestea si cand nu pot fi langa ele.

In primul rand, putem observa ca pe masura ce societatea se devolta, fiecare idivid devine progresiv mai ocupat, avand diferite responsabilitati. Acest lucru este un impediment pentru iubitorii de animale de compania, care nu au timp suficient pentru a isi realiza toate indatoririle, responsabilitatile sau peur si simplu pentru a se relaxa. Solutia acestei probleme o putem regasi prin intermediul Dispozitivului de hranire al animalelor de companie actionat prin internet.

Dispozitivul este usor de folosit, utilizator acestui aparat trebuie doar sa alimenteze dispozitivul in discutie la o sursa de curent si sa il conecteze la o o retea sau router wireless pentru a avea posibilitatea de acces la internet. Prin simpla apasare al unui click utilizatorul poate doza o anumite cantitate de hrana.

Modelul actual este un model simplificat, care are ca rol evidentierea procesului de functionare al intregului sistem, componentele de pe placuta de experiment (dioda, rezistenta tranzistorul) sunt aranjate sa actioneze ca un releu care da drumul curentului sa circule de la alimentator (baterie sau 16v prin alimentator) la motoras, pe care il invarte o perioada predefinita de timp.

Desigur, modelul acesta poate fi imbunatatit, incepand de la lucruri simple precum marirea perioadei de invartire cu ajutorul unui potentiometru sau instalarea unui modul de wireless pentru inlaturarea cablului de conexiune catre internet, pana la module de identificare a animalului de compania prin chipuri de radio-frecventa care sunt detectate de aparat odata cu aproprierea animalului de acesta si nu numai, ajutand la imbunatatirea interfetei dintre utilizatorul final si animalul sau de companie cu dispozitivul de hranire.

Bibliografie

[1] Ajay V. Deshmukh Microcontrollers, Theory and Applications; Editura Tata McGraw-Hill Company Limited; 2005

[2] Gunther Gridling, Bettina Weiss, Introduction to Microcontrollers, Vienna University of Technology, Institute of Computer Engineering, Embedded Computing Systems Group, Version 1.3, 2006

[3] Raj Kamal, Microcontrollers: Architecture, Programing, Interfacing and System Design, Editura Pearson Education Pte. Ltd, 2005

[4] Steven F. Barrett, Daniel J. Pack, Microcontrollers Fundamentals for Engineers and Scientists, Editura Morgan & Claypool Publishers, 2006

[5] http://www.atmel.com/devices/atmega32u4.aspx link accesat pe data de 28/06/2015

[6] http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf link accesat pe data de 28/06/2015

[7] https://en.wikipedia.org/wiki/Printed_electronics link accesat pe data de 14/07/2015

[8] R.S. Khandpur, Printed Circuit Boards: Design, Fabrication, Assembly and Testing, Editura Tata McGraw-Hill Company Limited; 2005

[9] http://www.arduino.org/index.php link accesat pe data de 15/07/2015

[10] https://www.arduino.cc/en/Guide/Introduction link accesat pe data de 15/07/2015

[11] http://www.arduino.org/products/arduino-leonardo-eth link accesat pe data de 20/07/2015

[12] https://demograffiti.wordpress.com/2015/08/10/populatia-romaniei-la-1-iulie-2015 link accesat pe data de 13/08/2015

[13] http://www.zf.ro/companii/retail-agrobusiness/romanii-cheltuie-170-de-milioane-de-euro-pe-hrana-si-ingrijirea-animalelor-de-companie-unu-din-doi-romani-are-caine-sau-pisica-11140562 link accesat pe data de 13/08/2015

[14] http://www.avocat-firme.info/costuri-infiintare-firma.html link accesat pe data de 27/08/2015

Similar Posts

  • Dispozitive de Strangere

    1.Dispozitive de strângere cu membrane elastică,cu strângere pe interior pe mașini de rectificat rotund: 1.1 Scurt istoric Din lipsa unor izvoare certe se poate presupune că dispozitivele au apărut simultan sau imediat după apariția sculelor,din necesitatea ca supus prelucării să i se asigure orientarea și menținerea acestei orientări în niște condiții determinate. Un salt revoluționar…

  • Consolidarea Serverelor din Centrele de Date Prin Virtualizarea cu Kvm

    CUPRINS Capitolul 1 Conceptul de virtualizare Introducere În ultimii ani, virtualizarea a câștigat popularitate în multe domenii diferite, cum ar fi consolidarea serverelor, securitatea informațiilor și cloud computing. Acest lucru se datorează în mare parte unei creșteri în performanța hardware-ului de aproximativ zece ori în ultimul deceniu și obiectivului de reducere a capitalului și costurile…

  • Notiunui Despre Explozivi

    1. NOȚIUNI DESPRE EXPLOZIVI Generalități Explozivii sunt acele substanțe care în urma unui impuls de inițiere (caloric, mecanic, electric sau chimic ) degajă energia necesară efectuării unui lucru mecanic. Energia potențială a pulberilor se transformă în energie cinetică a produșilor gazoși. Explozia este procesul de transformare izotermă de mare viteză cu formare de produși gazoși…

  • Sistem Alerta a Asistentelor In Spitale

    Proiect de diplomă Sistem alertă a asistentelor în spitale Cuprins Cap I. Prezentare generală a proiectului I.1 Motivația alegerii temei I.2. Prezentare generală sistem Cap II. Prezentare sistem II.1. Softul de interfațare a dispozitivului central cu Pc-ul II.2. Dispozitiv central II.2.1. Functionare II.2.2. Tastatura II.2.3. Modulul LCD II.2.4. Buzzer II.2.5. Comunicația serială II.2.6. FTDI II.2.7….

  • . Imbunatatirea Sistemului DE Iluminare AL Autovehiculelor

    CUPRINS Introducere………………………………………………………………………..pag 1 Prezentare generala……………………………………………………………….pag 4 Cap I Placa de dezvoltare HC12 Starter Kit…………………………………….pag 5 Microcontrolerul MC9S12C32……………………………………….…..pag 10 Cap II Interfata CAN……………………………………………………………pag 18 Implemantarea fizica a interfetei CAN………………………………………………pag 23 Cap III Modul telecomanda………………………………………………………………………..pag 28 Modul alimentare…………………………………………………………………………..pag 30 Cap IV Motoare de cc………………………………………………………………………………..pag 34 Controlul motoarelor………………………………………………………………………pag 36 Modul comanda motoare…………………………………………………………………pag 43 Cap V Modul senzori………………………………………………………………………………..pag 53…

  • Metodica Cercetarii Infractiunilor de Furt de Autovehicule

    LUCRARE DE LICENȚĂ METODICA CERCETĂRII INFRACȚIUNILOR DE FURT DE AUTOVEHICULE C U P R I N S INTRODUCERE CAPITOLUL I: FURTUL DE AUTOVEHICULE – INFRACȚIUNE CONTRA PATRIMONIULUI Infracțiuni contra patrimoniului Caracterizarea generală a infracțiunilor contra patrimoniului 1)Condiții preexistente 2)Conținutul constitutiv 3)Forme. Modalități. Sancțiuni 1.2 Infracțiunea de furt 1.2.1 Analiza infracțiunilor de furt a)Furtul 1)Conținutul legal…