VamsterD Opis mikrokontrolera wersja 1.2 Kraków, 2009
1. Wstęp VamsterD jest jedną ze sprzętowych odmian Vamstera. Występuje jako układ scalony (procesor). Właścicielem wszelkich praw do VamsteraD jest firma Vamond. Terminologia: VamsterD - mikrokontroler oparty na ATMega32, jedna z odmian Vamstera Vamgraf - aplikacja do graficznego tworzenia programów dla Vamstera IntelHex - popularny format zapisu danych binarnych dla mikroprocesorów Vamond - producent Vamstera, Vamgrafa i VamLoadera Wszelkie nazwy i symbole procesorów, programów, systemów i firm, nie będące własnością firmy Vamond, zostały użyte wyłącznie w celach identyfikacyjnych i informacyjnych. Bez pisemnej zgody firmy Vamond żadna część tego dokumentu nie może być publikowana, cytowana i kopiowana w celach komercyjnych. Właścicielem nazw: Vamgraf, Vamster, VamLoader oraz poniższego znaku graficznego jest firma Vamond. Dodatkowe informacje na temat Vamgrafa, VamLoadera, Vamstera i modułów sprzętowych dostępne są na stronie firmy Vamond www.vamond.pl Tam również można pobrać dodatkową dokumentację i przykłady oraz nowe wersje Vamgrafa. Wszelkie uwagi dotyczące VamsteraD prosimy zgłaszać za pośrednictwem e-mali na adres: biuro@vamond.pl Vamond 31-617 Kraków os. Złotego Wieku 29/30 www.vamond.pl biuro@vamond.pl Strona: 2
2. Opis VamsteraD VamsterD jest jedną z sprzętowych odmian Vamstera. Występuje jako układ scalony (procesor) w obudowie DIP40. Na etapie produkcji został wyposażony w bootloader i system obsługujący programy tworzone w Vamgrafie. Głównym przeznaczeniem VamsteraD jest wykonywanie programu zaprojektowanego graficznie w Vamgrafie. Ponadto do VamsteraD można załadować program w postaci pliku IntelHex wygenerowanego przez inne kompilatory (np. BASCOM, C, AVR Studio, itp.). Komunikacja z Vamgrafem odbywa się bezpośrednio z programu, natomiast pliki IntelHex można ładować do VamsteraD przy pomocy programu VamLoader, dostępnego bezpłatnie na stronie firmy Vamond. VamsterD przeznaczony jest do działania na płytce zaprojektowanej i wykonanej przez użytkownika. Przykładowy projekt płytki dostępny jest w dalszej części dokumentu oraz na stronie firmy Vamond. Dostępne są również przykłady schematów układów peryferyjnych jakie mogą być dołączone do VamsteraD. Zasada działania VamsteraD jest identyczna jak pozostałych Vamsterów i została dokładnie opisana w dokumentacji Vamgrafa. 2.1. Zastosowanie VamsteraD Przy pomocy VamsteraD można zbudować (przykładowo): - zegar z budzikiem, minutnik, symulator obecności domowników, - zegar włączający i wyłączający o zadanych porach dnia / roku różne urządzenia - sterowanie odbiornikami za pośrednictwem pilota podczerwieni - woltomierz wielokanałowy - sterownik akwarium/terrarium, sterownik świateł, sterownik pieca - wielokanałowy regulator mocy (np. żarówek, silników, grzałek itp.) - alarm, termostat, zamek szyfrowy i wiele, wiele innych. Przykładowe programy i opisy zastosowań są dostępne na stronie www.vamond.pl 2.2. Podstawowe cechy VamsteraD - obsługa wyświetlacza alfanumerycznego LCD (2x16 znaków) - obsługa cyfrowego wyświetlacza LED (4 cyfry) - obsługa 4 klawiszy - obsługa sprzętowego zegara RTC (PCF 8583) - obsługa programowego zegara RTC - obsługa dwóch układów do pomiaru temperatury DS18B20 - obsługa odbiornika podczerwieni (36kHz standardy RC5, SONY, Hitachi) - obsługa buzzera (generowanie komunikatów dźwiękowych) - obsługa wejść analogowych - obsługa wejść cyfrowych - obsługa wyjść PWM sprzętowych i programowych Strona: 3
- obsługa wyjść cyfrowych - obsługa RS232 (do programowania) - przy tworzeniu programu na PC dostępne są wszystkie elementy Vamgrafa (zależnie od wybranych modułów). Dokładny opis tych elementów został umieszczony w dokumentacji Vamgrafa. - do programowania nie wymaga osobnego programatora - ładownie programów do VamsteraD odbywa się za pośrednictwem łącza RS232 (potrzebny jest typowy kabel RS232 tzw. null modem). Można również stosować ogólnodostępne konwertery USB-RS232. 2.3. Bootloader i programy z innych środowisk (kompilatorów) VamsterD na etapie produkcji wyposażany został w bootloader, czyli specjalny program umożliwiający ładowanie plików (programów) do Vamstera bez korzystania z zewnętrznych programatorów. W trakcie ładowania programów (plików) do Vamstera zapewniona jest kontrola ewentualnych błędów transmisji (sumy CRC etc.). Bootloader jest ładowany do procesora w trakcie produkcji i NIE JEST udostępniany w innej formie. Jego zamazanie (zewnętrznym programatorem) sprawi, że nie można będzie załadować programów z Vamgrafa i programu VamLoader. Aby przywrócić bootloader w Vamsterze należy skontaktować się z firmą Vamond. Podstawowym narzędziem do tworzenia programów dla VamsteraD jest Vamgraf (również produkcji Vamond). Programy stworzone w Vamgrafie mają swój własny format i zawartość. Mogą być zapisywane do plików o rozszerzeniu ".vmb" i takie pliki (programy) można transmitować do Vamstera przy pomocy VamLoadera. Niezależnie, ponieważ Vamster jest oparty na procesorze ATMega32, można na nim uruchamiać programy tworzone w innych środowiskach i kompilatorach (np. C, AVRGCC, Bascom itp.) Zwykle produktem końcowym kompilacji jest plik w formacie IntelHex i takie pliki również można ładować do Vamstera (przy pomocy VamLoadera). Należy pamiętać, że ostatnie 512 bajtów pamięci mikrokontrolera zajmuje bootloader. Uwaga! Ponieważ istnieje kilka typów Vamstera, programy tworzone w Vamgrafie są przeznaczone tylko dla jednego z nich. W przypadku jeżeli program ładowany do Vamstera nie jest przeznaczony dla podłączonego typu Vamstera, aplikacje Vamgraf i VamLoader zgłoszą komunikat: Program nie jest przeznaczony dla podłączonego Vamstera. Program nie może być załadowany. Ładowanie programu jest przerywane. Strona: 4
3. Zagadnienia programowe Działanie VamsteraD VamsterD nie odbiega w swoim działaniu od innych Vamsterów. Dokładnie jest to opisane w dokumentacji Vamgrafa. 3.1. Start VamsteraD Po włączeniu zasilania (lub resecie) wszystkie piny VamsteraD (poza pinami zasilania, kwarcu, i RS232) znajdują się w stanie wysokiej impedancji. VamsterD uruchamia bootloadera, który próbuje porozumieć się w programem ładującym. Jeżeli program ładujący nie jest aktywny VamsterD próbuje uruchomić program użytkownika. Jeżeli nie załadowano takiego programu wykonywany jest reset i cały cykl rozpoczyna się od nowa. W przypadku, jeżeli do VamsteraD jest załadowany program użytkownika stworzony w innym kompilatorze to program ten przejmuje pełną kontrolę na działaniem VamsteraD, aż do następnego resetu lub wyłączenia zasilania. W przypadku, jeżeli w VamsterzeD jest załadowany program użytkownika stworzony w Vamgrafie to VamsterD wykonuje kolejno (po zakończeniu działania bootloadera): (Uwaga! Piny wejść i wyjść po starcie (resecie) ustawione są w stan wysokiej impedancji.) odczytuje konfigurację programu (używane moduły itp.) ustawiany jest kierunek sygnałów pinów (wejścia i wyjścia) piny wyjść ustawiane są w odpowiedni stan napięcia (0 lub 5 V) zależne od ustawień w oknie właściwości wyjść. Jest to poziom napięcia odpowiadający nieaktywnemu stanowi (dla wyjść cyfrowych niski (L) stan logiczny, dla PWM wypełnienie = 0). zeruje swoje wewnętrzne zmienne w tym datę i czas systemową inicjuje zmienne w programie w stan wynikający z domyślnych wartości na wejściach(o ile są używane): niski (L) stan logiczny dla WeC, zerowa (0) wartość dla WeA, -1 dla wejścia odb. IR, 0 dla czujników temperatury, 2001-01-01 dla daty, 00:00 dla czasu systemowego, 0 dla sekund czasu systemowego, 0 dla zdarzenia błędu, niski (L) stan logiczny dla generatorów systemowych oraz wejścia "Start systemu". Inicjowanie odbywa się przez wykonanie działań elementów - czyli programu dla domyślnych wartości zdarzeń. Użytkownik nie ma dostępu do trybu inicjowania zmiennych na tym etapie nie działają pułapki programowe, praca krokowa i animacja. generuje zdarzenie "Start systemu" o wysokiej (H) wartości logicznej (o ile jest używane w programie) a następnie je przetwarza uruchamia timery, zegary, generatory oraz wyświetlacze Strona: 5
jeżeli jest używany moduł sprzętowego zegara RTC (PCF8583) generuje zdarzenia (o ile są używane w programie) dla daty i czasu systemowego o wartościach odczytanych z PCF8583 a następnie przetwarza te zdarzenia. ustawia napięcia na wyjściach w stan wynikający z działania programu. przechodzi do normalnego trybu pracy 3.2. Normalny tryb pracy systemu VamsteraD W trakcie normalnej pracy VamsterD wykonuje cyklicznie: 1. Odczyt stanu wejść sprzętowych i sprawdzenie ich wartości z buforami wejść. Jeżeli wartości te są różne to system wprowadza nowe wartości do kolejki zdarzeń i uaktualnia bufory wejściowe. 2. Odczyt jednego zdarzenia z kolejki i wykonanie przypisanych do niego akcji programu. Wynik tych działań wpisywany jest do buforów wyjściowych tzn. nie od razu są ustawiane wyjścia sprzętowe. W trakcie obsługi jednego zdarzenia do kolejki zdarzeń mogą zostać wprowadzone nowe zdarzenia (np. pochodzące z zegara RTC). 3. Po zakończeniu obsługi zdarzenia wartości buforów są przepisywane do wyjść sprzętowych i są one ustawiane są w stan wynikający z działania programu. 4. Następnie Vamster przechodzi do odczytu stanu wejść (do pkt.1) i tak w kółko. Uwaga! Przy pewnych elementach programu (np. wyświetlaczach) dane wyjściowe nie są buforowane, ale ustawiają wyjścia sprzętowe natychmiast, w trakcie obsługi zdarzenia. 4. Zagadnienia sprzętowe 4.1. Opis wejść i wyjść VamsteraD Większość pinów VamsteraD pełni różne funkcje, w zależności od tego jakie elementy wejścia i wyjścia zostały wybrane w programie tworzonym w Vamgrafie. Np. użycie w programie wejścia cyfrowego 1 (WEC1) automatycznie blokuje używanie wejścia analogowego 1 (WEA1) ponieważ występują one alternatywnie na tym samym pinie VamsteraD. Przełączanie pinu w odpowiedni tryb jest wykonywane przez system Vamstera przy starcie (inicjacji) programu. Przy projektowaniu schematu i płytki należy z góry przewidzieć funkcje poszczególnych pinów. Uwaga! Piny które nie są używane w programie stworzonym w Vamgrafie po starcie systemu ustawiane są w stan wysokiej impedancji i pozostają w takim stanie przez cały czas działania programu. Ponadto należy pamiętać, że wyjścia cyfrowe i PWM mogą mieć ustawiane (przez użytkownika) poziomy napięć (0 lub 5V) dla aktywnych wartości napięć i poziomu impulsu PWM. Strona: 6
Fotografia układu scalonego VamsteraD Wyprowadzenia VamsteraD i funkcje jakie pełnią Strona: 7
Nr pinu 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Strona: 8 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 AREF GND AVCC PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PD7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 RESET VCC GND XTAL2 XTAL1 PD0 PD1 PD2 PD3 PD4 PD5 PD6 Funkcja 1 WEC1 WEC2 WEC3 WEC4 WEC5 WEC6 WEC7 WEC8 Funkcja 2 WYC1 WYC2 WYC3 WYC4 WYC5 WYC6 WYC7 WYC8 WEC9 WEC10 WEC11 WEC12 WEC13 WEC14 WYC9 WYC10 WYC11 WYC12 WYC13 WYC14 WEC15 WEC16 WEC17 WEC18 WEC19 WEC20 WEC21 WEC22 WYC15 WYC16 WYC17 WYC18 WYC19 WYC20 WYC21 WYC22 Funkcja 3 PWMP1 PWMP2 PWMP3 PWMP4 PWMP5 PWMP6 PWMP7 PWMP7 Funkcja 4 WEA1 WEA2 WEA3 WEA4 klaw_anuluj klaw_enter klaw_dół klaw_góra SDA (I2C) SCL (I2C) BUZZER LCD_Podświetl LCD_RS LCD_Enable LCD_Data4 LCD_Data5 LCD_Data6 LCD_Data7 LED_dwukropek LED_Cyfra4 LED_Cyfra3 LED_Cyfra2 LED_Cyfra1 LED_CLK LED_Data RxD RS232 (dane czytane przez mikrokontroler) TxD RS232 (dane wysyłane przez mikrokontroler) Wolne (nie podłączać) IRWE DS18B20_2 WEC23 WYC23 PWMS1 WEC24 WYC24 PWMS2 DS18B20_1
Opis skrótów AREF GND AVCC SDA(I2C) SCL(I2C) RESET VCC XTAL1 XTAL2 RxD RS232 TxD RS232 BUZZER WEC1-WEC23 WEA1-WEA4 WYC1-WYC24 PWMP1-PWMP8 PWMS1,PWMS2 DS18B20_1 DS18B20_2 IRWE klaw_anuluj klaw_enter klaw_dół klaw_góra LCD_Podśw LCD_RS LCD_Enable LCD_Data4 LCD_Data5 LCD_Data6 LCD_Data7 LED_Cyfra1 LED_Cyfra2 LED_Cyfra3 LED_Cyfra4 LED_CLK LED_Data LED_dwukropek wejście napięcia odniesienia dla przetwornika A/C. W przypadku programów Vamgrafa wykorzystywane jest napięcie zasilania mikrokontrolera (5V). Powinno być podłączone do masy przez kondensator 100 nf. masa zasilania plus zasilania części analogowej (A/C) mikrokontrolera magistrala I2C używana w przypadku podłączenia sprzętowego zegara PCF8583 (w pozostałych przypadkach nie powinna być nigdzie podłączona) wejście resetu sprzętowego (aktywny stan niski) plus zasilania VamsteraD. Napięcie powinno wynosić 5 V. piny do podłączenia kwarcu (16 MHz) piny do podłączenia konwertera napięć dla transmisji szeregowej RS232 wyjście do podłączenia buzzera wejścia cyfrowe wejścia analogowe wyjścia cyfrowe wyjścia PWM programowe wyjścia PWM sprzętowe wejścia czujników temperatury DS18B20 wejście odbiornika podczerwieni (36kHz np. TSOP4836) wejścia klawiszy klawiatury wyjście do sterowania podświetleniem LCD wyjście dla sygnału RS LCD wyjście dla sygnału Enable LCD linia danych LCD (4 bity) wyjścia do sterowania anodami poszczególnych cyfr wyświetlacza LED wyjście sygnału zegarowego do sterowania bufora segmentów LED wyjście danych do sterowania bufora segmentów LED wyjście do sterowania środkowym dwukropkiem LED Piny nie użyte w programie Vamgrafa po starcie systemu (programu) zostaną ustawione w stan wysokiej impedancji. Strona: 9
Uwaga! W przypadku wybrania w Vamgrafie modułu LCD lub LED automatycznie wybierana jest do użycia klawiatura. Uwaga! W przypadku, jeżeli w Vamgrafie (programie) został użyty jakiś pin (element wejścia lub wyjścia) VamsterD użyje tego pinu zgodnie z programem, nawet jeżeli fizycznie nic nie zostało do tego pinu podłączone. I odwrotnie - jeżeli w programie nie zostało użyte jakieś wejście lub wyjście (pin), to Vamster ustawi je w stan wysokiej impedancji, mimo że coś (np. LCD) jest fizycznie podłączone. Należy również zwrócić uwagę na częstą alternatywną rolę pinów VamsteraD i zadbać o zgodność sprzętową i programową wejść i wyjść. 4.2. Zasilanie Vamstera D VamsterD musi być zasilany stabilizowanym napięciem o wartości 5 V. Pobór prądu jest zależny od urządzeń jakie są podłączone do wejść i wyjść. Maksymalny prąd jakiego może potrzebować samodzielnie VamsterD nie przekracza 50mA. Dodatkowo, należy zapewnić wystarczającą wydajność zasilania dla peryferii (np. przekaźników, wyświetlaczy). Zwykle wystarczający jest zasilacz o wydajności 1 A. Jako stabilizator można zastosować typowy układ 7805 zasilany niestabilizowanym zasilaczem napięcia stałego o wartości od 7,5 do 12 V i wydajności prądowej na poziomie 1A. Można również zastosować bezpośrednio zasilacz stabilizowany 5 V. Uwaga! Zasilacze służące do ładowania telefonów komórkowych nie nadają się do zasilania VamsteraD. Użycie niewłaściwego zasilacza/zasilania może spowodować nieprawidłowe działanie programu, a także nieodwracalne uszkodzenie VamsteraD, jego pinów i urządzeń peryferyjnych. W przypadku zastosowania wyświetlacza LCD należy pamiętać, że podświetlanie LCD może pobierać dość dużo prądu. Jego wartość jest określona w parametrach technicznych konkretnego wyświetlacza. Schemat przykładowego układu zasilania VamsteraD ze stabilizacją napięcia. C16, C17-100nF C15-1000uF/25V C18 220uF/6V M1 - mostek prostowniczy 50V/ 1A Z1- wejście napięcia stałego lub zmiennego w zakresie 7,5-12 V Strona: 10
4.3. Zasilanie części analogowej i przetwornika A/C Schemat podłączenia zasilania części analogowej VamsteraD szczególnie ważne przy korzystaniu z wejść analogowych. C3, C4, C5-100nF R1-4k7 L1 - dławik o indukcyjności ok. 47-100 uh. Można nie stosować dławika (pin 30 zwarty do 5V), ale wówczas należy liczyć się z pewnym pogorszeniem jakości konwersji A/C. U1 opcjonalne źródło napięcia odniesienia przetwornika A/C. Można podłączyć dowolne źródło napięcia odniesienia np. TL431. Może być użyteczne w przypadku tworzenia programu w kompilatorze innym niż Vamgraf. Uwaga! Programy pisane w Vamgrafie nie potrzebują zewnętrznego źródła napięcia odniesienia (element U1 nie zamontowany). Funkcje konwertujące napięcia przewidziano dla napięcia referencyjnego 5V (element U1 nie podłączony). 4.4. Wejście RESET VamsterD musi być wyposażony w sprzętowy układ resetu. Zalecane jest stosowanie układu DS1813 lub podobnego (stan aktywny niski) Schemat podłączenia układu resetu do Vamstera. Strona: 11
4.5. Kwarc stosowany w VamsterzeD Do poprawnej pracy VamsterD wymaga kwarcu o częstotliwości 16 MHz. Zastosowanie innego lub niesprawnego kwarcu spowoduje niemożność załadowania programu do Vamstera i nieprawidłowe odmierzanie czasu przez zegar RTC, timery i generatory. Kwarc musi być podłączony do odpowiednich pinów (XTAL1 i XTAL2) i muszą być zastosowane kondensatory. Schemat podłączenia kwarcu do VamsteraD. C1, C2-33pF Q1 rezonator kwarcowy 16 MHz 4.6. Podłączenie sprzętowego zegara RTC (PCF8583) Sprzętowy, scalony zegar RTC jest obsługiwany przez VamsteraD przy pomocy łącza I2C. Układ PCF 8583 należy podłączyć zgodnie ze specyfikacją tego łącza. Do układu RTC należy podłączyć dodatkowe elementy zgodne z jego specyfikacją. R3 470R R4, R5 3k3 C12 kondensator 0,33F/5V C13 27pF C14 100nF D13-1N4002 D14 dioda Schottky np. 1N5817 Q2 rezonator kwarcowy 32,768 khz Zamiast kondensatora C12 można zastosować baterię 1,5 3V. Należy wówczas nie montować rezystora R3. Schemat zegara sprzętowego RTC na PCF8583. Strona: 12
4.7. Wejścia 4.7.1. Zabezpieczenie wejść Należy pamiętać, że zakres napięć tolerowanych przez Vamstera wynosi -0,5V do 5,5V. Uwaga! Jeżeli istnieje możliwość, że napięcie wejściowe na pinie wejścia przekroczy podaną wartość należy zastosować zabezpieczenie pinu w postaci dwóch diod i opornika. R1-470R D1, D2 1N5817 (dioda Schottky), 1N4148 D3 dwukierunkowy transil na napięcie 5,8V W przypadku zastosowania długich przewodów do podłączenia np. czujników wejściowych, w celu dodatkowego zabezpieczenia przez przepięciami elektrostatycznymi, zaleca się stosowanie dwukierunkowego transila (element D3) dołączonego bezpośrednio pomiędzy wejście czujnika i masę. 4.7.2. Sposoby połączeń układów wejściowych Strona: 13
4.7.3. Wejścia analogowe VamsterD wyposażony jest w sprzętowy przetwornik analogowo-cyfrowy. Do poprawnej pracy wymaga prawidłowo podłączonego wejścia napięcia referencyjnego AREF patrz sekcja 4.3.Zasilanie części analogowej i przetwornika A/C. W przypadku pomiaru napięć większych niż 5 V należy zastosować dzielnik napięciowy na wejściu analogowym. 4.7.4. Wejścia cyfrowe Zwarcie pinu wejścia cyfrowego do masy spowoduje wygenerowanie w programie wysokiego (H) stanu logicznego. Wejścia cyfrowe (w przypadku ich użycia w programie) są wewnątrz VamsteraD podciągnięte do plusa zasilania (przez opornik ok. 47k). Można ich używać bezpośrednio, jeżeli nie ma obawy o przepięcia generowane w przewodach połączeniowych i jeżeli wiadomo, że nie wystąpią napięcia spoza zakresu (-0,5V do 5,5V). W innych przypadkach należy zastosować zabezpieczenie wejść (opis powyżej) lub zastosować optoizolację wejść. 4.7.5. Wejście odbiornika podczerwieni IR Jako odbiornik podczerwieni można zastosować scalony odbiornik o częstotliwości 36kHz np. TSOP4836. Należy pamiętać o filtrowaniu napięcia zasilającego odbiornik (elementy R14, C21). Wejście podczerwieni jest używane alternatywnie z wejściem czujnika temperatury DS18B20_2. Należy pamiętać o dodaniu opornika (R11) podciągającego wejście do zasilania 5V. Podłączenie odbiornika podczerwieni. R11-4k7 R14-100R D11, D12 1N5817, 1N4148 C21 4,7uF/6V IR TSOP4836 Strona: 14
4.7.6. Wejścia scalonego czujnika temperatury DS18B20 Maksymalna długość przewodów przy pomocy których można podłączyć czujnik DS18B20 jest zgodna ze specyfikacją 1Wire i może wynosić nawet kilkaset metrów. W przypadku tak długich przewodów należy zastosować skrętkę. Więcej informacji zawartych jest w specyfikacji 1Wire. Uwaga! W przypadku długich przewodów połączeniowych należy zastosować zabezpieczenie wejścia czujnika temperatury przed przepięciami. Schemat układu wejścia czujnika temperatury DS18B20. R10-4k7 D9, D10 1N5817, 1N4148 4.8. Wyjścia Bezpośrednio po starcie systemu piny VamsteraD są w stan wysokiej impedancji. Dopiero po odczytaniu przez system konfiguracji ustawiany jest kierunek sygnału i stan pinów mających pracować jako wyjścia. Następne zmiany stanu wyjść wynikają z logiki działania programu. Uwaga! Vamgraf umożliwia niezależne ustawienie dla każdego z wyjść aktywnego napięcia wyjściowego. Ponieważ do pinów wyjściowych VamsteraD mogą być dołączane różne sprzętowe inwertery (bramki, tranzystory itp.) to należy w programie w Vamgrafie ustawić poprawną wartość tego napięcia. Strona: 15
Poziomy napięć wyjściowych Wyjścia cyfrowe i PWM mogą mieć określany aktywny poziom napięć wyjściowych (0 lub 5V). Poziomy napięć wyjściowych na wyjściach cyfrowych Wyjście cyfrowe zawsze jest aktywowane wysokim stanem logicznym (wewnątrz programu Vamgrafa). Wysoki stan logiczny przekłada się na fizyczne napięcie na wyjściu PINU Vamstera (procesora). Jest to napięcie 0 lub 5V zależnie od Vamstera i konfiguracji. I tak jeżeli wyjście cyfrowe WYC będzie miało w oknie właściwości parametr Aktywny poziom napięcia ustawiony na Napięcie 0V to, po podaniu wysokiego stanu logicznego na to wyjście w programie Vamgrafa, na pinie wyjściowym Vamster ustawi napięcie bliskie 0 V (wartość tego napięcia będzie zależeć od obciążenia prądowego). Należy pamiętać, że napięcie to będzie ustawione bezpośrednio na pinie (nóżce) procesora Vamstera. Jeżeli do tego pinu będzie podłączony tranzystor, bramka itp. układ inwertujący (odwracający) to na wyjściu tego elementu napięcie będzie miało wysoką wartość zależną od napięcia zasilania i obciążenia. (Jest to tłumaczenie uproszczone). W przypadku ustawienia parametru Aktywny poziom napięcia na Napięcie 5V to, po podaniu wysokiego stanu logicznego na wyjście w programie Vamgrafa, na pinie wyjściowym Vamster ustawi napięcie bliskie 5 V. Wówczas jeżeli do tego pinu podłączone są elementy inwertujące na ich wyjściach pojawi się napięcie bliskie 0V. Przy starcie systemu Vamstera po odczycie konfiguracji a przed przejściem do mormalnej pracy (w trakcie ustalania wartości zmiennych) piny wyjściowe odpowiadające wyjściom cyfrowym w programie ustawiane są w nieaktywny stan logiczny. Oznacza to ustawienie fizycznego napięcia na pinach wyjściowych będącego przeciwnością ustawienia dla aktywnego stanu logicznego. Np. jeżeli wyjście ma ustawiony parametr Aktywny poziom napięcia na Napięcie 0V to podczas startu na pinie będzie ustawione napięcie bliskie 5V. Dopiero po ustaleniu wartości zmiennych Vamster ustawi napięcie na pinie wyjściowym na wartość jaka wynika z poziomu logicznego wewnątrz programu Vamgrafa. Należy pamiętać, że parametr Aktywny poziom napięcia ma wpływ tylko na bezpośredni pin Vamstera (procesora). Fizyczna wartość napięcia nie jest nigdzie uwidoczniona graficznie w Vamgrafie. Poziomy napięć wyjściowych na wyjściach PWM Wyjścia PWM (programowe i sprzętowe) generują na pinie wyjściowym Vamstera ciąg impulsów o zmiennej wartości wypełnienia. I tak np. wartość 0 podana na element PWM w programie Vamgrafa przekładana jest zerowe (0) wypełnienie impulsu co oznacza brak impulsów na wyjściu, a wartość 128 (dla PWMP) przekładana jest na 100% wypełnienie impulsu (wszystkie impulsy są wypełnione w 100%). Z kolei podanie wartości np. 1 oznacza generowanie na pinie impulsów o czasie 1/128 (dla PWMP) pełnego okresu. Parametr Aktywny poziom napięcia w oknie właściwości wyjść PWM oznacza poziom napięcia impulsu o zmiennym wypełnieniu. Na przykład, ustawienie tego parametru na Napięcie 0V oznacza, że impuls będzie miał postać napięcia 0V na pinie wyjściowym Vamstera. Wówczas wypełnienie impulsu w 100% będzie oznaczać na pinie stałą wartość napięcia 0V a wypełnienie równe 0% spowoduje ustawienie na pinie napięcia 5V. Strona: 16
Należy pamiętać, że parametr Aktywny poziom napięcia ma wpływ tylko na bezpośredni pin Vamstera (procesora). Fizyczna wartość napięcia nie jest nigdzie uwidoczniona graficznie w Vamgrafie. 4.8.1. Zabezpieczenie wyjść Wyjścia należy zabezpieczyć przede wszystkim przed nadmiernym obciążeniem prądowym. Maksymalny prąd jaki może przepłynąć przez jedno wyjście wynosi 20 ma. 4.8.2. Sprzętowe bufory wyjść W celu zwiększenia wydajności prądowej i/lub napięciowej wyjść cyfrowych i PWM można zastosować tranzystory bipolarne, unipolarne lub scalone układy buforujące np. ULN 2803. W przypadku stosowania układów buforujących należy pamiętać, że większość z nich odwraca poziom sygnału wyjściowego. To znaczy, że jeżeli np. na wyjściu Vamstera będzie napięcie 0V (wysoki stan logiczny) to na wyjściu układu buforującego - napięcie to będzie wynosić np. 5 V lub więcej zależnie od przyjętego sposobu zasilania układu buforującego. Vzas napięcie na jakie można przełączyć ULN2803 (max 50V) Maksymalny prąd jaki może dostarczyć ULN to 500mA. Schemat podłączenia bufora wyjść układu ULN2803. Strona: 17
4.8.3. Wyjścia cyfrowe Do wyjść cyfrowych można bezpośrednio podłączyć diody LED, włączając je pomiędzy plus zasilania (5V) i wyjście VamsteraD. Bezwzględnie należy w szereg włączyć opornik ograniczający prąd o wartości zależnej od zastosowanej diody LED. Maksymalny prąd wpływający do wyjścia może wynosić 20mA. W przypadku większych obciążeń należy zastosować buforowanie przy pomocy tranzystorów lub scalonych buforów wyjść (np. ULN 2803 opis powyżej ). Strona: 18
Podłączenie odbiornika mocy z pomocą optotriaka. Do sterowania odbiornikami dużej mocy o napięciu 230V polecamy wygodne w stosowaniu gotowe moduły mocy dostępne w firmie Vamond. Uwaga! Należy ustawić w Vamgrafie właściwy aktywny poziom napięcia wyjściowego. Więcej szczegółow jest zawarte w rozdziale 4.8.Wyjścia. 4.8.4. Wyjścia PWM sprzętowe Na wyjściach PWMS1 i PWMS2 sprzętowo generowany jest przebieg prostokątny o zmiennym wypełnieniu (sterowany w zakresie od 0 do 1023). Częstotliwość sygnału wynosi ok. 900Hz. W większości przypadków (np. diod LED) filtrowanie sygnału wyjściowego jest zbędne. Aby uzyskać napięcie stałe, wygładzone, o wartości zależnej od wypełnienia należy zastosować filtr RC lub inny filtr aktywny. W przypadku sterowania i regulacji odbiorników dużej mocy wygodny w zastosowaniu jest regulowany moduł mocy dostępny w firmie Vamond. Wyposażony został w optoizolację, własne zasilanie i duży zakres regulacji (0 do 100 %). Uwaga! Należy ustawić w Vamgrafie właściwy aktywny poziom napięcia wyjściowego. Więcej szczegółow jest zawarte w rozdziale 4.8.Wyjścia. 4.8.5. Wyjścia PWM programowe Na wyjściach PWMP1..PWMP8 programowo generowany jest przebieg prostokątny o zmiennym wypełnieniu (sterowany w zakresie od 0 do 127). Częstotliwość sygnału wynosi ok. 100 Hz. W większości przypadków (np. diod LED) filtrowanie sygnału wyjściowego jest zbędne. Aby uzyskać napięcie stałe, wygładzone, o wartości zależnej od wypełnienia należy zastosować filtr RC lub inny filtr aktywny. Uwaga! Należy ustawić w Vamgrafie właściwy aktywny poziom napięcia wyjściowego. Więcej szczegółow jest zawarte w rozdziale 4.8.Wyjścia. Strona: 19
Użycie tranzystora MOSFET do sterowania odbiorników zasilanych napięciem stałym 4.8.6. Podłączenie buzzera Buzzer jaki może być stosowany w Vamsterze nie powinien posiadać wbudowanego generatora tzn. nie powinien generować jednej ustalonej częstotliwości. Podłączenie buzzera z własnym generatorem spowoduje brak możliwości generowania prawidłowych dźwięków przez system Vamstera. Do podłączenia buzzera należy zastosować bufor w postaci tranzystora. Jeżeli potrzebny jest mocniejszy sygnał dźwiękowy można zastosować prosty wzmacniacz m.cz. wraz z głośnikiem. R2-1k T1 - BC548 (npn 0.5A) Schemat podłączenia buzzera. Strona: 20
4.8.7. Podłączenie alfanumerycznego wyświetlacza LCD VamsterD potrafi sterować alfanumerycznym wyświetlaczem LCD 2x16 znaków w standardzie HD44780. Wyświetlacz jest sterowany z wykorzystaniem 4 bitów linii danych. Wyświetlacz należy podłączyć zgodnie z opisem nie myląc wejść LCD i wyjść VamsteraD. Należy pamiętać o zwarciu linii R/W LCD do masy. Należy także właściwie ustawić kontrast wyświetlacza przy pomocy potencjometru. Niewłaściwe ustawienie kontrastu jest główną przyczyną niedziałania LCD. Nazwy i lokalizacja wyprowadzeń pinów wyświetlacza są dostępne w jego dokumentacji. Vamgraf umożliwia sterowanie podświetlaniem wyświetlacza. Służy do tego pin LCD_Podsw. Do poprawnej pracy wymagany jest tranzystor T2 oraz rezystory R12, R13. Wartość rezystora R12 określa jasność podświetlania (100R to wartość bezpieczna dla każdego wyświetlacza). Uwaga! Podłączenie pinu LCD_Podsw bezpośrednio do wyświetlacza spowoduje trwałe uszkodzenie Vamstera. Schemat podłączenia wyświetlacza LCD Strona: 21
4.8.8. Podłączenie 4 cyfrowego wyświetlacza cyfrowego LED VamsterD potrafi wysterować cztery cyfry wyświetlacza 7-segmentowego ze wspólną anodą. Płytkę przykładową zaprojektowano dla wyświetlacza TOF-5462DX z uwagi na możliwość wykorzystania wszystkich kropek (dziesiętnych i zegarkowych). Rezystory R9-R17 należy dobrać w zależności od zastosowanego typu wyświetlacza. Strona: 22
Projekt przykładowej płytki drukowanej wyświetlacza (w skali 1:1) Płytkę zaprojektowano jako jednostronną, pamiętając o ograniczeniach przy samodzielnym jej wykonaniu. Zastosowanie zintegrowanego poczwórnego wyświetlacza TOF-5462DX znakomicie uprościło płytkę. Konstrukcja TOF-5462DX zapewnia dostęp zarówno do kropek dziesiętnych jak również środkowych (zegarkowych). Uwaga! przy wydruku koniecznie ustaw skalowanie strony jak na rysunku poniżej Strona: 23
4.8.9. Podłączenie klawiatury Elementy służące jako klawisze klawiatury powinny być monostabilne (pracować jako przyciski zwierne). W przypadku VamsteraD muszą być 4 takie przyciski (Anuluj, Enter, W górę, W dół). Można zastosować ich mniejszą liczbę, ale wówczas nie będzie można używać w programie elementów edycji zmiennych. Przyciski powinny być podłączone jako zwierające (po naciśnięciu) wejście VamsteraD do masy. Wejścia klawiatury VamsteraD są wewnętrznie podciągnięte do + 5V przy pomocy oporników ok. 47 k. Uwaga! W przypadku wybrania w Vamgrafie modułu LCD lub LED automatycznie wybierana jest do użycia klawiatura. Wówczas, pomimo że klawisze nie są używane w programie i mogą nie być fizycznie podłączone, VamsterD użyje ich pinów i podciągnie je przez wewnętrzny rezystor do plusa zasilania. Ponadto, nie można w Vamgrafie wybrać tylko klawiatury zawsze występuje ona razem z LCD lub LED. Projekt przykładowej płytki klawiatury (w skali 1:1) Uwaga! przy wydruku koniecznie ustaw skalowanie strony jak na rysunku poniżej Strona: 24
4.8.10. Łącze RS232 Do programowania Vamstera używane jest łącze w standardzie RS232. Aby podłączyć VamsteraD do PC potrzebny jest układ konwertera napięć dla RS232 (np. typowy MAX 232) oraz kabel połączeniowy. Schemat kabla umieszczono poniżej. Układ konwertera napięć dla RS232 może być umieszczony na stałe na płytce drukowanej lub stosowany jako osobny moduł wielokrotnego użytku. W przypadku braku złącza RS232 w komputerze można używać popularnych konwerterów USB/RS232. 4.8.10.1. Schemat podłączenia konwertera napięć dla RS232. C6,C8, C9, C10, C11 1-10uF/25V C7-47uF/6V DB9M - 9 pinowe gniazdo DSUB męskie do podłączenia kabla RS232 MAX232 - układ scalony konwertera 4.8.10.2.Schemat kabla połączeniowego RS 232 Do komunikacji z komputerem używany jest kabel tzw. null modem (istotne linie 2,3,5). Strona: 25
4.8.10.3. Schemat i projekt płytki modułu konwertera napięć dla RS232 Projekt płytki (w skali 1:1) Uwaga! przy wydruku koniecznie ustaw skalowanie strony jak na rysunku poniżej Strona: 26
5. Sposób tworzenia urządzenia z wykorzystaniem VamsteraD utworzyć pogram w Vamgrafie wybierając jako typ Vamstera VamsteraD zaznaczyć używane moduły VamsteraD (np. LCD) przetestować program na PC przy użyciu wbudowanego symulatora wykonać schemat i projekt płytki drukowanej z uwzględnieniem używanych wejść i wyjść wykonać płytkę drukowaną i zamontować elementy sprawdzić poprawność montażu (w szczególności sprawdzając napięcie zasilania 5V) oraz czy nie ma zwarć lub przerw w połączeniach umieścić na płytce układ VamsteraD przetestować program z użyciem Vamgrafa w trybie testów w Vamsterze załadować program w wersji końcowej do VamsteraD urządzenie jest gotowe do samodzielnej pracy 6.Ustawienia VamsteraD w Vamgrafie Poniżej opisane są ustawienia VamsteraD dostępne w Vamgrafie. Strona: 27
W tej grupie wybiera się sprzętowe moduły dodane do VamsteraD. Dla modułów posiadających klawisze lub przyciski można zaznaczyć opcję Dźwięk po naciśnięciu klawisza. Wówczas Vamster przy każdym naciśnięciu klawisza lub przycisku będzie generował krótki dźwięk. Uwaga! Zaznaczenie tej opcji powoduje również, że dźwięki generowane przez element Buzzer będą przerywane po naciśnięciu dowolnego klawisza. Dla modułu Wyświetlacz LCD dostępna jest opcja LCD czas dostępu x2. Jest ona dodana na wypadek używania nietypowych sprzętowych wyświetlaczy LCD wymagających dłuższego czasu dostępu. Normalnie powinna być wyłączona. Grupa "Data i czas": "Użycie daty i czasu" - zaznaczenie tej opcji oznacza, że w programie będą używane elementy i zdarzenia związane z datą i czasem i pojawiają się one w Panelu elementów. Użycie czasu letniego/zimowego -zaznaczenie tej opcji powoduje zmianę czasu z letniego na zimowy i odwrotnie. "Sprzętowy zegar RTC" - jeżeli ta opcja nie jest znaczona to system Vamstera będzie wykorzystywał zegar RTC programowy. Programowy RTC po resecie Vamstera zawsze przy starcie jest ustawiany na datę 2001-01-01 i czas 00:00:00. Zaznaczenie tej opcji oznacza dołączenie do Vamstera sprzętowego modułu RTC (PCF8583) posiadającego własne zasilanie awaryjne. Uwaga! Jeżeli ten moduł sprzętowy zostanie wybrany ale fizycznie nie zostanie podłączony do Vamstera - system zgłosi błąd wykonania. ""Typ kodu IR" - tu wybiera się typ kodu jaki będzie odbierany przez odbiornik podczerwieni. Zaznaczenie opcji Sygnał dźwiękowy po resecie powoduje, że Vamster po każdym resecie zgłosi swoją gotowość do działania poprzez krótki sygnał dźwiękowy. Sprzętowy procesor ATMega32 - ta opcja jest dostępna tylko w wersji płatnej Vamgrafa. Jej zaznaczenie powoduje, że Vamgraf będzie wysyłał program w postaci pliku IntelHex do procesora ATMega32 wyposażonego w bootloader boothex.bin. Więcej szczegółow zawarte jest w opisie Vamgrafa w rozdziale 7.Wersja płatna. Strona: 28
7. Peryferia dostępne w firmie Vamond Moduły mocy Seria trzech modułów umożliwia proste sterowanie bezpośrednio z wyjścia procesora odbiornikami zasilanymi z sieci 230V. Prosto, łatwo, bez dodatkowych zasilaczy optoizolowany moduł przekaźnika 230V/ 5 A wyjście cyfrowe Vamstera optoizolowany moduł mocy triaka 230V/5 A wyjście cyfrowe Vamstera optoizolowany moduł regulacji mocy 230V/5A wyjście PWM sprzętowe lub PWM programowe Vamstera Podstawowe, wspólne cechy modułów: optoizolowane wejście sterujące kompatybilne z TTL prąd sterowania pobierany z Vamstera < 5 ma proste sterowanie 2-przewodowe, bez dodatkowych zasilaczy (moduły zasilane są bezpośrednio z 230V) wygodnie wyprowadzone złącza do podłączenia 230V, odbiornika i sterowania solidne / firmowe elementy wykonawcze z sporą rezerwą prądową co gwarantuje poprawną pracę przez długi okres czasu standardowe wymiary umożliwiają piętrowe łączenie z innymi modułami w zależności od potrzeb wbudowany bezpiecznik chroni moduł i odbiornik przed przeciążeniem triaki zabezpieczono przed przepięciem warystorem (szczególnie istotne przy obciążeniu indukcyjnym) układ gasikowy RC minimalizuje zakłócenia podczas przełączania złącza śrubowe pozwalają na szybkie podłączenie przewodów (wystarczy śrubokręt, nie ma potrzeby lutowania) sygnalizacja załączenia odbiornika diodą LED prosty i szybki montaż do dowolnej obudowy za pomocą standardowych dystansów M3 możliwość umieszczenia w gotowej obudowie (dogniazdkowa Maszczyk KM-49D, Kradex Z-27) wymiary modułu (dł/szer/wys): 50x50x25 mm Strona: 29
Moduły mogą służyć do regulacji i sterowania: jasności (żarówki) prędkości obrotowej (silniki komutatorowe, wiertarki, napęd rolet, silniki szeregowe) mocy (grzałki) Sposób podłączenia modułów mocy do VamsteraD Więcej informacji można znaleźć na stronie www.vamond.pl Czujnik temperatury DS18B20 w obudowie Doskonale znany czujnik temperatury umieszczony w obudowie. Wewnętrzne połączenia zabezpieczono izolacją termokurczliwą a następnie całość zalano wodoodpornym silikonem. Długość przewodu 4,7m. Przewód zakończony wtykiem Jack 3,5mm stereo. Strona: 30
Odbiornik podczerwieni 36kHz w obudowie Scalony odbiornik TSOP4836 w przezroczystej obudowie. Wbudowany filtr RC zasilania. Długość przewodu 4,7m. Przewód zakończony wtykiem Jack 3,5mm stereo. Przedłużacz do czujników z końcówkami Jack 3,5mm stereo Przewód zakończony z jednej strony wtykiem, a z drugiej gniazdem Jack 3,5mm stereo. Długość przewodu 5 m. Więcej informacji można znaleźć na stronie www.vamond.pl Strona: 31
8. Parametry techniczne Vamstera D napięcie zasilania: 5V stabilizowane (dopuszczalne 4,75V 5,25V) napięcie na wyjściu cyfrowym i PWM ustawiane przez użytkownika (<0.7 V lub 5.2 V) wydajność prądowa wyjść cyfrowych i PWM przy napięciu <0.7V: 20mA napięcie na wejściu cyfrowym w stanie wysokim (H): < 1V napięcie na wejściu cyfrowym w stanie niskim (L): > 3V częstotliwość odczytu wejść analogowych: 5Hz (16 próbek na 1 odczyt) częstotliwość odczytu wejść cyfrowych: zależna od konstrukcji programu zakres pomiarowy wejścia analogowego: 0 5V (bez zewnętrznego układu napięcia referencyjnego) rozdzielczość wejścia analogowego: 1024 poziomy dokładność wejścia analogowego: ok 5 % (zależna od stabilności zasilania, stosowania zewnętrznego układu napięcia referencyjnego) rozdzielczość PWM sprzętowego: 1024 rozdzielczość PWM programowego: 128 częstotliwość wyjścia PWM sprzętowego: 900Hz częstotliwość wyjścia PWM programowego: 75Hz częstotliwość pracy: 16 MHz prąd zwarcia wejścia cyfrowego do masy < 0,5 ma prędkość transmisji RS232: bezpieczna = 19200, normalna = 57600 -zakres temperatur pracy: -40 C 80 C Strona: 32
9. Płytka przykładowa schemat Strona: 33
Spis części C1, C2 33pF C3, C4, C5, C6, C14, C16, C17, C20 100nF C7 47uF/6V C8, C9, C10, C11 1uF/25V C12 0,33F/5V C13 27pF C15 1000uF/25V C18 220uF/6V C19 100uF/25V C21 4,7uF/6V R1, R10, R11 4k7 R2, R13 1k R3, R6, R7, R8, R9 470R R4, R5 3k3 R12, R14 100R P1 10k Q1 Q2 kwarc 16 MHz kwarc 32,768 khz D1...D13 D14 T1 T2 M1 L1 IR U1 1N5817, 1N4148, 1N4002 1N5817 BC548 (npn 0.5A) BC327 (pnp 0.8A) mostek prostowniczy 50V/1A dławik 47-100uH TSOP4836 odbiornik podczerwieni (36kHz) TL431 opcjonalne źródło napięcia referencyjnego Układy scalone: DS1813 MAX232 PCF8583P stabilizator 7805 ULN2803A Strona: 34
Projekt płytki drukowanej VamsteraD (w skali 1:1) Strona: 35
Opis gniazd połączeniowych i zworek płytki przykładowej Zmontowana płytka przykładowa Strona: 36
VamsterD w obudowie Z4 Strona: 37
Projekty przykładowych płytek drukowanych (w skali 1:1) Strona: 38
Uwagi do wydruku projektów płytek w skali 1:1 Uwaga! w celu prawidłowego wydrukowania projektów płytek (w skali 1:1) koniecznie ustaw skalowanie strony wg rysunku. 31-617 Kraków os. Złotego Wieku 29/30 www.vamond.pl biuro@vamond.pl Strona: 39