Pretraži ovaj blog

ponedjeljak, 4. travnja 2011.

PRIMJER KONTROLE 8 LED DIODA

Mikrokontroler PIC16F84 izveden u standardnom DIP pakovanju ima raspored pinova pikazan na donjoj slici.

Mikrokontroler PIC16F84 izveden u standardnom DIP pakovanju ima raspored pinova pikazan na donjoj slici.


Značenje pojedinačnih pinova je dano u sljedećoj tablici:

Pin

Oznaka

Značenje

1

RA2

Drugi pin PORTA A i nema drugih značenja

2

RA3

Trećin pin PORTA A i nema drugih značenja

3

RA4

Četvrti pin PORTA A sa dodatkom tajmerske funkcije

4

MCLR

Reset ulaz i sa naponom Vpp omogućuje programiranje mikrokontrolera

5

Vss

Pin prema masi

6

RB0

Nulti pin PORTA B sa mogućnošću interapt ulaza

7

RB1

Prvi pin PORTA B i nema drugih značenja

8

RB2

Drugi pin PORTA B i nema drugih značenja

9

RB3

Treći pin PORTA B i nema drugih značenja

10

RB4

Četvrti pin PORTA B i nema drugih značenja

11

RB5

Peti pin PORTA B i nema drugih značenja

12

RB6

Šesti pin PORTA B sa mogućnošću "Clock" linije u programu

13

RB7

Sedmi pin PORTA B sa mogućnošu "Data" linje u programu

14

Vdd

Napon napajanja mikrokontrolera

15

OSC2

Pin za priključak kristala oscilatora ili rezonatora

16

OSC1

Pin za priključak kristala oscilatora ili rezonatora

17

RA0

Nulti pin PORTA A i nema drugih značenja

18

RA1

Prvi pin PORTA A i nema drugih značenja

Njegove su glavne osobine:

1. To je 8-bitni mikrokontroler sa 14-bitnim instrucijskim skupom

2. Maksimalna dozvoljena struja pina je 20 mA

3. Sadrži 1024x14 bita programske FLASH memorije

4. Sadrži 68x8 radne RAM memorije

5. Sadrži 64x8 EEPROM memorije

6. Ima ugrađen 8-bitni tajmer/brojač sa 8-bitnim preskalerom

7. Troši manje od 2 mA na 5V i 4Mhz

8. Može da radi na maksimalno 10 Mhz

Programska ili FLASH memorija koristi se za upis napisanog programa u mikrokontroler, dok se RAM memorije se koristi u programima za privremeno smeštanje rezultata ili podataka. Jači mikrokontroleri poseduju i EEPROM memoriju u koju se upisuju podaci prilikom njegovog programiranja što znači da će biti trajno zapamćeni kao i program. Najčešće su to neke konstante koje koristi program. Portovi mikrokontrolera PORT A i PORT B su njegova veza sa vanjskim svetom, a iz prikazanog rasporeda pinova vidi se da PORT A ima 5 a PORT B osam pinova. Tajmer je 8-bitni i radi nezavisno od programa. On na svaki četvrti takt oscilatora uvećava svoju vrednost za 1 sve do 255 kada ponovo počinje o nule. Na ovaj način kada je u programima potrebna vremenska kontrola njegova primena je značajna. Kao oscilator najčešće koristi kvarc od 4 Mhz ili keramički rezonator iste frekvencije. Resetovanje mikrokontrolera vrši se kratkim dovođenje logičke nule na MCLR pin. Zavisno od primene pinova porta oni mogu biti određeni ili kao ulazni ili izlazni. To se vrši upotrebom TRIS registra. TRISA registra registar odnosi se na PORT A a TRIS B registar na PORT B. Ako je u datim registrima odgovarajući bit postavljen na 1 onda je taj pin ulazni a ako je postavljena 0 onda je on izlazni. Na ovo treba obratiti posebnu pažnju što je često uzrok da naš program ne radi ispravno. Četiri pina PORTA B, RB7ČRB$ mogu izazvati programski prekid(interapt) ako se na njima promeni stanje sa logičke jedinice na logičku nulu i obrnuto. Pri tome ovi pinovi moraju biti definisani kao ulazni. Peti pin PORTA A ima dvostruku funkciju. Na njemu se nalazi i vanjski ulaz za brojač TMR0 što se određuje postavljanjem bita T0CS. Na ovaj način tajmer može da uvećava svoje stanje ili preko internog oscilatora ili preko impulsa dovedenih na pin RA4/T0CLK.

Na donjoj slici data je šema sa PIC16F84P mikrokontrolerom koji na izlaznim portovima ima priključeno 8 led dioda.

Na izlaze PORTA B preko otpornika od 220W spojene su led diode. U ovom primjeru upotrebljen je kvrac od 4 Mhz kada se koriste kondezatori od 15pF, a može se koristiti i keramički rezonator. Neophodne komponente za njegovu izradu su sledeće:

Rb.

Komponenta

Količina

1.

U1 - PIC16F84/04-P

1 kom

2.

U2 - 7805

1 kom

3.

DIL-18 podnožje (profesional)

1 kom

4.

Led D1-D8 fi 5mm crvene

8 kom

5.

C1, C2 - 15pF (keramički kondenzator)

2 kom

6.

C3 - 100nF (keramički kondenzator)

1 kom

7.

C4, C5 - 1mF (elektrolitski konenzator 25 V)

2 kom

8.

R1 - 100W(1/4 W)

1 kom

9.

R2 - 4k7(1/4 W)

1 kom

10.

R4 - R11 - 220W(1/4 W)

8 kom

11.

Q1 - kristal 4 Mhz

1 kom

12.

Konektor za povezivanje 9V baterija

1 kom

13.

Vitroplast jednostrani(100 x 160 mm)

1 kom

