Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH LAB

Podobne prezentacje


Prezentacja na temat: "POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH LAB"— Zapis prezentacji:

1 POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH LAB

2 Urządzenia mechatroniczne Mechanika Elektronika ?

3 Co nimi steruje?

4 Co to jest mikrokontroler?

5 Co to jest mikroprocesor? ? ?

6 Mikroprocesor przetwarza sygnały wejścia na sygnały wyjścia według wcześniej zdefiniowanego programu Sam mikroprocesor jest zdolny jedynie do cyfrowych operacji logicznych, nie jest on zdolny do sterowania maszynami mechanicznymi ani nie cyfrowymi układami elektronicznymi Aby mikroprocesor mógł sterować maszyną należy doposażyć go w tzw. peryferia Mikroprocesor + peryferia = mikrokontroler

7 Standardowe peryferia wewnętrzne mikrokontrerów Zegar wewnętrzny (generator RC) GPIO TIMER/COUNTER INT (zwane także EXTI) ADC PWM Pamięć RAM Pamięć Flash Pamięć EEPROM Interfacey komunikacyjne (SPI, UART, USART, I 2 C, CAN) Watchdog DAC I inne…

8 Harmonogram Laboratorium 1)Zajęcia organizacyjne (plus wstęp o GPIO) 2)GPIO 3)INT (EXTI) 4)TIM/CNT 5)PWM 6)ADC 7)Kolokwium Zajęcia odbywają się z podziałem na 5 grup (max po 3 osoby w grupie)

9 Ocena Wejściówki: – mogą pojawić się na każdym ćwiczeniu w formie ustnej bądź pisemnej – Osoba, która z uwagi na nieobecność nie pisała wejściówki jest zobligowana do napisania jej w terminie późniejszym Sprawozdania: – jedno sprawozdanie na grupę – Każdy musi oddać minimum 1 sprawozdanie – Sprawozdanie jest przyjmowane na + bądź na - Plusy za aktywność oraz za samodzielność podczas ćwiczeń Kolokwium końcowe z całości materiału poznanego na lab. Ocena końcowa to średnia ważona ocen z wejściówek z wagą 1 oraz oceny z kolokwium z wagą 2 Zebrane plusy bądź minusy mogą zmodyfikować ocenę końcową maksymalnie o jeden stopień w górę bądź w dół.

10 Ocena c.d. Nie możliwe jest ocenienie działania softwareu bez wiedzy o działaniu hardwareu. Dlatego też prawidłowa odpowiedź na wejściówce bądź kolokwium musi zawierać pełne informacje o obu sferach aplikacji. Na zajęciach obowiązuje podstawowa znajomość języka C++ (a ściślej ANSI C)

11 Literatura: Wydawnictwo BTC: Mikrokontrolery AVR ATmega w praktyce Mikrokontrolery AVR w praktyce Mikrokontrolery AVR - niezbędnik programisty Mikrokontrolery dla początkujących Sztuka programowania mikrokontrolerów AVR – podstawy Sztuka programowania mikrokontrolerów AVR – przykłady

12 MCU na zajęciach 8 bit Producent MCU: ATMEL Rodzina MCU: AVR Podrodzina MCU: ATmega Model MCU: ATmega128 Środowisko IDE: – AVR studio (freeware) – WinAVR : AVR-GCC for Windows (freeware) Nota katalogowa – google:ATmega128.pdf – pobrać:doc2467.pdf (ENG, 386str.)

13 Pytania odnośnie zaliczenia bądź formy prowadzenia zajęć?

14 GPIO General Purpose Input / Output GPIO w mikrokontrolerze podzielone są na grupy logiczne zwane PORT Pojedynczą nóżkę GPIO nazywamy PIN Porty znakowane są literami np.: PORTA, PORTB, itd… Piny są numerowane od 0 do 7 (dla MCU 8 bit) Aby zaadresować GPIO podaje się port i pin np.: PORTA, pin1 lub prościej PA1 (czyli druga nóżka portu A) GPIO może przyjąć jedynie 2 stany logiczne 0 lub 1 Dla stanu 0 potencjał na danej nóżce wynosi 0[V], a dla stanu 1 potencjał wynosi 5[V] (wg. standardu TTL)

15 GPIO Aby sterować GPIO ustawia się tzw. rejestry konfiguracyjne Rejestry konfiguracyjne dla 8 bitowych MCU są 8 bitowymi zmiennymi (unsigned char) W języku GCC zapis rejestru wygląda następująco: – Binarnie: REJESTR=0b ; – Decymalnie: REJESTR=10; – Heksadecymalnie: REJESTR=0x10;

16 DDRx: Rejestr kierunkowy 0 na danej pozycji rejestru oznacza, że odpowiadający pin jest traktowany jako WEJŚCIE 1 na danej pozycji rejestru oznacza, że odpowiadający pin jest traktowany jako WYJŚCIE DDRC=0b ; software:

17 PORTx – rejestr WYJŚCIA 0 na danej pozycji rejestru oznacza, że odpowiadający pin ustawiony w stan logicznego 0 (potencjał 0[V]) 1 na danej pozycji rejestru oznacza, że odpowiadający pin ustawiony w stan logicznego 1 (potencjał 5[V]) software:

