HC05 DAWID PIOTROWSKI

Podobne dokumenty
SYSTEMY MIKROPROCESOROWE W AUTOMATYCE. Projekt bariery świetlnej.

2.1 Porównanie procesorów

Układy czasowo-licznikowe w systemach mikroprocesorowych

Funkcje czasowe (multifunction timer)

Budowa linii asemblera

Enkoder magnetyczny AS5040.

Mikrokontroler w roli generatora PWM. Wpisany przez Administrator piątek, 06 lipca :51 -

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Wstęp Architektura mikrokontrolerów 68HC08

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

MIKROPROCESORY architektura i programowanie

SYSTEMY MIKROPROCESOROWE

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

SYSTEMY MIKROPROCESOROWE W AUTOMATYCE PROJEKT. Temat: Bariera optyczna

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

ze względu na jego zaokrąglony kształt musimy go umieścić w innych bloczkach np. ze zmienną: lub jeśli chcemy sprawdzić jaki właśnie znak odczytujemy:

Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Nadajnik pilot MX804. Odbiornik XY-DJM.

SERIA D STABILIZATOR PRĄDU DEDYKOWANY DO UKŁADÓW LED

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

1 Badanie aplikacji timera 555

Instrukcja obsługi SDC106

Politechnika Wrocławska

1 Moduł Neuronu Cyfrowego

Programowanie mikrokontrolerów 2.0

(12) OPIS PATENTOWY (19) PL (11)

2. Architektura mikrokontrolerów PIC16F8x... 13

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Programowanie mikrokontrolerów 2.0

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Hardware mikrokontrolera X51

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

Programowanie w językach asemblera i C

Sterownik nagrzewnic elektrycznych ELP-HE24/6

CSMIO-ENC. Moduł do gwintowania. Rev 1.1. copyright 2012 CS-Lab s.c.

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Sterownik nagrzewnic elektrycznych HE module

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Wyniki (prawie)końcowe - Elektroniczne warcaby

Tester samochodowych sond lambda

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Szkolenia specjalistyczne

Laboratorium Asemblerów, WZEW, AGH WFiIS Tester NMOS ów

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

rh-pwm3 Trzykanałowy sterownik PWM niskiego napięcia systemu F&Home RADIO.

CRUSB KONWERTER CAN / USB

PRZEKAŹNIKI CZASOWE W PRZEKAŹNIKI CZASOWE I KONTROLI SERIA 5 PRZEKAŹNIKI MODUŁOWE SERIA 6 PRZEKAŹNIKI PRZEMYSŁOWE. strona 440

Dystrybutor energii elektrycznej w systemie przedpłatowym z obsługą czterech gniazd sieciowych 230V~ AMPS RFID Instrukcja obsługi

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Układy czasowo-licznikowe w systemach mikroprocesorowych

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

StraŜnik mocy RT-MONIT. RAFIKEL Technologie Rafał Maślanka

1 Moduł Neuronu Cyfrowego SM

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Rys. 1. Przekaźnik kontroli ciągłości obwodów wyłączających typu RCW-3 - schemat funkcjonalny wyprowadzeń.

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Zastosowania mikrokontrolerów w przemyśle

Mikroprocesorowy miernik czasu

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Moduł nagrzewnicy elektrycznej EL-HE

Programowanie Niskopoziomowe

MCAR Robot mobilny z procesorem AVR Atmega32

Modulatory PWM CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Budowa mikrokontrolera UC3C. - 3 rodzaje obudów

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

LMWX-22 INTELIGENTNY MODUŁ WEJŚĆ / WYJŚĆ DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2000 r.

Część 6. Mieszane analogowo-cyfrowe układy sterowania. Łukasz Starzak, Sterowanie przekształtników elektronicznych, zima 2011/12

Mini Modbus 1AO. Moduł rozszerzający 1 wyjście analogowe, 2 wyjście cyfrowe. Wyprodukowano dla

AKTUATOR DO SYSTEMU DUO Q

System mikroprocesorowy i peryferia. Dariusz Chaberski

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

Opis układów wykorzystanych w aplikacji

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Wstęp Architektura... 13

Wyjście do drukarki Centronix

Elastyczne systemy wytwarzania

PL B1. WOJSKOWY INSTYTUT MEDYCYNY LOTNICZEJ, Warszawa, PL BUP 23/13

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

MiniModbus 4DI-M. Moduł rozszerzający 4 wejścia cyfrowe z pamięcią liczników. Wyprodukowano dla

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Komunikacja w mikrokontrolerach Laboratorium

PL B1 PRZEDSIĘBIORSTWO BADAWCZO- -PRODUKCYJNE I USŁUGOWO-HANDLOWE MICON SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ, KATOWICE, PL

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Obwody i sygnalizacje dodatkowe.

Politechnika Warszawska