14.

Dvopolna redna stezaljka za štampu(plava)

1 kom

15.

S1 - mikro taster za PCB montažu

1 kom

Izgled PCB pločice dat je na donjoj slici:

Način montaže elemenata dan je na donjoj slici:

Primer programa napisan u PICBasicu za njegovu kontrolu je sledeći(Diode):

'****************************************************************

'* Naziv : DIODE.BAS *

'* Autor : Milanovic V. *

'* Napomena : Prost primer programa *

'* Datum : 21.04.2004 *

'* Verzija : 1.0 *

'* Napomena : Program generise razlicite sekvence na LED *

'* : diodama *

'****************************************************************

i var byte

j var word

k var byte

TRISA = $FF ' Svi pinovi porta A su ulazni

TRISB = $00 ' Svi pinovi porta B su izlazni

PORTB = $00 ' Ugasi sve LED diode na pocetku programa

pause 1500

Pocetak:

For i = 1 to 4

'-----------Pali jednu po jednu diodu i gasi od pocetka---------

if i = 1 Then j = 1000 ' Pauza 1 sekund

if i = 2 Then j = 500 ' Pauza 0.5 sekunda

if i = 3 Then j = 250 ' Pauza 0.25 sekunda

if i = 4 Then j = 100 ' Pauza 0.25 sekunda

High PortB.0 ' Upali Led 0

pause j

High PortB.1 ' Upali Led 1

pause j

High PortB.2 ' Upali Led 2

pause j

High PortB.3 ' Upali Led 3

pause j

High PortB.4 ' Upali Led 4

pause j

High PortB.5 ' Upali Led 5

pause j

High PortB.6 ' Upali Led 6

pause j

High PortB.7 ' Upali Led 7

pause j

Low PortB.0 ' Ugasi Led 0

pause j

Low PortB.1 ' Ugasi Led 1

pause j

Low PortB.2 ' Ugasi Led 2

pause j

Low PortB.3 ' Ugasi Led 3

pause j

Low PortB.4 ' Ugasi Led 4

pause j

Low PortB.5 ' Ugasi Led 5

pause j

Low PortB.6 ' Ugasi Led 6

pause j

Low PortB.7 ' Ugasi Led 7

Pause 1000 ' Pauza 1 sekunda

'-----------Pali jednu po jednu diodu i gasi od kraja---------

High PortB.0 ' Upali Led 0

pause j

High PortB.1 ' Upali Led 1

pause j

High PortB.2 ' Upali Led 2

pause j

High PortB.3 ' Upali Led 3

pause j

High PortB.4 ' Upali Led 4

pause j

High PortB.5 ' Upali Led 5

pause j

High PortB.6 ' Upali Led 6

pause j

High PortB.7 ' Upali Led 7

pause j

Low PortB.7 ' Ugasi Led 7

pause j

Low PortB.6 ' Ugasi Led 6

pause j

Low PortB.5 ' Ugasi Led 5

pause j

Low PortB.4 ' Ugasi Led 4

pause j

Low PortB.3 ' Ugasi Led 3

pause j

Low PortB.2 ' Ugasi Led 2

pause j

Low PortB.1 ' Ugasi Led 1

pause j

Low PortB.0 ' Ugasi Led 0

Pause 1000 ' Pauza 1 sekunda

'-----------Prolazi upaljenja LED dioda sa desna u levo--------

High PortB.0 ' Upali Led 0

pause j

High PortB.1 ' Upali Led 1

Low PortB.0 ' Ugasi Led 0

pause j

High PortB.2 ' Upali Led 2

Low PortB.1 ' Ugasi Led 1

pause j

High PortB.3 ' Upali Led 3

Low PortB.2 ' Ugasi Led 2

pause j

High PortB.4 ' Upali Led 4

Low PortB.3 ' Ugasi Led 3

pause j

High PortB.5 ' Upali Led 5

Low PortB.4 ' Ugasi Led 4

pause j

High PortB.6 ' Upali Led 6

Low PortB.5 ' Ugasi Led 5

pause j

High PortB.7 ' Upali Led 7

Low PortB.6 ' Ugasi Led 0

pause j

Low PortB.7 ' Ugasi Led 7

pause j

Pause 1000 ' Pauza 1 sekunda

'-----------Prolazi upaljenja LED dioda sa leva u desno--------

High PortB.7 ' Upali Led 7

pause j

High PortB.6 ' Upali Led 6

Low PortB.7 ' Ugasi Led 7

pause j

High PortB.5 ' Upali Led 5

Low PortB.6 ' Ugasi Led 6

pause j

High PortB.4 ' Upali Led 4

Low PortB.5 ' Ugasi Led 5

pause j

High PortB.3 ' Upali Led 3

Low PortB.4 ' Ugasi Led 4

pause j

High PortB.2 ' Upali Led 2

Low PortB.3 ' Ugasi Led 3

pause j

High PortB.1 ' Upali Led 1

Low PortB.2 ' Ugasi Led 2

pause j

High PortB.0 ' Upali Led 0

Low PortB.1 ' Ugasi Led 1

pause j

Low PortB.0 ' Ugasi Led 0

pause j

Pause 1000 ' Pauza 1 sekunda

'-----Prolazi neupaljena LED dioda sa desna u levo-------------

PORTB = $FF ' Upali sve LED diode

pause j

Low PortB.0 ' Ugasi Led 0

pause j

High PortB.0 ' Upali Led 1

Low PortB.1 ' Ugasi Led 0

pause j

High PortB.1 ' Upali Led 2

Low PortB.2 ' Ugasi Led 1

pause j

High PortB.2 ' Upali Led 3

Low PortB.3 ' Ugasi Led 2

pause j

High PortB.3 ' Upali Led 4

Low PortB.4 ' Ugasi Led 3

pause j

