Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


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

1 POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH GRZEGORZ.PITTNER@PUT.POZNAN.PL www.zum.put.poznan.pl

2 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”

3

4 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.

5

6

7

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

9 Podłączenie Internal RC Oscilator

10 LICZNIKI

11 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…)

12 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

13

14 SZCZEGÓŁOWY SCHEMAT LICZNIKA

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

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

17 Rejestry konfiguracyjny licznika 8 bit

18 Rejestry konfiguracyjny licznika 16 bit

19

20 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

21 Rejestry konfiguracyjny licznika 16 bit

22 Rejestr licznika 8 i 16 bit

23 Rejestr porównawczy 8 i 16 bit

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

25 Timer/Counter Interrupt Flag Register

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

27 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?

28 Przerwanie od przepełnienia licznika #include #define WARTOSC_PRZELADOWANIA 49911 ISR(TIMER3_OVF_vect) { TCNT3 = WARTOSC_PRZELADOWANIA; PORTC ^= (1<<0); //zaneguj stan na pinie PC0 } int main(void) { DDRC=0b11111111; DDRD=0b00000000; 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); }

29 PWM

30 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 %

31 WARTOŚĆ ŚREDNIA

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

33 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.

34

35 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

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

37 Tryby PWM

38 Tryb fast PWM

39 Tryb z korekcją fazy

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

41 #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) { }

42 #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 = 128+128*sin(2*3.14* t /1000 ); OCR1B = 128+128*sin(2*3.14* t /1000 + 3.14); delay_ms(1); }

43 WATCHDOG

44 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.

45 Licznik nadzorcy

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

47 ATmega 128 - 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. WDP2 - 0 - 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).

48 Pytania? www.zum.put.poznan.pl

49 Dziękuję (lista)


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

Podobne prezentacje


Reklamy Google