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

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Automaty asynchroniczne
Przetworniki C / A budowa Marek Portalski.
POSTĘP TECHNICZNY W PRACY BIUROWEJ
Liczniki.
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Sprzężenie zwrotne Patryk Sobczyk.
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Wykład 4 Przetwornik Analogowo-Cyfrowy
Magistrale.
Podstawowe składniki funkcjonalne procesora i ich rola.
Mikrokontrolery - - podstawowe architektury
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Temat nr 10: System przerwań
Płyty główne Chipset.
Zasilacze.
Architektura komputerów
Komputerowe wspomaganie skanera ultradźwiękowego
Procesory jednoukładowe
ogólne pojęcia struktury
Programowalny układ we-wy szeregowego 8251
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Wyjścia obiektowe analogowe
Przerzutniki.
Mikrokontrolery PIC.
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
MCS51 - wykład 6.
POLITECHNIKA POZNAŃSKA
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Mikrokontrolery PIC.
POLITECHNIKA POZNAŃSKA
ARCHTEKTURA KOMPUTERA
Płyta główna. Magistrale I/O
Regulacja impulsowa z modulacją szerokości impulsu sterującego
Zasada działania komputera
PEŁNA KONTROLA NAD POBOREM MOCY
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Przerwanie ang. interrupt.
12. Input Capture – Wejście przechwytywania
Pudełko Urządzenia Techniki Komputerowej
KARTY DŹWIĘKOWE.
BUDOWA I ZASADA DZIAŁANIA
PRACA MAGISTERSKA Wykorzystanie środowiska LABVIEW jako platformy do sterowania procesem wymuszenia w badaniach zmęczeniowych Grzegorz Sus Wydział Mechaniczny.
Przerzutniki Przerzutniki.
Przerzutniki bistabilne
Procesor, pamięć, przerwania, WE/WY, …
Struktura wewnętrzna mikrokontrolera zamkniętego
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
Układy i systemy mikroprocesorowe
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH LAB CMBiN p.209.
Przerwania timera i przerwania zewnętrzne
PWM, obsługa wyświetlacza graficznego
POLITECHNIKA POZNAŃSKA
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
SunFollower Projekt zespołowy Prowadzący: Dr inż. Marek Woda Wykonał: Bartosz Przybyłek Data prezentacji:
Płyta główna. Magistrale I/O
POLITECHNIKA POZNAŃSKA
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Mikrokontrolery System przerwań
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Transmisja radiowa Arduino & nRF24L01P
Zapis prezentacji:

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

ZEGAR SYSTEMOWY Do poprawne pracy CPU potrzebuje sygnału prostokątnego taktującego jego pracę Układ taktujący CPU oraz inne peryferia MCU nazywamy „Zegarem Systemowym” bądź „Zegarem Głównym”

Wybór sygnału dla zegara systemowego odbywa się za pomocą ustawienia tzw. fuse bitów przy pomocy programatora z poziomu IDE (niezależnie od programu) Błędna konfiguracja fuse bitów może uniemożliwić dalszą komunikację z MCU.

External RC External Clock Crystal Oscilator Low Frequency Crystal Oscilator Calibrated Internal RC Oscilator Podstawowe parametry: stabilność, częstotliwość, cena

Podłączenie Internal RC Oscilator

LICZNIKI

Układy sprzętowe wyposażone w wewnętrzny rejestr zmieniający wartość o 1 przy odpowiedniej zmianie stanu wejscia sterujacego. Licznik moze słuzyc do: – cyklicznego zgłaszania przerwania, – generowania różnego rodzaju przebiegów sygnałów zewnętrznych – zliczania zdarzeń (sygnałów) zewnętrznych, – odmierzania czasu miedzy zdarzeniami Liczniki w mcu mogą być jedno lub wielo rejestrowe (8, 16 bit itd…)

UPROSZCZONY SCHEMAT LICZNIKA REJESTR LICZNIKA PRESCALER ZEGAR SYSTEMOWY GPIO MULTIPLEKSER REJESTRY STERUJĄCE (KIERUNEK, TOP, BOTTOM, ZERUJ, TRYB, STAN) KONTROLER ZDARZENIE TRYB COUNTER TRYB TIMER GPIO TRYB PWM TRYB Z PRZERWANIEM

SZCZEGÓŁOWY SCHEMAT LICZNIKA

PRESCALER Rolą prescalera jest podział częstotliwości sygnału

PRESCALER Rejestr: TCCRn ( /A/B) Np..: TCCR0, TCCR1A itd..

Rejestry konfiguracyjny licznika 8 bit

Rejestry konfiguracyjny licznika 16 bit

Podstawowe tryby pracy timera/licznika Normal: zlicza w górę od BOTTOM do TOP (2n-1) fOC = fCLK/ (N (2n-BOTTOM)) fOC = fCLK/ (N (2n-RELOAD) CTC: Clear Timer on Compare

Rejestry konfiguracyjny licznika 16 bit

Rejestr licznika 8 i 16 bit

Rejestr porównawczy 8 i 16 bit

Rejestr przerwań licznika 8 i 16 bit Extended Timer/Counter Interrupt Mask Register Timer/Counter Interrupt Mask Register

Timer/Counter Interrupt Flag Register

Obliczenia fOC = fCLK / (N (2n-RELOAD) fOC = fCLK = N = (1, 8, 64, 256, 1024) R =

Interpretacja wyników obliczeń 1) Jeśli dla danego N wartość przeładowania R jest: Ujemna? Większa od 2n-1 ? Niecałkowita ? 2) Jeśli dla danych wejściowych istnieje wiele wartość przeładowania spełniających warunek: R  C; 0 < R < 2n-1 ? 3) Jeśli dla żadnego N nie ma rozwiązania spełniającego kryteria pkt 1) ale istnieją takie N, że R jest niecałkowite?

