profil Twój Profil
Kliknij, aby zalogować »
Jesteś odbiorcą prenumeraty plus
w wersji papierowej?

Oferujemy Ci dostęp do archiwalnych zeszytów prenumerowanych czasopism w wersji elektronicznej
AKTYWACJA DOSTĘPU! »

Twój koszyk
  Twój koszyk jest pusty

Czasowy dostęp?

zegar

To proste!

zobacz szczegóły
r e k l a m a
FAIL (the browser should render some flash content, not this).

ZAMÓW EZEMPLARZ PAPIEROWY!

baza zobacz szczegóły

Wyniki wyszukiwania

Wyniki 1-7 spośród 7 dla zapytania: authorDesc:"PAWEŁ BORKOWSKI"

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 1. Podstawy

PAWEŁ BORKOWSKI  
Przedstawiam cykl artykułów, który ma pomóc badaczom w konstruowaniu własnej aparatury badawczej, opartej na mikrokontrolerach PIC. Potrzebna wiedza zostanie podana od podstaw. Tematem przewodnim jest budowa systemów służących do analizy sygnałów. Przedstawiona zostanie obsługa portów wejścia/wyjścia, obsługa alfanumerycznego wyświetlacza LCD, przerwań, obsługa timera, programowanie w asemblerze, obsługa modułów CCP oraz obsługa wyświetlacza graficznego z telefonu Siemens S65. W ostatniej części cyklu artykułów zostanie przedstawiony moduł USART i komunikacja z komputerem PC w standardzie RS232. Mikrokontrolery są to układy scalone, najczęściej niewielkich rozmiarów, składające się z jednostki centralnej, pamięci i peryferiów, o konstrukcji umożliwiającej podjęcie pracy zaraz po podłączeniu zasilania, niemal bez żadnego dodatkowego interfejsu. Powodem, dla którego mikrokontrolery mogą zainteresować nas - badaczy, jest możliwość programowania ich pamięci. Proces programowania pozwala projektować urządzenia jak najlepiej odpowiadające potrzebom przeprowadzanego doświadczenia. Zaprogramowany mikrokontroler zastępuje skomplikowane układy elektroniczne, których skonstruowanie dla nieelektronika byłoby zadaniem nieosiągalnym. Do rozpoczęcia przygody z mikrokontrolerami potrzebne nam będą jedynie: 1. Mikrokontroler - w cyklu artykułów zagadnienie programowania mikrokontrolerów poznamy na przykładach układów PIC firmy Microchip Technology. 2. Kompilator - aby[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/1


 

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 2. Obsługa portów wejścia-wyjścia

PAWEŁ BORKOWSKI  
Czas na pierwszy projekt. Podstawowym zagadnieniem w programowaniu mikrokontrolerów jest obsługa portów. To zadanie można streścić następująco: do jednego lub kilku wyprowadzeń mikrokontrolera podłączamy urządzenie, które następnie należy obsłużyć umożliwiając mu prawidłową pracę. Takim najprostszym urządzeniem może być dioda LED. W naszym pierwszym projekcie obsłużymy układ z rys. 1. tak, aby dioda świeciła. Zgodnie z rysunkiem diodę LED oznaczoną D2 należy podłączyć do wyprowadzenia RB3. Katoda diody została podłączona do masy za pośrednictwem rezystora 1k. Dodatkowo w układzie widzimy zewnętrzny rezonator Q2 podający sygnał o częstotliwości 20 MHz. Zwróćmy uwagę na wyprowadzenie MCLR - jest to linia RESET. Restart mikrokontrolera następuje po podłączeniu linii MCLR do masy. W celu zapobieżenia przypadkowemu resetowi mikrokontrolera i zapewnienia stabilnej pracy układu należy wyprowadzenie MCLR podłączyć poprzez rezystor do źródła zasilania. Nie ma potrzeby odłączania programatorów JDM lub PICkit2 na czas testowania układu. Rysunek 2 przedstawia schemat układu z diodą wraz z programatorem JDM. Należy zwrócić uwagę na konieczność odłączania linii MCLR od źródła napięcia w czasie programowania mikrokontrolera. Jeśli schemat realizujemy na płytce stykowej, w prawidłowym podłączeniu układu powinien pomóc rys. 3. Zaczynamy pisać program. Uruchamiamy kompilator mikroC PRO for[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/2


 

» Mikrokontrolery PIC w zastosowaniach badawczych Część 3: Obsługa alfanumerycznego wyświetlacza LCD. Przerwania. Przerwanie zewnętrzne INT/RB0. Timer0. Częstotliwościomierz

PAWEŁ BORKOWSKI  
Najbliższe 2 części kursu posłużą nam do skonstruowania urządzenia zliczającego liczbę wystąpienia zjawiska w danym czasie. Oczywiście chodzi o zjawiska, których czas trwania liczony jest w mili- i mikrosekundach, co uniemożliwia bezpośrednią obserwację. Zakładając że zjawisko występuje w sposób okresowy, będziemy dążyć do budowy częstotliwościomierza. Czym będą różniły się nasze projekty od wielu podobnych funkcjonujących w literaturze? Nasz częstotliwościomierz zostanie zbudowany bez konieczności użycia dodatkowego oprzyrządowania, a wszystkie jego funkcje zostaną zaimplementowane w sposób programowy. Przy tym, jak się okaże, jego dokładność będzie zaskakująco duża. Wyniki będą wyświetlane na alfanumerycznym wyświetlaczu LCD. Z powyższego wynika, że w pierwszej kolejności musimy nauczyć się obsługiwać wyświetlacz LCD. Schemat prezentujący najprostsze podłączenie alfanumerycznego wyświetlacza LCD do mikrokontrolera PIC16F84A przedstawia rys. 1. Linia V0 służy do nastawy kontrastu. Jej bezpośrednie podłączenie do masy wymusza wyświetlanie znaków maksymalnie nasyconych czernią. Natomiast linia RW służy do konfigurowania kierunku przepływu danych. Wysoki stan logiczny na linii RW umożliwia odczytanie danych z pamięci wyświetlacza LCD, zaś wyzerowanie linii pozwala tę pamięć zapisywać. Ponieważ tylko ten drugi rodzaj obsługi pamięci wyświetlacza LCD będzie nas interesował, linię RW podłączyliśmy do masy. Kompilator mikroC PRO for PIC został wyposażony w bibliotekę obsługi alfanumerycznych wyświetlaczy LCD, co znacznie ułatwia proces programowania. Aby móc skorzystać z funkcji biblioteki, musimy przede wszystkim zdefiniować połączenie wyświetlacza z mikrokontrolerem. //połączenia LCD z mikrokontrolerem sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D4 at RB0_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D7 at RB3_bit; //konfiguracja portu obsługującego LCD sbit LCD_RS_Direction at TRISB4_bit; s[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/3


 

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 4. Programowanie w asemblerze. Środowisko MPLAB IDE. Częstotliwościomierz

PAWEŁ BORKOWSKI  
Poprzednią część kursu skończyliśmy zapowiedzią, że nauczymy się programować w asemblerze. W przypadku programowania mikrokontrolerów jest to wciąż bardzo popularny język programowania, czemu sprzyja fakt dostarczania przez producentów mikrokontrolerów darmowych kompilatorów programowania niskopoziomowego. W przypadku firmy Microchip takim oprogramowaniem jest środowisko MPLAB, które można bezpładnie pobrać ze strony producenta (http://www. microchip.com). Mikrokontrolery z rodziny Mid-Range, do której należą PIC16F84A oraz PIC16F877A, posiadają tylko 35 rozkazów. Ich zestawienie przedstawia tabela 1. Tab. 1. Zestawienie instrukcji układów rodziny Mid-Range Tabl. 1. Midrange instruction set Mnemonik, argumenty Opis Cykle Zmiany bitów rejestru STATUS Uwagi Przykład Operacje bajtowe na rejestrach ADDWF f,d Suma arytmetyczna W i f, wynik w d 1 C, DC, Z 1, 2 addwf R0,1 ANDWF f,d Iloczyn bitowy W i f, wynik w d 1 Z 1, 2 andwf R0,1 CLRF f Zeruj rejestr f. 1 Z 2 clrf PORTB CLRW Zeruj W. 1 Z clrw COMF f,d Negacja f, wynik w d 1 Z 1, 2 comf R0,0 DECF f,d Dekrementacja f, wynik w d 1 Z 1, 2 decf R0,1 DECFSZ f,d Dekrementacja f, następna instrukcja będzie pominięta, jeśli wynikiem w d było 0 1 (2) 1, 2, 3 decfsz R0,1 INCF f,d Inkrementacja f, wynik w d 1 Z 1, 2 incf R0,1 INCFSZ f,d Inkrementacja f, następna instrukcja będzie pominięta, jeśli wynikiem w d było 0 1 (2) 1, 2, 3 incfsz R0,1 IORWF f,d Suma bitowa W i f, wynik w d 1 Z 1, 2 iorwf R0,0 MOVF f,d Zawartość rejestru f umieść w d 1 Z 1, 2 movf R0,0 MOVWF f Zawartość rejestru W umieść w rejestrze f 1 movwf R0 NOP Nic nie rób 1 nop RLF f,d Rotacja w lewo bitów rejestru f, wynik w d 1 C 1, 2, 4 rlf R0, 1 RRF f,d Rotacja w prawo bitów rejestru f, wynik w d 1 C 1, 2, 4 rrf R0, 1 SUBWF f,d Odejmij od zawartości rejestru f zawartość rejestru W, wynik umieść w d 1 C, DC, Z 1, 2 subwf R0,0 SWAPF f,d Zamień miejscami bity [0..3] z bitami [4..7] rejestru f, wynik w d 1 1, 2 swap[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/4


 

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 5: Moduły CCP (PWM). Miernik długości impulsu

PAWEŁ BORKOWSKI  
Modu.y CCP (Capture/Compare/PWM) nale.. do najcz..ciej u.ywanych uk.adow mikrokontrolera. Mo.na za ich pomoc. generowa. impulsy o ro.nej d.ugo.ci i okre.lonym wype.nieniu (tryb PWM), wywo.ywa. zdarzenie w wyniku stwierdzenia rowno.ci rejestrow CCPR1 i TMR1, a tak.e przechwytywa. do rejestru CCPR1 zawarto.. rejestru TMR1 w wyniku zaj.cia zdarzenia na wyprowadzeniu RC2/ CCP1 (tryb Capture). W pierwszej kolejno.ci zajmiemy si. omowieniem modu.ow CCP w trybach PWM i Compare, aby nast.pnie przy u.yciu trybu Capture zbudowa. miernik d.ugo.ci impulsu. Konfiguruj.c PWM definiujemy okres, czyli d.ugo.. trwania impulsu oraz jego wype.nienie (rys. 1). D.ugo.. okresu oraz cz.stotliwo.. PWM mo.na obliczy. z nast.puj.cych wzorow: D.ugo.. okresu PWM = [(PR2) + 1] * 4 * TOSC * (Preskaler uk.adu Timer2), Cz.stotliwo.. PWM = 1/(D.ugo.. okresu PWM). Skrot TOSC oznacza wielko.. 1/FOSC, gdzie FOSC jest cz.stotliwo.ci. pod..czonego oscylatora. Z tego wynika, .e maksymalna d.ugo.. okresu wynosi 256*16 = 4096 cykli maszynowych, co daje cz.stotliwo.. oko.o 1221 Hz dla uk.adu taktowanego oscylatorem 20 MHz. Poniewa. oba modu.y CCP1 oraz CCP2 korzystaj. z uk.adu Timer2, korzystanie z dwoch modu.ow w trybie PWM jest mo.liwe tylko dla jednej cz.stotliwo.ci. Wielko.. wype.nienia .adujemy do rejestru CCPR1L (8 najstarszych bitow) i CCP1CON<5:4> (2 najm.odsze bity). W przypadku modu.u CCP2 s. to rejestry odpowiednio CCPR2L i CCP2CON. Poniewa. wype.nienie definiujemy liczb. 10-bitow., mikrokontrolery PIC klasy Mid-Range posiadaj. 10- bitowy PWM. Wielko.. wype.nienia otrzymujemy ze wzoru: Wype.nienie PWM = (CCPR1L:CCP1CON<5:4>) * TOSC * (Preskaler uk.adu Timer2). Liniami wyj.ciowymi modu.ow CCP s. RC2/CCP1 oraz RC1/ CCP2. Aby na linii mog. by. generowany sygna. PWM, linia musi by. skonfigurowana w trybie wyj.ciowym. W celu uproszczenia programowania PWM, kompilator mikroC PRO for PIC oferuje bibliotek. sk.adaj.c. si. z 4 funkcji: . PWM1_Init(const long[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/5


 

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 6. Obsługa wyświetlacza graficznego z telefonu Siemens S65. Interfejs SPI. Graficzny analizator impulsów

PAWEŁ BORKOWSKI  
W tej części kursu zbudujemy układ, dzięki któremu możliwa będzie graficzna analiza impulsów. Użyjemy do tego wyświetlacza z telefonu Siemens S65. Ponieważ komunikacja ze sterownikiem S65 wymaga szybszego interfejsu komunikacji od tych, w jakie został zaopatrzony mikrokontroler PIC16F877A, dlatego podstawą układu będzie mikrokontroler PIC18F4455. Do komunikacji ze sterownikiem wyświetlacza S65 użyty zostanie interfejs SPI. Mikrokontroler PIC18F4455 posiada aż 10 trybów taktowania zegara, w tym 3 korzystające z rezonatora wewnętrznego. Jednymi z najczęściej używanych są tryby z aktywną pętlą PLL, które pozwalają np. przy podłączonym oscylatorze 8 MHz osiągnąć pracę układu z częstotliwością 48 MHz (należy przy tym pamiętać, że - podobnie jak to miało miejsce w przypadku rodziny PIC16 - jeden cykl maszynowy trwa 4 cykle zegarowe). Schemat układu, który posłuży do graficznej analizy przebiegu impulsów, przedstawia rys. 1. Na liniach łączących mikrokontroler z wyświetlaczem umieszczone zostały rezystory R4…R15. Ich zadaniem jest obniżenie napięcia do wymaganych około 2,9 V. Natomiast znaczenie poszczególnych linii jest następujące: - BL - linia służąca włączaniu (1) i wyłączaniu (0) podświetlenia wyświetlacza, - RST - linia RESET, - CS - linia sygnalizująca początek (0) i koniec (1) transferu danych, - RS - linia sygnalizująca nadejście rozkazu (1) i zwykłych danych (0), - CLK - linia zegarowa. Wysłanie każdego bitu na linii DAT potwierdzane jest narastającym zboczem CLK, - DAT - linia przesyłu danych. Sterownik wyświetlacza S65 wymaga, by dane były wysyłane w paczkach po 8 bitów, w których pierwszy wysyłany bit jest bit najstarszy. Wysyłanie ważnych danych powinno być potwierdzane niskim stanem linii CS - rys. 2. Rys. 2. Schemat obsługi linii CS, CLK i DAT przy wysyłaniu do sterownika wyświetlacza S65 bajtu danych Fig. 2. Example S65 module timing waveforms Rys. 1. Schemat układu z modułem wyświetlacza graficznego S[...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/6


 

» Mikrokontrolery PIC w zastosowaniach badawczych. Część 7. Moduł USART. Komunikacja z komputerem PC w standardzie RS232. Wizualizacja sygnału w przestrzeni 3D

PAWEŁ BORKOWSKI  
Budując coraz bardziej skomplikowane urządzenia badawcze, prędzej czy później okazuje się, że pełną wizualizację zebranych danych można osiągnąć tylko przy pomocy komputera. W tej części kursu zaprezentowany zostanie najprostszy sposób podłączenia mikrokontrolera do komputera w standardzie RS232. Większość współczesnych mikrokontrolerów jest zaopatrzona w moduł USART obsługujący szeregową transmisję danych. W mikrokontrolerze PIC18F4455 moduł USART może pracować w trzech trybach: - Tryb asynchroniczny, w którym nie jest potrzebna dodatkowa linia taktująca (w takim przypadku moduł jest często nazywany UART). Transmisję realizują dwie linie: TX - linia nadawcza oraz RX - linia odbiorcza, - Tryb synchroniczny master - transmisja jednokierunkowa, - Tryb synchroniczny slave - transmisja jednokierunkowa. Do połączenia mikrokontrolera z komputerem wykorzystany zostanie moduł USART w trybie asynchronicznym. Kompilator mikroC PRO for PIC został wyposażony w bibliotekę obsługi UART, składającą się z ośmiu funkcji: - void UARTx_Init(const unsigned long baud_ rate); - inicjująca moduł UART. Jedynym argumentem funkcji jest szybkość transmisji. Standardowe wielkości to 300, 1200, 2400, 9600, 19200, 57600, 115200. - char UARTx_Tx_Idle(); - zwraca wartość 1, jeśli bufor nadajnika USART jest pusty, 0 w przeciwnym przypadku. - char UARTx_Data_Ready(); - zwraca wartość 1, jeśli w buforze znajdują się odebrane dane, 0 w przeciwnym przypadku. - char UARTx_Read(); - odczytuje bajt z bufora odbiorczego. - void UARTx_Read_Text(char *Output, char *Delimiter, char Attempts); - odczytuje ciąg bajtów aż do odczytania znaku końca tekstu zdefiniowanego parametrem Delimiter. Odczytany ciąg znaków jest umieszczany pod adresem Output. Parametr Attempts powinien zawierać maksymalną liczbę znaków do odczytania. - void UARTx_Write(char _data); - wysyłająca bajt danych. - void UARTx_Write_Text(char * UART_text); - wysyłająca ciąg bajtów traktowanych jako [...] więcej»
w zeszycie ELEKTRONIKA - KONSTRUKCJE, TECHNOLOGIE, ZASTOSOWANIA 2011/7


 

 Strona 1 
r e k l a m a
FAIL (the browser should render some flash content, not this).