Dodatkowe materiały duino LED. Wyświetlacz LED dla Arduino Duża popularność i elastyczność platformy Arduino sprzyjają powstawaniu ciekawych rozwiązań sprzętowych. Dzięki niej każdy bez większych problemów może zbudować i przetestować dowolne urządzenie prototypowe. MINIPROJEKTY 1616 Moduł jest nakładką na płytkę bazową projektu duino (5272). Oprócz czterocyfrowego wyświetlacza LED, przycisku RESET i złącza programowania ISP, płytka została wyposażona w układ zegara RTC z interfejsem I 2 C oraz układ termometru DS18B20. Schemat ideowy modułu pokazano na rysunku 1, natomiast montażowy na rysunku 2. W roli wyświetlacza LED zastosowano zintegrowany moduł ze wspólną anodą. Katody 4-cyfrowego, multipleksowanego wyświetlacza LED zostały dołączone poprzez rezystory ograniczające prąd R4...R11 do portów PD0...PD7. Rolę kluczy załączających zasilanie wyświetlaczy pełnią tranzystory T1 T4 sterowane z portów PB0...PB3. Układ zegara RTC typu PCF8583 (U1) został dołączony do magistrali I 2 C stanowiącej porty PC4 i PC5. Na potrzeby realizacji interfejsu użytkownika lub wprowadzenia nastaw, płytkę wyposażono w dwa przyciski oznaczone jako S1 i S2. Sygnały z przycisków doprowadzone zostały do portów PC1 i PC2. Poziomem aktywnym jest logiczne 0. Układ termometru U2 typu DS18B20 z interfejsem 1-Wire został dołączony do portu PC3. Wbudowany w płytkę fotorezystor R20, którego sygnał doprowadzony został do portu PC0 (ADC0) umożliwia korzystanie z przetwornika A/C mikrokontrolera. Kolejnym elementem modułu jest przetwornik piezoelektryczny wraz z wbudowanym generatorem Y1. Brzęczyk jest uruchamiany poziomem niskim bezpośrednio z portu PB5. Dioda LED PWR informuje o obecności napięcia zasilania płytki modułu. EB -1616 w ofercie : -1616A płytka drukowana -1616B płytka drukowana + elementy 1615 duino LCD (EP 4/2011) R1, R19: 1 kv (SMD 0805) R2, R3: 10 kv (SMD 0805) R4...R11: 100 V (SMD 0805) R12...R15: 3,3 kv (SMD 0805) R16...R18: 4,7 kv (SMD 0805) R20: fotorezystor R21: 470 V (SMD 0805) C1: 100 nf (SMD 0805) C2: 22 pf (SMD 0805) U1: PCF8583 U2: DS18B20 T1...T4: BC857 PWR: dioda LED (SMD 1206) DISP1: wyświetlacz LED typu AF5643 Q1: rezonator kwarcowy 32,768 khz Y1: przetwornik piezo z generatorem 5 V S1...S2: przycisk mikroswitch 10 mm RESET: przycisk mikroswitch 1 mm J1...J3, POWER: listwa goldpin Na CD: karty katalogowe i noty aplikacyjne elementów oznaczonych w wykazie Rysunek 1. Schemat ideowy modułu LED Rysunek 2. Schemat montażowy modułu LED 55
Cortexino. Kompatybilna z Arduino płytka z LPC1114 (rdzeń Cortex-M0) 1620 Dodatkowe materiały Mikrokontrolery z rdzeniem Cortex są ciekawą alternatywą dla popularnych, 8-bitowych np. AVR. Mają 32-bitowy rdzeń, są szybsze, lepiej wyposażone i konkurencyjne cenowo. Dla przykładu, popularny mikrokontroler ATmega8 kosztuje tyle samo lub nawet więcej, niż LPC1114 który ma 4-krotnie większą pamięć Flash, 8-krotnie RAM i jest szybszy. Schemat ideowy Cortexino zamieszczono na rysunku 1, natomiast ideowy na rysunku 2. Na płytce znajdują się wszystkie elementy potrzebne do tego, aby zacząć pracę z mikrokontrolerem. Zasilanie może być pobierane z portu USB. Jeżeli przewidujemy większy pobór prądu np. przez peryferia dołączone do płytki, to należy zasilić układ z zewnętrznego zasilacza 7...12 VDC. Wtedy napięcie VCC jest dostarczane przez stabilizator US1 i ma wartość 5 V. Maksymalny pobór prądu może wynosić 0,5 A. Wszystkie napięcia zasilające są wyprowadzone na złączu IO1. Do zasilania mikrokontrolera po- trzebne jest napięcie z przedziału 1.8...3,6 V. Dostarcza je stabilizator US2. Złącze JP1 pozwala wybrać jedno z 3 napięć: 1,8; 2,8 lub 3,3 V. Diody LED3 i LED4 sygnalizują obecność napięć zasilających. Układ US3 to konwerter USB/UART, który pełni dwie funkcje. Po pierwsze, pozwala programować pamięć mikrokontrolera. Po drugie, umożliwia komunikację z komputerem za pośrednictwem interfejsu szerego- wego. Złącze JP2, poprzez założenie dwóch jumperów, pozwala dołączyć sygnały RESET i ISP ENABLE do dodatkowych wyprowadzeń układu FT232, a to zapewnia pełną automatyzację procesu programowania. Diody LED5 i LED6 sygnalizują aktywność interfejsu USB. Przycisk S1 służy do restartowania mikrokontrolera, Q1 jest źródłem sygnału taktującego, diody LED1 i LED2 pełnią rolę sygnalizacyjną i mogą być użyte w dowolny Rysunek 1. Schemat ideowy Cortexino 56
-1620 w ofercie : -1620A płytka drukowana -1620B płytka drukowana + elementy Rysunek 2. Schemat montażowy Cortexino sposób. Porty mikrokontrolera dołączono do złącz IO2, IO3 i IO4. Złącze CON3 umożliwia dołączenie zewnętrznego programatora/ Rysunek 3. Kopiowanie numeru seryjnego do Schowka Rysunek 4. Okno z numerem seryjnym Rysunek 6. Podstawowe parametry programu Flash Magic debuggera z interfejsem SWD. Rozmieszczenie gniazd jest kompatybilne z Arduino Delimeanove Board co pozwala na użycie tych samych modułów rozszerzających. Nóżki PORT0_4 i PORT0_5 są także doprowadzeniami I 2 C i pracują jako wyjścia open drain, więc zostały wyposażone w zewnętrzne rezystory podciągające. Środowisko programistyczne Przygotowanie kompletnego środowiska spro- -5272 Arduino (EP 01/2011) -5263 CoolPCB Zestaw uruchomieniowy CPLD (EP 11/2010) -2875 LogicMaster płytka prototypowa dla CPLD (EdW 8/2008) -971 Zestaw uruchomieniowy USB z PIC18F4550 (EP 2-3/2007) -939 Zestaw startowy dla mikrokontekstów ST7FLITE2x (EP 7-8/2006) -926 Zestaw startowy dla PsoC (EP 4/2006) -920 Zestaw startowy z MSP430F413 (EP 2-3/2006) -3505 Płytka testowa do kursu C (EdW 1/2006) -3500 Płytka testowa do kursu BASCOM AVR (EdW 10/2002) -992 Zestaw uruchomieniowy dla AVR i 51 (EP 1-2/2001) -2500 Płytka testowa do kursu BASCOM 8051 (EdW 3/2000) -2250 Mikrokomputer edukacyjny z 8051 (EdW 8/1997) emespek Komputerek z mikrokontrolerem MSP430F1232 (EP 4/2008) R2, R4, R5, R9, R12...R17: 1 kv R3, R6: 10 kv R7: 330 kv R8: 10 V R10: 220 V R11: 150 V R18, R19: 4,7 V C1, C3, C10: 100 mf/16 V (SMD C ) C2, C4...C6, C9, C11...C13: 100 nf (SMD) C7, C8: 18 pf (SMD) L1, L2: dławik 0 mh (SMD) D1: BAS85 D2: 1N4007 (SMD) D3, D4: BAR43 LED1...LED6: LED SMD US1: 78M05 US2: LM1117-1.8 US3: FT232R US4: LPC1114 HQFN33/301 S1: mikroswitch kątowy Q1: kwarc 12 MHz JP1: goldpin 1 3 JP2: goldpin 2 2 Zworki: 3 szt. IO1, IO3: gniazdo goldpin 1 6 IO2, IO4: gniazdo goldpin 1 8 CON1: GN DC2.1/5.5 kątowe CON2: USB B kątowe CON3: goldpin 2 5 wadza się do zainstalowania dwóch programów. Pierwszy z nich to LPCXpresso - zintegrowane środowisko programistycz- Na CD: karty katalogowe i noty aplikacyjne elementów oznaczonych w wykazie Rysunek 5. Wprowadzenie kodu aktywującego Rysunek 7. Zaawansowane parametry programu Flash Magic 57
ne dla mikrokontrolerów LPC na bazie Eclipse. Wersja instalacyjna po zalogowaniu jest dostępna na stronie http://lpcxpresso. code-red-tech.com/lpcxpresso/ w zakładce Download. Drugi program, to Flash Magic narzędzie do programowania pamięci mikrokontrolera, także poprzez interfejs UART z wykorzystaniem bootloadera. Wersja instalacyjna dostępna jest na stronie http://www. flashmagictool.com/. Po zainstalowaniu obu programów uruchamiamy LPCXpresso, który należy zarejestrować. Rejestracja jest bezpłatna, aby ją wykonać należy w zakładce Help wybrać Product activation i Create Serial number and Activate.... Pojawi się okno, w którym zostanie wyświetlony numer seryjny. Zazna- czamy Copy Serial Number to clipboard i klikamy OK (rysunek 3). Zostanie otworzona strona code-red-tech.com gdzie musimy się zalogować, następnie w zakładce My Registrations w polu Enter serial number here wkleić wygenerowany numer seryjny (rysunek 4). Kod aktywacyjny zostanie wysłany na naszą skrzynkę e-mailową, kopiujemy go i wklejamy w zakładce Help, Product activation i Enter Activation Code (rysunek 5). Po prawidłowo wykonanych czynnościach wyświetli się informacja o licencji Full, która pozwala wykorzystywać oprogramowanie w celach produkcyjnych, a jedynym ograniczeniem jest debagowanie kodu do 128 kb. Program Flash Magic nie wymaga rejestracji, ale ma jedno ograniczenie nie może być wykorzystywany w celach komer- cyjnych. Jeśli zestaw uruchomieniowy Cortexino jest dołączony do komputera, to możemy sprawdzić poprawność komunikacji. Zworki JP2 powinny być założone, w polu Select Device wybieramy LPC1114/301, w polu COM Port wybieramy właściwy numer portu szeregowego, w polu Baud Rate 115200, w polu Interface None(ISP), w polu Oscillator(MHz) 12 (rysunek 6). Następnie w zakładce Options, Advanced Options..., Hardware Config zaznaczamy pole Use DTR and RTS to control RST and ISP pin (rysunek 7). Następnie w zakładce ISP klikamy na Read Device Signature i jeśli wszystko pracuje prawidłowo, wyświetli się okno z odczytanymi parametrami. DS 1617 Oświetlenie wagonu z dekoderem DCC Dodatkowe materiały W Elektronice Praktycznej 9/2009 opisano dekoder DCC. Na jego podstawie, po rozwinięciu oprogramowania oraz modyfikacji układu, zbudowano dekoder oświetlenia wagonów. Gabaryty płytki zostały przystosowane do wagonów Piko Hobby. Rysunek 1. Schemat ideowy dekodera DCC oświetlenia 58
Rysunek 2. Schemat montażowy dekodera DCC oświetlenia 17% zmniejszony Elementy ospowiedzialne za odbiór informacji DCC z torów, blok zasilania oraz złącze programujące są takie same, jak w dekoderze trakcji -5201 opisanym w EP 9/2009 na stronie 31. Inne są elementy wykonawcze. Zamiast wzmacniacza operacyjnego mocy sterujacego silnikiem, zastosowano tranzystory z otwartym drenem. Dzielnik R6-R11 służy do pomiaru amplitudy sygnału DCC. W aktualnej wersji oprogramowania funkcja ta nie jest użwana. Można więc nie montować R11, dzięki czemu uniknie się problemów z dekodowaniem DCC przy niskiej amplitudzie napięcia na torach. Osobom zainteresowanym oprogramowaniem przydadzą się pewne informacje. Accesory należy nadać wartość 1, aby skompilowac kod dla dekodera oświetlenia (#define Accesory 1). W trybie dekodera oświetlenia przerwania są przyjmowane z wejścia PCIN3. Przerwania te są typu SIGNAL (ISR), dzięki czemu ich realizacja nie jest przerywana przez inne zgłoszenia przerwań. Przerwania od timera zmieniono na INTERRUPT, dzieki czemu nie przeszkadzaja w dekodowaniu sygnału DCC. Program po skompilowaniu z #define Accesory 0 obsłuży dekoder trakcji -5201, wnosząc do niego poprawione dekodowanie sygnału DCC oraz tryb programowania na makiecie. Kody źródłowe i wynikowe są dostępne na stronie http://kolejki.eu w zakładce elektronika oraz na płycie CD dołączonej do czasopisma. Tam też można znaleźć Tabela 1. Funkcje rejestrów dekodera oświetlenia Adres rejestru CV zakres wartości wartość domyślna funkcja 1 0...127 3 Adres dekodera 7 0...255 17 ID wersja dekodera (tylko do odczytu, procedura odczytu jeszcze nie obsługiwana) 8 0...255 13 Przy odczycie ID producenta (procedura odczytu jeszcze nie obsługiwana) zapisanie 8 przywraca ustawienia fabryczne 9 0...255 100 Wypełnienie PWM1 jasność lamp w przedziałach 10 0...255 25 Wypełnienie PWM2 jasność lamp w przedsionkach 11 0...255 16 Czas w 8ms od braku transmisji do wyłączenia trybu analogowego. To czy tryb analogowy aktywuje się, zależy zależy od CV29 CV11 = 127 da czas 0.008s * 127 = 1 sekunda Standardowe ustawienie daje czas 0.008 * 16 = 128ms 12 0...255 20 Wypełnienie PWM3 jasność lamp końca składu 29 0...15 2 Konfi guracja dekodera (+1) Bit0 = 0 DIR normal, 1 DIR reversed (zamienione kierunki jazdy) (+2) Bit1 = 0 14 kroków, 1 28 kroków (+4) Bit2 = 0 tylko DCC (brak transmisji to zapamiętanie ostatniej komendy), 1 tryb analogowy możliwy (gdy brak transmisji) zdjęcia i nagrania pokazujące zmontowane oświetlenie w wagonach oraz link do forum. Płytkę dekodera zaprojektowano jako dwustronną bez metalizacji. Można ją też wykonać (jak w przypadku prototypu) jako jednowarstwową, a kilka połączeń wykonać przewodem w izolacji. Montaż dekodera jest typowy. Dla wygody złącze J1 oraz kondensatory C4...C6 należy zamontować jako ostatnie. Należy zauważyć, że kondensatory montujemy od strony ścieżek, dlatego gdy mamy płytkę bez metalizacji, należy je zamontować na dłuższych nóżkach, tak aby dało się dotrzeć lutownicą do pól lutowniczych. Mikrokontroler można zaprogramować przed wlutowaniem w płytkę lub w działającym urządzeniu za pomocą złącza J1. Programując go należy odpowiednio ustawić bity konfiguracyjne: WdgTimerAlwasOn: YES BODLEVEL: 2.7V DIV CK 8: NO OSC: Int RC osc 8MHz 6Ck/14Ck+0ms Należy także pamiętać o zaprogramowaniu pamięci EEPROM. Jeśli programujemy procesor plikiem.epp, to po zaznaczeniu opcji Save from: FLASH, EEPROM, FUSES bity konfiguracyjne zostaną automatycznie zapisane. Dekoder można uruchomić na stanowisku testowym lub w wagonie. Konfigurowanie dekodera rozpoczynamy od skonfigurowania rejestru CV1 w trybie serwisowym,. Następnie konfigurujemy CV29, 9, 10, 12. W CV29 ustawiamy liczbę kroków regulacji, co ma znaczenie, gdy przypadkiem do dekodera wyślemy zmianę prędkości, co mogłoby mieć wpływ na oświetlenie końca składu. Funkcje spełniane przez poszczególne rejestry opisano w tabeli 1. Sławomir Skrzyński slawomir.skrzynski@ep.com.pl W trybie analogowym wszystkie lampy są włączone. Świeca z intensywnością ustawioną w CV9, 10, 12. -1617 w ofercie : -1617A płytka drukowana -1617B płytka drukowana + elementy Charakterystyka dekodera: niezależne włączanie/wyłączanie oświetlenia w trzech strefach: przedziały, przedsionki itp., oświetlenie końca składu zależne od kierunku jazdy, niezależna regulacja intensywności oświetlenia we wszystkich strefach w 256 krokach, programowanie na torze serwisowym (Paged- Mode) i na makiecie (PoM), obciążalność wyjść: 4 200 ma, adresowanie krótkie (1...127) -5287 Sterownik DCC zapór makiety przejazdu kolejowego (EP 04/2011) -5259 Moduł pętli do makiety kolejowej (EP 10/2010) -5253 Centralka NanoX systemu DCC Manipulator (EP 8/2010) -5247 Kontroler dwóch semaforów 3-komorowych (EP 7/2010) -5248 Kontroler czterech semaforów 2-komorowych (EP 7/2010) -5249 Kontroler semafora 5-komorowego i tarczy ostrzegawczej (EP 7/2010) -5238 Uniwersalny 8-wyjściowy dekoder -5239 mocy (EP 6/2010) Kontroler siłowników czterech zwrotnic (EP 6/2010) -5234 Centrala NanoX (EP 5/2010) -5211 MiniDCC (EP 11/2009) R1: 47 V (SMD 1206) R2...R5, R7...R10, R12: 2,2 kv (SMD 1206) R6: 30 kv 1% (SMD 1206) R11: 10 kv 1% (SMD 1206) C1: 4,7 mf/25 V (SMD 1206) C2: 10 mf/16 V (SMD 1206) C3...C6: 47...100 mf/25 V D1: 1N4007 D2...D12: dioda LED biała (SMD) D14...D17: dioda LED czerwona (SMD) M1: mostek prostown. S380 T1...T4: BSS138 (SOT-23) U1: 78L05 (SO-8) U2: ATtiny85 (SOIC-8) Na CD: karty katalogowe i noty aplikacyjne elementów oznaczonych w wykazie 59