Przerwanie od przepełnienia licznika #include #define WARTOSC_PRZELADOWANIA ISR(TIMER3_OVF_vect) { TCNT3 = WARTOSC_PRZELADOWANIA; PORTC ^= (1<<0); //zaneguj stan na pinie PC0 } int main(void) { DDRC=0b ; DDRD=0b ; TCCR3B &=~ (1<<CS30); //prescaler N=256 TCCR3B &=~ (1<<CS31); //prescaler N=256 TCCR3B |= (1<<CS32); //prescaler N=256 ETIMSK|=(1<<TOIE3); //zezwolenei lokalne TCNT3 = WARTOSC_PRZELADOWANIA; sei(); //zezwolenie globalne while(1) { if(bit_is_clear(PIND, 7)) { PORTC |= (1<<1);} else{ PORTC &= ~(1<<1); }

PWM

PWM (ang. Pulse-Width Modulation) – metoda regulacji sygnału prądowego lub napięciowego, o stałej amplitudzie i częstotliwości, polegająca na zmianie wypełnienia sygnału. 5 V 0 V 5 V 0 V 5 V 0 V 15 % 50 % 75 %

WARTOŚĆ ŚREDNIA

PWM może być wykorzystywany do generowania sygnałów zmiennych

Za pomocą PWM można quasi płynnie sterować mocą odbiornika. Warunkiem koniecznym jest aby odbiornik posiadał zdolność do uśredniania mocy czynnej. Częstotliwość sygnału sterującego PWM musi być dobrana odpowiednio do stałej czasowej reakcji odbiornika na sygnał. Sygnał PWM generuje wysokie zakłócenia EMC.

OC3A: -timer3 -kanał A OC3B: -timer3 -kanał B Na powyższym przykładzie oba wyjścia PWM pracują z tym samym timer’em, a więc będą miały tę samą częstotliwość przebiegu i tryb pracy. Mogą się różnić jedynie wypełnieniem sygnału

Wypełnienie PWM duty = (OCnX—BOTTOM)/(TOP-BOTTOM) [%] duty = OCnX/TOP [%] (dla BOTTOM=0)

Tryby PWM

Tryb fast PWM

Tryb z korekcją fazy

Różnice między fast PWM, a PWM z korekcją fazy? Częstotliwość? Rozdzielczość? Inne?

#include int main(void) { DDRB |= (1 << 5) | (1 << 6);//odpowiednie piny jako WY TCCR1A |= (1 << COM1A1)|(1 << COM1B1);//clear OC on compare match: kanał A i B TCCR1A |= (1 << WGM10)|(1 << WGM12);//tryb fast PWM 8 bit TCCR1B |= (1 << CS12);//prescaler N=256 OCR1A = 64; OCR1B = 128; while(1) { }

#include unsigned long int t=0; int main(void) { DDRB |= (1 << 5) | (1 << 6); TCCR1A |= (1 << COM1A1)|(1 << COM1B1)|(1 << WGM10)|(1 << WGM12); TCCR1B |= (1 << CS12); while(1) { t++; OCR1A = *sin(2*3.14* t /1000 ); OCR1B = *sin(2*3.14* t / ); delay_ms(1); }

WATCHDOG

Watchdog (licznik nadzorczy) Watchdog jest instalowany w systemach, które działają bez obsługi człowieka. Są standardem w systemach wbudowanych. W większości współczesnych mikrokontrolerów watchdog jest jednym z elementów ich architektury i nie trzeba stosować dodatkowego sprzętu. Watchdog jest elementem sprzętowym działającym niezależnie od oprogramowania. Podstawowym zadaniem układu watchdog jest detekcja „zawieszenie się” programu. Podstawowym działaniem układu watchdog jest wymuszenie resetu programu w sytuacji niepożądanej.

Licznik nadzorcy

ATmega watchdog Taktowanie odbywa się poprzez niezależny wbudowany oscylator o częstotliwości pracy ok. 1MHz. Konfigurowanie watchdog’a odbywa się przez rejestr WDTCR.

ATmega watchdog WDTOE - Bit odblokowania wyłączania watchdog’a. Ustawienie tego bitu na 1, tuż przed wpisaniem do WDE wartości 0, pozwala wyłączyć watchdog'a. WDE - Bit włączania watchdog’a. Wpisanie logicznej jedynki do bitu WDE powoduje włączenie watchdog’a, natomiast wpisanie 0 go wyłącza. Aby wyłączyć watchdoga, wcześniej bit WDTOE musi być ustawiony na 1, albo oba te bity trzeba zapisać równocześnie. WDP Bity preskalera licznika watchdog’a. Za pomocą tych bitów dobierany jest czas, jaki upływa od zerowania watchdog’a do wygenerowania przez niego impulsu resetującego. Czas można dobierać w zakresie od ok. 16ms (stan 000) do ok. 2,2s (stan 111).

Pytania?

Dziękuję (lista)