INSTRUKCJA OBSŁUGI Modułu EvB Anduino Leonardo Strona 1
EvB Anduino Leonardo Moduł EvB Anduino Leonardo został zaprojektowany przede wszystkim z myślą o przekształceniu zestawu EvB w płytkę testową do prowadzenia kompleksowych eksperymentów ze środowiskiem Arduino. Płytka ta jest elektrycznie zgodna z zestawem Anduino Leonardo, jednak jej konstrukcja pozwala na jej zamontowanie na płytce EvB, dzięki czemu mamy łatwy dostęp do dodatkowych elementów peryferyjnych, takich jak wyświetlacz LCD, wyświetlacz LED i inne elementy będące na standardowym wyposażeniu płytki testowej. Oczywiście w płytki możemy też korzystać osobno, bez konieczności podłączania jej do zestawu EvB. Ponadto łącząc funkcjonalność obu układów możemy w paru krokach umożliwić ładowanie na płytkę EvB Anduino Leonardo dowolnych programów napisanych nie tylko w środowisku Arduino, ale także w C lub Bascom ie wszystko dzięki możliwości zmiany bootloadera za pomocą Podłączenie płytki do zestawu EvB 1. Z zestawu należy koniecznie usunąć zamontowany w nim procesor. Dokonujemy tego za pomocą specjalnego narzędzia do demontażu układów lub korzystając ze śrubokręta, którym na zmianę, równomiernie podważamy obie strony układu. Należy przy tym postępować z ostrożnością, aby nie uszkodzić wyprowadzeń układu. 2. Następnie montujemy płytkę tak, aby jej odpowiednio oznaczone piny połączyły się z pinami stanowiącymi wyprowadzenia procesora (EvB PD0), natomiast jedno z trójpinowych złącz w prawym dolnym krańcu płytki powinno się połączyć ze złączem dodatkowego termometru DS18B20 (w zależności od wersji płytki EvB będzie to złącze górne lub dolne) tak jak pokazano na rysunku poniżej: Strona 2
3. Po wykonaniu tych operacji podłączamy kabel mini-usb do złącza na module i po zainstalowaniu sterowników z pakietu Arduino możemy rozpocząć programowanie. Dodatkowo do płytki podłączone zostały następujące magistrale/interfejsy na płytce EvB: a. SPI umożliwiająca komunikację z kartą SD i modułem RFM12B (w wersji EvB5.1) b. I2C umożliwiająca komunikację z pamięcią EEPROM oraz zegarem czasu rzeczywistego c. RS232 umożliwia komunikację z komputerem za pomocą układu FT232RL umieszczonego na płytce EvB Strona 3
Zmiana Bootloadera Płytka EvB Anduino Leonardo dostarczana jest domyślnie z bootloaderem (wsadem umożliwiającym w tym wypadku wgrywanie własnych programów za pośrednictwem kabla USB) współpracującym ze środowiskiem Arduino, jednak, jak już wcześniej wspomniałem, wykorzystując funkcjonalność płytki EvB, a konkretnie układ FT232RL, możemy w parę minut wgrać do procesora bootloader współpracujący z programem Flip dostarczanym przez firmę Atmel, dzięki czemu będziemy mogli wgrywać do procesora dowolne pliki *.hex (a także *.eep do pamięci EEPROM). 1. Należy pobrać i rozpakować specjalnie przygotowaną wersję programu avrdude wraz z nakładką graficzną, a następnie (po wcześniejszym podłączeniu dużej płytki kablem USB do komputera i zainstalowaniu sterowników) uruchomić program avrdudegui.exe (program jest do pobrania ze strony www.and-tech.pl dział Download EvBAnduino) 2. Następnie wykonujemy 4 połączenia między płytką EvB a modułem Leonardo zgodnie z tabelką i opisem pinów na zdjęciu. Jeśli moduł nie jest wpięty w płytkę EvB należy dodatkowo połączyć piny GND z GND na płytce, oraz VCC z pinem zasilania 5V. EvB 4.3 CD TS SR RI EvB 5.1 DCD CS DSR RI Nazwa sygnału MOSI MISO SCK RST Strona 4
RST SCK MISO VCC MOSI GND Strona 5
3. Następnie w okienku avrdude-gui ustawiamy odpowiednie wartości: a) wskazujemy plik z programem avrdude: avrdude.exe (powinien być domyślnie ustawiony) b) Programmer: FT232R Synchronous BitBang (EvB) c) Port: usb d) Device: ATmega32U4 (m32u4) e) w polu Command line Option wpisujemy: -Pft0 -B115200 4. Po tym klikamy przycisk Read w okienku Fuse. Jeśli w polach pojawią się jakieś wartości i nie wyskoczy okienko z informacją o błędzie to znaczy, że połączenia są wykonane prawidłowo, teraz ustawiamy pozostałe opcje i wykonujemy zmianę bootloadera (aby wgrać bootloader Flip): a) hfuse: D8 b) lfuse: FF c) efuse: C7 d) Klikamy Write w okienku Fuse Strona 6
e) Po zakończonej operacji wskazujemy w okienku Flash plik flip_32u4.hex (wsad jest do pobrania ze strony www.and-tech.pl dział Download EvBAnduino) f) Klikamy w tym okienku Erease-Write-Verify g) Następnie zakładamy na płytce zworkę HWB (oznaczona czerwonym kółkiem na zdjęciu) h) Odpinamy kabel łączący pin RST (niestety układ FT232RL utrzymuje ten pin w stanie niskim, wobec czego aby procesor się uruchomił konieczne jest odpięcie tego kabla) Odtąd każde naciśnięcie przycisku RESET spowoduje uruchomienie bootloadea, który będzie mógł skomunikować się z oprogramowaniem FLIP w celu wgrania własnego oprogramowania. Jeśli zdejmiemy zworkę HWB to naciśnięcie przycisku RESET nie będzie powodowało uruchomienia bootloader, ale zresetowanie naszego programu tak jak w przypadku innych procesorów rodziny AVR. Strona 7
Przywracanie bootloadera Arduino Jeśli zechcemy wrócić do programowania procesora ze środowiska Arduino, to będziemy postępować dokładnie tak samo jak w przypadku wgrywania bootloader Flip, z tą różnicą że inaczej ustawimy wartości z punktu 4: a) hfuse: D8 b) lfuse: FF c) efuse: CB d) Klikamy Write w okienku Fuse e) Po zakończonej operacji wskazujemy w okienku Flash plik CaterinaLeonardo.hex (wsad jest do pobrania ze strony www.and-tech.pl dział Download EvBAnduino) f) Klikamy w tym okienku Erease-Write-Verify g) Następnie zdejmujemy zworkę HWB (oznaczona czerwonym kółkiem na zdjęciu) h) Odpinamy kabel łączący pin RST Od tej chwili nasz moduł znów będzie współpracował ze środowiskiem Arduino Praca z bootloaderem FLIP Jeśli nasz procesor ma już wgrany bootloader Flip, to możemy rozpocząć programowanie procesora za jego pomocą. Strona 8
1. Podłączamy moduł EvB Anduino Leonardo do komputera za pomocą kabla USB 2. Przy założonej zworce HWB wciskamy przycisk RESET na module 3. Teraz moduł powinien być widoczny w systemie jako ATmega32U4 (oczywiście wcześniej wraz z programem Flip musimy zainstalować odpowiednie sterowniki) 4. Uruchamiamy program Flip i klikamy na Device -> Select 5. Następnie wybieramy z menu nasz procesor i zatwierdzamy wybór przyciskiem OK 6. Klikamy na ikonkę z kablem i wybieramy opcję USB Strona 9
7. Następnie klikamy przycisk Open. Po tej operacji oprogramowanie powinno nawiązać połączenie z procesorem. 8. Teraz okno programu powinno wyglądać tak, jak pokazano na poniższym rysunku. W tej chwili możemy wykonywać różne czynności związane z programowaniem układu. B A D C E Strona 10
A. Okienko informujące o tym jaką pamięć (FLASH czy EEPROM) będziemy programować, oraz ile miejsca mamy do dyspozycji. Zawsze najpierw programujemy pamięć FLASH, potem dopiero EEPROM. B. Przycisk wyboru pliku *.hex, który ma być wgrany do aktualnie wybranej pamięci. C. Przycisk przełączania programowanej pamięci między EEPROM a FLASH D. Przycisk rozpoczynający proces programowania i weryfikacji danej pamięci. Należy oczywiście sprawdzić typ pamięci oraz wskazany plik przed uruchomieniem tej opcji. E. Przycisk wyłączający bootloader i uruchamiający właśnie wgrany do pamięci program używamy go po zakończeniu programowania, gdy chcemy przetestować właśnie zapisany program. Strona 11
Piny procesora vs. oznaczenia Arduino Poniższa tabelka zawiera opis pinów procesora ATMega32U4 według oznaczeń na płytce. Pin procesora PE6 (INT.6/AIN0) (SS/PCINT0) PB0 (PCINT1/SCLK) PB1 (PDI/PCINT2/MOSI) PB2 (PDO/PCINT3/MISO) PB3 (PCINT7/OCA0/OC1C/#RTS) PB7 RESET (OC0B/SCL/INT0) PD0 (SDA/INT1) PD1 (RX D1/AIN1/INT2) PD2 (TXD1/INT3) PD3 (XCK1/#CTS) PD5 (ICP1/ADC8) PD4 (T1/#OC4D/ADC9) PD6 (T0/OC4D/ADC10) PD7 (ADC11/PCINT4) PB4 (PCINT5/OC1A/#OC4B/ADC12) PB5 (PCINT6/OC1B/OC4B/ADC13) PB6 (OC3A/#0C4A) PC6 (ICP3/CLK0/)C4A) PC7 (#HWB) PE2 (ADC7/TDI) PF7 (ADC6/TDO) PF6 (ADC5/TMS) PF5 (ADC4/TCK) PF4 (ADC1) PF1 (ADC0) PF0 Opis wg. Arduino Digital pin 7 RXLED SCK MOSI MISO Digital pin 11 (PWM) RESET Digital pin 3 (SCL)(PWM) Digital pin 2 (SDA) Digital pin 0 (RX) Digital pin 1 (TX) TXLED Digital pin 4 Digital pin 12 Digital Pin 6 (PWM) Digital pin 8 Digital Pin 9 (PWM) Digital Pin 10 (PWM) Digital Pin 5 (PWM) Digital Pin 13 HWB Analog In 0 Analog In 1 Analog In 2 Analog In 3 Analog In 4 Analog In 5 Strona 12