High PortB.4 ' Upali Led 5

Low PortB.5 ' Ugasi Led 4

pause j

High PortB.5 ' Upali Led 6

Low PortB.6 ' Ugasi Led 5

pause j

High PortB.6 ' Upali Led 7

Low PortB.7 ' Ugasi Led 6

pause j

High PortB.7 ' Upali Led 7

Pause 1000 ' Pauza 1 sekunda

'-----Prolazi neupaljena LED dioda sa leva u desno-------------

PORTB = $FF ' Upali sve LED diode

pause j

Low PortB.7 ' Ugasi Led 0

pause j

low PortB.6 ' Ugasi Led 6

High PortB.7 ' Upali Led 7

pause j

Low PortB.5 ' Ugasi Led 5

High PortB.6 ' Upali Led 6

pause j

Low PortB.4 ' Ugasi Led 4

High PortB.5 ' Ugasi Led 5

pause j

Low PortB.3 ' Ugasi Led 3

High PortB.4 ' Upali Led 4

pause j

High PortB.3 ' Upali Led 3

Low PortB.2 ' Ugasi Led 2

pause j

High PortB.2 ' Upali Led 2

Low PortB.1 ' Ugasi Led 1

pause j

High PortB.1 ' Upali Led 1

Low PortB.0 ' Ugasi Led 0

pause j

High PortB.0 ' Ugasi Led 0

Pause 1000 ' Pauza 1 sekunda

PORTB = $00 ' Ugasi sve LED diode

pause 300

'-----Pali sa krajeva LED pa ih gasi------------------

High PortB.0 ' Upali Led 0

High PortB.7 ' Upali Led 7

pause j

High PortB.1 ' Upali Led 1

High PortB.6 ' Upali Led 6

pause j

High PortB.2 ' Upali Led 2

High PortB.5 ' Upali Led 5

pause j

High PortB.3 ' Upali Led 3

High PortB.4 ' Upali Led 4

pause j

Low PortB.3 ' Ugasi Led 3

Low PortB.4 ' Ugasi Led 4

pause j

Low PortB.5 ' Ugasi Led 5

Low PortB.2 ' Ugasi Led 2

pause j

Low PortB.6 ' Ugasi Led 6

Low PortB.1 ' Ugasi Led 1

pause j

Low PortB.7 ' Ugasi Led 7

Low PortB.0 ' Ugasi Led 0

pause j

pause 1000

' Dva puta blinka na kraju ciklusa

for k = 1 to 2

PORTB = $FF ' Upali sve LED diode

pause 300

PORTB = $00 ' Ugasi sve LED diode

pause 300

next k

pause 1000

Next i

pause 1000

'-----------Tri puta blinkanje dioda--------------------

for i = 1 to 3

PORTB = $FF ' Upali sve LED diode

pause 200

PORTB = $00 ' Ugasi sve LED diode

pause 200

next i

pause 1000 ' Pauza 1 sekunda

Goto Pocetak ' Vraca se na pocetak programa

End ' Kraj program

Napisan je program koji generira različite sekvence na led diodama a to su:

· Pali jednu po jednu led diodu od početka i gasi od početka

· Pali jednu po jednu led diodu od početka i gasi od kraja

· Prolazi upaljena led dioda sa desna u levo

· Prolazi upaljena led dioda sa leva u desno

· Prolazi neupaljena led dioda sa desna u levo

· Prolazi neupaljena led dioda sa leva u desno

· Pali led diode sa krajeva pa ih gasi

Navedene skekvence se u programu smenjuju u 4 ciklusa. Za svaki ciklus definisano je vreme zadrške između sekvenci i ono je:

· U prvom ciklusu 1000 ms (1. sekunda)

· U drugom ciklusu 500 ms (0.5 sekundi)

· U trećem ciklusu 250 ms (0.25 sekundi)

· U četvrtom ciklusu 150 ms

Na završetku svakog ciklusa izvede se dvostruko blinkanje led dioda. Nako završetka sva četiri cilkusa izvede se trostruko blinkanje led dioda i program počinje od početka.

U slučaju ako koristite razvojni sistem Mikroelektronike nije vam neophodan pločica jer stanja dioda možete pratiti na samom sistemu.

MIKROKONTROLERI

Mikrokontroler (microcontroller) je elektronički uređaj koji, slično kao i računalo, ima zadaću da zamjeni čovjeka u kontroli dijela proizvodnog procesa ili gotovo cijelog proizvodnog procesa.

Iz svakodnevne prakse pri uporabi računala opće namijene tip PC već je poznato da je standardni ulaz tipkovnica i miš (eventualno igrača palica), dok je standardni izlaz monitor ili pisač. Teško je definirati što će biti standardni ulaz i izlaz mikrokontroleru. Razlog tome je što su mikrokontroleri uglavnom dizajnirani za specifične zadaće vrlo raznolike od slučaja do slučaja. Primjera ima mnogo, od jednostavne regulacije osvjetljenja, alarmnih sustav, pa dao upravljanja robotima u industrijskim pogonima.

Ulazi mogu biti vrlo jednostavne izvedbe kao na primjer prekidač u sklopu plovka za nadzor najvećeg ili najnižeg nivoa tekućine u spremniku. Mikrokontroler tada ima za obradu samo dva stanja koje opisuje jedan bit. Složenije je praćenje ako treba pratiti stvarnu razinu nivoa tekućine u spremniku. Tada treba definirati koliko će se nivoa pratiti i tu će se uporabiti nekakav potenciometarski sklop koji će mikrokontroleru predati određenu analognu vrijednost koju će ovaj potom pomoću A/D pretvornika obraditi i isporučiti odredištu. Ako je pak povezan s fotoćelijom za brojanje predmeta po načelu prekidanja svjetlosnog snopa radi se o izravnom brojanju impulsa tijekom rada neovisno o vremenu.

