1 / 57

SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877A

Elektronski fakultet Niš Katedra za elektroniku. SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877A. MILAN MLADENOVI Ć 11734 ALEKSANDRA PETROVIĆ 10600 IVAN STOJANOVIĆ 10666. Standardi za prenos podataka. TIA/EIA-232-F TIA/EIA-423-B TIA/EIA-422-B TIA/EIA-485 SCSI FireWire

flavian
Télécharger la présentation

SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Elektronski fakultet NišKatedra za elektroniku SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877A MILAN MLADENOVIĆ 11734 ALEKSANDRA PETROVIĆ 10600 IVAN STOJANOVIĆ 10666

  2. Standardi za prenos podataka • TIA/EIA-232-F • TIA/EIA-423-B • TIA/EIA-422-B • TIA/EIA-485 • SCSI • FireWire • USB

  3. Standard TIA/EIA-232-F • Definisan je u ANSI specifikaciji, • Maksimalni protok podataka je 20kbs, mada sada postoji veliki broj softverskih rešenja koja postižu 116 kbps i više, • Logičkoj nuli odgovara stanje "SPACE", koji se nalazi u opsegu napona +3V do +25V, • Logičkoj jedinici odgovara stanje "MARK", koji je u opsegu -3V do -25V, • Naponski nivo između -3 do + 3 V nije definisan, • Napon na kolu ne sme da pređe 25V u odnosu na masu, • Struja kola ne sme pređe vrednost 500 mA.

  4. Klasifikacija standarda po brzini

  5. Serijski port

  6. Signali serijskog porta

  7. Značenje signala

  8. Mikrokontroler PIC16F877A

  9. PIC16F877A – karakteristike/1 • RISC CPU visokih performansi • 35 instrukcija obima jedne reči • Radna frekvencija do 20 MHz • Sve instrukcije su jednocikluske, sem instrukcija grananja koje su dvocikluske • Trajanje taktnog intervala 200 ns (pri frekvenciji 20 MHz) • Opkôd je obima 14 bita • Hardverski magacin (stack) ima osam nivoa • Postoje tri načina adresiranja (direktno, indirektno i relativno) • Programska flash memorija je kapaciteta 8 k X 14-bitnih reči • Memorije za podatke (RAM) je kapaciteta 368 X 8 bita • Memorije za podatke (EEPROM) je kapaciteta 256 X 8 bita • Prekidi (maksimalno 14 izvora prekida) • šest ulazno-izlaznih portova (A, B, C, D i E)

  10. PIC16F877A – karakteristike/2 • Timer0 (TMR0): osmobitni tajmer/brojač_događaja • Timer1 (TMR1): šesnaestobitni tajmer/brojač_događaja • Timer2 (TMR2): osmobitni tajmer/brojač_događaja • Serijska komunikacija: MSSP, USART • Paralelna 8-bitna komunikacija: PSP • ICSP (In Circuit Serial Programing) preko samo dva izvoda • Analogni komparatorski modul sa programabilnim referentnim naponima • 8-kanalni 10-bitni ADC (Analog-to-Digital Converter, analogno/ digitalni konvertor) • Power-on Reset - reset pri uključenju napajanja (POR) • Power-up timer - unošenje kašnjenja nakon uključenja napajanja (PWRT) • Oscillator Start-up Timer - unošenje kašnjenja neposredno po stabilizovanju radne frekvencije oscilatora (OST)

  11. PIC16F877A – karakteristike/3 • Sleep mode - režim rada sa veoma malim utroškom energije • Watchdog tajmer sa sopstvenim integrisanim RC oscilatorom za nezavisni rad • Izbor tipa oscilatora (RC, XT, HS, LP) • 100000 ciklusa Write/Erase programske memorije • 1000000 ciklusa Write/Erase memorije za podatke EEPROM • Trajanje podataka u EEPROM duže od 40 godina • Radni napon može da bude u opsegu od 2V do 5.5V • Mala potrošnja energije: • <0.6 mA pri naponu od 3V i radnoj frekvenciji od 4 MHz • 20µA pri naponu od 3V i radnom taktu od 32kHz • <1µA u standby režimu rada

  12. PIC16F877A – raspored pinova na kućištu DIP-40

  13. PIC16F877A – arhitektura/1

  14. PIC16F877A – arhitektura/2 • Aritmetičko-logička jedinica (ALU) • Akumulator (Working Register) • Hardverski magacin (Stack) organizivan u 8 nivoa • EEPROM memorija podataka obima 256 bajtova • Flash programska memorija – 8 kiloreči obima 14 bita • RAM (File Registers) – 368 bajtova • Višekanalni A/D konvertor, • USART, • SPI interfejs, • I2C interfejs, • šest U/I portova, • tajmere itd.

  15. Logička kola

  16. Multiplekseri

  17. Lečevi i flip-flopovi

  18. Taktovanje flip-flopova

  19. Kombinovanje lečeva i flip-flopova • Postoje dva načina na koje se kombinujulečevi kod flip-flopova. • Kod prvog načina lečevi sekombinuju tako da se: • Važećim ulaznim podacima koji su prisutnina ulazima flip-flopa smatraju samo oni koji su prisutniu trenutku kada je važeći i upravljački signal; • Stanje flip-flopa menja samo kada stanje upravljačkogimpulsa nije aktivno. Ovaj tip flip-flopa se nazivamaster-slave. Kod drugog načina važi sledeći princip. Flip-flop se okida samo u toku promene taktnog impulsa sa '0' na '1' (ili sa '1' na '0'), a u ostatku perioda promene nisu dozvoljene uključujući i period taktnog signala. Ovaj flip-flop se naziva ivično-okidani flip-flop.

  20. PLC kontroleri - definicija • PLC - namenski elektronski uređaj, zasnovan na mikroprocesoru, koji je u mogućnosti da obavlja brojne tipove upravljačkih funkcija različitog nivoa složenosti • PLC - industrijski računarčiji su hardver i softver posebno prilagođeni radu uindustrijskim uslovima, a koji se može lako programirati i ugrađivati u nove i postojeće industrijske sisteme.

  21. PLC kontroleri - opis • PLC - (Programmable) - označava mogućnost programiranja. Program rada se unapred priprema i puni u permanentumemoriju PLC kontrolera. PLC program se razvija u jezikulestvičastih (ladder) dijagrama, koji je nastao pougledu natzv. relejne šeme. • PLC - (Logic) - jedna od glavnih osobina PLC kontrolera je mogućnost obavljanja logičkih (Bulovih) funkcija. PLC generiše diskretne (digitalne) izlazne signale u funkciji (logičkoj) diskretnih ulaznih signala - karakteristično za prvobitne tipove PLC kontrolera. Savremeni PLC-ovi, pored logičkih mogu da obavljaju: aritmetičke operacije, odmeravaju vremenske intervale, prebrojavaju događaje, a prihvataju i generišu, pored diskretnih, i analogne signale. • PLC (Controller) - Glavna primena u industriji (proizvodnoj) gde se koristi za automatsko upravljanje procesima - prati ključne parametre procesa (posredstvom priključenih senzora i davača, i shodno memorisanomprogramu, generiše pobudu kojom deluje na proces posredstvom aktuatora

  22. PLC kontroler MicroLogix firme Allen-Bradley

  23. PLC kontroleri – blok šema

  24. PLC kontroleri – primena kod parking servisa

  25. PLC kontroleri – primena kod kontrole procesa

  26. Simulacija PLC kontrolera • PLC kontroler je simuliran preko PIC16F877A mikrokontrolera, • Mikrokontroler ima takt od 4MHz i napaja se preko linearnog regulatora napona LM7805, • U cilju kasnijeg proširenja uređaja, postoji mogućnost povezivanja mikrokontrolera sa računarom (preko integrisanog kola MAX232), a komunikacija je bez handshaking-a.

  27. PLC kontrolera – elek. šema

  28. PLC kontroler – štamp.ploča

  29. PLC kontroler – blok šema 1

  30. PLC kontroler – blok šema 2

  31. PLC kontroler – raspored pinova na ploči

  32. PLC kontroler – raspored pinova mikrokontrolera

  33. PLC kontroler – funkcije pinova mikrokontrolera • Organizacija pinova mikrokontrolera je sledeća: • PC7 i PC6 su pinovi za eventualnu komunikaciju sa PC računarom, • PC5-PC2 predstavljaju ulaze 2 dvoulazna logička kola, • PB7-PB5 su ulazi flip-flopova (D i JK ili T i JK), • PB4-PB1 su ulazi multipleksera, • PB0 je izlaz multipleksera, • PD7 je ulaz demultipleksera, • PD6-PD5, PC1-PC0 su izlazi demultipleksera, • PD4-PD3 su izlazi flip-flopova, • PD2-PD1 su izlazi logičkih kola, respektivno, • PD0 signalizira promenu takta, • PA5-PA3 su kontrolišući pinovi i definišu 8 različitih kombinacija, • PA1-PA0 su selektorski ulazi za multiplekser i demultiplekser.

  34. PLC kontroler – realizacija logike za kombinaciju 000

  35. PLC kontroler – realizacija kola sa kombinacijom000

  36. PLC kontroler – realizacija kola sa kombinacijom000

  37. PLC kontroler – realizacija logike za kombinaciju 001

  38. PLC kontroler – realizacija logike za kombinaciju 010

  39. PLC kontroler – realizacija logike za kombinaciju 011

  40. Kôd u mikroC-u • int k = 0; // Definisanje varijabli • char AX, BX, CX, DX, EX, FX, JK, TX, Q1, Q2, Q3 = 0; • char clk, clkk = 1; • void main() { • TRISA = 0b111111; // Definisanje i inicijalizacija • PORTA = 0b000000; // pinova PORTOVA A, B, C i D • TRISB = 0b11111110; • PORTB = 0b00000000; • TRISC = 0b10111100; • PORTC = 0b00000000; • TRISD = 0b10000000; • PORTD = 0b00000000; • CMCON = 7; • ADCON1 = 0x06; // Definisanje pinova A porta // kao digitalnih

  41. Kôd u mikroC-u • do { // Formiranje Beskonacne Petlje • if (k == 0) { // Prilikom starta, tj. prilikom prvog • // obilaska petlje - kasnjenje je dve • Delay_ms(2000); // sekunde • } • k++; • delay_ms(400); // Takt za flip-flopove je 0,4 sekunde • clkk = clk; • // Opis funkcije I kola • AX = (PORTC.F5 && PORTC.F4); • // Opis funkcije ILI kola • BX = (PORTC.F5 || PORTC.F4); • // Opis funkcije I kola • CX = (PORTC.F3 && PORTC.F2); • // Opis funkcije ILI kola • DX = (PORTC.F3 || PORTC.F2);

  42. Kôd u mikroC-u • // Opis funkcije EXILI kola • EX = ((PORTC.F5 && !(PORTC.F4)) || (!(PORTC.F5) && PORTC.F4)); • // Opis funkcije EXNILI kola • FX = ((PORTC.F5 && PORTC.F4) || (!(PORTC.F5) && !(PORTC.F4))); • if (clk==1) { // Ako je ivica takta rastuca... • PORTD.F0 = 1; • // Opis funkcija JK i T flip-flopa • Q1 = JK; • JK = ((PORTB.F6 && (!Q1)) || ((!(PORTB.F5) && Q1))); • Q2 = TX; • TX = ((!(PORTB.F7) && Q2) || (PORTB.F7 && (!Q2))); • } • else if (clk==0) { // Ako je ivica takta opadajuca ... • PORTD.F0 = 0; • } • // Implementacija logike sa Slike 7-7 (1) • if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==0)) { • PORTC.F1 = !AX; • PORTC.F0 = !CX;

  43. Kôd u mikroC-u • // Funkcija MUX 4/1 • if ((PORTA.F1==0) && (PORTA.F0==0)) { • PORTB.F0 = PORTB.F4; • PORTD.F6 = PORTB.F4; • } • if ((PORTA.F1==0) && (PORTA.F0==1)) { • PORTB.F0 = PORTB.F3; • PORTD.F5 = PORTB.F3; • } • if ((PORTA.F1==1) && (PORTA.F0==0)) { • PORTB.F0 = PORTB.F2; • PORTD.F2 = PORTB.F2; • } • if ((PORTA.F1==1) && (PORTA.F0==1)) { • PORTB.F0 = PORTB.F1; • PORTD.F1 = PORTB.F1; • } • PORTD.F3 = JK; // JK flip-flop • PORTD.F4 = PORTB.F7; // D flip-flop • }

  44. Kôd u mikroC-u • // Implementacija logike sa Slike 7-8 (2) • else if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==1)) { • PORTD.F1 = !BX; • PORTD.F2 = !DX; • // Funkcija MUX 2/1 • if (PORTA.F0==0) { • PORTB.F0 = PORTB.F4; • PORTD.F6 = PORTB.F4; • } • if (PORTA.F0==1) { • PORTB.F0 = PORTB.F3; • PORTD.F5 = PORTB.F3; • } • PORTD.F3 = JK; // JK flip-flop • PORTD.F4 = TX; // T flip-flop • } • else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==0)) { • PORTD.F1 = EX; • PORTD.F2 = FX;

  45. Kôd u mikroC-u • // Funkcija MUX 2/1 • if (PORTA.F0==0) { • PORTB.F0 = PORTB.F4; • PORTD.F6 = PORTB.F4; • } • if (PORTA.F0==1) { • PORTB.F0 = PORTB.F3; • PORTD.F5 = PORTB.F3; • } • PORTD.F3 = JK; // JK flip-flop • PORTD.F4 = TX; // T flip-flop • } • else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==1)) { • PORTD.F1 = AX; • PORTD.F2 = !CX; • // Funkcija MUX 2/1 • if (PORTA.F0==0) { • PORTB.F0 = PORTB.F4; • PORTD.F6 = PORTB.F4; • }

  46. Kôd u mikroC-u • if (PORTA.F0==1) { • PORTB.F0 = PORTB.F3; • PORTD.F5 = PORTB.F3; • } • PORTD.F3 = JK; // JK flip-flop • PORTD.F4 = PORTB.F7; // D flip-flop • } • clk = !clkk; // Formiranje takta • } while (1); // Kraj Petlje • }//~

  47. Programiranje mikrokontrolera Za programiranjemikrokontrolera PIC16F877A korišćeni su • Bootstrap loader (ALLPIC) i • Softverski alat (IC-Prog).

  48. ALLPIC bootstrap loader • Jednostavan i veoma jeftin (do 10 evra), • Pripada grupi tzv. JDM loadera, • Programiranje se ostvaruje preko serijskog porta, • Zahteva eksterno napajanje 15-20V.

  49. ALLPIC – električna šema

  50. IC Prog – softverski alat • Jednostavan za korišćenje • Kompatibilan sa većim brojem bootstrap loadera

More Related