Curs 1-5 PDF
Document Details
![CourtlyJasper9827](https://quizgecko.com/images/avatars/avatar-12.webp)
Uploaded by CourtlyJasper9827
Tags
Summary
This document is a collection of courses, likely lecture notes, on mechatronics and related topics. It covers concepts such as mechatronics, its components, and its evolution in technology. It also includes information about microcontrollers, their history and advantages, among other details.
Full Transcript
## CURS 1 - INTRODUCERE - Mecatronica - Conceptul de mecatronica s-a nascut in Japonia la inceputul deceniului al optulea al secolului trecut. Termenul in sine a fost brevetat de catre concernul Yaskawa Electric Co. si a fost utilizat pentru a descrie fuziunea tehnologica: mecanica - electronic...
## CURS 1 - INTRODUCERE - Mecatronica - Conceptul de mecatronica s-a nascut in Japonia la inceputul deceniului al optulea al secolului trecut. Termenul in sine a fost brevetat de catre concernul Yaskawa Electric Co. si a fost utilizat pentru a descrie fuziunea tehnologica: mecanica - electronica - informatica. [1] - Mecatronica este tehnologia mecanica ceruta de societatea informationala. In tehnologia traditionala, elementele de baza sunt materialul si energia, care sunt practic resurse limitate. In mecatronica, acestor doua elemente li se adauga informatia, o resursa infinita. [1] - Arhitectura unei masini inteligente - Sistemul de programare a sarcinilor - Controlerul secvential si de miscare - Amplificatorul de putere - Actuatorul - Mecanismele si transmisiile mecanice - Senzorii - Dispozitivul de conditionare a semnalelor - O componenta electronica controlata prin software - Dupa cum s-a prezentat anterior, microntrolerele sunt rezultatul integrarii domeniilor electronica si informatica. Astfel, ele pot fi analizate din doua puncte de vedere: - Prin prisma electronicii, un microcontroler este un circuit integrat, cu o arhitectura complexa, preponderent digital, cu un anumit numar de pini si ce se alimenteaza cu o tensiune electrica consumand un anumit curent electric. - Prin prisma informaticii, un microcontroler este o configuratie minimala de sistem de calcul, capabil sa execute la o viteza foarte mare instructiunile unui program stocat in memorie; acest program este o secventa logica de operatii ce poate implementa algoritmii necesari pentru controlul proceselor. - Notiuni generale - Multiple componente ale unui sistem cu microprocesor sunt incluse in acelasi circuit integrat: - Memoria RAM, ROM si EEPROM (pentru program si date) - Dispozitive periferice: timere, numărătoare, blocuri analogice, interfețe de comunicație și porturi de intrare-ieşire, etc. - Microcontrolerele sunt caracterizate prin: - dimensiune redusa a memoriei program și a memoriei de date; - conţin module pentru interfațarea atât digitală cât și analogică cu senzori și actuatori; - răspund rapid la evenimente externe; - gamă variată de aplicații; sunt folosite atât în mediul industrial cât și în produse de larg consum, de la sisteme din industria aerospatială până la telefoane mobile, cuptoare cu microunde și jucării. - Ceea ce deosebește fundamental un microcontroler de un circuit integrat analogic sau digital, este faptul că el nu poate face nimic dacă nu este programat. Programul software conferă abilitatea de a realiza funcții diferite cu aceeași configuraţie hardware. - Scrierea programului se realizează de obicei într-un editor ce permite salvarea liniilor de comandă introduse. Există mai multe opțiuni pentru scrierea programului de control al aplicației și anume: - cod mașină (cod hexadecimal) - limbaj de asamblare - limbaj de nivel înalt (C, Pascal, Basic etc) [1] Mătieş, V., Mândru, D., Bălan, R., Tătar, O., Rusu, C., 2001, Tehnologie şi educaţie mecatronică, Editura. Todesco, Cluj-Napoca ## CURS 2 - EVOLUŢIE ÎN TEHNOLOGIE - Evoluţia tehnologiei electronicii - Electronica implementată cablat - Electronica realizată programat - Avantajele microcontrolerelor în electronică - Studiu de caz - Multivibratorul astabil - Avantajele montajului cu microcontroler: - Mai puține componente (10 componente vs 5 componente); - PCB de dimensiuni mult reduse (implicit PCB mai ieftin); - Consum energetic scăzut; - Permite modificarea parametrilor funcționali fără achiziția de noi componente sau dezvoltarea unei noi versiuni (exemplu modificarea timpului); - Avantajele montajului cu tranzistori: - Preț mai mic (2,75 lei vs 3,40 lei); - Avantajele uC în electronică - Arduino Nano? - Care variantă e mai potrivită pentru producția de masă? Placa de dezvoltare Arduino Nano sau un PCB dedicat cu microcontroler ATTiny13? - Istoria microcontrolerului - 1971 - Intel 4004 - Primul microprocesor pe 4 biți, bazat pe o arhitectură propusă de Marcian „Ted" Hoff (MCS-4), circuit integrat proiectat de Federico Faggin, ambii de la Intel și Masatoshi Shima (de la Busicom Corp. Japan) care a asistat la dezvoltare. [1] - Chip-set-ul MCS-4 conține: 4001-ROM, 4002-RAM, 4003-Shift Register și 4004-CPU. - Microprocesor – Unitate centrală de procesare (CPU) într-un singur circuit integrat. CPU execută o secvență de instrucţiuni (programul) stocate într-o memorie, uzual în patru etape: FETCH (citire instrucţiune), DECODE (decodificare), EXECUTE (execuţie) și WRITE BACK (scriere rezultat). - 4004: tehnologie de 10µm (silicon pMOS) pe o plachetă de siliciu de 10 mm², având aprox. 2.300 tranzistori și o putere de procesare de 92.000 instrucțiuni pe secundă, putând rula la frecvența maximă de 1MHz. - Alte proiecte de CPU: Four-Phase System AL1 (1969), MP944 (1970) utilizat în F-14 Tomcat fighter jet și TMS-0100 (1971) de la Texas Instruments. Totuși, atât AL1 cât și MP944 folosesc mai multe circuite integrate pentru a implementa funcția de CPU. TMS-0100 a fost prezentat ca un „computer într-un singur chip” dar conținea un CPU foarte primitiv, având implementate doar 4 operații simple. - TMS0100 este precursorul lui TMS1000, apărut în 1974, ce este cunoscut ca fiind primul microcontroler, adică un „computer într-un singur chip" ce conține pe lângă CPU și memorii ROM, RAM și funcții I/O. - Familia MCS-4 ce conține procesorul 4004 a fost o soluție mult mai performantă decât TMS1000, oferind un grad ridicat de flexibilitate, permițând dezvoltarea de computere pentru diverse aplicații. - Cu timpul și familia MCS-4 a fost depășită de mult mai performantele microcontrolere 8048 și Zilog Z8 în 1978-1979. Acestea au constituit baza microcontrolerelor moderne. - Zilog a fost prima companie dedicată în întregime microprocesoarelor și microcontrolerelor, înființată de F. Faggin și R. Ungermann în 1974. - Microprocesor vs. Microcontroler - Microprocesoarele sunt utilizate pentru aplicații cu performanță de procesare înaltă - Microprocesoarele sunt utilizate ca CPU pentru calculatoare de uz general (GPC) - Microprocesoarele necesită extern memorie și interfețe IO - Microprocesoarele sunt utilizate în PC-uri, stații de lucru, servere, laptop-uri, unde compatibilitatea software, performanța, generalitatea și flexibilitatea sunt importante. - Microcontrolerele sunt proiectate pentru a se obține o dimensiune redusă a chip-ului, micșorarea costurilor și includerea de spațiu de memorie și IO pe chip. - Microcontrolerele sunt adesea “specializate pe aplicații” în dauna flexibilității. - Un microcontroler conține: CPU, Memorie și interfețe IO [1] https://en.wikipedia.org/wiki/Microcontroller ## CURS 3 - MICROCONTROLERE AVR - Familia de microcontrolere Microchip AVR® – 8 biți - Adresare pe 8 biți - Arhitectură RISC - Execuție 1 instrucţiune / ciclu - 32 regiștri de uz general - Arhitectura Harvard - Tensiune de alimentare 1.8 - 5.5V - Frecvență controlată software - Mare densitate a codului - Gamă largă de dispozitive periferice - Număr de pini variat - Compatibilitatea integrală a codului - Familii compatibile între pini și capabilități - Un singur set de unelte de dezvoltare - Familia de microcontrolere Microchip AVR® – Căutare parametrică - Familia de microcontrolere Microchip AVR® – Datasheet - Microcontrolerul ATMega16 - Familia AVR de la Microchip este formată din microcontrolere cu arhitectura pe 8 biți și set redus de instrucţiuni (RISC). - Memoriile ROM, EEPROM și SRAM sunt integrate în același chip, înlăturând nevoia de memorie externă. - Cifra din numele microcontrolerului indică mărimea memoriei de program (ROM); de exemplu ATMega16 are 16kB de memorie ROM. - Majoritatea instrucţiunilor se execută într-un singur ciclu de ceas. - Caracteristici: - tensiune alimentare 2,7...5 Vcc și unul pe 16 biți - frecvența max. 16Mhz - 512 bytes SRAM - 16K bytes ROM - 512 bytes EEPROM - ADC 10biți cu 8 intrări - 4 porturi I/O pe 8 biți - 3 numărătoare: două pe 8 biți - 3 întreruperi externe - 1 interfață comunicare serială - 1 interfață SPI - 1 interfață I2C - Schemă bloc simplificată - Intrări - analogice (tensiune, curent) - digitale (1 sau 0) - Ieșiri - analogice (tensiune, curent) - digitale (1 sau 0) - Schemă bloc a unui microcontroler - Unitatea Centrală de Prelucrare – Central Processing Unit (CPU) - Memoria ROM (Flash) - Memoria RAM - Oscilatorul - Dispozitive periferice I/O – Porturi I/O - Bus de Date, Adrese, Control ## CURS 4 – OSCILATORUL - Oscilatorul microcontrolerului - Toate tipurile de microcontroler au implementat în structura internă un oscilator. - Oscilatorul generează ceasul sistemului (frecvența de tact) obținându-se impulsurile de funcţionare ce sunt necesare tuturor perifericelor, CPU-ului și memoriilor. - Unele microcontrolere au implementat și un circuit de divizare a ceasului sistemului (system clock prescaler) cu 1, 2, 4, 8, 16, 32, 64, 128 și 256, ce permite reducerea consumului când puterea de procesare cerută este scăzută - Exemplu de registru prescaler (ATMega328): - CLKPS3 CLKPS2 CLKPS1 CLKPS0 (Clock Division Factor) - Schema bloc a oscilatorului microcontrolerului ATMega16 - Schema bloc a oscilatorului microcontrolerului ATMega328 - Sursele de ceas ale oscilatorului - Sursele de ceas ale oscilatorului microcontrolerului pot fi: - Cristal de cuart (quartz) – eng. Crystal oscillator - Rezonator ceramic – eng. Ceramic resonator - Oscilator RC (intern sau extern). - Semnal extern aplicat la intrarea XTAL1. - Scheme de conexiuni pentru generarea semnalului de ceas pentru microcontrolere (quartz extern, semnal extern și oscilator RC extern) - Pentru generarea externă a semnalului de ceas sunt disponibili 2 pini XTAL1 (intrare) și XTAL2 (ieşire). - Selectie semnal de ceas pentru microcontrolerul ATmega8 - Selectarea sursei semnalului de ceas și a funcționării oscilatorului se face prin setarea corespunzătoare a biților de configurare ai microcontrolerului (eng. fuse bits), prin intermediul software-ului de programare a microcontrolerului. - Fuse biții ce trebuie programați și numărul acestora diferă de la un microcontroler la altul, dar uzual aceștia sunt CKSEL0...3, SUT0...1, CKOPT, CKDIV8 - Selectie semnal de ceas pentru microcontrolerul ATmega16 - Fuse biții ce trebuie programați pentru microcontrolerul ATMega16 sunt CKSEL0...3, SUT0...1, CКОРТ - Selectie semnal de ceas pentru microcontrolerul ATmega328 - Fuse biții ce trebuie programați pentru microcontrolerul ATMega328 sunt CKSEL0...3, SUT0...1, CKDIV8 ## CURS 5-MEMORIA - Memoriile microcontrolerului - Memoria microcontrolerelor AVR se compune din: - Memoria program (FLASH) - Memoria RAM internă - Memoria RAM externă (doar pentru unele μC) - Memoria EEPROM - Memoria Program (Flash) - Are rolul de a stoca programul care conține instrucţiunile ce trebuiesc rulate de MCU - Este o memorie nevolatilă, cu acces aleator, de tip FLASH - 10.000 cicluri de ștergere/scriere, retenția datelor: 20 ani la 85°C sau 100 ani la 25°C - Poate fi reprogramată direct în sistemul (aplicația) în care rulează - Deoarece toate instrucţiunile microcontrolerelor AVR sunt pe 16 sau 32 biți, memoria program este organizată pe 16 biți (ex. 16K x 16) - Majoritatea microcontrolerelor au memoria program împărţită în două secțiuni: - Boot-Loader (conține un program special și opțiuni pentru reprogramare) - Programul aplicației (conține instrucţiunile definite de programator) - Suport pentru Boot Loader - Boot Loader-ul este o funcționalitate a unor microcontrolere ce permite ca memoria să fie scrisă și citită simultan (Read-While-Write Programing) - Utilizand o zonă separată de memorie această funcționalitate permite MCU-ului să downloadeze și să rescrie memoria program în același timp, permițând o flexibilitate sporită funcției de update a memorie program (a programului) - Boot Loader-ul poate folosi orice interfață de comunicare (UART, I2C, SPI etc.) - Boot Loader-ul permite ștergerea și scrierea întregii memorii program, inclusiv zona de memorie alocată Boot Loader-ului, astfel el se poate modifica singur (update). - Dimensiunea Boot Loader-ului este programabilă din biții de configurare (fusebits): - Memoria SRAM - Constituie memoria principală, pe care CPU o utilizează pentru a stoca datele rezultate în urma procesării instrucţiunilor - Este o memorie volatilă, cu acces aleator în 2 cicli de ceas, de tip static (nu necesită reîmprospătare ca cele dinamice, fiind mai rapide dar mai scumpe) - Majoritatea microcontrolerelor AVR au memoria RAM organizată în patru secțiuni: - 32 Regiștri de uz general (regiștri de lucru) R0-R31 - 64 Regiștri I/O de bază (regiștri de configurare microcontroler) - 160 Regiştri I/O suplimentari (regiștri de configurare suplimentari) - Memoria SRAM internă (utilizată de CPU) - Memoria EEPROM - Electrically Erasable Programmable Read-Only Memory - Utilizată pentru stocarea datelor de configurație, a constantelor, a diverși parametri - Este o memorie nevolatilă, cu acces aleator, adresabilă octet cu octet (fiind astfel mai lente, spre deosebire de memoriile Flash ce sunt adresate pe blocuri de octeți) - 100.000 cicluri de ștergere/scriere, retenția datelor: 20 ani la 85°C sau 100 ani la 25°C, având o fiabilitate mai ridicată decât a memoriilor nevolatile de tip Flash - Timpii de acces și scriere a unei locații de memorie poate dura chiar și 5 ms.