Instrukcja obsługi. PLD 24 - pixel LED driver DMX V MODUS S.J. Wadowicka Kraków, Polska.

Proste układy wykonawcze

SDD287 - wysokoprądowy, podwójny driver silnika DC

Programowanie mikrokontrolerów. 5 grudnia 2007

LABORATORIUM PODSTAW ELEKTRONIKI MATERIAŁY POMOCNICZE SERIA PIERWSZA

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

SDD287 - wysokoprądowy, podwójny driver silnika DC

Transkrypt:

Mikro-sieć dla HC05 DAWID PIOTROWSKI

Spis treści 1 Transmisja 3 2 Algorytm i fragmenty programu 4 2.1 Ogólny algorytm odbierania trnsmitowanego sygnału....... 4 2.2 Realizacja sterowania silnikiem................... 5 2.3 Odczytanie sygnału......................... 6 3 Rozwiazania techniczne 8 3.1 Modulacja sygnału......................... 8 3.2 Układ zasilający silnik....................... 8 4 Uwagi końcowe 9

Założenia projektowe Projekt zakładał stworzenie komunikacji między mikrokontrolerami z rodziny HC05 oraz ich ewentualne zastosowanie do sterowania modelami kolejki na makiecie lub do odpalania pocisków na kostiumach aktorów na planie filmowym. 1 Transmisja W głównej mierze problem polegał na wymyśleniu prostego sposobu transmisji odpornego na zakłócenia, gdyż w przypadku pierwszego zastosowania to znaczy komunikacji z poszczególnymi lokomotywami chcielibyśmy wysyłać sygnał sterujący przez zasilanie po szynie. Niestety występują tu spore zakłócenia podczas ruchu kolejki po szynach. Dlatego najprostszym sygnałem w tym przypadku okazał się sygnał taki prawie analogowy tzn. szerokość sygnału wysyłanego w stanie wysokim jest proporcjonalna do prędkości silnika odpowiedniej kolejki, ciągły sygnał oznacza pracę silnika na pełnych obrotach, przerwa w sygnale lub jego zanik powoduje zgaszenie silnika. Aby kolejka nie przerywała swojego ruchu należy odpowiednio często wysyłać sygnał sterujący. Następny problem polega na tym, aby każdy z mikrokontrolerów dokładnie wiedział który sygnał jest przeznaczony tylko dla niego. Rozwiązanie jest bardzo proste; każdy z kontrolerów odbiera tylko sygnał z odpowiednim dla siebie okresem. Pojedynczy impuls sygnału sterującego jest równy 1/10 okresu. Aby się uchronić przed błędnym zinterpretowaniem sygnału lub przed zakłóceniami należy uwzględnić pewną tolerancję. t > syg. ster. 1 2 3 4 5 6 7 8 9 10 1 2 T > Okres tolerancja Rysunek 1: Modulacja sygnału. 3

2 Algorytm i fragmenty programu 2.1 Ogólny algorytm odbierania trnsmitowanego sygnału Start SEI Obliczenia T N T_okr=OKRES? N N Co do tolerancji T T Liczymy PWM N T CLI Rysunek 2: Algorytm odbierania transmitowanego sygnału. 4

2.2 Realizacja sterowania silnikiem TIMER_ISR: ;ta etykieta wykorzystana jest do inicjacji ;wektora przerwan od timera, tu zaczyna sie ;procedura obslugi tych przerwan lda syg_pwm ;sprawdźmy pwm cpm #0 beq GAS ;jezeli pwm=0 to gasimy silnik inc tim_counter ;zwieksz licznik przerwan zegarowych cmp tim_counte ;porownanie tim_counter z pwm bne SPRAWDZ_OKRE ;sprawdzmy okres bclr 7,porta ;jeżeli jesteśmy na końcu pwm gasimy silnik SPRAWDZ_OKRES: lda #OKRES cmp tim_counter ;sprawdzanie tim_counter z okresem PWM bne KONIEC_T ;koniec przerwania bset 7,porta ;jeżeli jesteśmy na końcu okresu zapalamy silnik clr tim_counter bra KONIEC_T ;wychodzimy GAS: bclr 7,porta ;gasimy silnik KONIEC_T: bset 3,tscr rti ;zgas flage przerwania zegarowego ;wroc z obslugi przerwania 5