Dakle, ulazi mogu biti analogne i digitalne prirode i u suštini podatke će isporučivati nekakav mjerni pretvornik (senzor).

Izlazi iz mikrokontrolera također mogu biti analogne i digitalne prirode. Analogni izlazi, bilo naponski ili strujni, mogu se elektromehaničkim sklopovima pretvoriti u neku korisnu radnju kao promjena položaja nekog predmeta, povećanje brzine vrtnje motora i slično. Najjednostavniji primjer je lampica upozorenja koja upozorava čovjeka na promjenu ili neispravnost. Složeniji izlaz biti će kada se želi pratiti veličina promjene bilo kao analogni ili digitalni prikaz.

Naravno, ulaz i izlaz mikrokontrolera nije isključivo vezan na komunikaciju sa strojem. Vrlo rijetko kontroler nema neki vid komunikacije prema korisniku, na primjer s lampicama ili s digitalnim pokazivačem. No nisu rijetki slučajevi da se za komunikaciju sa čovjekom koristi računalo tipa PC.

Iz navedenog može se zaključiti da se mikrokontroleri prema načinu izrade i komunikacije s okolišem mogu svrstati u jednu od dvije osnovne kategorije:

  • Mikrokontroler kao samostalna upravljačka jedinica
  • Mikrokontroler kao osobita kartica u jednom od utora PC računala

U suštini mikrokontroler radi na načelu vrlo bliskom računalu. On je u istinu malo računalo, a složenost mu ovisi o složenosti zadaće koju ima nadzirati. Općenito blok shema mikrokontrolera mogla bi izgledati prema narednoj slici.


 Mini PC
Slika 7.2.1 Načelna blok-shema mikrokontrolera.

Koje će sve elemente sadržavati i koliko moćne ovisiti će o njegovoj namijeni. CPU je jednostavniji od sklopova namijenjenih PC konfiguracijama, obično nekad popularni Zilog-Z80 ili neki iz porodice INTEL-ovih procesora. Svima su zajednička sljedeća svojstva:

  • Relativno mali radni takt reda 10 MHz
  • Mali broj jednostavnih instrukcija, red veličine oko 100
  • Radna memorija (RAM) reda KB
  • Stalna memorija s programskim kodom u PROM ili EPROM izvedbi
  • Brojači različitih namjena kao sat, brojač impulsa, BCD brojač i drugi
  • Brojač za nadzor ispravnog rada - WDT (Watch Dog Timer)
  • Ulazno/Izlazni kanali (port-ovi) za prihvat i slanje podataka
  • A/D i D/A pretvornici razlučivosti prema namjeni, uobičajeno 8 bit-ni
  • Širok raspon napona napajanja

Svi navedeni elementi ne moraju biti nužno zastupljenu u mikrokontroleru. Od namjene mikrokontrolera ovisiti će njegov izbor te će jedni imati više U / I port-ova, a drugi više multipleksiranih A/D pretvornika i slično. Intel-ova serija mikrokontrolera MSC-48 ima 8 osnovnih predstavnika različitih po mogućnostima. Osim navedene postoji još nekoliko serija istog proizvođača. Ako se tome pribroje i ostali proizvođači (Motorola, Microship Technology, Siemens i drugi) izbor mikrokontrolera više je nego dovoljan. Tipični predstavnik je Siemens-ov mikrokontroler SAB 80535 opisan u primjeru.

Od značaja je WDT sustav nadzora. To je specijalno dizajnirano BROJILO. Ako program upisan u memoriju mikrokontrolera ispravno radi on će povremeno u prikladnim vremenski razmacima (do 100ms) vratiti kontrolno brojilo na početnu vrijednost. Ako pak brojilo u svom radu odbroji do kraja, zadnjim brojem stavlja na znanje CPU mikrokontrolera da je došlo do nepravilnosti u radu programa jer nije bio vraćen na početnu vrijednost. CPU pokreće programsku rutini za ponovnu inicijalizaciju mikrokontrolera ili se odvija neka druga predviđena zaštitna radnja. Na taj način onemogućava se duži nepravilan rad mikrokontrolera bez obzira na razloge uzroka nepravilnosti. Ova metoda nadzora višestruko povećava sigurnost sustava kojeg mikrokontroler nadzire.

Obično se u sklopu uređaja s mikrokontrolera nalazi i mala baterija kojoj vijek trajanja doseže i do 10 godina. Zajedno sa sustavom WDT za nadzor ispravnog rada mikrokontrolera, proizlazi da će podaci u RAM-u uvijek biti očuvani te da za redovnim servisom gotovo da nema potrebe. Naravno, baterija zamjenjuje i napajanje cjelokupnog sklopa u slučaju nestanka struje, slično kao što rade on-line UPS uređaji.


Primjer I

Izgled i blok shema Siemens-ovog mikrokontrolera SAB 80535.


 Mikrokontroler
Slika 7.2.2 Mikrokontroler SAB 80535 tvrtke Siemens.

To je osam bit-ni mikrokontroler (CPU) i proizvodi se u dvije verzije, 80515 i 80535. Prva sadrži programsku memoriju (ROM) ugrađenu u mikrokontroler i izrađuje se po narudžbi sa željenim programskim kodom. Druga ne posjeduje ugrađenu programsku memoriju već se ona dodaje izvana. Po ostalim elementima potpuno su identični.

