Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Podobné dokumenty
Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

dspic33: Přerušení, čítače a Change Notification

Úvod do mobilní robotiky NAIL028

Úvod do mobilní robotiky AIL028

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...

IMP (Mikroprocesorové a vestavěné systémy)

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

Microchip. PICmicro Microcontrollers

5. A/Č převodník s postupnou aproximací

Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877. Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566.

CONFIGURATION zapisuje se na začátek programu použitím direktivy preprocesoru pragma

CONFIGURATION zapisuje se na začátek inicializační části programu použitím direktivy preprocesoru pragma

RIO moduly s analogovými výstupy 200 IPSEN-BL8O-DIN

Nejčastěji pokládané dotazy

Osmibitové mikrořadiče Microchip PIC16F1937

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

FILIP SCHWANK. Katedra měření, listopad 2017

Modul řízení otáček stejnosměrného motorku

ZDROJ STLAČENÉHO VZDUCHU

AVR ovladač pro obvod STV5730A, obvod pro vkládání textu do videa

Zapojení vývodů. SPP Signal

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Základy digitální techniky

Arduino Martin Friedl

EduKitBeta Uživatelská příručka

Modul univerzálních analogových vstupů R560. Shrnutí

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

Přerušovací systém s prioritním řetězem

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 2.díl. České vysoké učení technické Fakulta elektrotechnická

TQS3. popis modifikace s protokolem MODBUS RTU. 29. února 2008 w w w. p a p o u c h. c o m 0199

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Osmibitové mikrořadiče Microchip PIC16F887

Maticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, Tomáš Kreuzwieser, Ondřej Kožín

Malý distribuovaný I/O modul

Komunikační protokol MODBUS RTU v přípojné desce EPD.

A0M38SPP - Signálové procesory v praxi - přednáška 10 2

IMTEE Přednáška č. 11

Kalibrace a komunikace s převodníkem řady WQ-X

Arduino digitální multimetr

Výuková laboratorní sestava seminář pro učitele

Desky Evb Display a Evb Keyboard

compsetup COMPSETUP config, ivr Platí pro PICAXE 20X2, 28X2, 40X2 Syntaxe:

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

APLIKACE MIKROKONTROLÉRŮ PIC32MX

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 1. díl. České vysoké učení technické Fakulta elektrotechnická

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011


Struktura a architektura počítačů

DESKA ANALOGOVÝCH VSTUPŮ ±24mA DC, 16 bitů

Wie232. Převodník rozhraní Wiegand z bezkontaktních čteček na RS června 2011 w w w. p a p o u c h. c o m

Úvod do mobilní robotiky AIL028

Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer. A4B38NVS, 2012, J.Fischer, kat. měření,, ČVUT - FEL 1

Použití UART a radia na platformě micro:bit

Modul. výstupu. 12 ti PWM. Vlastnosti. Odběr. 12 5A 36A 2xRS232, PWM výstupy. Komunikace bps 8N1 velikost 6M

UniPi 1.1 Lite Technologická dokumentace

Kompaktní I/O modul RMIO. Shrnutí

Úvod do mobilní robotiky AIL028

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/

Základní uspořádání pamětí MCU

Realizace filtru FIR

FC015 Komunikativní regulátor teploty a CO 2 pro topné a chladicí panely a VAV klapku

Arduino Ethernet Shield W5100 R3

Modul se montuje naklapnutím na standardní DIN lištu. Příklady zapojení: viz domat Aplikační a projekční příručka.

Manuál přípravku FPGA University Board (FUB)

MXIO. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce. Technické údaje

Komunikace s snímačem ph485 protokolem Modbus-RTU

Jednočipové mikropočítače (mikrokontroléry)

Paměti Flash. Paměti Flash. Základní charakteristiky

Arduino Data Logger Shield

Vývojové kity Mega48,

Vestavné systémy BI-VES Přednáška 5

FREESCALE KOMUNIKAČNÍ PROCESORY


Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Programování kitu F0- Lab v C++ pomocí on line IDE mbed. Klub ETC, ČVUT FEL, kat. měření. ETC , kat. měření, ČVUT, FEL, Praha

eses výukový multi shield pro Arduino UNO

Ústav radioelektroniky

Formát rámce MODBUS pro MORSE

Ovládání LCD. Ing. Josef Grosman. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

RXIO. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Komunikační protokol MODBUS RTU v jednotce M4016. Seznam služeb protokolu MODBUS podporovaných řídící jednotkou M4016 je v tabulce.

adcsetup {LET} adcsetup = channels Platí pro PICAXE 08M2, 14M2, 18M2, 20M2, 20X2, 28X2, 40X2 Syntaxe:

Systém přenosu audiosignálu pro evakuační rozhlasy 200M-EVA.E BOX + DIN35-LOCK* Slave 2. Slave 4

ŠESTNÁCTIKANÁLOVÝ A/D PŘEVODNÍK ±30 mv až ±12 V DC, 16 bitů

Pokojový termostat řízený pomocí SMS zpráv v síti GSM

DESKA ANALOGOVÝCH VSTUPŮ A VÝSTUPŮ ±24mA DC, 16 bitů

A/D a D/A PŘEVODNÍK 0(4) až 24 ma DC, 16 bitů

Konfigurace portů u mikrokontrolérů

Přednáška UART, RS232, 422, 485

MXIO. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce

Převodník Ethernet RS485 s Modbus RTU / TCP routerem

