Mikrokontrolery

Projektując system kontroli dostępu mający pracować w pomieszczeniach o dużym zapyleniu postanowiłem do identyfikacji osób wchodzących zastosować karty zbliżeniowe o wymiarach standartowej karty plastikowej ISO. Problemem był zakup odpowiedniego czytnika, gdyż dostępne w handlu były zbyt drogie. Ze względu na bardzo ograniczony budżet projektu postanowiłem wykonać własne czytniki. W zbudowanym systemie znajduje się kilka czytników kart, które są sterowane przez centralkę. To ona podejmuje decyzję o dostępie lub odmowie. Sam czytnik w zaprezentowanej wersji oprogramowania nie zawiera żadnych mechanizmów decyzyjnych – jego zadania sprowadzają się do odczytania kodu zawartego na karcie, przekazania go na żądanie centralki oraz sterowania zamkiem elektromagnetycznym, również zgodnie z poleceniami centralki. czytaj więcej
W artykule podano opis funkcjonowania oraz sposobów konfiguracji i wykorzystania układów timerów w mikrokontrolerach z rodziny AVR. Rozpoczynając od ogólnego opisu, poprzez przykładowe programy, postaram się wytłumaczyć jak wykorzystać wbudowany w strukturę mikrokontrolera AVR timer dla własnych potrzeb. W przykładach programów posługiwałem się mikrokontrolerem AT90S8535, który nie jest już produkowany, ale w takie same timery są wyposażone mikrokontrolery ATMega. czytaj więcej
To drugi, wykonany przeze mnie sterownik syntezy częstotliwości tym razem dla układu scalonego firmy PHILIPS TSA6057. Różni się on od poprzednio prezentowanego zbudowanego z użyciem układu SAA1057 (można go znaleźć na tej stronie) kilkoma parametrami, takimi jak: krok syntezy, prąd pętli PLL i moim zdaniem najważniejszym - zakresem częstotliwości pracy od 30 do 150 MHz. Koszt całego sterownika jest porównywalny do poprzedniego. Różni je tylko cena samego układu syntezy. czytaj więcej
Duże zainteresowanie konstrukcjami amatorskich nadajników UKF powoduje, że często można usłyszeć błądzące w eterze transmisje pochodzące z mikrofonów bezprzewodowych i innych urządzeń wykonanych w domu. Z własnego doświadczenia wiem, że najtrudniejszym do zbudowania jest blok generatora. Nie jest łatwo osiągnąć dobra stabilność generatora przy jgo niezbyt skomplikowanej budowie i umiarkowanych kosztach wykonania. Chyba każdy konstruktor – amator ma świadomość jak ważne jest to, aby nie zakłócać pracy urządzeń nadawczo – odbiorczych pracujących w sąsiedztwie. Wówczas to możemy spokojniej i bezpieczniej użytkować dane pasmo. Możliwość tę daje wykorzystanie układu generatora z syntezą częstotliwości, którego głównym elementem jest układ scalony SAA1057. W artykule zawarto opis konstrukcji sterownika tego układu. Dzięki wykorzystaniu układu SAA oraz mikrokontrolera, przy niewielkim koszcie całości, można zbudować w warunkach amatorskich blok nadajnika czy odbiornika o całkiem parametrach. czytaj więcej
Mimo, że ceny graficznych wyświetlaczy LCD ciągle spadają, to koszt wyświetlacza kolorowego jest nadal stosunkowo wysoki. Jeżeli zależy nam na tym by w aplikacji był użyty kolorowy wyświetlacz graficzny o niewielkich rozmiarach ekranu, to zawsze można rozważyć zastosowanie kolorowego wyświetlacza od telefonu komórkowego. Wyświetlacze przeznaczone do telefonów komórkowych są tanie, a część z nich jest dość dobrze udokumentowana. Jednak trzeba pamiętać, że wyświetlacze tego samego modelu telefonu mogą mieć inne różne typy sterowników, a sterowniki montowane w serwisowych zamiennikach wyświetlaczy, nie zawsze są wierną kopią firmowego sterownika. Również elektryczne połączenie wyprowadzeń wyświetlacza z naszym układem sterowania często stanowi nie lada wyzwanie. Różnorodne wyprowadzenia oferowanych wyświetlaczy: złącza, styki, taśmy itp. wymagają zaprojektowania specjalnych płytek drukowanych lub stosowania niestandardowych złącz, co jest dość kłopotliwe, szczególnie w układach prototypowych. Na rynku jest bardzo duża ilość modeli telefonów używających różnych rodzajów wyświetlaczy. Do stosowania we własnych urządzeniach warto wybrać taki, z którym będzie jak najmniej problemów. Powinien być tani, łatwo dostępny i ze znanym sterownikiem. Mój wybór padł na wyświetlacz od telefonu Nokia 6100 (ale również paru innych modeli telefonów tego producenta). czytaj więcej
Wyświetlacze LCD od telefonów komórkowych idealnie nadają się do zastosowania w układach z mikrokontrolerem. Telefon Nokia 3310 nie jest już oferowany przez operatorów sieci komórkowych, ale olbrzymia liczba sprzedanych egzemplarzy spowodowała, że można już za  ok. 10 złotych kupić do niego wyświetlacz oferowany jako część zamienną. Matryca wyświetlacza ma rozdzielczość 84×48 piksele. W trybie tekstowym można wyświetlić 14 znaków w 6 liniach. W porównaniu z możliwościami popularnych wyświetlaczy alfanumerycznych (najczęściej 2×16 lub 2×20 znaków) jest to dosyć sporo. Ponieważ wyświetlacz został zaprojektowany do urządzenia przenośnego, to pole wyświetlania matrycy LCD nie jest zbyt duże (30×24mm). Grubość modułu jest również niewielka (ok. 3 mm). czytaj więcej
Opisywany przykład aplikacji, to prosty interpreter poleceń. W połączeniu z telefonem komórkowym (działanie aplikacji testowane było z telefonem GSM marki SIEMENS C35i) potrafi realizować proste polecenia wydawane ze pomocą SMS. Rezultaty wykonania poleceń oraz stan urządzenia raportowany jest również przez komunikaty SMS. Urządzenie zbudowane było w oparciu o płytkę prototypową z wbudowanym układem drivera interfejsu UART - MAX232 oraz z wykorzystaniem fabrycznego kabla połączeniowego dla telefonu komórkowego SIEMENS. Należy je traktować bardziej jako przykład wykonania aplikacji współpracującej z telefonem GSM aniżeli urządzenie gotowe do wykorzystania, chociaż z całą pewnością może posłużyć do jego budowy. czytaj więcej
Z wyrobami firmy austriamicrosystems AG zetknąłem się po raz pierwszy przy okazji targów ELECTRONICA 2000, a następnie podczas poszukiwań względnie taniego, powtarzalnego sposobu określenia pozycji głowicy w jednym z projektowanych urządzeń. Firma ta produkuje specjalizowane układy scalone zawierające wewnątrz struktury matrycę czujników Hall'a oraz procesor uzbrojony w specjalny algorytm umożliwiający określenie położenia pola magnetycznego wytwarzanego przez umieszczony ponad strukturą magnes stały. czytaj więcej
Podstawą działań wielu programów są różne operacje arytmetyczne wykonywane czy to na zmiennych wejściowych, czy to na zmiennych wewnętrznych. W tym artykule opiszę propozycje procedur wykonujących podstawowe działania arytmetyczne takie jak: dodawanie, odejmowanie, mnożenie i dzielenie, porównanie liczb oraz konwersja liczb binarnych na dziesiętne. Artykuł napisano na podstawie noty aplikacyjne firmy STMicroelectronics „ST7 Math Utility Routines“. Procedury są dokładnie opisane a ich algorytmy działania przdstawiono w formir rysunków i dlatego łatwo można je zaadoptować również dla innych mikrokontrolerów. czytaj więcej
Czasami zaczyna brakować pamięci na program puchnący wraz z wymaganiami klienta, który już nauczył się, że można od mikrokontrolera oczekiwać czegoś więcej i zaczynamy się rozglądać za mikrokontrolerami alternatywnymi. Czasami również jest konieczne zwiększenie szybkości wykonywania programu. Tak było i w moim wypadku: stanąłem przed obiema tymi kwestiami jednocześnie. Używałem AT89S8252 i kod wynikowy programu przekroczył rozmiar pamięci FLASH. Potrzebowałem mikrokontrolera o większej ilości pamięci lub zewnętrznej pamięci programu. Potrzebowałem również większej szybkości CPU, ponieważ niebezpiecznie rozrosły się funkcje realizowane w obsłudze przerwania jednego z Timer’ów. czytaj więcej