[{"content":"Zespół SN9H postanowił rozszerzyć swoje pole antenowe o antenę kierunkową. Ze względu na ograniczenia lokalizacji, z których pracujemy i ogólny sposób użytkowania antena musiała spełniać kilka warunków. Ponieważ naszą stację rozstawiamy każdorazowo od nowa przed zawodami, potrzebowaliśmy anteny stosunkowo niewielkiej, łatwej w montażu, przechowywaniu oraz transporcie. Jednocześnie, mając wcześniejsze doświadczenia z anteną HexBeam, oczekiwaliśmy lepszej kierunkowości.\nAntena Yagi SN9H Poszukiwania odpowiedniego projektu anteny nie były proste, ale ostatecznie zdecydowaliśmy się na odwzorowanie przenośnej, 3 elementowej anteny Yagi według projektu Martina DK7ZB. Jest to antena, która może pracować na pasmach 17 m, 15 m, 12 m lub 10 m. Nie jest to jednak klasyczny multibander - antenę należy złożyć w konfiguracji dla wybranego pasma. Boom anteny jest stosunkowo krótki, bo jego długość nieznacznie przekracza 3 m, co doskonale wpasowuje się w nasze ograniczenia przestrzenne.\nOryginalny opis anteny wraz z jej parametrami znajduje się pod linkiem https://www.qsl.net/dk7zb/portabel/port_engl.htm .\nPełny spis elementów oraz rysunki techniczne części znajdują się w załącznikach .\nKonstrukcja mechaniczna Boom Boom wykonany został z aluminiowego profilu 30 mm x 30 mm o ściance 2 mm. Aby ułatwić transport i przechowywanie, boom jest dzielony i składa się z dwóch odcinków - jednego o długości 200 cm i drugiego o długości 107 cm. Połączenie obu części wykonano za pomocą dwóch 30 cm odcinków kątownika aluminiowego 30x30x2 mm zamocowanych do zewnętrznych powierzchni profilu boomu. Kątowniki przykręcone są na stałe śrubami do krótszej części boomu i wystają poza jej długość tworząc gniazdo, w które wsuwa się drugą część boomu. Do zamocowania tej części boomu użyliśmy śrub z nakrętkami motylkowymi, co znacznie ułatwia montaż eliminując konieczność stosowania narzędzi.\nPołączenie części boomu i płytka mocowania do masztu Do dłuższej części boomu przykręcona jest płytka pozwalająca montaż anteny do masztu lub sztycy rotora za pomocą cybantów.\nW górnej powierzchni boomu, w miejscach montażu elementów anteny, wywiercone zostały otwory o średnicy 4,5 mm. Służą one do szybkiej i jednoznacznej lokalizacji każdego z elementów montowanych na boomie. Płytki montażowe tych elementów posiadają wystające z nich krótkie śrubki, które wchodzą w te otwory dzięki czemu nie ma konieczności precyzyjnego sprawdzania odległości między promiennikiem, a reflektorem i direktorem.\nMocowanie reflektora i direktora Mocowanie reflektora i direktora Mocowania reflektora i direktora wykonane są w postaci jednakowych zespołów. Kluczowym elementem jest płytka montażowa. Jest to odcinek aluminiowego płaskownika 50 x 5 o długości 120 mm.\nNa środku płytki znajduje się sfazowany otwór z gwintem M4, w który wkręcona na stałe jest śruba M4 x 8 z łbem stożkowym. Jest to śruba lokalizacyjna opisana wyżej.\nW płytce montażowej znajdują się również cztery gwintowane otwory M6, w które na stałe wkręcone są śruby M6 x 50 z łbem kulistym.\nNa obu końcach płytki znajdują się też po dwa otwory na śruby imbusowe z łbem walcowym M6 x 45, za pomocą których przykręcone są plastikowe elementy obejmy do mocowania przewodów hydraulicznych. Obejmy te służą do zamocowania rurek elementów anteny.\nObejma do przewodów hydraulicznych Montaż do boomu odbywa się przez nałożenie zmontowanej płytki (wraz z zamocowaną w obejmach rurką elementu anteny) od góry na boom. Następnie od spodu na wystające śruby M6 zakładana jest płytka dociskowa (płaskownik aluminiowy 50 x 5, długość 50 mm z 4 otworami), która dokręcana jest nakrętkami motylkowymi. Cztery śruby okalające boom zapobiegają zwichrowaniu elementu, a płytka dociskowa zapewnia solidny montaż.\nMocowanie wibratora Mocowanie wibratora Mocowanie wibratora wykonane jest w analogiczny sposób. Tym razem jednak płytka montażowa ma długość 300 mm, a po każdej jej stronie zamocowane są po dwie obejmy hydrauliczne. Każda para obejm służy do zamocowania jednego ramienia dipola.\nAby wzmocnić środek dipola, wytoczono z wałka z tworzywa sztucznego (POM-C) o średnicy 20 mm łącznik, który wchodzi do środka ramion dipola i zapewnia stały odstęp między nimi.\nŁącznik dipola z POM-C Elementy anteny Elementy anteny wykonano z rurek aluminiowych 20 x 1,5, 16 x 1,5 i 12 x 1, zgodnie z oryginalnymi zaleceniami autora projektu. Tak dobrane średnice zapewniają, że rurki swobodnie wsuwają się jedna w drugą, lecz nie pozostaje pomiędzy nimi nadmierny luz. Na końcach rurek wykonano podłużne nacięcia umożliwiające ich zaciskanie. Jako zacisków użyto obejm GBS. Istotne jest, by zastosować obejmy nierdzewne, gdyż te wydają się być znacznie trwalsze. Do łbów śrub zaciskowych w obejmach przyspawano na sztorc nakrętki. Jest to tani i szybki, acz nieortodoksyjny, sposób zapewnienia beznarzędziowego montażu.\nRurki o średnicy 16 mm wpuszczone są w rurki o średnicy 20 mm na długość 20 cm. Długość wystającej części rurek 12 mm jest regulowana i zależy od pasma, na którym antena ma pracować.\nWystająca długość elementów pośrednich\nElement Długość Reflektor 1400 mm Wibrator 1250 mm Direktor 1200 mm Wystająca długość elementów końcowych\nElement Pasmo 10m Pasmo 12m Pasmo 15m Pasmo 17m Reflektor 260 mm 700 mm 1205 mm 1825 mm Wibrator 290 mm 720 mm 1250 mm 1835 mm Direktor 0 mm 490 mm 1015 mm 1585 mm Zasilanie anteny Zasilanie anteny zrealizowane jest poprzez choke balun składający się z chińskiego koralika EMI oraz 6 zwojów kabla RG316. Aby zmniejszyć szumy pochodzące z elektrostatyki, równolegle do ramion wibratora przylutowane zostały cztery rezystory połączone równolegle, o wynikowej rezystancji 120 kΩ. Całość umieszczona jest w plastikowej puszce 70x50x40 mm, na której jednej ściance zamontowano gniazdo UC1, a na przeciwległej dwie nierdzewne śruby montażowe, przykręcone bezpośrednio do metalowych elementów ramion wibratora, będące jednocześnie zasilaniem tegoż.\nPuszka z balunem zamontowana na wibratorze Wnętrze puszki: rezystory i koralik EMI Wnętrze puszki: balun i gniazdo UC1 Do pobrania Spis elementów Rysunki techniczne : boom (obie części), łącznik boomu, płytki montażowe reflektora/direktora i wibratora, płytka dociskowa, mocowanie masztu, łącznik dipola ","date":"4 listopada 2026","extent":"5 min czytania","permalink":"/posts/antena-yagi-dk7zb/","summary":"Zespół SN9H postanowił rozszerzyć swoje pole antenowe o antenę kierunkową. Ze względu na ograniczenia lokalizacji, z których pracujemy i ogólny sposób użytkowania antena musiała spełniać kilka warunków. Ponieważ naszą stację rozstawiamy każdorazowo od nowa przed zawodami, potrzebowaliśmy anteny stosunkowo niewielkiej, łatwej w montażu, przechowywaniu oraz transporcie. Jednocześnie, mając wcześniejsze doświadczenia z anteną HexBeam, oczekiwaliśmy lepszej kierunkowości.\nAntena Yagi SN9H Poszukiwania odpowiedniego projektu anteny nie były proste, ale ostatecznie zdecydowaliśmy się na odwzorowanie przenośnej, 3 elementowej anteny Yagi według projektu Martina DK7ZB. Jest to antena, która może pracować na pasmach 17 m, 15 m, 12 m lub 10 m. Nie jest to jednak klasyczny multibander - antenę należy złożyć w konfiguracji dla wybranego pasma. Boom anteny jest stosunkowo krótki, bo jego długość nieznacznie przekracza 3 m, co doskonale wpasowuje się w nasze ograniczenia przestrzenne.","title":"Trzyelementowa antena Yagi na pasma 17m - 10m według DK7ZB"},{"content":"Po module z układem Si5351 i bibliotece do jego sterowania przyszedł czas, żeby to jakoś wykorzystać w praktyce. Za namową i przy gorącym dopingu Piotra SP9EGM powstał sterownik syntezera przeznaczony dla odbiorników SDR. Projekt oparty jest o Arduino i właściwie składa się z kodu programu oraz schematu połączeń. Kwestię sposobu fizycznego wykonania układu i ewentualnego projektu płytki drukowanej pozostawiam do rozstrzygnięcia czytelnikom. U mnie układ powstał po prostu na płytce stykowej.\nFunkcjonalność Podstawową funkcją sterownika jest generowanie sygnału taktującego dla detektora kwadraturowego jaki zastosowany jest w większości popularnych odbiorników SDR. Zwykle wymagane jest, by częstotliwość sygnału sterującego była czterokrotnie wyższa niż częstotliwość sygnału odbieranego, a układ Si5351 jest w stanie zapewnić taki sygnał dla całego zakresu KF.\nInterakcja ze sterownikiem odbywa się za pomocą taniego enkodera mechanicznego z przyciskiem oraz dwóch klawiszy. Nic nie stoi jednak na przeszkodzie, aby wykorzystać lepszej jakości enkoder optyczny lub magnetyczny – próby pokazały, że współpracują one z układem bez konieczności wprowadzania zmian. Parametry sterownika prezentowane są na standardowym wyświetlaczu LCD 16×2 znaków.\nDodatkowo sterownik umożliwia sterowanie filtrami pasmowymi w zależności od ustawionej częstotliwości. Sterowanie odbywa się za pomocą układu dekodera BCD 4028, co w połączeniu z elastycznym sposobem konfiguracji w kodzie programu sprawia, że sterownik może współpracować z wieloma dostępnymi modułami filtrów (np. konstrukcji Waldka SP2JJH czy tymi od TRX Omega).\nW celu ułatwienia pracy sterownik wyposażono w możliwość zapamiętywania częstotliwości i ich szybkiego przywoływania.\nKonstrukcja Proponowany schemat połączeń przedstawiony jest na rysunku. Jest to jedynie propozycja, ponieważ kod programu jest elastyczny i umożliwia indywidualną konfigurację wedle preferencji użytkownika. Aby ułatwić dostosowanie programu wszystkie opcje konfiguracyjne umieszczone są w osobnym pliku – config.h. Etykiety połączeń na schemacie są zgodne z nazewnictwem zastosowanym w tym pliku, co powinno rozwiać wszelkie wątpliwości gdyby nazwy okazały się niejednoznaczne.\nJedynymi połączeniami, które absolutnie muszą pozostać tak, jak na załączonym schemacie jest interfejs I2C dla modułu Si5351. Połączenia impulsatora (ENCODER_A i ENCODER_B) również podlegają pewnym ograniczeniom. Otóż ich proste przenoszenie związane tylko ze zmianą numerów pinów w pliku config.h możliwe jest jedynie w zakresie wyprowadzeń D2 – D7. Bardziej zaawansowani użytkownicy mogą przenieść połączenia enkodera również na inne piny Arduino, ale będzie to wymagało zmiany wektora przerwania PCI, do którego podpięta jest procedura obsługi „kręciołka”.\nProgram Program sterownika dostępny jest w postaci skeczu Arduino. Jak już wcześniej wspomniałem wszystkie parametry, które użytkownik może chcieć zmienić starałem się wydzielić do pliku config.h. Do poprawnej kompilacji potrzebna jest oczywiście biblioteka do obsługi Si5351. Dodatkowo wymagana jest jeszcze biblioteka Rotary do obsługi enkodera. Niestety nie znam jej pochodzenia, ale można ją pobrać poniżej wraz z właściwym kodem programu.\nSterownik SDR z Si5351 Biblioteka Rotary Konfiguracja pasm i filtrów Na samym końcu pliku config.h znajduje się sekcja ustawień pasm i sterowania filtrów. Opiszę ją w tym miejscu bardziej szczegółowo, by wprowadzanie w niej zmian nie było trudne.\n1/*********************************/ 2/* Bands \u0026amp; Filters */ 3/*********************************/ 4#define BAND_NUM 9 5 6PROGMEM const uint32_t lower_limit[] = {1810000, 3500000, 7000000, 10100000, 7 14000000, 18068000, 21000000, 24890000, 28000000}; 8PROGMEM const uint32_t upper_limit[] = {2000000, 3800000, 7200000, 10150000, 14350000, 9 18168000, 21450000, 24990000, 28700000}; 10PROGMEM const uint8_t band_filter[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 11 12PROGMEM const char label_0[] = \u0026#34; -- \u0026#34;; 13PROGMEM const char label_1[] = \u0026#34;160m\u0026#34;; 14PROGMEM const char label_2[] = \u0026#34; 80m\u0026#34;; 15PROGMEM const char label_3[] = \u0026#34; 40m\u0026#34;; 16PROGMEM const char label_4[] = \u0026#34; 30m\u0026#34;; 17PROGMEM const char label_5[] = \u0026#34; 20m\u0026#34;; 18PROGMEM const char label_6[] = \u0026#34; 17m\u0026#34;; 19PROGMEM const char label_7[] = \u0026#34; 15m\u0026#34;; 20PROGMEM const char label_8[] = \u0026#34; 12m\u0026#34;; 21PROGMEM const char label_9[] = \u0026#34; 10m\u0026#34;; 22 23PROGMEM const char * const band_label[] = {label_0, label_1, label_2, label_3, label_4, 24 label_5, label_6, label_7, label_8, label_9}; lower_limit[] i upper_limit[] to odpowiednio tablice z częstotliwościami dolnych i górnych granic pasm. Pasm może być w zasadzie zdefiniowanych dowolnie dużo. Aby dołożyć pasmo trzeba jego granice dopisać do wymienionych wcześniej tablic, dorobić dla niego etykietkę na wzór którejś z linijek z label_nn[] i dołożyć tą etykietkę do tablicy band_label[].\nSterowanie filtrami zrealizowane jest za pomocą dekodera 4028, więc filtry mają numery od 0 do 9. Tablica band_filter[] służy do przypisania każdemu pasmu filtra o odpowiednim numerze. W tym miejscu należy zwrócić uwagę na istotny szczegół – otóż numery pasm to zupełnie inna rzecz niż numery filtrów. Pasmo o numerze 0 zarezerwowane jest do oznaczenia częstotliwości, które nie mieszczą się w żadnym ze zdefiniowanych pasm. Z tego powodu pierwsza pozycja tablicy band_filter[] przeznaczona jest na numer „filtru” typu bypass – może to być albo zwykła zwora, albo jakiś LPF. Ja w swojej konfiguracji wybrałem dla tego filtru numer 0, ale każdy może sobie to ustalić tak, żeby pasowało do posiadanej płytki filtrów. Pozostałym pasmom można przypisywać dowolne filtry.\nW ten sposób nie ma już problemu żeby dołożyć np. pasmo CB tak, żeby było obsługiwane przez filtr z pasma 10m i miało swoją własną etykietkę na wyświetlaczu. Jest to być może trochę skomplikowane, ale mam nadzieję, że będzie to na tyle elastyczne i uniwersalne rozwiązanie, że zadowoli znaczną większość potencjalnych użytkowników.\nObsługa Obsługa sterownika powinna być raczej intuicyjna. W normalnym trybie pracy enkoder powoduje zmianę częstotliwości generowanego sygnału. Krok przestrajania wyświetlany jest w prawym dolnym rogu ekranu, a zmienia się go cyklicznie przez naciśnięcie przycisku enkodera.\nW środkowej części dolnego wiersza wyświetlana jest informacja o pasmie, w którym znajduje się aktualna częstotliwość. Jeśli częstotliwość ta nie mieści się w żadnym ze zdefiniowanych pasm, wyświetlane jest „–” co sygnalizuje, że włączony jest filtr „bypass”.\nTryb normalny Wciśnięcie przycisku BUTTON_1 powoduje wejście do trybu przywracania pamięci (Memory Recall). W trybie tym w lewym dolnym rogu ekranu wyświetlany jest numer komórki pamięci. Następująca po nim literka „r” przypomina, że jesteśmy w trybie przywracania, a nie zapisu. Wyświetlacz pokazuje zapisaną w danej komórce częstotliwość i odpowiadające jej pasmo. Pomiędzy komórkami poruszamy się za pomocą enkodera. Ponowne wciśnięcie przycisku BUTTON_1 powoduje ustawienie częstotliwości z aktualnej komórki pamięci i powrót do normalnego trybu pracy. Wciśnięcie zaś przycisku BUTTON_2 powoduje opuszczenie trybu przywracania pamięci bez żadnych zmian.\nTryb przywoływania pamięci Tryb zapisu pamięci (Memory Save) uruchamiany jest przyciskiem BUTTON_2 i oznaczony jest literką „s” przy numerze komórki pamięci. W trybie tym mamy możliwość zapisania bieżącej częstotliwości w wybranej komórce pamięci. Ponowne wciśnięcie przycisku BUTTON_2 porzuca tryb zapisu, natomiast wciśnięcie przycisku BUTTON_1 zatwierdza operację i wraca do normalnego trybu pracy.\nTryb zapisu pamięci ","date":"1 stycznia 2015","extent":"5 min czytania","permalink":"/posts/sterownik-syntezy-si5351/","summary":"Po module z układem Si5351 i bibliotece do jego sterowania przyszedł czas, żeby to jakoś wykorzystać w praktyce. Za namową i przy gorącym dopingu Piotra SP9EGM powstał sterownik syntezera przeznaczony dla odbiorników SDR. Projekt oparty jest o Arduino i właściwie składa się z kodu programu oraz schematu połączeń. Kwestię sposobu fizycznego wykonania układu i ewentualnego projektu płytki drukowanej pozostawiam do rozstrzygnięcia czytelnikom. U mnie układ powstał po prostu na płytce stykowej.","title":"Sterownik syntezy Si5351 do odbiorników SDR"},{"content":"18 i 20 grudnia rosyjska ekipa kosmonautów z Międzynarodowej Stacji Kosmicznej nadawała serię 12 obrazów za pomocą SSTV. Emisja miała miejsce na częstotliwości 145.800 MHz trybem PD180.\nCo prawda we czwartek obowiązki służbowe wykluczyły mnie z zabawy, ale w sobotę już bez przeszkód postanowiłem spróbować. Moja stacja odbiorcza składała się z mobilowej anteny przypomnającej Nagoya NL-770R posadowionej na magnesie ok. 3m AGL na dachu blaszanego garażu, radia Yaesu FT-817ND i programu MMSSTV. Odbiór podczas pierwszego przelotu nie był najlepszy, przy okazji chyba też miałem problemy z poziomem wysterowania audio. Potem już było lepiej, ale i tak nie zawsze udało się odebrać obrazki w całości. Pomiędzy transmisjami były ok. 3 minutowe przerwy, co powodowało niezbyt dobrą „sychronizację” z przelotami nad moim QTH – przez większą cześć trwania przelotu była cisza, a nadawanie rozpoczynało się już po przekroczeniu zenitu przez ISS. W efekcie końcówki zdjęć odbierałem przy bardzo niskiej elewacji, lub wręcz odbiór się urywał, bo ISS znikała za horyzontem. Tak czy inaczej zabawę uważam za udaną, w każdym przelocie udało się coś odebrać","date":"23 grudnia 2014","extent":"1 min czytania","permalink":"/posts/sstv-iss-2014/","summary":"18 i 20 grudnia rosyjska ekipa kosmonautów z Międzynarodowej Stacji Kosmicznej nadawała serię 12 obrazów za pomocą SSTV. Emisja miała miejsce na częstotliwości 145.800 MHz trybem PD180.","title":"SSTV z ISS 20.12.2014"},{"content":"Czytając blog Jasona NT7S przeczytałem jego posty o układzie Si5351. Jest to sterowany przez I2C programowalny generator sygnału prostokątnego, trochę podobny do Si570. Zakres generowanych częstotliwości to 800kHz do 160MHz, więc do zastosowań krótkofalarskich wprost idealny. Nawet dla detektorów kwadraturowych wymagających sterowania sygnałem o czterokrotnie większej częstotliwości zapewni pokrycie wszystkich pasm HF. Gdyby tego mało, zależnie od wersji, układ zapewnia od 3 o 8 niezależnych wyjść. Wydaje się to być bardzo atrakcyjne, szczególnie w kontekście bardziej rozbudowanych TRXów z wieloma odbiornikami. Można też wykorzystać jeden kanał jako VFO, a drugi jako BFO. W dodatku cena układu jest kilkakrotnie niższa od ceny Si570.\nModuł Si5351 i BusPirate Moduł generatora Po zebraniu tych informacji moje zainteresowanie sięgnęło zenitu :) Pośpiesznie zamówiłem kilka sztuk układów Si5351A w obudowie MSOP10, stosowne kwarce i zabrałem się za „malowanie” płytki drukowanej testowego modułu. Układ został zaprojektowany w programie EAGLE i zawiera, poza Si5351, stabilizator 3.3V oraz translator poziomów dla magistrali I2C. Dzięki umieszczeniu na płytce konwertera poziomów, możliwe jest sterowanie układu z mikrokontrolerów zasilanych napięciem 5V ( nota katalogowa Si5351 ) nie wspomina, aby wejścia były „5V tolerant”). Sygnały wyjściowe ze wszystkich 3 dostępnych kanałów wyprowadzone są, poprzez kondensatory blokujące składową stałą, na krawędziowe gniazda SMA. Rozkład wyprowadzeń sygnałów sterujących zgodny jest ze złączem modułu Si570 zaprezentowanego przez Adama SP5FCS, co być może ułatwi zastosowanie w Husarku.\nModuł Si5351 - Schemat Moduł Si5351 - PCB Sterowanie Programowanie częstotliwości wyjściowej okazało się nie być sprawą trywialną. Układ w zasadzie nie jest przewidziany do płynnego przestrajania. Jego pierwotnym zastosowaniem ma być generowanie sygnałów taktujących różne elementy systemu: mikrokontrolery, przetworniki ADC i DAC, sensory itp. Aby ułatwić inżynierom wykorzystanie układu w takiej roli producent udostępnił oprogramowanie ClockBuilder Desktop , które pozwala skonfigurować układ i generuje gotową mapę rejestrów. Dla nas ma on ograniczoną przydatność, ponieważ przy ciągłym przestrajaniu, jak w radiostacjach, zawartość rejestrów musi być generowana dynamicznie.\nPewną pomocą jest nota aplikacyjna AN619 . Opisuje ona metodę ręcznego generowania mapy rejestrów. Podane są tam wzory określające zależności pomiędzy współczynnikami konfiguracyjnymi, a rejestrami. W nocie tej znajduje się też pełny opis wszystkich rejestrów układu Si5351, również tych, które zostały pominięte w karcie katalogowej. Dodatkowe informacje znalazłem również na stronie YU3MA . Tak uzbrojony napisałem prostą bibliotekę dla Arduino. Można ją pobrać z GitHub .\nDo pobrania Projekt EAGLE ","date":"4 lipca 2014","extent":"2 min czytania","permalink":"/posts/modul-si5351/","summary":"Czytając blog Jasona NT7S przeczytałem jego posty o układzie Si5351. Jest to sterowany przez I2C programowalny generator sygnału prostokątnego, trochę podobny do Si570. Zakres generowanych częstotliwości to 800kHz do 160MHz, więc do zastosowań krótkofalarskich wprost idealny. Nawet dla detektorów kwadraturowych wymagających sterowania sygnałem o czterokrotnie większej częstotliwości zapewni pokrycie wszystkich pasm HF. Gdyby tego mało, zależnie od wersji, układ zapewnia od 3 o 8 niezależnych wyjść. Wydaje się to być bardzo atrakcyjne, szczególnie w kontekście bardziej rozbudowanych TRXów z wieloma odbiornikami. Można też wykorzystać jeden kanał jako VFO, a drugi jako BFO. W dodatku cena układu jest kilkakrotnie niższa od ceny Si570.","title":"Moduł generatora Si5351"},{"content":"Układ DS18B20 jest scalonym czujnikiem temperatury z interfejsem 1-Wire. Jest jednym z wielu układów z tym interfejsem produkowanych przez Maxim, dawniej Dallas. Do rodziny tej należą między innymi pamięci, przetworniki analogowo-cyfrowe i potencjometry cyfrowe. Unikatową cechą magistrali 1-Wire jest możliwość zasilania podłączonych do niej układów za pomocą jedynej linii danych. Dzięki temu w bardzo prosty sposób można budować rozległe sieci czujników – to świetna wiadomość jeśli chciałbys np. monitorować temperaturę w pomieszczeniach swojego domu.\nMagistrala 1-Wire Zanim zajmiemy się podłączeniem DS18B20 do Arduino warto zapoznać się z kilkoma faktami o magistrali 1-Wire. Podane tu ogólne informacje na pewno okażą się przydatne w przyszłości kiedy zechcesz wykorzystać inne układy z tej rodziny w swoich projektach.\nMagistrala 1-Wire wykorzystuje jedno urządzenie jako kontroler (master), który komunikuje się za jej pomocą z jednym lub wieloma urządzeniami podrzędnymi (slave). 1-Wire jest interfejsem szeregowym. Dane między kontrolerem, a urządzeniami podrzędnymi i w drugą stronę przesyłane są jednym przewodem – stąd nazwa całego interfejsu. Komunikacja za pomocą interfejsu 1-Wire rozpoczyna się od zresetowania wszystkich urządzeń podłączonych do magistrali. W tym celu kontroler wymusza stan niski na szynie danych przez co najmniej 480 µs, następnie „puszcza” magistralę i po upływie kolejnych 60 µs sprawdza, czy układ peryferyjny ściągnął szynę danych do masy. W ten sposób kontroler może wykryć czy do magistrali podłączony jest chociaż jeden układ peryferyjny.\nAby możliwe było komunikowanie się z wieloma urządzeniami podłączonymi do jednej magistrali, każdy układ 1-Wire ma w nieulotnej pamięci ROM zapisany 64 bitowy adres – numer seryjny. Producent gwarantuje unikatowość tego numeru, dzięki czemu możesz mieć pewność, że nigdy się on nie powtórzy. Najprostsze układy 1-Wire nie posiadają żadnych innych funkcji jak tylko możliwość odczytu tego unikatowego numeru. Produkowane są między innymi w postaci „pastylek” czy breloczków do kluczy i wykorzystywane np. w systemach kontroli dostępu.\nKontroler magistrali (master) może odnaleźć wszystkie urządzenia jakie są do niej podłączone wykorzystując mechanizm enumeracji. W tym celu kontroler wysyła komendę SearchROM, którą odbierają wszystkie układy. W odpowiedzi wysyłają one swoje adresy bit po bicie, poczynając od najmniej znaczącego. Proces wysyłania każdego bitu przebiega w trzech krokach:\nWszystkie układy wysyłają n-ty bit swojego adresu. Jeśli choć jeden z nich wyśle zero, to kontroler odczyta zero, ponieważ magistrala dzięki swoim właściwościom realizuje funkcję logiczną AND. Następnie wszystkie układy wysyłają zanegowany n-ty bit adresu. Jeśli i tym razem kontroler odbierze zero, oznacza to, że do magistrali jest też podłączony układ, który na tej pozycji adresu ma bit o wartości jeden. Kontroler potwierdza odebrany bit wysyłając go z powrotem do układów peryferyjnych. Jeśli jakiś układ peryferyjny odbierze inny bit niż wysłał, milknie i wyłącza się z dalszej komunikacji aż do następnego resetu magistrali. Dzięki takiej eliminacji kontroler może poznać adresy wszystkich układów peryferyjnych podłączonych do magistrali. Znając adres układu podłączonego do magistrali możemy nawiązać z nim bezpośrednią transmisję. Kiedy kontroler wyśle adres jakiegoś układu, ten kontynuuje komunikację, podczas gdy pozostałe układy czekają na sygnał resetu. Układ DS18B20 DS18B20 to cyfrowy czujnik temperatury o maksymalnej rozdzielczości 12 bitów. Układ posiada również funkcję alarmu aktywowanego po przekroczeniu górnego lub dolnego progu ustawianego przez użytkownika i zapamiętywanego w nieulotnej pamięci. Zakres dopuszczalnych temperatur pracy wynosi -55°C do +125°C, zaś dokładność w przedziale -10°C do +85°C wynosi ±0,5°C.\nPomiar temperatury inicjowany jest przez kontroler wydaniem komendy ConvertT. Wykonanie tego rozkazu może trwać do 750ms (a więc dosyć długo), a w jego wyniku dwubajtowa wartość temperatury zapisywana jest w pamięci układu (tzw. scratchpad). Odczyt tej pamięci możliwy jest za pomocą komendy ReadScratchpad.\nPodłączenie DS18B20 do Arduino Po tym przydługim wstępie teoretycznym najwyższa pora zbudować jakiś praktyczny układ. Poniższy rysunek przedstawia przykład podłączenia układu DS18B20 do Arduino. Rezystor R1 podciąga szynę danych do dodatniego napięcia zasilania. Typowo ma on wartość ok. 4,7kΩ, ale w przypadku długich przewodów łączących czujnik z płytka Arduino można go zmniejszyć np. do 2,2kΩ, co zapewni silniejszy pull-up.\nLinia danych może w zasadzie być podłączona do dowolnego pinu Arduino, należy to tylko uwzględnić w kodzie programu.\nParasite power Jak wspomniałem wcześniej, układy 1-Wire mogą być zasilane nie tylko przez bezpośrednie doprowadzenie prądu do końcówki zasilającej, ale także za pośrednictwem linii danych. Takie rozwiązanie nazywane jest parasite power, czyli zasilanie pasożytnicze. Pozwala to zredukować liczbę przewodów potrzebnych do zbudowania sieci czujników do linii danych i masy, co ma znaczący wpływ na obniżenie kosztów. Okupione jest to jednak pewnymi ograniczeniami co do szybkości przesyłania danych i długości całej magistrali. Schemat podłączenia układu DS18B20 do Arduino w trybie zasilania pasożytniczego przedstawiony jest na poniższym rysunku.\nPrzykładowy program Na całe szczęście nie będziemy musieli zaprzątać sobie głowy implementacją obsługi 1-Wire „od zera”, dostępne są, bowiem stosowne biblioteki. Poniższy przykład wykorzystuje bibliotekę OneWire, która zapewnia podstawową obsługę magistrali oraz DallasTemperature, która zawiera specjalistyczne funkcje dla czujnika DS18B20\nProgram wykrywa układy podłączone do magistrali 1-Wire i cyklicznie dokonuje za ich pomocą pomiaru temperatury. Wyniki prezentowane są poprzez interfejs szeregowy.\n1#include \u0026lt;OneWire.h\u0026gt; 2#include \u0026lt;DallasTemperature.h\u0026gt; 3 4// Data wire is plugged into pin 2 on the Arduino 5#define ONE_WIRE_BUS 2 6 7// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) 8OneWire oneWire(ONE_WIRE_BUS); 9 10// Pass our oneWire reference to Dallas Temperature. 11DallasTemperature sensors(\u0026amp;oneWire); 12 13uint8_t numDevices; 14 15void setup(void) 16{ 17 // start serial port 18 Serial.begin(9600); 19 Serial.println(\u0026#34;Dallas Temperature IC Control Library Demo\u0026#34;); 20 21 // Start up the library 22 sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement 23 24 // Use sensors.getDeviceCount() to find out how many devices are connected to the bus 25 numDevices = sensors.getDeviceCount() 26 Serial.print(\u0026#34;Found \u0026#34;); 27 Serial.print(numDevices, DEC); 28 Serial.println(\u0026#34; devices.\u0026#34;); 29} 30 31void loop(void) 32{ 33 uint8_t i; 34 35 // Use sensors.getDeviceCount() to find out how many devices are connected to the bus 36 Serial.print(\u0026#34;Found \u0026#34;); 37 Serial.print(sensors.getDeviceCount(), DEC); 38 Serial.println(\u0026#34; devices.\u0026#34;); 39 40 // call sensors.requestTemperatures() to issue a global temperature 41 // request to all devices on the bus 42 Serial.print(\u0026#34;Requesting temperatures...\u0026#34;); 43 sensors.requestTemperatures(); // Send the command to get temperatures 44 Serial.println(\u0026#34; DONE\u0026#34;); 45 46 for(i=0; i\u0026lt;numDevices;i++) 47 { 48 Serial.print(\u0026#34;Temperature for Device \u0026#34;); 49 Serial.print(i, DEC); 50 Serial.print(\u0026#34; is: \u0026#34;); 51 Serial.println(sensors.getTempCByIndex(i)); // 0 refers to the first IC on the wire 52 } 53} Warto przeczytać Nota katalogowa układu DS18B20 Algorytm przeszukiwania 1-Wire Opis zastosowania CRC w 1-Wire ","date":"1 lutego 2014","extent":"5 min czytania","permalink":"/posts/ds18b20-arduino/","summary":"Układ DS18B20 jest scalonym czujnikiem temperatury z interfejsem 1-Wire. Jest jednym z wielu układów z tym interfejsem produkowanych przez Maxim, dawniej Dallas. Do rodziny tej należą między innymi pamięci, przetworniki analogowo-cyfrowe i potencjometry cyfrowe. Unikatową cechą magistrali 1-Wire jest możliwość zasilania podłączonych do niej układów za pomocą jedynej linii danych. Dzięki temu w bardzo prosty sposób można budować rozległe sieci czujników – to świetna wiadomość jeśli chciałbys np. monitorować temperaturę w pomieszczeniach swojego domu.","title":"Czujnik temperatury DS18B20 i Arduino"},{"content":"Interfejs do emisji cyfrowych to właściwie bardzo prosta rzecz. W wersji minimalistycznej mogą to być dwa lub trzy kable do transmisji sygnałów z karty dźwiękowej komputera do TRXa. Z komputerowym sterowaniem radiostacją sprawa może wyglądać nieco bardziej skomplikowanie, choć pewnie nie musi. Ponieważ jednak gotowe rozwiązania dostępne na rynku są albo drogie, albo nie spełniają moich oczekiwań, postanowiłem opracować własną konstrukcję.\nInterfejs CAT - Panel przedni Interfejs CAT - Panel tylny Interfejs CAT - wnętrze Tak się składa, że w swoim shacku posiadam dwa transcivery ze stajni Yaesu: FT817ND i FT897D. Oba pod względem sterowania zewnętrznego są praktycznie identyczne, mają nawet takie same gniazdka. Interfejs CAT wyprowadzony jest jako RS232 na poziomach TTL, dostępne są też sygnały audio. Nie pozostało więc nic innego jak zabrać się do roboty. Ponieważ nowoczesne komputery często nie są już wyposażone w interfejs RS232C, moje urządzenie miało posiadać odpowiedni konwerter USB. Kolejną pożądaną cechą, której nie mają dostępne tanie interfejsy, jest separacja galwaniczna zarówno interfejsu CAT jak i toru audio.\nBudowa Ogólnie całe urządzenie nie jest specjalnie odkrywczą konstrukcją, wzorowane było na wielu opisach dostępnych w sieci. Nie oznacza to, że nie obyło się bez kilku prototypów i paru eksperymentów, a i tak nie ustrzegłem się błędów…\nKonwerter USB – RS232 to właściwie typowa aplikacja układu FT232RL. Cała zabawa polegała na odpowiednim wykonaniu separacji galwanicznej. Posiadane przeze mnie radia oferują trzy szybkości przesyłania danych przez CAT, najszybsza to 38400 bps. Okazało się, że uzyskanie tej szybkości nie jest proste i przy zastosowaniu bardzo popularnych transoptorów typu PC817 było niemożliwe. Dopiero zastosowanie transoptorów TLP621 (również łatwo dostępnych i niedrogich) i odpowiedni dobór rezystorów polaryzacyjnych zaowocował sukcesem. Jak widać na oscylogramie, uzyskany przebieg jest czysty. Co najważniejsze, testy praktyczne z TRXami wykazały, że stromość zboczy jest wystarczająca do niezawodnej i stabilnej pracy interfejsu.\nPrzebieg na TLP621 Poza sygnałami RXT i TXD interfejsu szeregowego, wyprowadzone zostały też linie DTR i RTS, oczywiście również przez transoptory. Pozwala to na bezpośrednie kluczowanie PTT i CW w radiu kiedy nie chcemy lub nie możemy użyć interfejsu CAT.\nTor audio został zrealizowany w typowy sposób za pomocą transformatorków separacyjnych. Wybrałem transformatory firmy Critchley kupione na Allegro ze względu na dostępność. Nic nie stoi jednak na przeszkodzie, by zastosować transformatorki wymontowane np. ze strych modemów telefonicznych. Należy jednak zwrócić uwagę, że miewają one różne rozmiary i układ wyprowadzeń. W torze audio przewidziałem możliwość montażu potencjometrów do regulacji poziomu sygnału, ostatecznie jednak zrezygnowałem z ich instalacji zastępując zworami.\nCałość układu można zobaczyć na załączonym schemacie .\nWykonanie Kiedy już miałem w miarę dopracowany układ postanowiłem zaprojektować i zamówić fabryczną płytkę drukowaną. Płytka została zwymiarowana tak, by pasowała do plastikowej obudowy Z-6. Dwustronną płytkę zamówiłem w swojej ulubionej płytkarni w Chinach. Kiedy dostałem już gotowe PCB, okazało się, że w wyniku drobnej zmiany zrobionej w ostatniej chwili przed wysłaniem zamówienia, na płytce zabrakło połączenia z masa w okolicy układu scalonego. Udało się to poprawić ostrożnie lutując malutkie zworki z kynaru, ale mam już nauczkę, by zawsze przed wygenerowaniem Gerberów uruchomić jeszcze ostatni raz DRC! W załączonym projekcie Eagle błąd ten został już poprawiony.\nNa płytce drukowanej przewidziałem gniazdo MiniDIN 8 do podłączenia kabla do TRXa. Kiedy jednak zobaczyłem jak ciasno jest w takiej wtyczce i jak u…ciążliwe jest jej przylutowanie, w ostatecznej wersji zamontowałem na tylnej ściance obudowy złącze DB9 – trochę trudniej wyciąć otwór, ale za to jest znacznie mniej klaustrofobicznie.\nPanel czołowy i tylni został zaprojektowany w programie graficznym i wydrukowany na papierze samoprzylepnym na drukarce laserowej. Dla zabezpieczenia na papier została jeszcze naklejona przezroczysta folia.\nDo pobrania Schemat Projek Eagle ","date":"7 lipca 2013","extent":"3 min czytania","permalink":"/posts/interfejs-do-emisji-cyfrowych/","summary":"Interfejs do emisji cyfrowych to właściwie bardzo prosta rzecz. W wersji minimalistycznej mogą to być dwa lub trzy kable do transmisji sygnałów z karty dźwiękowej komputera do TRXa. Z komputerowym sterowaniem radiostacją sprawa może wyglądać nieco bardziej skomplikowanie, choć pewnie nie musi. Ponieważ jednak gotowe rozwiązania dostępne na rynku są albo drogie, albo nie spełniają moich oczekiwań, postanowiłem opracować własną konstrukcję.\nInterfejs CAT - Panel przedni Interfejs CAT - Panel tylny Interfejs CAT - wnętrze ","title":"Interfejs do emisji cyfrowych i CAT"},{"content":"Przechodząc przez alejkę z narzędziami w moim osiedlowym supermarkecie mój wzrok padł na taki mały, podobny do szufladki, pojemnik magazynowy i zrodził się pomysł jak zrobić z niego stojak na szpulę z cyną. Pomimo, że różne stojaki i podstawki na cynę są dosyć łatwo dostępne w handlu, ich chińskie konstrukcje nie budzą we mnie zaufania co do solidności. Zwykle wykonane są z cienkiej blachy, która nie jest chyba zbyt wytrzymała i może się łatwo wyginać. Estetyka ich wykonania też pozostawia trochę do życzenia. Z tego powodu, no i dlatego, że to fajna zabawa, postanowiłem sobie taki stojak zrobić samemu.\nStojak na szpulę Stojak na szpulę Do budowy stojaka potrzebne będą:\nmały pojemnik magazynowy – dostępny w każdym supermakecie lub sklepie budowlanym za ok. 2 zł, kawałek rurki aluminiowej lub miedzianej fi 10 – 15mm albo okrągły kołek drewniany, dwa blachowkręty z łbem cylindrycznym. Szczegóły budowy stojaka widać na zdjęciach. Odmierzamy odpowiedni odcinek rurki i na jego końcach wiercimy otworki na blachowkręty – u mnie fi 3mm. Na rurkę nakładamy szpulę, wkręty przykręcamy do krawędzi pojemnika i gotowe! Konstrukcja jest bardzo prosta i tania, a daje sporo satysfakcji. Pojemnik bardzo stabilnie stoi na stole i od kiedy używam tego stojaka nie narzekam na to, że nie mogę znaleźć swojej cyny (wiem, że zgubienie kilogramowej sypulki może wydawać się niemożliwe, ale na moim biurku są zwykle warstwy rupieci :) ), ani że lutowie się gdzieś zaplątało. Stojak taki będzie się również świetnie nadawał na kilka mniejszych szpulek z kolorowymi przewodami połączeniowymi, kynarem, czy nawet drutem nawojowym o różnej średnicy.","date":"3 grudnia 2012","extent":"2 min czytania","permalink":"/posts/stojak-na-cyne/","summary":"Przechodząc przez alejkę z narzędziami w moim osiedlowym supermarkecie mój wzrok padł na taki mały, podobny do szufladki, pojemnik magazynowy i zrodził się pomysł jak zrobić z niego stojak na szpulę z cyną. Pomimo, że różne stojaki i podstawki na cynę są dosyć łatwo dostępne w handlu, ich chińskie konstrukcje nie budzą we mnie zaufania co do solidności. Zwykle wykonane są z cienkiej blachy, która nie jest chyba zbyt wytrzymała i może się łatwo wyginać. Estetyka ich wykonania też pozostawia trochę do życzenia. Z tego powodu, no i dlatego, że to fajna zabawa, postanowiłem sobie taki stojak zrobić samemu.","title":"Stojak na szpulę z cyną"},{"content":"Budowę swojego Piligrima rozpocząłem od syntezy. Mój wybór nie był zbyt oryginalny i zdecydowałem się na sterownik, który na forum cqham.ru opublikował Oleg9. Sterownik, poza tym, że jest to synteza i dostarcza sygnału LO, posiada wiele funkcji umożliwiających kontrolowanie pracy wielu modułów radia: przełączanie filtrów zależnie od pasma, włączanie tłumików, S-metr, pomiar SWR. Syntezer nie ma możliwości ustawienia częstotliwości pośredniej, stąd nadaje się tylko do pracy w transciverach z bezpośrednią przemianą częstotliwości. Wszystkimi funkcjami steruje się za pomocą klawiatury matrycowej 4×3 i enkodera obrotowego.\nW urządzeniu jako generator może pracować jeden z układów DDS Analog Devices z rodziny AD9954/AD9952/AD9951 taktowany sygnałem z generatora 80MHz. Sygnał z tego generatora podzielony przez 4 taktuje również mikrokontroler PIC16F877A odpowiedzialny za sterowanie całością. Sygnał z generatora DDS przechodzi przez symetryczny filtr dolnoprzepustowy, a następnie trafia do odbiornika LVDS, który spełnia rolę bardzo szybkiego komparatora. Dzięki temu na wyjściu układu otrzymujemy czysty sygnał prostokątny o stromych zboczach, odpowiedni do sterowania mieszaczem Tayloe’a.\nSwoją płytkę wykonałem według projektu udostępnionego przez Adama SP5FCS na forum SPHM. Płytka ta zaprojektowana została w KiCADzie i znakomicie nadaje się do wykonania metodą termotransferu. Montaż nie nastręcza większych trudności. No może poza przylutowaniem termopadu układu AD9951, co wymagało ode mnie trochę gimnastyki, ale się powiodło. Ponieważ pole po bitwie nie wyglądało zbyt pięknie, zasłoniłem je kawałeczkiem pobielonej blaszki przylutowanej do płytki.\nW tym samym wątku na SPHM dostępna jest również cała dokumentacja wraz z instrukcją obsługi syntezy przetłumaczona na język polski. Co prawda nie miałem jeszcze okazji używać syntezy w radiu, gdyż ono ciągle powstaje, ale już pobieżne przeglądnięcie tej instrukcji uświadamia jak szerokie są możliwości sterownika i jak przydatny będzie ten dokument.","date":"8 listopada 2012","extent":"2 min czytania","permalink":"/posts/piligrim-synteza/","summary":"Budowę swojego Piligrima rozpocząłem od syntezy. Mój wybór nie był zbyt oryginalny i zdecydowałem się na sterownik, który na forum cqham.ru opublikował Oleg9. Sterownik, poza tym, że jest to synteza i dostarcza sygnału LO, posiada wiele funkcji umożliwiających kontrolowanie pracy wielu modułów radia: przełączanie filtrów zależnie od pasma, włączanie tłumików, S-metr, pomiar SWR. Syntezer nie ma możliwości ustawienia częstotliwości pośredniej, stąd nadaje się tylko do pracy w transciverach z bezpośrednią przemianą częstotliwości. Wszystkimi funkcjami steruje się za pomocą klawiatury matrycowej 4×3 i enkodera obrotowego.","title":"Piligrim - Synteza Oleg9"},{"content":"Arduino jest bardzo popularną platformą developerską dla mikrokontrolerów AVR. Swoją popularność zawdzięcza zapewne kilku czynnikom, między innymi IDE, które w prosty sposób pozwala tworzyć firmware nawet niedoświadczonym programistom oraz dobrze opracowanej płytce uruchomieniowej. Dzięki temu, że cały projekt jest open source i został udostępniony na licencji Creative Commons powstało wiele dodatkowych „tarcz” z peryferiami rozszerzającymi możliwości podstawowej płytki oraz biblioteki kodu do obsługi tych peryferiów. Społeczność ludzi aktywnie wykorzystujących Arduino w swoich projektach ciągle rośnie.\nPuste plytki Arduino Nano - Gotowy moduł Z biegiem czasu powstało też wiele wersji podstawowej płytki Arduino np. Duemillenuove, UNO itp. Nano jest jedną z najmniejszych wersji sprzętu kompatybilnego z Arduino. Jest to modulik DIP przeznaczony do budowania prototypów na płytkach stykowych itp. Ponieważ udało mi się kupić kilka sztuk ATmega328P w dobrej cenie, a od dawna myślałem o małych modułach eksperymentalnych, postanowiłem spróbować zrobić własny klon Nano.\nArduino Nano zostało opracowane przez firmę Gravitech i jak to zwykle bywa, miało kilka wersji w tym taką, zrobioną na czterowarstwowym druku. Ja swój moduł oparłem o najnowszą wersję 3.0. Schemat tego modułu jest właściwie bardzo prosty. Wszystkie porty mikrokontrolera ATmega328 zostały wyprowadzone na złącza goldpin. Układ FT232RL w typowej dla siebie aplikacji odpowiada za konwersję USB – RS232. Ciekawym rozwiązaniem jest podłączenie wyjścia DTR poprzez kondensator 100nF do pinu RESET mikrokontrolera. Pozwala to na automatyczne resetowanie procesora za pomocą portu szeregowego co jest wykorzystywane przez bootloader – ale o tym za chwilę. Układ zasilany jest z portu USB, choć można podłączyć do niego również zewnętrzne zasilanie 5V, na płytce znajduje się też dodatkowy stabilizator, który pozwoli zasilić urządzenie wyższym napięciem. Jedyną różnicą układową w stosunku do oryginalnego Nano jest brak diody LED podłączonej do pinu D13. Decyzję taką podjąłem, ponieważ chciałem mieć uniwersalny i minimalistyczny modulik, choć teraz, kiedy już chwilę używam tych modułów, doszedłem do wniosku, że był to błąd – ta dioda byłaby bardzo wygodnym narzędziem diagnostycznym.\nProjekt Chęć zachowania kompatybilności mechanicznej z oryginałem – moduł miał mieć dwa rzędy po 15 goldpinów w odstępie 600 mils – podyktowała konieczność zaprojektowania dwustronnej płytki drukowanej. W dodatku nieunikniony był obustronny montaż elementów, rozwiązanie niezbyt optymalne pod względem kosztów produkcji przemysłowej, bo wymusza dwukrotne przejście płytki przez automaty pick \u0026amp; place, podklejanie elementów żeby nie pospadały w piecu itp. Cóż, miniaturyzacja nie przychodzi łatwo… Dzięki temu, że sam projektowałem płytkę, mogłem przystosować ją do posiadanych i łatwo dostępnych elementów. Zasadniczo wszystkie elementy bierne są w rozmiarze 0603, ale footprinty są na tyle duże, że przy odrobinie wprawy można spokojnie wlutować 0805.\nRouting tak małej płyteczki dla niezbyt doświadczonego projektanta jak ja okazał się niezłą gimnastyką :) Ścieżki poprowadzone są w reżimie 8 mils / 8 mils, ale celowo przelotki zrobiłem dosyć duże z otworkami średnicy 0.4 mm. Niestety w moim domowym warsztacie takiej płytki wykonać nie mogę, więc przygotowałem dokumentację w postaci plików Gerber i wysłałem projekt do fabryki. Już po trzech tygodniach w skrzynce pocztowej czekała koperta z dziesięcioma płytkami, z czego 8 było testowanych elektrycznie.\nJakość płytek jakie otrzymałem jest bardzo dobra. Wykonane są na laminacie FR4 1.2 mm z soldermaską i dwustronnym opisem. Krawędzie są frezowane, więc mogłem sobie pozwolić na ekstrawagancję zaokrąglenia rogów. Są też bardzo gładkie. Na takich płytkach montaż to czysta przyjemność i już po chwili miałem gotowy i działający pierwszy egzemplarz.\nSchemat Projekt Eagle Bootloader Po zmontowaniu płytki i podłączeniu do komputera konieczna jest instalacja sterowników do układu FT232RL. Mój Windows 7 znalazł je automatycznie, ale można je też pobrać ze strony producenta. Jeśli wszystko przebiegło pomyślnie powinniśmy mieć w swoim systemie nowy port COM. Jego nazwę można zweryfikować za pomocą Menedżera Urządzeń.\nAby móc łatwo i wygodnie programować nasz moduł z IDE Arduino, warto wgrać do mikrokontrolera bootloader. Arduino dostarczane jest wraz z zestawem skompilowanych standardowych bootloaderów. IDE pozwala przeprowadzić operację programowania bootloadera automatycznie, nie trzeba się właściwie nad niczym zastanawiać, choć potrzebny będzie do tego programator. W menu Tools -\u0026gt; Board wybieramy Arduino Nano w/ ATmega328. Spowoduje to wybranie konfiguracji odpowiedniej dla naszej płytki. W menu Tools -\u0026gt; Programmer wybieramy posiadany przez nas programator. Ja zastosowałem Bus Pirate. Na koniec wybieramy Tools -\u0026gt; Burn Bootloader i już po chwili cieszymy się wynikami naszej pracy.\nOd tej pory nie trzeba już używać programatora aby załadować nasze programy do mikrokontrolera. Dostarczony wraz z Arduino bootloader emuluje programator Atmel stk500. Po resecie mikrokontrolera bootloader czeka około jednej sekundy na rozpoczęcie programowania. W oryginalnej płytce Arduino Nano sygnalizowane jest mignięciem diodą podłączoną do wyjścia D13. Jak pisałem wcześniej, mój moduł nie posiada tej diody, więc trzeba pamiętać, że podczas startu modułu na wyprowadzeniu D13 pojawi się na chwilkę stan wysoki (być może przyda się to do resetowania peryferiów?). Jeśli bootloader nie wykryje próby programowania, to następuje skok do właściwego programu.\nW Arduino Nano został zastosowany sprytny trick, który pozwala na automatyczne resetowanie mikrokontrolera. Linię DTR portu szeregowego podłączono do nogi RESET poprzez kondensator 100n. Krótkie „machnięcie” stanem linii DTR powoduje więc zresetowanie mikrokontrolera. Pozwala to ułatwić proces programowania – nie trzeba już resetować układu przyciskiem, IDE Arduino potrafi to zrobić automatycznie.","date":"13 września 2012","extent":"4 min czytania","permalink":"/posts/klon-arduino-nano/","summary":"Arduino jest bardzo popularną platformą developerską dla mikrokontrolerów AVR. Swoją popularność zawdzięcza zapewne kilku czynnikom, między innymi IDE, które w prosty sposób pozwala tworzyć firmware nawet niedoświadczonym programistom oraz dobrze opracowanej płytce uruchomieniowej. Dzięki temu, że cały projekt jest open source i został udostępniony na licencji Creative Commons powstało wiele dodatkowych „tarcz” z peryferiami rozszerzającymi możliwości podstawowej płytki oraz biblioteki kodu do obsługi tych peryferiów. Społeczność ludzi aktywnie wykorzystujących Arduino w swoich projektach ciągle rośnie.","title":"Klon Arduino Nano"},{"content":"Możliwość nadawania poza pasmami krótkofalarskimi może czasami okazać się przydatna. Dotytczy to sytuacji kiedy chcemy radio wykorzystać jako generator sygnału w. cz. w warsztacie, albo przy strojeniu nowej anteny.\nO ile w modelu FT-817 można było dokonać odblokowania nadajnika programowo, o tyle dostępne programy z posiadanym przeze mnie FT-817nd nie działają. Wykorzystywały one nieudokumentowane przez Yaesu polecenia interfejsu CAT. Być może producent celowo zablokował możliwość ich wykorzystania. W FT-817nd pozostała obecnie tylko możliwość rozblokowania nadajnika przez modyfikację zworek na płytce panelu przedniego.\nDo wykonania modyfikacji potrzebne są właściwie tylko podstawowe narzędzia: śrubokręt krzyżakowy, szczypce, klucz imbusowy 1.5mm, lutownica, plecionka od odciągania cyny i cyna. Najpierw należy zdemontować górną i dolną pokrywę. Panel przedni zdejmuje się poprzez delikatne podważenie czterech plastikowych zaczepów. Należy przy tym uważać na tasiemkę łączącą panel z resztą radia – ja wyjąłem ją z gniazda w panelu. Właściwie już teraz można manipulować przy zworkach, ale ja dla wygody zdecydowałem się zdemontować jeszcze enkoder. W tym celu trzeba ściągnąć gumę z pokrętła VFO, poluzować śrubkę kontrującą i ściągnąć gałkę. Pod gałką jest nakrętka mocująca enkoder. Poniższe zdjęcia przedstawiają konfigurację zworek w moim radiu przed i po modyfikacji.\nFT-817nd - Zworki przed konfiguracją FT-817nd - Zworki po modyfikacji Aby cieszyć się rozblokowanym nadajnikiem, pozostaje już tylko złożyć radio. Na koniec trzeba je jeszcze zresetować poprzez przytrzymanie wciśnietego przycisku V/M podczas włączania radia.","date":"27 lipca 2012","extent":"2 min czytania","permalink":"/posts/ft817-rozblokowanie-nadajnika/","summary":"Możliwość nadawania poza pasmami krótkofalarskimi może czasami okazać się przydatna. Dotytczy to sytuacji kiedy chcemy radio wykorzystać jako generator sygnału w. cz. w warsztacie, albo przy strojeniu nowej anteny.\nO ile w modelu FT-817 można było dokonać odblokowania nadajnika programowo, o tyle dostępne programy z posiadanym przeze mnie FT-817nd nie działają. Wykorzystywały one nieudokumentowane przez Yaesu polecenia interfejsu CAT. Być może producent celowo zablokował możliwość ich wykorzystania. W FT-817nd pozostała obecnie tylko możliwość rozblokowania nadajnika przez modyfikację zworek na płytce panelu przedniego.","title":"Yaesu FT-817ND Rozblokowanie Nadajnika"},{"content":"Heh, kolejny blog w internecie… No ale w zasadzie to mój pierwszy!\nNa imię mam Przemek, mieszkam obecnie w Katowicach. Od kilku lat jestem licencjonowanym krótkofalowcem, mój znak wywoławczy to SQ9NJE. Chociaż zawodowo zajmuję się bardziej z informatyką, interesuje mnie elektronika. Mam nadzieję, że na tym blogu będę dokumentował swoje poczynania właśnie w dziedzinach związanych z moimi zainteresowaniami – radiem i elektroniką.\nO ile rzeczywiście jest to mój pierwszy blog, to swoje miejsce w internecie miałem zawsze od mniej więcej 1999 roku. Jeśli czegokolwiek się przez ten czas nauczyłem, to tego, że zwykle nie wystarcza mi samodyscypliny, żeby regularnie przygotowywać dopracowane artykuły i publikacje, choć często mam ochotę podzielić się jakimś pomysłem. Mam nadzieję więc, że forma blogu pozwoli mi wyrażać się w sposób nieskrępowany :)","date":"26 lipca 2012","extent":"1 min czytania","permalink":"/posts/in-statu-nascendii/","summary":"Heh, kolejny blog w internecie… No ale w zasadzie to mój pierwszy!\nNa imię mam Przemek, mieszkam obecnie w Katowicach. Od kilku lat jestem licencjonowanym krótkofalowcem, mój znak wywoławczy to SQ9NJE. Chociaż zawodowo zajmuję się bardziej z informatyką, interesuje mnie elektronika. Mam nadzieję, że na tym blogu będę dokumentował swoje poczynania właśnie w dziedzinach związanych z moimi zainteresowaniami – radiem i elektroniką.\nO ile rzeczywiście jest to mój pierwszy blog, to swoje miejsce w internecie miałem zawsze od mniej więcej 1999 roku. Jeśli czegokolwiek się przez ten czas nauczyłem, to tego, że zwykle nie wystarcza mi samodyscypliny, żeby regularnie przygotowywać dopracowane artykuły i publikacje, choć często mam ochotę podzielić się jakimś pomysłem. Mam nadzieję więc, że forma blogu pozwoli mi wyrażać się w sposób nieskrępowany :)","title":"In Statu Nascendii"}]