Vrijeme izvršavanja instrukcije je jedna mikrosekunda uz radni takt od 12 MHz kojeg daje oscilator s kristalom kvarca dodanim izvan čip-a. Od 256 byte-a unutrašnje radne memorije 128 byte-a osigurano za 41 registar opće namijene. Akumulator i 32 registra posebne namijene, te aritmetički i pokazivački registri i registri namijenjeni prijenosu podataka između CPU i periferija su u drugom dijelu unutrašnje radne memorije. Unutrašnja radna (RAM) i programska (ROM) memorija mogu se proširiti do 64 KB dodacima izvana. Hoće li se izvršavati kod iz radne ili programske memorije ovisi o stanju na izvodu EA (External memory Access). Pristup vanjskoj memoriji upravlja se preko izvoda PSEN (Program Store ENable).

Tu su još izvodi za normalni i pričuvno napajanje i referentni napon te reset mikrokontrolera i druge zadaće. Sam mikrokontroler ima vrlo razrađenu mogućnost prekida (Interrupt) programa s ukupno 12 mogućih izvor prekida uz moguću raspodjelu na 4 prioritetna nivoa. Postoji i 'watchdog' koji se može pomoću programa aktivirati ali ne i isključiti.

Svih šest port-ova su 8 bit-ni i dvosmjerni. A/D pretvornik također je 8 bit-ni. Radi po načelu sukcesivne aproksimacije. Vrijeme uzorkovanja je 5 mikrosekundi, a vrijeme pretvorbe 20 mikrosekundi. Naravno tu je S&H sklop za pamćenje vrijednosti uzorka analognog signala. Multiplekser vodi brigu o 8 mogućih analognih ulaza za korištenje.

Mikrokontroler sadrži tri 16 bit-na brojača. Svaki od njih može se definirati kao klasičan brojač, dijelilo ili nešto drugo koristeći interni ili vanjski takt. Mikrokontroler koristi skup od 111 instrukcija od čega je 49 instrukcija duljine 1 B, 45 duljine 2 B i 17 duljine 3 B. Instrukcije se mogu podijeliti na:

  • Instrukcije za prijenos
  • Aritmetičke instrukcije
  • Kontrolu prijenosa

Navedeni podaci samo su dio od sile ostalih koji se nalaze u priručniku koji se dobije uz svaki mikrokontroler.

Mikrokontroleri na jednom čipu razvijeni su i stavljeni na tržište uz uporabu CPU s 4, 8, i 16 bit-nom sabirnicom. Udio 8 bit-nih mikrokontrolera je jako velik (preko 50%) u ukupnom tržištu mikrokontrolera.

Programiranje mikrokontrolera

Mikrokontroleri s EPROM memorijom pogodni su za razvoj uređaja jer omogućavaju reprogramiranje sadržaja EPROM-a. Programiranje EPROM-a vrši se u za tu svrhu dizajniranim uređajem. Izrađuju se kao samostalni uređaji s vlastitim procesorom i sučeljem za upis podataka u EPROM, ili kao uređaji koji se obično priključe na paralelni (CENTRONICS) port računala koje im tada služi kao sučelje.

U drugom slučaju su znatno jeftiniji ali je potrebna odgovarajuća programska potpora za upis programskog koda u EPROM. Programska potpora mora:

  • Osigurati potpun pristup EPROM-u putem izbornika
  • Automatski prepoznati grafičku karticu računala i frekvenciju sistemskog takta potrta te je prilagoditi uređaju
  • Automatski prepoznati koja vrsta EPROM-a je umetnuta u uređaj za programiranje, tip i proizvođača
  • Omogućiti brisanje prethodnog sadržaja EPROM-a
  • Uspoređivanje sadržaja dvaju EPROM-a
  • Upisivanje programskog koda u EPROM
  • Očitavanje upisanog koda i testiranje.

Različite vrste EPROM-a imaju različite napone programiranja te ih treba točno ustanoviti i provjeriti da li programska potpora za upis podataka postavlja upravo tu vrijednost pri programiranju te ako je potrebno izvršiti ispravku. Sofisticirani programski alati za upis podataka u EPROM prevesti će u C-u ili VisualBASIC-u ili nekom drugom programskom jeziku napisani program za rad mikrokontrolera u skup instrukcija (programski kod) upravo za CPU mikrokontrolera koji se odabere te upisati te instrukcije u EPROM. Skuplji programski alati podržavati će rad za više tipova CPU i više proizvođača i vrsta mikrokontrolera. Naravno, sastavni dio programske potpore sigurno je ASCII / HEX editor za očitavanje sadržaja EPROM-a.

Jedan zamišljeni mali program u jeziku kojeg koristimo bio bi recimo ovakav:

            POČETAK             REG_1 = MEM_LOK_A             REG_2 = MEM_LOK_B             REG_3 = REG_1 + REG_2             PORT_A = REG_3             KRAJ  

Program zbraja sadržaj dvije memorijske lokacije i zbir šalje na port A. Naravno za složenije zadaće veći su i programi koji ih rješavaju. Programiranje se može raditi na više jezika a najčešće su to asembler, C i BASIC. Asembler spada u jezike niskog nivoa koji se sporo programiraju ali zauzimaju najmanje mjesta i najbolje je rješenje sa stanovišta brzine izvršavanja programa. Programi u C-u se lakše pišu, bolje razumijevaju ali su i do 7-8 puta sporiji od asemblerskih. BASIC je najlakši za učenje a njegove naredbe su najbliže ljudskom razmišljanju ali je još znatno sporiji.

U svakom slučaju prije nego što se odabere jedan od ovih jezika potrebno je da dobro razmotriti zahtjeve za brzinom izvršavanja programa, veličinom memorije i raspoloživim vremenom te temeljem toga odabrati način programiranja. Napisani program se prvo prevede, a zatim preko serijskog kabla učita u mikrokontroler. Prevođenje je proces koji od izvornog programa pravi izvršni program koji sadrži instrukcije koje mikrokontroler razumije i izvršava. Napisani program potrebno je smjestiti u memoriju mikrokontrolera. Načina ima više, jedan od njih podrazumijeva postojanje drugih programa s kojima se učitavaju (loader) memoriju i koji najčešće koriste serijsku komunikaciju mikrokontrolera za pristup njegovoj memoriji.