18 PINx – rejestr WEJŚCIA Uwaga! Nazwa PINx może być myląca Jest to rejestr tylko do odczytu 0 na danej pozycji rejestru oznacza, że przez odpowiadający pin nie płynie prąd 1 na danej pozycji rejestru oznacza, że przez odpowiadający pin płynie prąd software:

19 Podłączenie WYJŚCIA Maksymalna obciążalność prądowa GPIO dla ATmega128 wynosi 20mA Suma wszystkich prądów mikrokontrolera ATmaga128 nie może przekroczyć 200mA dla wejścia i 150mA dla wyjścia hardware: PA1 PA2 GND +5V R R PORTA=0b ; PORTA=0b ; PORTA=0b ; PORTA=0b ; D1 D2

20 Maksymalna obciążalność prądowa GPIO dla ATmega128 wynosi 20mA Pin należy podłączyć tak aby prąd przepływał bądź aby był uziemiony Istnieje kilka możliwych rozwiązań – Pull-up zewnętrzny – Pull-up wewnętrzny – Pull-down zewnętrzny – Pull-down wewnętrzny – Floating Na potrzeby zajęć będziemy używać jedynie podłączenia pull-up zewnętrzny hardware: Podłączenie WEJŚCIA PA3 R +5V GND

21 PA3 R +5V GND PA3 R +5V GND R wew. R0

22 Przykład: przycisk + LED Hardware: PA2 GND R D1 PB3 R +5V GND Software: void main(void) { DDRA=0b ; DDRB=0; PORTA=0b ; PORTB=0b ; while(1) { if(PINB!=0) PORTA=0b ; else PORTA=0b ; } SW1

23 Maski bitowe &iloczyn bitowy |suma bitowa ~negacja ^XOR <>przesuwanie bitowe w lewo

24 & (iloczyn) Bitowo: X & Y = Z X Y Z dec 10dec 2dec Bitowo: 18 & 10 = 2 Logicznie: 18 && 10 = 1 (prawda i prawda = prawda)

25 | (suma) Bitowo: X | Y = Z X Y Z dec 9dec 25dec Bitowo: 17 | 9 = 25 Logicznie: 17 || 9 = 1 (prawda lub prawda = prawda)

26 ~ (negacja) Bitowo: ~X X ~X dec 238dec Bitowo: ~17=238 Logicznie: !17 =0 (nie prawda = fałsz)

27 ^ (XOR) Bitowo: X ^ Y = Z X Y Z dec 9dec 12dec Bitowo: 17 ^ 9 = 12 Logicznie: brak odpowiednika w języku ANSI C

28 > Bitowo: X<

29 Dostęp bitowy PORTA=0b ;//ustawia cały port PORTA=(1<<3);//ustawia cały port PORTA=PORTA|(1<<3);//ustawia jeden pin PORTA|=(1<<3);//prościej PORTA&=(1<<3); PORTA&=~(1<<3);dobrze//kasuje pin PORTA^=0xFF;//neguje cały port PORTA^=0b ;//neguje 4 piny źle//nie kasuje pinu

30 Przykład 2 Hardware: PA1 GND R D1 PA0 R +5V GND Software: void main(void) { DDRA=0b ; //we/wy PORTA=0b ; //stan pocz. while(1) { //pętla główna if(PINA&0b ==1) //warunek we. { //jeśli prawda PORTA|=(1<<1); //ustaw 1 na poz. 1 PORTA&=~(1<<2); //ustaw 0 na poz 2 } else { //jeśli fałsz PORTA&=~(1<<1); //ustaw 0 na poz. 1 PORTA|=(1<<2); //ustaw 1 na poz. 2 } SW1 PA2 GND R D2

31 ułatwienie Zapis PINA&0b można zastąpić w języku GCC komendą: bit_is_set(REJESTR,POZYCJA) Np.. If(bit_is_set(PINA,0)) {…} Dostępna jest też komenda bit_is_clear(REJESTR,POZYCJA) Komendy te znajdują się w bibliotece #include

32 Przykład 2 Hardware: PA1 GND R D1 PA0 R +5V GND Software: void main(void) { DDRA=0b ; //we/wy PORTA=0b ; //stan pocz. while(1) { //pętla główna if(bit_is_set(PINA,0)) //warunek we. { //jeśli prawda PORTA|=(1<<1); //ustaw 1 na poz. 1 PORTA&=~(1<<2); //ustaw 0 na poz 2 } else { //jeśli fałsz PORTA&=~(1<<1); //ustaw 0 na poz. 1 PORTA|=(1<<2); //ustaw 1 na poz. 2 } SW1 PA2 GND R D2

33 programowanie Program *.c biblioteki *.h Kod maszynowy *.hex kompilacja PC USB Programator JTAG lub ISP MCU Interface JTAG lub ISP PCB Pamięć FLASH

34 Pytania?

35 dziękuję I proszę o sporządzenie listy osób wg poniższego przykładu Przedmiot:SUM - lab Grupa:MCH2 Dzień, Godzina:Piątek, 19:30 Mail do starosty bądź osoby NAZWISKOIMIĘ KowalskiJan Itd…


Pobierz ppt "POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH LAB"

Podobne prezentacje


Reklamy Google