2 lut 2014

RS 232 sniffer

Urządzenie zostało stworzone z myślą o podglądzie transmisji, oraz monitorowaniu stanów linii w komunikacji poprzez port RS 232. Urządzenie pozwala również na podłączenie dwóch męskich, lub dwóch żeńskich portów (NULL modem). Do informowania o stanie linii służą diody sterowane przez mikrokontroler Atmega8. 4 diody zapalają się dostarczając informacji o stanie linii: DTR, DSR, RTS, CTS. 2 pozostałe diody migają, gdy przez linie RX, lub TX wysyłana jest informacja. Do zasilania układu wykorzystuje się port USB.



Wykaz elementów:
- przycisk bistabilny
- 3x gniazdo RS232 żeńskie, 2x gniazdo RS232 męskie
- DIP switch na 4 przełączniki
- kondensator SMD 4,7u elektrolit
- kondensatory: 3x 100n, 2x 22p
- kwarc 10,24 Mhz
- gniazdo USB typ B
- rezystory SMD: 13x10k, 7x 510
- 6x LED SMD
- 6x dioda zenera 4,7V
- złącze ARK na 2 wyjścia
- 6x dioda SMD
 Dwa przyciski na DIP switch podciągnie są do masy i podłączone są do procesora, a pozostałe 2 wykorzystywane są do zwierania odpowiednich linii w przypadku wykorzystywania NULL modem. Złącze ARK wyprowadzone jest na linie Rx/Tx mikrokontrolera, mogą zostać wykorzystane w przyszłości do dokładnej analizy transmitowanych danych.

Schemat obu stron z elementami
górna strona płytki
dolna strona płytki
widok dziur na płytce

30 lip 2013

Płytka uruchomieniowa Atmega16

Płytka uruchomieniowa służy do nauki programowania i zapoznania się z obsługą elementów dodatkowych. Głównym elementem układu jest mikrokontroler Atmega16, programuje się go przez złącze KANDA za pomocą skonstruowanego prędzej programatora. Układ zasilić można z programatora, zasilaczem 12V, bądz bezpośrednio z baterii ~5V. Na płytce znajdują się następujące peryferia:
  • 3 x wyświetlacz 7 segmentowy LED.
  • Matryca przycisków 3 x 4.
  • Port PS/2.
  • Termometr cyfrowy DS1820.
  • Port RS232.
  • Potencjometr.
  • Dioda LED.
  • Przełącznik hebelkowy.
Układ przedstawiają poniższe zdjęcia:





Na płytece znajdują się następujące elementy:
  • Gniazdo zasilacza
  • Złącze ARK
  • Kondensatory 220n, 22u, 2x22p, 4x1u, 2x100n
  • Złącze KANDA
  • 3 x wyświetlacz 7 segmentowy CA
  • Stabilizator 7805 + radiator (Dla lepszego przewodzenia ciepła posmarowałem połączenie pastą do zębów.)
  • Rezystory: 10k, 3 x 4k7, 470, 10 x 100
  • Kwarc 7.3728 Mhz
  • Port RS232
  • MAX232CPE
  • Złącze PS/2
  • Atmega 16 + Podstawka precyzyjna
  • Przełącznik hebelkowy
  • DS1820
  • 12 x Przycisk monostabilny
  • 3 x BC640
  • Zielona LED
  • Potencjometr
Schemat układu:


 Płytka uruchomieniowa - płytka
Odbicie lustrzane płytki
 Schemat do montażu

26 kwi 2013

Tester kabli sieciowych

Zaprezentowane poniżej urządzenie umożliwia w łatwy sposób kontrolę stanu ciągłości przewodu sieciowego. Urządzenie jest proste w konstrukcji, test przewodu wymaga, by oba jego końce znalazły się blisko siebie w trakcie badania. Rozwiązanie to nie pozwala na testy przewodów "wkomponowanych" w ściany, wymagałby by to konstrukcji dodatkowych elementów. Urządzenie zasilane jest z baterii, projektowane było do napięcia około 5V, jednak napięcie nieznacznie odbiegające od tych wartości również powinno zasilić poprawnie układ. Na płytce znajdują się 3 gniazda RJ45. Urządzenie dałoby się skonstruować wykorzystując 2 gniazda, jednak osobne gniazdo dla przewodów prostych i skrosowanych ułatwia nieco diagnostykę wadliwych przewodów. Złożony układ znajduje się na poniższych zdjęciach:



Wykaz wykorzystanych elementów:
  • Diody LED fi 3mm: 8x zielona, czerwona
  • złącze ARK na 2 piny
  • kondensator elektrolityczny (wykorzystałem 100uF, bo taki miałem pod ręką, może być mniejszy)
  • 3x gniazdo RJ45
  • 9x rezystor SMD 510 ohm (wykorzystałem rezystory w obudowie 0805, miejsca na płytce są przygotowane pod 1206)
Czerwona dioda sygnalizuje obecność zasilania, zielone zaś stan poszczególnych przewodów, zgodnie z opisem. Złącze ARK służy do podpięcia zasilania do układu. Badany przewód podłącza się z jednej strony do gniazda RJ45 na górze (patrząc na drugie zdjęcie) z drugiej zaś na dole z lewej w przypadku przewodów prostych, w przypadku przewodów skrosowanych wybiera się drugie gniazdo. Schemat ideowy budowanego układu:
Na schemacie rezystory nie mają podanych wartości by uczynić go nieco bardziej czytelnym. Wszystkie mają taką samom wartość 510 ohm, więc nie ma potrzeby rozróżniania ich. Pliki ze schematami:

Tester kabli sieciowych płytka
Tester kabli sieciowych płytka (kilka na jednej stronie)
Tester kabli sieciowych płytka (odbicie lustrzane)
Tester kabli sieciowych (schemat montażowy)

7 kwi 2013

Programator stk200 do AVR

Kolejny programator, stk200 służy do programowania mikrokontrolerów AVR poprzez port LPT. W port taki wyposażona jest większość komputerów stacjonarnych. Podstawową przewagą tego programatora nad programatorem usbasp jest prostota budowy i brak konieczności wcześniejszego zaprogramowania mikrokontrolera. Programator ten przyda się również do budowy wspomnianego usbasp, którego port usb jest podstawowym portem każdego laptopa, w przeciwieństwie do portu LPT. Zestawienie elementów wykorzystanych do budowy płytki:
  • Gniazdo, oraz wtyk 8n
  • Gniazdo KANDA
  • Złącze ARK na 2 piny
  • Rezystory 1k,100k
  • Kondensator 4.7u
  • bufor 74HCT244
  • Dioda LED
Gotowy programator przedstawiono na poniższych zdjęciach.

Do podłączenia układu do komputera wykorzystuje się kabel z jednej strony zakończony wtyczką lpt, z drugiej zaś złączem 8n. Złącze 8n umożliwia podłączenie przewodu do płytki bez konieczności lutowania przewodów. Podłączenie przewodu wygląda następująco. Przyjmijmy, że piny na wtyku numerowane są standardowo jak dla db25, przykładowo. Piny na złączu oznaczmy jak na zdjęciu:

Piny łączy się następująco:
8n - db25
A - 10
B - 20,21,22,23,24,25
C - 9
D - 8
E - 7
F - 6
G - 5
H - 4

Schemat układu wygląda następująco:
Dioda LED sygnalizuje obecność napięcia w układzie. Złącze ARK służy zaś do podłączenie, w razie konieczności, napięcia zasilania do programowanego układu. Do programowania można wykorzystać wiele programów, jako przykład można przedstawić program SinaProg. Schematy wykorzystane przy tworzeniu układu:

stk200 płytka
stk200 płytka(odbicie lustrzane)
stk200 schemat montażowy

27 mar 2013

Podstawka programująca

Podstawka została stworzona do współpracy z programatorem mikrokontrolerów AVR. Nie zawsze istnieje możliwość programowania uC w gotowym układzie, w takich przypadkach z pomocą przyjdzie skonstruowana podstawka. Układ został przygotowany pod popularne kontrolery AVR, takie jak Atmega 8,16, Atiny 13,26 i innych z podobnie rozłożonymi wyprowadzeniami. Elementy wykorzystane do budowy układu:
  •  Podstawki precyzyjne: DIL8, DIL20, DIL28,DIL40
  • Złącze KANDA
  • kondensatory 2x22p
  • Kwarc 16 Mhz
  • dioda LED
  • rezystor 1k
Gotowy układ wygląda następująco:

Schemat układu:
Dioda LED służy do sygnalizacji obecności zasilania układów. W przypadku gdy źródłem sygnału taktującego jest zewnętrzny oscylator, jako generator wykorzystany został kwarc Q1 16Mhz. Układ komunikuje się z programatorem poprzez złącze KANDA. Opis poszczególnych wyprowadzeń złącza znaleźć można w poprzednim poście. Schematy do projektu:
Schemat płytki
Schemat płytki (odbicie lustrzane)
Punkty do wiercenia + przewody na powierzchni
Montaż elementów

17 mar 2013

Programator usbasp do AVR

Podstawowym narzędziem, wymaganym do obcowania z mikrokontrolerami AVR jest programator. Zaprezentowany poniżej programator usbasp został zbudowany na podstawie projektu umieszczonego na stronie http://www.fischl.de/usbasp/ . Pozwala on programować układy poprzez port usb. Wymaga jednak uprzedniego zaprogramowania kontrolera, do czego potrzebny będzie programator na port równoległy, bądź znajomość osoby posiadającej już programator na usb. Wykaz elementów wykorzystanych do budowy układu:
  • Rezystory: 10k, 2x68, 3x1k, 2.2k
  • Kondensatory: 2x22p, 100n, elektrolit 4.7u
  • 2x Dioda Zenera 3v6
  • 2x Dioda LED
  • Kwarc 12Mhz
  • Złącze ARK na 2 piny
  • Port USB typu B
  • Podstawka precyzyjna DIL28
  • Atmega8
  • Złącze KANDA
  • DIP switch z 3 przełącznikami
Gotowy programator wygląda następująco:



Schemat ideowy programatora wygląda następująco:
Kondensatory C3 i C4 służą do filtrowania napięcia zasilającego. LED1 i LED2 sygnalizują stan pracy układu. Diody Zenera D1 i D2 ograniczają napięcie wejściowe w transmisji danych między uC, a portem USB. R6 podciąga jeden z kanałów transmisji USB do napięcia zasilania, R3 natomiast podciąga do zasilania sygnał reset. Złącze ARK jest wyprowadzeniem pinów przeznaczonych do transmisji poprzez port RS. Na SW1 dostępne są 3 przełączniki. Podpisany na zdjęciu gotowego układu jako 1 przełącza się w przypadku programowania wolniejszych mikrokontrolerów niż 1.5 Mhz. Przestawienie drugiego przełącznika wprowadza układ w stan, w którym można go zaprogramować. 3 przełącznik służy do podłączenia zasilania do programowanego układu. Poniżej przedstawiono schemat połączeń poszczególnych pinów w złączu KANDA:
Oprogramowanie mikrokontrolera znaleźć można na stronie autora projektu pod adresem http://www.fischl.de/usbasp/ . Do układu wgrałem najnowszą wersję oprogramowania, tj. tą zawartą w pliku usbasp.2011-05-28.tar.gz . Fuse bity układu należy ustawić na następujące wartości:
  • HFUSE= 0xC9
  • LFUSE= 0xEF 
Do programowania układu służy program AVRDude. Układy programuje się wprowadzając polecenia tekstowo, istnieją jednak wygodne w użyciu programy - nakładki graficzne. Osobiście polecam SinaProg, jako bardzo wygodną i obsługującą wiele układów, oraz programatorów. Instalacja sterownika do układu w systemie Windows 7 wygląda następująco:
  • Uruchamiamy ponownie komputer i przytrzymujemy przy włączaniu klawisz F8 w celu wyboru trybu uruchamiania systemu.
  • Wybieramy tryb wymuszania braku podpisów.
  • Uruchamiamy menadżera urządzeń.
  • Klikamy prawym przyciskiem myszy na pierwszym elemencie drzewa i wybieramy opcję: "Dodaj starszy sprzęt"
  • Dalej -> Zaznaczamy "Zainstaluj sprzęt, który wybiorę ręcznie z listy", po czym dalej -> dalej -> przycisk "z dysku" -> wybieramy sterownik z folderu z strony fishela, dla najnowszej wersji będzie to plik "usbasp.2011-05-28\bin\win-driver\libusb_0.1.12.1\usbasp.inf" -> dalej -> dalej -> Zakończ.
Programator można już podłączyć do komputera. Sposoby instalacji na innych systemach znaleźć można w internecie. Schematy wykorzystywane w projekcie:
Schemat płytki
Punkty do wywiercenia + przewody montowane na powierzchni płytki
Schemat do montażu elementów