Dakle, programiranje mikrokontrolera se vrši upisom instrukcija u EPROM prema uputama za korišteni mikrokontroler, odnosno prema skupu instrukcija koje podržava njegov centralni procesorski ustroj (CPU), te se u tom smislu ne može govoriti o jedinstvenom programskom jeziku za programiranje rada mikrokontrolera jer je skup instrukcija uglavnom različit, već prema vrsti i proizvođaču koji ga izrađuje. Treba razlikovati programiranje EPROM-a od programiranja rada mikrokontrolera.

Kada se neka izvedba mikrokontrolera pokaže stabilna i vrlo raširena u pravilu se nadalje umjesto skupih EPROM-a koriste PROM memorije koje dozvoljavaju samo jednokratno programiranje ali su višestruko jeftinije.


Ukratko, mikrokontroler je malo samostalno računalo vrlo raznolike namijene s mogućnosti programiranja i reprogramiranja njegovog rada. Uobičajeno je da sadrže mehanizme za samostalnu kontrolu ispravnosti rada te zaštitu od neautoriziranog čitanja programskog koda. Ne zahtijevaju osobitu pažnju glede održavanja. Kako su obično sve komponente unutar samo jednog integriranog kruga i nema osobitih zahtijeva za velikom brzinom rada postiže se vrlo velika pouzdanost i sigurnost.

Razvoj, konstrukcija i održavanje zahtijevaju mnogo ljudskog rada. Zbog toga se nastoji na sve moguće načine smanjiti potreban posao za konstrukciju, rad i održavanje sustava koji se nadzire. Osnovna ideja je uporaba masovno proizvedenih, jeftinih standardnih sklopova. Tako je i izgrađen mikrokontroler sa svim elementima u jednome čipu (Single-Chip Microcontroller).

U samom dizajnu mikrokontrolera vrlo je bitna STANDARDIZACIJA. Standardizira se sve što se može, funkcije koje se moraju obavljati, mehanički i električni elementi, kućište, veličina štampane pločice, tipovi priključaka i spojnih vodova, naponi napajanja, osobine signala, ulazne i izlazne impedancije i drugo. Na narednoj slici prikazana je jedna tipična standardizirana upravljačka jedinica s mikrokontrolerom koji upravlja tijekom jednog procesa nadzorom temperature.


Primjer II

Izgled tipične standardizirane upravljačke jedinice s mikrokontrolerom.


 Upravljanje mikrokontrolerom
Slika 7.2.3 Tipična standardizirana upravljačka jedinica.

Jedinica se sastoji od niza štampanih ploča (kartica) s elektroničkim komponentama. Senzor pri nadzoru procesa daje signal uređaju za analognu obradu koji će ga obraditi na način da njegov izlaz odgovara ulazu u A/D pretvornik, a dobivene binarne podatke obraditi će mikroračunalo prema programu u svojoj memoriji. Izlaz iz mikroračunala je rezultat obrade koji ide u izlazni elektronički uređaj gdje će se pomoću D/A pretvornika i izlaznih elektroničkih sklopova pretvoriti na način da može upravljati izvršnim uređajem koji će ispraviti tijek procesa onako kako je odlučilo mikroračunalo na osnovu podataka dobivenih od senzora.

Broj kartica može biti i manji od prikazanih, na primjer moderni mikrokontroleri već imaju ukomponiran A/D pretvornik i multiplekser i na njegovoj karici mogu biti ulazni, izlazni i komunikacijski priključci. Tako bi broj kartica bio 3 u odnosu na 7 kartica prikazanih na slici. S druge strane ako se promatra više pojava različite prirode (temperatura, pritisak, snaga ..) trebati će više kartica za analognu obradu jer će više različitih senzora imati različite izlazne signale koji će se morati različito obrađivati kao bi podaci poslani na ulaz multipleksera mikrokontrolera bili upotrebljivi.

Glede navedenog, prethodna slika samo je ilustracija kako smjestiti i koristiti jedan mikrokontroler koji će upravljati nekim procesom na osnovu upisanih instrukcija u memoriju. U primjeru je uzet nadzor temperature nekog procesa mada je u pitanju moglo biti bilo što drugo. Ovakva jedinica može se smjestiti uz sam proces i bez povezivanja s drugim jedinicama samostalno upravlja procesom (Stand Alone). Može se povezati s drugim jedinicama tako da sve zajedno nadziru neki složeni proces.

Ako je ukomponirana uz sam proces mora se dizajnirati tako da može normalno i dugotrajno funkcionirati u okolišu u kojem se nalazi, a ako to nije moguće može se nalaziti na izdvojenom mjestu u nekoj drugoj prostoriji, ali tada treba riješiti problem dostave i otpreme podataka. Dakle, nema tipičnih rješenja za sve situacije i prikazana koncepcija na prethodnoj slici samo je ilustracija.

Promatranje i neposredno upravljanje pojedinačni procesima najniži je i prvi nivo nadzora i upravljanja. Ako se pak izlazni podaci svih pojedinačnih upravljačkih jedinica prikupljaju na jednom mjestu i objedinjuju riječ je o drugom nivou upravljanja. Tada pojedinačni procesi predstavljaju podprocese cjelokupnog procesa nadzora i upravljanja.

Od svakog mikrokontrolera očekuju se različite mogućnosti spajanja i različito ponašanje te stoga ne postoji mogućnost monopola neke tvrtke u smislu njihove implementacije u neki proizvodni sustav i programiranja njihovog rada. Njihov dizajn i implementacija ostati će uvijek posao malih tvrtki, ali se od osoba koje će se s time baviti zahtijevaju brojne sposobnosti i kreativnost upravo zbog vrlo različitih poslova koji se moraju obaviti da bi se mikrokontroler stavio u funkciju.