1. Seznamte se s výukovou platformou FITkit (

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Transkript:

Aplikace Embedded systémů v Mechatronice

Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Rekapitulace periferii GPIO TIMER UART Analogově-digitální převod ADC periferie PIC18 Nastavení ADC Ukázky použití Hardware poznámky

Opakování Co víte o sběrnici UART? Jak ji lze využít ke komunikaci s PC? Co je EEPROM? Co to znamená baudrate?

TRISx Nastavuje zda bude pin vstup 1, nebo výstup 0. TRISD = 0b00001111; TRISDbits.TRISD4 = 0; TRISDbits.TRISD5 = 0; TRISDbits.TRISD6 = 0; //nastaveni portu D pulka pinu vstup, zbytek vystup //nastaveni pomoci jednotlivych bitu

LATx LATDbits.LATD2 = 1; LATDbits.RD2 = 1; //zapis logicke 1 na pin //totez alternativni nazev s nazvem pinu LATD = 0xFF; //prepsani vsech RD pinu na 1 LATDbits.LATD2 = ~LATDbits.LATD2; //prevraceni pinu

PORTx if(portcbits.rc0 == 0){ //magic happens here

Použití timeru Nastavení timeru (inicializace periferie): void init(void){ // set pins as outputs TRISDbits.TRISD2 = 0; // Timer T1CONbits.TMR1CS = 0b00; // TMR1 source (FOSC/4) T1CONbits.T1CKPS = 0b11; // TMR1 prescaler (1:8) T1CONbits.TMR1ON = 1; // TMR1 on Použití v kódu: void main(void) { init(); while(1){ if(tmr1 >= 50000){ LATDbits.LATD2 ^= 1;; TMR1 = 0;

Více zdrojů přerušení T1CONbits.TMR1CS = 0b00; T1CONbits.T1CKPS = 0b11; // TMR1 prescaler T1CONbits.TMR1ON = 1; // TMR1 on T5CONbits.TMR5CS = 0b00; T5CONbits.T5CKPS = 0b11; // TMR1 prescaler T5CONbits.TMR5ON = 1; // TMR1 on /* init - interrupts */ PEIE = 1; // global interrupt enable GIE = 1; // peripheral interrupt enable TMR1IE = 1; // enable TMR1 interrupt TMR5IE = 1; // enable TMR1 interrupt void interrupt ISR(void){ if(tmr1ie & TMR1IF){ TMR1 = 0x8000; LED1 ^= 1; TMR1IF = 0; if(tmr5ie & TMR5IF){ TMR5 = 0; LED2 ^= 1; TMR5IF = 0; while(1){ asm("nop");

Inicializace UART periferie TRISCbits.TRISC6 = 0; // uart TX as output TRISCbits.TRISC7 = 1; // uart RX as input Piny RX a TX je třeba v TRISx registru nastavit jako I/O SPBRG = 25; // (16_000_000 / (64 * 9600)) - 1 // final enable RCSTAbits.SPEN = 1; TXSTAbits.TXEN = 1; RCSTAbits.CREN = 1; // enable UART peripheral // enable TX // enable RX (aka Continuous receive) Uart je již komplexnejší periferie. Na PIC18 může fungovat i v synchronním módu Omezíme se na základní nastavení!!

UART Zápis dat na sběrnici: while(1){ while (TMR1 < DELAY); // busy waiting for TMR1 Pomocí přerušení: LATD2 = ~LATD2; TMR1 = 0; TXREG = '0' + i; // char '0' + index i = (i == 9? 0 : i + 1); // cycle 0...9 // end of main loop čtení dat a zápis dat na sběrnici: while(1){ while(!pir1bits.rcif); // waiting for data available flag LATB0 = ~LATB0; // LED signal TXREG = RCREG; // read byte and send it back // end of main loop RCIE = 1; PEIE = 1; GIE = 1; void interrupt() handle(void){ // check both interrupt enable & interrupt flag if (PIE1bits.RC1IE && PIR1bits.RCIF){ TXREG = RCREG; // Transmit back one character LATD2 = ~LATD2; PIR1bits.RCIF = 0; return; //RX interrupt enable // global interrupt enable // peripheral interrupt enable

Analogově digitální převod Analogově digitální převodní převádí analogovou hodnotu napětí na její digitální interpretaci. Proto jedním ze základních parametrů je rozlišení převodníku. Jedná se o počet hladin na kterou dokáže převodník rozdělit interval referenčního napětí. ADC převodník na PIC 18 pracuje na principu postupné aproximace (Successive approximation ADC).

ADC převodník PIC ADC převodník MCU PIC18 se skládá z DAC převodníku, který slouží k nastavení požadované úrovně napětí Komparátorem je rozhodnuto, jestli napětí na AN pinu je větší nebo menší než nastavená hodnota Takto se projde všech 10 bitů Jedna se o analogii půlení intervalu Zjednodušený DAC převodník: U in = ADC U ref Michal ADC res Bastl

ADC převodník PIC Převod probíhá od nejvyššího bitu ten vždy binárně rozdělí interval na polovinu.

ADC převodník PIC18 ANSELA = 0b00100000; ANSELE = 0b1; //AN4 //AN5 ADCON2bits.ADFM = 1; //right justified ADCON2bits.ADCS = 0b110; //Fosc/64 ADCON2bits.ACQT = 0b110; //16 ADCON0bits.ADON = 1; //ADC turn on

ADC převodník PIC18 ANSELA = 0b00100000; ANSELE = 0b1; //AN4 //AN5 ADCON2bits.ADFM = 1; //left justified ADCON2bits.ADCS = 0b110; //Fosc/64 ADCON2bits.ACQT = 0b110; //16 ADCON0bits.ADON = 1; //ADC turn on ADCON0bits.CHS = 5; GODONE = 1; while(godone); pot1 = (ADRESH << 8) ADRESL; //select AN5 //start //wait until its done //combine registers