2.3 Odczytanie sygnału START jsr init ;wywolanie podprogramu inicjacji WAIT1S: ;demko zmieniające pwm od 10 do 0 jsr POCZEKAJ jsr POCZEKAJ dec syg_pwm bne WAIT1S tag lda #00\\ sta copr sei bclr 7,PORTA ZGASDIODE: bset 4,PORTA dec zly lda zly beq tag CZEKAJ0: cli sei lda #112 CZEKAJ1: deca beq CZEKAJ0 bil CZEKAJ1 lda TCR sta T1 lda #112 CZEKAJ2: deca beq CZEKAJ0 bih CZEKAJ2 lda TCR sta T2 lda #112 CZEKAJ3: deca beq CZEKAJ0 bil CZEKAJ3 ;wyzerowanie licznika COP-watchdog ;wyłączone przerwania ;na początek zgaśmy silnik ;dioda sygnalizująca poprawność odbioru sygnału ;zapal diode ;jeżeli N razy otrzymaliśmy sygnał nie do nas ;to wracamy pogłaskać WATCHDOG a ;zezwalamy na przerwanie ;blokujemy od razu ;jeżeli przez dłuższy czas nie mamy ;konkretnego sygnału to cofnij ;czekamy na zbocze wysokie ;zczytujemy stan licznika ;czekamy na stan niski ;zczytujemy stan licznika ;czekamy na stan wysoki 6

lda TCR sta T3 ;zczytujemy licznik OBLICZENIA: cli lda T3 sub T1 sta T_okr ;T3-T1 -> okres pwm lda T2 sub T1 sta T_szer ;T2-T1 -> szerokość impulsu lda #123 sub T_okr bmi ZGASDIODE ;if 123-T_okr < 0 to zgas sub #TOLERANCJA bpl ZGASDIODE ;if 123-T_okr-TOLERANCJA > 0 to zgas bclr 4,PORTA ;zapal diode testowa lda #100 sta zly clr licznik lda T_szer ODEJMUJEMY: ;zliczanie pwm inc licznik sub #12 ;pojedynczy impuls trwa 12us cmp #0 bpl ODEJMUJEMY dec licznik ;zawsze mamy o jeden wiecej lda licznik sta syg_pwm bra CZEKAJ1 lda porta ;odczyt aktualnej wartosci portu A do AccA bra tag ;powrot do petli bez konca 7

3 Rozwiazania techniczne 3.1 Modulacja sygnału Tak jakby w podtekscie tematu tego projektu jest sterowanie obiektami na kolejce elektrycznej. Wobec tego zasadnicze pytanie w jaki sposób przesłać sygnał do kontrolera tak aby sygnał był w miare stabilny. Pomysł był taki, aby podawać sterowanie przez tory, czyli przez zasilanie. możemy użyć do tego monolitycznego stabilizatora napięcia jak to jest pokazane niżej na rysunku.sygnał jest modulowany, a następnie w każdym modelu lokomotywy powinien znajdować się demodulator, który poda sygnał sterujący mikrokontrolerowi. Zasilacz M Modulator AM Demodulator 5V HC05 Rysunek 3: Sygnał sterujący. 3.2 Układ zasilajacy silnik 750 360 BC639 6k 1k BC548B M Rysunek 4: Schemat ogólny układu zasilającego silnik. 8

4 Uwagi końcowe Podsumowując projekt chciałbym zwrócić uwagę na dwie rzeczy, po pierwsze w niektórych zastosowaniach użycie modelu MC68HC705J1A, może okazać się nie zawsze udanym pomysłem ze względu na błędy powstałe podczas wyłapywania sygnałów od innego kontrolera i obsługiwania innego zdarzenie. W naszym wypadku tym zdarzeniem było wysyłanie sygnału PWM do silnika w przerwaniach zegarowych. Chcąc odebrac transmitowany sygnał sterujący gasiłem przerwania zegarowe komendą sei, odczytywałem kolejno czas pojawienia się zbocza narastającego, opadającego i ponownie narastającego. Po tej procedurze odczytywania komendą cli odblokowywałem przerwania. Przez cały czas odczytywania sygnału silnik nie otrzymywał PWM a, przez co praca silnika nie była równomierna. Innym źródłem błędu były zabezpieczenia przed stanem cały czas wysokim albo niskim. Ponieważ jedna instrukcja może trwać średnio 1, 5µs wobec tego błąd nasz może wrosnąć nawet do 5µs powodując zły odczyt sygnału. Sprawę tę rozwiązałby kontroler zaopatrzony w INPUT CAPTURE i OUTPUT COMPARE, i nawet są takie mikrokontrolery z rodziny HC05. Funkcją IC odczytywalibyśmy sygnał transmitowany, a OC byśmy nadawali sygnał PWM do silnika. Chcąc aby nasz układ mógł posłużyć do odbierania sygnałów wysyłanych pociągom na makiecie lub do odpalania pocisków na kostiumie aktora, musimy zadbać o jak najmniejsze gabaryty układu. Aby tego dokonać należy wymienić elementy na mniejsze np. rezystory SMD, diody, kontroler powierzchniowy. Jeśli chcielibyśmy, aby nasz kontroler posiadał funkcje INPUT CAPTURE i OUTPUT COMPARE, można go wymienić na model 68HC711D3 w bardzo małej obudowie 44-leadQFP, który ponadto posiada 16 bitowy licznik co poprawiłoby jakość wyników. 9