Pojava mikrokontrolera oslobodila je konstruktore sustava od mukotrpnog posla gradnje mikroračunala, raznih sučelja i drugih uređaja. Stoga ne čudi njegova sve šira primjena u mjerenjima, vođenjima i upravljanjima procesima. Današnja tehnologija omogućila je da djeluju kao vrlo moćna računala. Moć im je vrlo različita, i proizvodno su već prilični tipizirani, uglavnom izrađeni kao jedan čip. Koliko moćan (i skup) mikrokontroler uporabiti ovisiti će o zadaći za koju se koristi: u sustavu za brojanje paketa na pokretnoj traci ili u sustavu za nadzor motora robota koji boja automobile ili u sustavu za nadzor sastava COCA-COLE ili nekom drugom, uz sve moguće zamisli o signalizaciji o pogrešnom tijeku procesa i po potrebi i njegovog zaustavljanja.

NAČELNO:

Dakle, mikrokontroler je gotovo bezgrešni nadglednik rada strojeva u proizvodnom procesu osobito na pokretnim trakama. Na pokretnoj traci jednoličnom brzinom promiču proizvodi. Ovisno o izradi i programu mikrokontrolera on može osim jednostavnog brojanja proizvoda preusmjeriti neispravne proizvode drugim putom, nadgledati njihov ukupan broj te po programiranoj statističkoj obradi odlučiti prekinuti proizvodnju i probuditi osobu nadležnu za nadzor na procesu proizvodnje.

PLC-PROGRAMIBILNI LOGIČKI KONTROLERI

PROGRAMIBILNI LOGIČKI KONTROLERI

Prvi programibilni logički kontroleri (PLC) razvijali su inženjeri General Motors-a 1968., kada su pokušali pronaći alternativnu zamjenu za složene relejne kontrolne sustave.

Novi kontrolni sustav morao je zadovoljiti slijedeće zahtjeve:

  • Jednostavno programiranje,
  • Programske izmjene bez sistemskih intervencija (bez mijenjanja ožičenja),
  • Manje, jeftiniji i pouzdanije komponente od relejnih kontrolnih sustava,
  • Jednostavno i jeftino održavanje

Postupnim razvojem došlo se do sustava koji je omogućio jednostavnije povezivanje binarnih signala. Uvjeti pod kojim su ovi signali trebali biti povezani, bili su određeni u kontrolnom programu. S novim sustavima bilo je po prvi puta moguće iscrtati signale na ekranu, te ih pohraniti u vidu datoteke u elektronsku memoriju.

Po definiciji Programibilni logički kontroleri su:

Prema DIN EN61131-1 (1994.) programabilni logički upravljač (kontroler) jest digitalni elektronički sustav za uporabu u industrijskom okolišu s programabilnom memorijom za internu pohranu primjeni orijentiranih upravljačkih naredbi kod implementiranja specifičnih funkcija kao što su npr. logičko upravljanje, slijedno upravljanje, funkcije odbrojavanja, funkcije brojenja i aritmetičke funkcije, Osnovna namjena PLCa je upravljanje, putem digitalnih ili analognih ulaznih i izlaznih signala, različitim vrstama strojeva ili procesa.

Shema PLC-a

Shema PLC-a

Glavni djelovi PLC-a su:

- mikroprocesor s dodatnim električkim sklopovima,

- sklop za opskrbu električnom energijom procesora koji pretvori upravljački
istosmjerni napon od 24V u takozvani logički napon (5V),

- kvarc za davanje takta procesoru,

- prekidač za uključivanje i isključivanje rada procesora,

- memorij (sistemska, radna, programska).

Preko sabirnog priključka spaja se centralna jedinica (mikroprocesor) s ulazno - izlaznim elementima (modulima - karticama).

Ulazni modul treba osigurati:

- priključke na koje se priključuju senzori,
- prilagodbu napona,
- zaštitu centralne jedinice od napona,
- zaštitu centralne jedinice od smetnji,
- sigurno razlikovanje signala 1/0.

Izlazni modul također posreduje između centralne jedinice i automata. Njegove zadaće su :

- povezivanje s izvršnim elementima
- prilagodba napona,
- zaštita centralne jedinice,
- pojačanje snage,
- zaštita od kratkog spoja.

Karakteristike programabilnog logičkog kontrolera:

- omogućava direktan priključak binarnih senzora i aktuatora,
- odgovara zahtjevima industrijskog okoliša u odnosu na otpornost na
povišenu temperaturu, vibracije i elektro-magnetska zračenja,
- operacijski sustav je razvijen za optimalnu obradu Boolove logike
- operacijski sustav potpomognut programskim i dijagnostičkim alatima dopušta
direktan pristup na binarne ulaze i izlaze kao i na interne binarne i digitalne
memorije (flag, registre, brojače, tajmere),
- operacijski sustav omogućava komunikaciju sa programiralicom-računalom.

Glavni cilj PLC-a uključuje povezivanje ulaznih signala prema zadanom programu te ukoliko je ˝true˝ (istina), preklapa ga na odgovarajući izlaz. Booleova algebra predočuje matematičku osnovu ovih operacija, a prepoznaje samo dva određena stanja jedne varijable: ˝0˝ i ˝1˝ . Prema tome, izlaz može jedino poprimiti ova dva stanja. Npr., povezani motor može biti kontroliran putem stanja ˝on˝ ili ˝off˝ (uključeno/isključeno).


Funkcija ulaznog modula je da pretvara ulazne signale u signale koji se mogu obraditi PLC-om te da ih dalje proslijedi do centralne upravljačke jedinice. Povrat se obavlja izlaznim modulom. On pretvara PLC signal u signale koji su podesni za pobuđivače (pokretače).

Aktualna obrada signala obavlja se u centralnoj upravljačkoj jedinici u skladu s programom koji je pohranjen u memoriji.

Program PLC-a se može kreirati na različite načine: putem asemblerske vrste naredbi u tkz. ‘listi izjava', na višem nivou, problemski orijentiranim jezicima kao npr. struktuirani tekst ili u obliku tekućeg dijagrama poput onih predstavljenih u vidu slijednih funkcijskih dijagrama. U Evropi je široka uporaba funkcijskih blok dijagrama koji se baziraju na funkcijskim dijagramima s grafičkim simbolima za logička vrata (logičke ulaze). U Americi, korisnici radije koriste ‘ladder dijagram' (ljestvični dijagram).

PLC-Programski jezici

Blok dijagram

Blok dijagram

Ladder dijagram
Ladder dijagram
STL - Statement list

STL - Statement list

Ovisno o tome kako je centralna upravljačka jedinica povezana na ulazne i izlazne module, mogu se razlikovati kompakt PLC-ovi (ulazni modul, centralna upravljačka jedinica i izlazni modul u jednom kućištu) ili modularni PLC-ovi.

Zahtjevi koji se postavljaju na PLC-ove sve više rastu, uz njihovu sve rašireniju uporabu koja je praćena razvojem automatizacije. Npr. vizualizacija, predstavljanje statusa stroja, na način izvršavanja kontrolnog programa putem displeja ili monitora. Također kontroliranje, sposobnost intervencije u kontrolnim procesima ili alternativno, nemogućnost (sprečavanje) provedbe takvih intervencija od strane neautoriziranih osoba. Postalo je neophodno međupovezivanje i harmoniziranje zasebnih sustava kontroliranih pomoću PLC-a. Mreža nekoliko PLC-a kao i veza PLC-a i glavnog računala odvija se putem komunikacijskih interfejsa. Da bi se ovo sprovelo u djelo, mnogi od najnovijih PLC-a su kompatibilni sa otvorenim, standardiziranim bus sistemom, (Profibus) DIN 19245.

PLC-ovi koji se trenutno nude na tržištu su podešeni prema zahtjevima kupaca te je moguće naručiti odgovarajući PLC za bilo koju zamislivu primjenu. Tako na primjer, na raspolaganju su sada minijaturni PLC-ovi s minimalnim brojem ulaza/izlaza s početnom cijenom od nekoliko stotina eura. Na raspolaganju su također veći PLC-ovi sa 28 ili 256 ulaza/izlaza.

Mnogi PLC-ovi se mogu proširiti u smislu dodatnih ulazno /izlaznih, analognih, pozicioniranih i komunikacijskih modula. Nadalje, PLC-ovi su u mogućnosti da obrađuju nekoliko programa istodobno (simultano). Konačno, PLC-ovi se spajaju s drugim automacijskim komponentama, pa se kreiraju šira područja primjene.

Današnji PLCi izvode se u:

- kompaktnoj izvedbi (svi su elementi u jednom kučištu),
- modularnoj izvedbi odnosno sustav se oblikuje iz modula,
- kartičnoj izvedbi u 19 inčnom kučištu,
- podržavaju modularni upravljački sustav,
- različiti modeli imaju različite mogućnosti proširenja modulima,
- sabirnički sustav koji podržava module (ugrađen u module),
- mogućnost povezivanja u mrežu pomoću:
- RS komunikacijskog sučelja
- PROFIBUS
- INDUSTRIAL ETHERNET
- MULTIPOINT INTERFACE (MPI)
- centralna veza programiralicom s mogučnošću pristupa svim modulima.


Modularni PLC-ovi se mogu zasebno konfigurirati. Moduli koji se traže za praktičnu primjenu novisno od digitalnih ulazno/izlaznih modula koji mogu npr. uključiti analogne, pozicionirane i komunikacijske module - se ulažu u stalke kućišta, gdje se individulani moduli povezuju putem bus sistema. Ovaj način oblikovanja je poznat kao serijska tehnologija.

Postoji širok spektar varijanti, posebno u slučaju posljednjih PLC-ova. Oni uključuju i modularne i kompakt osobine i značajna svojstva poput štednje prostora, fleksibilnosti i mogućnosti proširenja.

Kartični format PLC-a je posebna vrsta modularnog PLC-a, razvijenog tokom posljednjih nekoliko godina. Ova vrsta, bilo pojedinačni ili u vidu tiskanih pločica modulskog sklopa, nalazi se u standardiziranim kućištima

Prethodni važeći PLC standardi bili su usmjereni na PLC programiranje, a bili su usklađivani na postojeće stanje tehnologije u Evropi krajem sedamdesetih. Od 1992. postoji međunarodni standard koji je i sada aktivan za programljive logičke kontrolere i odgovarajuće periferne uređaje (poznat je pod imenom PLC sustav.

Novi IEC 1131standard sastoji se od pet dijelova:

■ Dio 1: Opći podaci
■ Dio 2: Zahtjevana oprema i testovi
■ Dio 3: Programski jezici
■ Dio 4: Korisnička uputstva (u pripremi s IEC-om)
■ Dio 5: Specifikacije usluga poruka (u pripemi s IEC-om)

Svrha novog standarda je bila da se definira i normizira dizajn i funkcionalnost PLC-a, kao i za tražene jezike za programiranje, do područja gdje će korsinici moći operirati različitim PLC sustavima bez nekih posebnih poteškoća. Veliki broj glavnih PLC dobavljača su članovi asocijacije, među kojima nabrajamo Siemens, Mitsubishija Allen Bradley, Klockner-Moeller, Phillips.

SIMATIC S7-400 Home

SIMATIC S7-400 Home

The power Controller for system solutions in the manufacturing and process industries


Highlights