A. Schemat elektryczny Ramienia Robota 59
B. Schemat elektryczny układu zasilania 60 C. Schemat elektryczny złączy 61
D. Pomiar aktualnego położenia serwonapędu 62
E. Schemat elektryczny klawiatury 63
F. Schemat płytki PCB 64
AREXX i ROBOT ARM znaki towarowe zastrzeżone AREXX Engineering - HOLLAND.
Wszelkie prawa zastrzeżone. Każda reprodukcja lub adaptacja całości lub części podręcznika wymaga pisemnej
zgody ze strony importera europejskiego:
AREXX Engineering - Zwolle (NL).
Producent i dystrybutor nie ponoszą odpowiedzialności za szkody spowodowane niewłaściwym stosowaniem
produktu, błędnym montażem lub nieposzanowaniem instrukcji zawartych w tym podręczniku.
Producent i dystrybutor zastrzegają sobie prawo do zmiany treści niniejszego podręcznika bez uprzedzenia.
Wsparcie techniczne dostępne na:
WWW.AREXX.COM
Producent:
AREXX Engineering
ZWOLLE The Netherlands
“Robot Arm PRO i -Hobby” to znaki towarowe zastrzeżone przez AREXX Engineering.
Wszystkie inne znaki towarowe należą do ich właściciela. Nie ponosimy odpowiedzialności za treści
zawarte na zewnętrznych stronach internetowych wspomnianych w tym podręczniku!
Wszelkie prawa zastrzeżone. Każda reprodukcja lub adaptacja
całości lub części podręcznika wymaga pisemnej zgody.
Specykacja produktu oraz dostarczane treści mogą podlegać
zmianom. Treść podręcznika może ulec zmianie bez
wcześniejszego uprzedzenia.
Darmowe aktualizacje tego podręcznika dostępne na:
http://www.arexx.com/
Informacje dotyczące ograniczonej gwarancji oraz odpowiedzialności
Gwarancja udzielona przez AREXX Engineering ogranicza się do wymiany lub naprawy Ramienia
Robota oraz jego elementów w okresie trwania gwarancji jeśli usterka dotyczy wad producyjnych
takich jak:
wadliwe elementy mechaniczne lub brakujący komponent za wyjątkiem elementów bezpośrednio
połączonych do gniazdka.
Gwarancja nie obejmuje uszkodzeń dokonanych poprzez brak wiedzy lub ignorowanie ostrzeżeń
zawartych w podręczniku!
Gwarancja traci ważność, jeśli użytkownik nie przestrzega zasad z podręcznika! AREXX Enginee-
ring nie
ponosi odpowiedzialności za szkody powstałe wskutek nieprawidłowego użytkowania niezgodnego z instrukcjami zawartymi w podręczniku. Należy stosować się do wszystkiego, co zawiera
sekcja “Zalecenia dotyczące bezpieczeństwa”.
Proszę zwrócić uwagę na umowy licencyjne oprogramowania na CD-ROM!
WAŻNE!
Przed pierwszym użyciem ramienia robota całkowicie zapoznaj się z treścią podręcznika!
W podręczniku zawarte są informacje na temat odpowiedniego sposobu użycia oraz
potencjalnych zagrożeń! Ponadto, zawiera informacje, które mogą być nieoczywiste dla wszystkich użytkowników.
Ważne zalecenia dotyczące bezpieczeństwa
Ramię robota jest zaopatrzone w wysoce czułe części. Elementy elektroniczne są wrażliwe na
wyładowanie elektrostatyczne. Elementy podnoś delikatnie za boki w bezpiecznych
miejscach. Unikaj bezpośredniego kontaktu z elementami na płytce PCB. Nigdy nie przeciążaj
serwonapędów!
- 3 -
Page 4
Symbole
W podręczniku użyto następujących symboli:
“Uwaga!” Używany, aby ostrzec lub zwrócić uwagę na ważne
szczegóły. Zignorowanie ostrzeżeń może skutkować
uszkodzeniem robota i/lub jego części oraz może być
szkodliwe dla twojego zdrowia lub zdrowia innych osób!
“Informacja” Symbol wskazuje użyteczne wskazówki lub
informacje uzupełniające. Podążanie za wskazówkami nie jest
konieczne, ale może ułatwić pracę.
Zalecenia dotyczące bezpieczeństwa
- Sprawdź polaryzację baterii i źródła zasilania.
- Unikaj wilgoci. Jeśli nastąpi kontakt produktu z wodą, należy usunąć baterie lub odłączyć układ od
zasilania.
- Jeśli robot jest nieużywany przez dłuższy czas, odłącz go od zasilania.
- Sprawdź robot i jego kable przed użyciem - to pomoże uniknąć awarii.
- Jeśli uważasz, że praca z urządzeniem nie jest już bezpieczna, odłącz je i upewnij się, że nie zostanie
nieświadomie użyte.
- Gdy nie jesteś pewien funkcji, bezpieczeństwa lub połączenia elementu, skonsultuj się ze specjalistą.
- Nie podejmuj pracy z urządzeniem w niekorzystnych miejscach lub warunkach.
- Nie przeciążaj serwomechanizmów.
- Urządzenie zawiera wysoce czułe komponenty, np. elementy elektroniczne są wrażliwe na wyładowanie
elektrostatyczne. Elementy podnoś delikatnie za boki w bezpiecznych miejscach. Unikaj
bezpośredniego kontaktu z elementami na płytce PCB.
Użytkowanie
Niniejszy projekt został stworzony do celów eksperymentalnych dla każdego zainteresowanego robotyką.
Głównym zadaniem jest nauka programowania urządzenia w języku C. Produkt nie jest zabawką; nie jest
przeznaczony dla dzieci poniżej 14 roku życia!
Dane ramię robota nie jest również robotem przemysłowym zapewniającym dokładny przemysłowy opis
oraz wydajność!
Robot może być użyty jedynie wewnątrz budynku. Produkt nie może zostać zmoczony lub poddany
działaniu jakiejkolwiek wilgci. Unikaj skraplania wody na elementach: zachowaj ostrożność po wniesieniu
robota z zimnego miejsca. Pozwól elementom dostosować się do nowego środowiska i odczekaj pewien
czas zanim rozpoczniesz używanie.
Nie przestrzeganie powyższych zaleceń może doprowadzić do uszkodzenia produktu i może wpłynąć na
powstanie dodatkowych zagrożeń takich jak zwarcie, ogień, porażenie prądem itd.
Należy dokładnie zapoznać się z treścią tego podręcznika.
- 4 -
Page 5
1. OPIS PRODUKTU RAMIĘ ROBOTA
Metalowe Ramię robota Robot Arm jest idealym narzędziem do projektów
szkolnych i innych celów edukacyjnych, a także do nauki podstaw elektroniki,
mechaniki i programowania. Ramię Robota jest sterowane przez
mikrokontroler ATMEGA64, który programuje się z poziomu programu
narzędzia Open Source w języku C. Użytkownik w łatwy i szybki sposób może
wgrać do mikrokontrolera swój własny program poprzez port USB oraz
oprogramowanie Uploadera. I/O (wejścia/wyjścia) wraz z elastyczną
magistralą I2C pozwalają na dodawanie nadprogramowych modułów, co
umożliwia robotowi reakcję na otoczenie.
Zawartość opakowania:
- Pełny zestaw konstrukcyjny Robot Arm
(mechanika i elektronika)
- USB z pinem
- CD-ROM zawierający wymagane oprogramowanie i instrukcje
1.2. Specykacja techniczna:
- mikrokontroler ATMEGA64
- wiele I/O Wejść/Wyjść
- magistrala I2C
- chwytak
- 6 serwonapędów (4 szt. S06NF i 2 szt. S05NF)
- metalowa obudowa (przeguby + baza)
- długość ramienia: 390 mm
- wysokość (z bazą): 460 mm
- średnica podłoża: 210 mm
- zasilanie: 9 -14V/3-4A
Ostrzeżenie!
* Prawo do zwrotu przemija w momencie otwarcia plastikowych opakowań elementów.
* Przeczytaj uważnie podręcznik zanim zamontujesz wszystkie elementy.
* Zachowaj ostrożność podczas pracy z narzędziami.
* Nie montuj robota w obecności małych dzieci. Może stać im się krzywda .
* Sprawdź, czy baterie zostały umieszczone poprawnie.
* Upewnij się, że koszyk bateryjny jest zawsze suchy. Jeśli robot zostanie zamoczony, usuń baterie
i bardzo delikatnie osusz elementy.
* Wyjmij baterie jeśli Ramię Robota nie będzie używane dłużej niż tydzień.
- 5 -
Page 6
1.3. Co można zrobić z Ramieniem Robota?
- Przesłać do robota przykładowy lub nowy program.
- Sterować ramię za pomocą klawiatury.
- Sterować i programować Ramię Robota przez program RACS
bezprzewodowo.
- Rozszerzać Ramię Robota gotowymi do użycia modułami aby robot
mógł reagować na środowisko: widzieć, czuć, słyszeć.
- Tak jak roboty przemysłowe wykonują różne zadania, np. budują
samochód, ten robot również może wykonywać dla ciebie pewne prace.
- Ramię Robora może komunikować się ze środowiskiem oraz innymi
jednostkami przez magistralę I2C.
- Sztuczna inteligencja: robot automatycznie ulepsza swoje
oprogramowanie dzięki swojemu samouczącemu się oprogramowaniu.
- 6 -
Page 7
2. WYMAGANE NARZĘDZIAdo własnych
modyfikacji
szczypce
półokrągłe
Wkręt samogwintujący (Parker)
Wkręty samogwintujące mają wycięcie na łbie,
które ułatwia wwiercanie się w materiał. Aby w
szybki sposób wkręcić i poprawnie umocować
wkrętwykonaj kroki:
szczypce tnące
boczne
zestaw śrubowkrętów
śrubowkręt
Wkręty samogwintujące działają jak wkręty do
drewna. Wwiercają się w materiał formując miejsce
na gwint wkrętu. Dlatego właśnie ten wkręt ma
końcówkę ostrzej zakończoną niż zwykłe wkręty.
1 Wkręć wkręt w matriał
2 Lekko poluzuj wkręt
3 Dokręć ponownie do końca
Dołączony
2
3
1
Jeśli wkręt nie zostanie wkręcony do końca, może się jeszcze bardziej poluzować i stopniowo
powiększać otwór sprawiając, że wkręt będzie niedopasowany.
Nakrętka zabezpieczająca
Mocowanie nakrętki
Nie dokręcaj na siłę! Pod wpływem
dużej siły plastik może się złamać!
nakrętka
Robot RA1-PRO jest już w pełni zmontowany!
- 7 -
Page 8
3. LISTA CZĘŚCI robot RA1-PRO jest już zmontowany
Serwonapęd
O 6x
Tarcza
Dystansowa
O 3x
CD
O 1x
Plastikowa
tarcza do
serwomotoru
O 1x
Kabel USB
typu A-B
O 1x
Metalowa
duża tarcza do
serwomotoru
typ A
O 1x
Klawiatura
O 1x
Metalowa
duża tarcza do
serwomotoru
typ B
O 1x
Duży orczyk
O 3x
Element
dystansowy
M3x6
O 4x
Element do
montażu
serwomotoru
O 1x
Śruba
dystansowa
M3x16
O 2x
Nadgarstek
robota
O 1x
Śruba dystansowa
M3x40
O 4x
- 8 -
Kątownik
montażowy
O 1x
Spirala
O 1x
Page 9
Część A
szczęki chwytaka
szczęki chwytaka
O 1xO 4xO 1x
Szczęka chytakaCzęść B
Podłoże robotaPrzegub 1
M3 - M4
O 1x
Baza ramienia
O 2x
Płytka PCB
robota
O 1x
Mini wiązar
Mały orczyk
O 1x
Przegub 2
M2 - M3
O 2x
Przewód
taśmowy
Taśma do
klawiatury
Śruba M3x20
Konwerter
USB
Przewód do
serwomotorów
O 1 pc.
O 1x
Wkręt samogwintujący
M3.2x6
O 1x
O 1x
O 5x
Śruba M3x6
O 2x
Śruba M3x8
O 42x
O 1x
Śruba M3x12
O 9x
- 9 -
O 9x
O 24x
Nakrętka
M3
O 4x
Nakrętka
zabezpieczająca
M2
O 3x
Page 10
4. Konstrukcja mechaniczna
Robot RA1-PRO jest już w pełni zmontowany!
4.1. Konstrukcja mechaniczna głównych części
Baza i podłożeRamię
Chwytak
- 10 -
Page 11
4.2. Montaż ramienia z serwonapędem:
Wkręt M3.2x8
Ramię
- 11 -
Baza
Page 12
4.3. Montaż i osiowanie chwytaka:
WSKAZÓWKI W MONTAŻU CHWYTAKA
Jeśli mechanizm nie jest odpowiednio zamocowany, może uszkodzić serwomotor!
1. Jeśli szczęka nie porusza się swobodnie, poluzuj odrobinę wewnętrzną śrubę.
2. Jeśli śruby są dokręcone zbyt mocno, blokują one szczęki chwytaka i może
uszkodzić serwonapęd nieodwracalnie! Dodaj pierścień dystansowy lub poluzuj
trochę śrubę.
3. Jeśli elementy chwytaka nie są umieszczone odpowiednio (np. za bardzo obrócone
względem siebie), spróbuj zrobić to jeszcze raz i postaraj się, aby tym razem były
zosiowane jak należy - wyprostowane szczęki powinny wyglądać jak na obrazku.
- 12 -
Page 13
GOTOWE!
SelbstzapffendeschraubeM2.3x8
- 13 -
Page 14
5. ELEMENTY ELEKTRONICZNE
5.1. Dane techniczne
Ten rozdział zawiera informacje związane z danymi technicznymi robota oraz pewien
wstęp do podstawowych zagadnień, które pozwolą ci zaznajomić się z terminologią
użytą w tym podręczniku. Większość zagadnień zostanie wyjaśniona w późniejszych
rozdziałach.
Cechy elementów i dane techniczne ramienia robota:
● Mikrokontroler o dużej mocy Atmel ATMEGA64 (8-Bitowy)
◊ Szybkość 16 MIPS (=16 milionów instrukcji na sekundę) przy częstotliwości zegara
równej 16MHz.
◊ Pamięć: 64KB Flash ROM, 4KB SRAM, 2KB EEPROM.
◊ Programowalny w języku C (z użyciem WinAVR / avr-gcc)!
● Elastyczny system rozszerzeń, oparty na magistrali I²C
◊ Wymagane jedynie dwa sygnały (TWI -> “Two Wire Interface”).
◊ Szybkość przesyłania danych do 400kBit/s.
◊ Tryb Master->Slave (urządzenie Nadrzędne->Podrzędne).
◊ Do magistrali może być podłączonych jednocześnie 127 urządzeń podrzędnych
(Slave).
◊ Bardzo popularny układ z magistralą. Na rynku dostępny jest szereg układów
scalonych, czujników i innych elementów, które mogą zostać bezpośrednio
podłączone.
● Możliwość dołączenia modułów bezprzewodowych
◊ RP6 WIFI
◊ Bluetooth
◊ APC-220
● USB PC Interface for program uploads from PC to microcontroller
◊ Połączenie kablowe dla maksymalnej prędkości przesyłania danych. Program
wysyłany jest z prędkością 500kBaud, wypełniając miejsce w pamięci (30KB, 2KB
zarezerwowane dla Bootloadera) w kilka sekund.
◊ Może być użyty do programowania dostępnych modułów rozszerzających dla
ramienia robota z mikrokontrelami AVR (moduł RP6-256-WIFI).
◊ Może być użyty do komunikacji między modułami rozszerzającymi. Można
zastosować, np. do analizy błędów kodu poprzez wysyłanie do PC wiadomości
tekstowych i innych danych.
◊ Dostępny jest również wirtualny port COM (VCP) dla wszystkich popularnych
systemów operacyjnych: Windows 2K/XP/Vista, Linux i inne. VCP może być użyty
w standardowych programach uruchamianych z terminala lub w spersonalizowanym
oprogramowaniu.
- 14 -
Page 15
5.2. Modykacje między PCB wersji RA1 PRO i RA2-HOBBY
- Nowy konwerter TI TPS54332 DC/DC, 3500mA.
- Nowy stabilizator napięcia LDO dla 5-woltowych mikrokontrolerów.
- Dodatkowe złącze zasilające dla VCC i serwonapędu.
- 6 przedwzmacniaczy do pomiaru aktualnego prądu w serwonapędach poprzez
rezystor bocznikowy.
- Przełącznik Reset jest teraz przełącznikiem Start/Stop - aby rozpocząć lub
zakończyć pracę programu.
- Autostart (czyli automatyczne rozpoczęcie pracy programu po przełączeniu na Start)
może zostać przez ciebie skongurowany poprzez Robot Loader.
- Dodatkowe piny wejścia/wyjścia mikrokontrolera ATMEGA64 na rozszerzenia.
- Połączenie magistralą I2C zgodne z modułami rozszerzającymi RP6 XBUS,
na przykład moduł RP6-M256 WLAN.
- Gniazdo na zestaw komunikacji radiowej APC220 lub moduł Bluetooh.
- 4 niebieskie diody LED statusu zamiast pary diod: zielonej i czerwonej.
- Bezpiecznik 4A.
- Rezonator kwarcowy 16.000 MHz Crystal zamiast 16.384MHz.
- Rezystor pull-up magistrali I2C ulokowany jest teraz na płytce PCB.
- Przełącznik On/Off odłącza układ logiczny. Mikrokontroler steruje zasilaniem
serwonapędu z przetwornicy DC/DC.
- Napięcie wejściowe wynosi 7 - 14 Volt (nieprzekraczalne max. 18 Volt).
ROZSZERZENIA DLA RAMIENIA ROBOTA
- RP6v2-M256-WIFI: moduł do sterowania ramienia bezprzewodowo przez sieć
- ARX-APC220 for RACS 433 MHz: sterowanie bezprzewodowe
- ARX-BT03 dla systemu ANDROID: sterowanie bezprzewodowe bluetooth
Sprawdź też moduły i instrukcje AREXX APC-220, Android i WIFI!
- 15 -
Page 16
5.3. Główna płytka PCB - najważniejsze elementy
Diody LED
serwonapędów
Zasilanie
serwonapędów
I2C &
RP6
X-BUS
LED
zasilania
SPI
Boot/ISP
Ważne!
Moduł Bluetooth
(BT3) APC-220
Serwo 6, 5, 4, 3, 2,1
Start
Stop
Reset
SW1/SW2
Przełącznik I/O
Sprawdź też stronę
51 aby dowiedzieć
się jak podłączyć
serwonapędy
do PCB!
Dodatkowe
Wejścia/
wyjścia
ISP
Podłączenie
baterii
Przetwornik
napięcia DC
Diody LED
1,2,3,4
Podłączenie
klawiatury
Bezpiecznik
4A
Włącznik /
Wyłącznik
Programator / UART
5.4. LEDS
W tej sekcji zawarte jest wyjaśnienie niektórych diod LED znajdujących się na PCB. Żółta dioda
“MAIN_PWR“ pokazuje, czy przy wyłączonym zasilaniu robota dostarczane jest jakieś zewnętrzne
napięcie.
Czerwona dioda “SERVO_PWR” zapala się tylko, gdy przetwornica DC/DC dla zasilania
serwonapędu jest włączona, co kontrolowane jest z poziomu oprogramowania.
Na płytce są 4 niebieskie diody LED statusu “SL1-4“ które sterowane są bezpośrednio z
mikroprocesora. Można używać tych diod dowolnie przy programowaniu własnych aplikacji.
- 16 -
Page 17
5.5. Rozpoczęcie pracy z Robotem
1. Sprawdź montaż wszystkich elementów mechanicznych oraz
elektronicznych robota i podłącz serwonapędy (str. 25 i 51).
2. Podłącz zasilanie 9 do 14V (nie przekraczać 18 V!!).
3. Włącz robot za pomocą przełącznika On/Off.
Źródło napięcia
Zasilacz
Istnieją dwa sposoby na zasilanie robota. Najprostszym z nich jest
podłączenie do gniazdka zasilacza, którego napięcie wyjściowe wynosi 9-14V /
3-4 Amps (stałe - DC). W ten sposób sygnał jest podłączony na wejście regulatora napięcia.
Baterie
Innym sposobem jest podłączenie baterii (9-14V) w odpowiednim miejscu. Jeśli
napięcie spadnie poniżej 6.7V, wyświetli się ostrzeżenie.
Ważne!
Zworka “ISP/BOOT” powinna być
ustawiona na lewo jak na obrazku
poniżej.
Zaciski baterii
9 - 14 Volt
Zaciski DC
9 - 14 Volt
Jeśli robot jest podłączony do zasilania, serwonapędy lekko się poruszą i zapali
się żółta dioda LED.
Zatem rozpoczęcie pracy nie jest takie trudne jak się wydaje! Teraz właśnie zacznie się ta trudniejsza część...!
Ale najpierw należy zainstalować oprogramowanie, co omówiono w rozdziale 6!
- 17 -
Page 18
6. Instalacja oprogramowania
Zajmijmy się instalacją oprogramowania. Prawidłowe zainstalowanie jest
bardzo ważne w każdym z następnych rozdziałów.
Zaloguj się w systemie jako administrator, ponieważ będziesz potrzebował
jego uprawnień!
Zaleca się najpierw przeczytać cały rozdział, a później ponownie czytać krok
po kroku i wykonywać polecenia.
Użytkownik musi znać podstawy obsługi systemu Windows lub Linux i być
zaznajomiony z programami takimi jak: manager plików, przeglądarka
internetowa, edytor tekstu, program do kompresji plików (WinZip, WinRAR,
unzip etc.), powłoka systemowa Linux etc.! Jeśli twoja wiedza na temat
komputerów jest dość uboga, poczytaj trochę na temat tych zagadnień zanim
zaczniesz używać robota. Ten podręcznik nie jest przeznaczony do nauki
podstaw informatyki, co jest pojęciem bardzo obszernym! Celem podręcznika
jest ramię robota, potrzebne oprogramowanie i sposób programowania.
The Robot Arm CD-ROM
Już prawdopodobnie umieściłeś płytę w odtwarzaczu - jeśli nie, to zrób to
teraz! W systemie Windows menu płyty powinno pojawić się chwilę po tym
poprzez autostart. Jeśli nie, możesz to zrobić otwierając plik “start.htm”
w przeglądarce internetowej, np. Firefox, w głównym katalogu CD poprzez
manager plików. Pliki instalacyjne Firefox znajdują się też na płycie
w katalogu:
<CD-ROM drive>:\Software\Firefox
Przeglądarka powinna być zaktualizowana przynajmniej do wersji 1.x
(w przypadku Firefox) lub 6 (w przypadku Internet Explorer).
Po wyborze języka w menu CD, poza informacjami zawartymi w podręczniku,
znajdziesz instrukcje (datasheet) oraz pomocne obrazki, a także pozycję
w menu nazwaną “Software“ (to wszystko jest również do pobrania z naszej
strony domowej). Pozycja zawiera wszystkie narzędzia oprogramowania,
sterownik USB oraz przykładowe programy z kodem źródłowym dla ramienia
robota.
Zależnie od ustawień bezpieczeństwa twojej przeglądarki, możesz rozpocząć
instalację programów bezpośrednio z CD!
- 18 -
Page 19
Jeśli ustawienia bezpieczeństwa twojej przeglądarki internetowej nie
pozwalają na bezpośrednią instalację z CD-ROM, musisz skopiować najpierw
pliki do katalogu na twoim dysku twardym i rozpocznij instalację z tego
miejsca. Aby uzyskać więcej szczegółów przeczytaj stronę w menu płyty. Inny
sposób: przejdź do napędu CD poprzez manager plików i zainstaluj programy
z płyty.
WinAVR - dla systemu Windows
Teraz rozpoczniemy instalację programu WinAVR. WinAVR jest - jak sama
nazwa wskazuje - dedykowana jedynie dla systemu Windows!
Użytkownicy Linux mogą opuścić tę część.
WinAVR to zbiór wielu przydatnych i niezbędnych narzędzi do programowania
mikrokontrolerów AVR w języku C. Oprócz GCC dla AVR (znane jako
“AVR-GCC”, o tym więcej później) WinAVR posiada bardzo wygodny edytor
tekstu “Programmers Notepad 2”, którego będziemy używać do
programowania ramienia robota.
WinAVR jest dostępny w internecie za darmo. Aktualne wersje programu
i dodatkowe informacje na jego temat znajdziesz na:
http://winavr.sourceforge.net/
Wsparcie programowe zapewnia również rma ATMEL z programem
AVRStudio wraz z kompilatorem AVRGCC. Jednak uważamy, że
Programmers Notepad lepiej odpowiada naszym celom.
Plik instalacyjny WinAVR znajduje się na CD w folderze:
<CD-ROM drive>:\Software\AVR-GCC\Windows\WinAVR\
Instalacja WinAVR jest bardzo łatwa. Dla własnego użytku nie potrzebna jest
zmiana ustawień, więc wystarczy klikać “Kontynuuj”!
- 19 -
Page 20
Jeśli używasz Windows Vista lub Windows 7, musisz zainstalować najnowszą
wersję WinAVR! Powinno również doskonale działać w Windows 2K i XP. Jeśli
tak nie jest, spróbuj z jedną ze starszych wersji, które również znajdziesz na
CD (zanim zaczniesz nową instalację WinAVR, musisz odinstalować wpierw
istniejącą wersję). Ocjalnie wersja systemu Win x64 (64-bitowa) nie jest
jeszcze wspierana, ale w razie problemów płyta zawiera łatkę dla systemów
Win x64! Więcej informacji na temat oprogramowania znajdziesz w menu
płyty.
AVR-GCC, avr-libc uad avr-binutils - dla systemu Linux
(Użytkownicy Windows mogą przejść do następnej sekcji!)
Linux może wymagać większego wysiłku. Niektóre dystrybucje już zawierają
wymagane paczki danych, ale to w większości wersje dość przestarzałe,
dlatego powinieneś zainstalować nowsze wersje. Dystrybucji Linuxa jest tak
wiele, że nie sposób wymienić je wszystkie. Są to m.in. SuSE, Ubuntu,
RedHat/Fedora, Debian, Gentoo, Slackware, Mandriva etc., które też mają
różne wersje, dlatego poradnik jest napisany bardziej ogólnie.
To samo tyczy się do innych sekcji systemu Linux w tym rozdziale!
Opisana procedura niekoniecznie musi działać dla twojej wersji. Zawsze lepiej
więc wspomóc się zasobami internetu np. wyszukując
“<LinuxDistribution> avr gcc”. (Spróbuj inne kombinacje). To samo tyczy się
do innych sekcji dla systemu Linux - zapewnimy pewne słowa kluczowe, które
pomogą szukać! Jeśli napotkasz problemy w instalacji AVR-GCC, możesz
zasięgnąć pomocy na naszym forum lub na jednym z licznych forum
użytkowników Linux. Pierwszą czynnością jest odinstalowanie tej wersji
avr-gcc, avr-binutils oraz avr-libc, które masz na dysku twardym, ponieważ
są nieaktualne. Możesz je odnaleźć poprzez package manager lub szukając
hasła “avr” i odinstaluj te trzy wcześniej wspomniane komponenty. Czy te pliki
istnieją możesz łatwo sprawdzić wpisując w konsolę:
> which avr-gcc
Jeśli ścieżka się wyświetla, wersja jest zainstalowana. Wpisz zatem:
> avr-gcc --version
i sprawdź, jaki komunikat się wyświetli. Jeśli wersja jest starsza niż 3.4.6
(mniejsze cyfry), należy ją odinstalować, bo jest przestarzała.
- 20 -
Page 21
Jeśli dana wersja zawiera się w przedziale 3.4.6 - 4.1.0, spróbuj skompilować
programy (w następnym rozdziale). Jeśli nie udało się, zainstaluj nowe
narzędzia. W dalszej części instalować będziemy najnowszą wersję 4.1.1 (na
marzec 2007) wraz z ważnymi łatkami.
W przypadku, gdy w package manager nie pojawia się ścieżka
avr-gcc, wersja została odinstalowana. Należy jeszcze usunąć
istotne pliki binarne: wyszukaj w katalogach all/bin, /usr/bin etc. plików
zaczynających się na “avr” i usuń je (TYLKO te pliki i nic ponadto!). W końcu
katalogi takie jak /usr/avr czy też /usr/local/avr również muszą zostać wyma-
zane.
Ważne: Upewnij się, że narzędzia programistyczne takie jak GCC, make,
binutils, libc, etc. są zainstalowane przed kompilacją oraz instalacją narzędzi!
Najlepiej zrobić to poprzez package manager twojej dystrybucji. Każda z
dystrybucji Linux powinna zawierać wymagane paczki danych z płyty CD lub z
internetu, gdzie również są dostępne.
Upewnij się, że program “texinfo” jest zainstalowany. Jeśli nie,
zainstaluj wymagane pakiety, bo inaczej nie zadziała.
Po wykonaniu tego kroku, możesz rozpocząć instalację.
Masz teraz trzy wyjścia: zrobić wszystko ręcznie, użyć prostego w
obsłudze skryptu instalacyjnego lub użyć skompilowanego już pakietu
instalacyjnego o rozszerzeniu .dep.
Zalecamy użyć najpierw skryptu. Jeśli nie zadziała, wciąż możesz
zainstalować kompilator ręcznie.
Nowe wersje znajdziesz na http://www.wrightyer.co.uk/avr-gcc/
Uwaga:
Powinieneś mieć wystarczająco wolnego miejsca na dysku twardym!
Chwilowo wymagane jest więcej niż 400Mb. Po instalacji wymazane zostanie ponad 300Mb, jednak podczas instalowania potrzebne jest nieco więcej
miejsca na dane tymczasowe.
- 21 -
Page 22
Wiele z następnych kroków instalacji wymaga spacjalnych praw (ROOT
RIGHTS), więc zaloguj się jako użytkownik uprzywilejowany “su” lub wykonaj
“sudo” etc. (skrypt instalacyjny, mkdir w katalogu /usr/local i wykonaj instalację).
Zwróć uwagę na nazwy komend i wypisz je DOKŁADNIE tak, jak napisano
dalej! Każdy znak jest ważny i nawet, jeśli niektóre komendy wydają ci się
dość dziwne, wszystkie są poprawne i upewnij się, że przy przepisywaniu nie
popełniłeś błędu! (<CD-ROM-drive> ma być oczywiście zastąpione ścieżką
stacji CD-ROM!)
Folder na CD:
<CD-ROM drive>:\Software\avr-gcc\Linux
zawiera wszystkie istotne pliki dla avr-gcc, avr-libc oraz binutils.
Najpierw, należy skopiować wszystkie pliki instalacyjne do katalogu na twoim
twardym dysku - to się tyczy obu metod instalacji! Użyjemy katalogu domowego
(zazwyczaj skrótem do aktualnego katalogu domowego jest tylda: „~“):
> mkdir ~/Robot Arm
> cd <CD-ROM drive>/Software/avr-gcc/Linux
> cp * ~/Robot Arm
Po udanej instalacji możesz usunąć pliki w celu zaoszczędzenia miejsca!
- 22 -
Page 23
Skrypt automatycznej instalacji
Jeśli raz zrobisz skrypt wykonywalnym za pomocą polecenia chmod, możesz
zacząc od razu:
> cd ~/Robot Arm
> chmod -x avrgcc_build_and_install.sh
> ./avrgcc_build_and_install.sh
Na pytanie czy chcesz zainstalować w tej konguracji odpowiedz wciskając
“y”.
UWAGA: Kompilacja i instalacja zajmie trochę czasu czasu (zależy on od
mocy obliczeniowej twojego systemu - np. około 15 min. przy dwurdzeniowym
procesorze 2GHz Core Duo Notebook. Naturalnie potrwa to dłużej dla wolniejszych systemów).
Skrypt zawiera również pewne łatki. Są to pliki o rozszerzeniu .diff.
Jeśli instalacja zakończyła się sukcesem, wyświetli się następująca
wiadomość:
(./avrgcc_build_and_install.sh)
(./avrgcc_build_and_install.sh) installation of avr GNU tools complete
(./avrgcc_build_and_install.sh) add /usr/local/avr/bin to your path to use the avr GNU tools
(./avrgcc_build_and_install.sh) you might want to run the following to save disk space:
(./avrgcc_build_and_install.sh)
Ta instrukcja wymarze wszystkie chwilowe pliki, które nie będą już potrzebne.
Możesz opuścić następny akapit i ustawić ścieżkę narzędzi avr.
Jeśli wykonanie skryptu się nie powiedzie, musisz uważnie przeczytać
wiadomość z błędem (jeśli potrzeba, idź w górę okna korzystając z paska
przesuwania). Najczęściej jest to kwestia brakującego programu, który
powinien być zainstalowany wcześniej (taki jak np. plik texinfo). Zanim
kontynuujesz po błędzie, zaleca się wymazać już wygenerowane pliki
standardowej instalacji w katalogu “/usr/local/avr“ – najlepiej cały katalog.
- 23 -
Page 24
Jeśli nie wiesz co dokładnie poszło źle, zapisz linie komend w pliku oraz
skontaktuj się ze wsparciem technicznym. Prosimy, żeby zawrzeć możliwie
jak najwięcej informacji na temat niepowodzenia. W ten sposób łatwiej będzie
rozwiązać twój problem.
GCC dla AVR
Kompilator GCC jest “połatany“, skompilowany i zainstalowany trochę jak
binutils:
--disable-nls --disable-libssp –with-dwarf2
> make
> make install
Po znaku \ wciśnij po prostu Enter i kontynuuj pisanie. W ten sposób komendy
są rozszerzone na kilka linijek, ale możesz też o tym zapomnieć.
AVR Libc
I ostatni, ale nie mniej ważny AVR libc:
> cd ~/Robot Arm
> bunzip2 -c avr-libc-1.4.5.tar.bz2 | tar xf > cd avr-libc-1.4.5
> ./congure --prex=$PREFIX --build=`./cong.guess` --host=avr
> make
> make install
- 24 -
Page 25
Ważne: at –build=`./cong.guess` upewnij się, że nie zapomniałeś o znaku `
(na klawiaturze klawisz z tyldą) a nie zamiast niego zwykły znak apostrofu,
ponieważ tak napisana instrukcja nie zadziała.
Ustaw ścieżkę
Musisz się upewnić, że katalog /usr/local/avr/bin jest zapisany w zmiennej
ścieżce, bo inaczej niemożliwym będzie pobranie avr-gcc z konsoli albo
z plików makele. Na koniec musisz wprowadzić ścieżkę /etc/prole lub
/etc/environment lub podobną (różne zależne od dystrybucji) – oddzielone
dwukropkiem “:” od już istniejących pozycji. W pliku może to wyglądać na
przykład tak:
Opis w podręczniku jest znacznie krótszy, ale zawiera kilka ważnych łatek,
bez których kilka rzeczy może nie działać poprawnie.
Najpierw należy stworzyć katalog, w której zainstalowane zostaną wszystkie
narzędzia. Powinien nim być: /usr/local/avr.
W konsoli również wprowadź (jako użytkownik uprzywilejowany):
> mkdir /usr/local/avr
> mkdir /usr/local/avr/bin
To niekoniecznie musi być właśnie ten katalog. Po prostu należy stworzyć
zmienną $PREFIX dla tego katalogu:
> PREFIX=/usr/local/avr
> export PREFIX
Musi to zostać dodane do zmiennej ścieżki:
> PATH=$PATH:$PREFIX/bin
> export PATH
NOWSZA WERSJA
W Internecie pojawiają się regularnie nowe wersje oprogramowanie, więc
sprawdzaj ich dostępność na bieżąco!
- 26 -
Page 27
Binutils dla AVR
Teraz należy wypakować kod źródłowy binutils i dodać kilka łatek. W naszym
przykładzie zakładamy, że skopiowałeś wszystko do katalogu domowego
~/Robot Arm:
Ten skrypt wykrywa co jest w twoim systemie dostępne i generuje odpowiednie
pliki makele. Teraz binutils mogą być skompilowane oraz zainstalowane:
> make
> make install
Zależnie od mocy obliczeniowej twojego systemu, może to zająć kilka minut.
Tyczy się to również do dwóch kolejnych sekcji, szczególnie do sekcji z GCC!
Java 6
RobotLoader (zobacz Info poniżej) został stworzony dla platformy Java i pasuje
na systemy Windows i Linux (teoretycznie również na systemy operacyjne takie
jak OS X, ale AREXX Engineering niestety jeszcze ocjalnie nie wspiera innych
systemów). Aby działało, należy zainstalować aktualną wersję Java Runtime
Environment (JRA).
Zazwyczaj jest to już zainstalowane na komputerze, jednak musi być to wersja
co najmniej 1.6 (= Java 6)! Jeśli na twoim komputerze nie ma JRE lub JDK,
należy zainstalować JRE 1.6 z SUN Microsystems lub zamiennie pobierz
nowszą wersję z:
http://www.java.com or http://java.sun.com.
- 27 -
Page 28
Windows
JRE 1.6 dla Windows powinien być w poniższym folderze:
<CD-ROM drive>:\Software\Java\JRE6\Windows\
Instalacja Java w systemie Windows jest bardzo łatwa. Należy rozpocząć
instalację i wykonywać instrukcje na ekranie - i gotowe.
Możesz pominąć kolejny akapit.
Linux
W systemie Linux instalacja nie przysparza dużych problemów, jednak
niektóre dystrybucje wymagają odrobiny pracy ręcznej.
W folderze:
<CD-ROM drive>:\Software\Java\JRE6\
znajdziesz JRE 1.6 jak RPM (SuSE, RedHat etc.) i jako samorozpakowujące
się archiwum “bin”. Pod systemem Linux lepiej będzie poszukać pakietów
Java w package manager twojej dystrybucji (słowa kluczowe np. „java“, „sun“,
„jre“, „java6“ ...) i użyć pakietów twojej dystrybucji niż zawartych na CD-ROM!
Upewnij się jednak, że zainstalowana jest wersja Java 6 (=1.6) lub nowsza!
Na Ubuntu lub Debian, archiwum RPM nie działa bezpośrednio. Będziesz
musiał użyć pakietu package manager swojej dystrybucji, aby znaleźć
odpowiedni pakiet instalacyjny. RPM powinien jednak działać dobrze również
w innych dystrybucjach, np. RedHat/Fedora i SuSE. Jeśli nie, wciąż możesz
rozpakować JRE (np. do /usr/lib/Java6) z archiwum samorozpakowującego
się (.bin) i ustawić ręcznie ścieżki do JRE (PATH oraz JAVA_HOME etc.).
Odnieś się do instrukcji instalacyjnych z Sun, które również znajdziesz w
wyżej wymienionym katalogu oraz na stronie Java (zobacz powyżej).
- 28 -
Page 29
Możesz sprawdzić czy Java zainstalowała się poprawnie wpisując komendę
“java-version” w oknie konsoli. Wiadomość wyjściowa powinna być
przybliżona do poniższej:
java version “1.6.0”
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
Jeśli otrzymana wiadomość całkowicie się nie zgadza, być może
zainstalowana została nieodpowiednia wersja lub inna JavaVM została już
zainstalowana w twoim systemie.
Robot Loader
Robot Loader został przygotowany, aby w szybki i prosty sposób przesyłać
nowe programy i wszystkie rozszerzenia do robota (dopóki moduły są
kompatybilne z bootloaderem). Zawiera ponadto kilka przydatnych funkcji, np.
prosty program terminala.
Instalacja Robot Loadera nie jest konieczna. Po prostu skopiuj program do
folderu na dysku twardym.
Wypakuj program gdzieś na dysku twardym, np. w nowym folderze
C:\Programme\Robot Loader. Folder zawiera plik RobotLoader.exe, który
uruchamia się, gdy klikniesz na ikonę dwa razy.
Sam program Robot Loader jest w archiwum Java (JAR) RobotLoader_lib.jar.
Zamiennie można rozpocząć poprzez wprowadzenie komendy:
Opcja wywoływana poprzez -D jest konieczna aby pozwolić JVM na
znalezienie wszystkich użytych bibliotek. Windows tego nie wymaga i możesz
po prostu rozpocząć wybierając plik .exe. Linux żąda skryptu powłoki
systemowej ”RobotLoader. sh“. Może to być konieczne, by skrypt dało się
wykonać (chmod -x ./RobotLoader.sh). Po tym możesz rozpocząć w konsoli
poprzez “./RobotLoader.sh“.
Rozsądnie jest stworzyć skrót na pulpicie lub w menu start, aby uruchamianie
Robot Loadera było wygodniejsze. W systemie Windows kliknij prawym
przyciskiem myszy na pliku RobotLoader o rozszerzeniu .exe, a następnie
kliknij na “Pulpit (utwórz skrót)” w menu “Wyślij do”.
Biblioteka Robot Arm, biblioteka Robot Arm CONTROL oraz przykładowe
programy
Biblioteka Robot Arm i związane z nią przykładowe programy są spakowane
w archiwum zip na płycie:
<CD-ROM drive>:\Software\Robot Arm Examples\Robot ArmExamples [PRO].zip
Dla swojej wygody po prostu rozpakuj je bezpośrednio do katalogu na dysku
twardym. Zaleca się rozpakowanie przykładowych programów do folderu “My
les” w podfolderze “Robot Arm\Examples\“, a w systemie Linux w katalogu
domowym. Zależy to od ciebie.
W rozdziale dotyczącym programów będą opisane osobno przykładowe
programy!
- 30 -
Page 31
7. Programator i Loader
Do wgrania programu HEX z komputera do robota użyty zostanie konwerter
USB i nasz program RobotLoader.
Zawarty w zestawie został konwerter USB, który jest elementem
pozwalającym na połączenie niezgodnych ze sobą urządzeń. Należy z jednej
strony podłączyć go do portu USB w komputerze, a z drugiej strony do portu
Prog/UART ramienia robota na płytce PCB.
Aktualnie wgrywany do robota program automatycznie usuwa poprzedni
program.
Konwerter USB
Program Robot Loader
- 31 -
Page 32
7.1. Robot Loader
RobotLoader został stworzony, by móc wgrywać nowe programy do ramienia
robota i wszystkich innych naszych robotów w bardzo prosty sposób! (pod
warunkiem, że bootloader jest kompatybilny).
RobotLoader
Jeśli napięcie
spadnie poniżej
< 6.7 V,
wyświetla się
ostrzeżenie.
Wbudowane są pewne dodatkowe funkcje, jak na przykład prosty program
terminala.
Okno terminala
Aby Robot Loader pracował nie musi być zainstalowany. Skopiuj jedynie
program do nowego folderu na dysku twardym.
- 32 -
Page 33
7.2. Podłączenie interfejsu USB – Windows
Użytkownicy systemu Linux mogą przejść do kolejnej sekcji!
Jest kilka sposobów na zainstalowanie interfejsu USB, lecz najprostszym
z nich będzie zainstalować sterownik ZANIM podłączony zostanie sprzęt!
CD zawiera program do instalacji drivera.
Dla wersji 32 i 64 Bit systemów Windows 7, XP, Vista, Server 2003 i 2000:
Dla systemów Win98SE/Me, tak łatwy sposób niestety nie istnieje. Należy
zainstalować sterownik starszej wersji po podłączeniu sprzętu (zobacz
poniżej).
Uruchom program instalacyjny. Pojawi się jedynie krótkie potwierdzenie
pomyślnej instalacji i to wszystko.
Teraz możesz podłączyć USB do komputera. JESZCZE NIE PODŁĄCZAJ KONWERTERA DO ROBOTA! Podłącz konwerter jedynie do komputera
kablem USB. Pamiętaj o bezpiecznym trzymaniu płytki PCB interfejsu USB
za brzegi lub za wejście USB (przeczytaj instrukcje bezpieczeństwa dla
elementów elektronicznych)! Aby uniknąć wyładowań elektrostatycznych NIE
dotykaj żadnych elementów na płytce PCB, miejsc lutu ani złącz standardu
IDE jeśli nie jest to absolutnie konieczne!
Sterownik zainstalowany w poprzednim kroku będzie używany automatycznie
przez urządzenie bez twojej pomocy. Pod systemem Windows XP/2k pojawią
się powiadomienia nad zasobnikiem paska zadań. Ostatnia z wiadomości
powinna brzmieć: “The device has been successfully installed and is ready for
use!” (urządzenie zostało zainstalowane i jest gotowe do użycia).
Jeśli podłączyłeś interfejs USB przed instalacją (lub pracujesz na
systemie Win98/Me) – nie jest to aż tak ważne. Windows sam spyta
o sterownik. Taka metoda instalacji jest możliwa, ponieważ sterownik także
znajduje się na CD w nierozpakowanym formacie.
- 33 -
Page 34
W tym przypadku pojawi się dialog (w Windows), aby zainstalować nowy driver. Należy wskazać ścieżkę, w której się driver znajduje. Pod Windows 2k/XP
należy najpierw wybrać instalację ręczną. Na CD sterownik znajduje się
w katalogu wymienioneym na poprzedniej stronie.
Po prostu wprowadź katalog swojej wersji Windows i być może kilku innych
plików, których system sam automatycznie nie odnajdzie (wszystkie są
wymienione poniżej!).
W systemie Windows XP i wersjach późniejszych zazwyczaj pojawia się
wiadomość o tym, że sterowniki FTDI nie są zwerykowane przez Microsoft.
Nie jest to ważne i bez problemu można potwierdzić komunikat.
Obsługa
W systemach 32 i 64 Bit Windows 7/8, XP, Vista, Server 2003 oraz 2000:
Po instalacji sterownika na starszych wersjach systemu Windows (np. Win98SE) może
być konieczny restart komputera! UWAGA: pod Win98/Me działa tylko jeden ze
sterowników: Virtual Comport lub D2XX dla FTDI! Niestety żaden sterownik nie
zapewni pracy ich obu.
Sprawdź połączenie z urządzeniem
Aby sprawdzić czy sterownik został poprawnie zainstalowany możesz użyć
Managera urządzeń: kliknij prawym przyciskiem myszy na:
Mój Komputer --> Właściwości --> Sprzęt --> Manager urządzeń
LUB zamiennie: Start --> Ustawienia --> Panel sterowania --> Wydajność
i konserwacja --> System --> Sprzęt --> Manager urządzeń i sprawdź czy pod
“Porty (COM i LPT)” znajduje się “USB-Serial Port (COMX)” - gdzie X
odpowiada numerowi portu, lub czy pod “Kontrolery uniwersalnej magistrali
szeregowej“ jest rozwinięcie “Konwerter szeregowy USB“ !
- 34 -
Page 35
Jeśli pewnego dnia zechcesz odinstalować sterownik
Jeśli nadarzy się taka sytuacja (nie teraz - to tylko wskazówka na przyszłość):
Jeśli użyłeś programu instalacyjnego z CD ROM, możesz odinstalować to
bezpośrednio poprzez menu Start --> Ustawienia --> Panel sterowania -->
Dodaj lub Usuń programy. Na liście programów odszukaj pozycję “FTDI USB
Serial Converter Drivers“ – wybierz i kliknij “odinstaluj”.
Jeśli sterownik został zainstalowany ręcznie, możesz uruchomić program
““FTUNIN.exe” w katalogu poświęconemu sterownikowi USB! Ostrzeżenie:
do adaptorów USB-->RS232 z chipem FTDI również często używa się tego
sterownika!
- 35 -
Page 36
7.3. Podłączenie interfejsu USB – Linux
Użytkownicy Windows mogą opuścić tę sekcję!
System Linux z jądrem 2.4.20 lub wyższy już zawiera wymagany sterownik
(przynajmniej dla poprzedniego kompatybilnego modelu chipu FT232BM
naszego modelu interfejsu USB, którym jest FT232R). Sprzęt rozpoznawany
jest automatycznie i nie musisz robić nic więcej. W przypadku jakichkolwiek
problemów, możesz pobrać sterowniki na system Linux (oraz wsparcie i być
może nowsze sterowniki) bezpośrednio ze strony FTDI:
http://www.ftdichip.com/
Jeśli już sprzęt zostanie połączony, możesz to sprawdzić pod systemem
Linuxem poprzez:
cat /proc/tty/driver/usbserial
jeśli port szeregowy USB został zainstalowany poprawnie. Zazwyczaj nic
więcej nie musisz robić.
Warto wspomnieć, że RobotLoader pod systemem Windows używa
sterowników D2XX i pełny opis USB pojawi się w liście portów
(np. ”USB0 | Robot USB Interface | serialNumber“). Podczas gdy pod
Linuxem opisy wirtualnych comportów pojawiają się jako dev/ttyUSB0,
/dev/ttyUSB1 etc.. Zwykłe porty com wyświetlają się tak samo “dev/ttyS0“ etc..
W tym przypadku musisz próbować aż znajdziesz poprawny port.
Niestety Linux nie posiada tak wygodnego sterownika, który robi obie rzeczy.
Dlatego też lepiej jest użyć sterowników Virtual Comport, które i tak są już
zawarte w jądrze systemu. Instalacja sterownika D2XX może wymagać sporo
pracy ręcznej...
Zakończenie instalacji oprogramowania
Instalacja oprogramowania i interfejsów USB jest zakończona! Musisz tylko
skopiować najważniejsze pliki z CD na dysk twardy (przede wszystkim cały
folder “Documentation” oraz, jeśli do tej pory nie były skopiowane,
przykładowe programy). Dzięki temu nie będziesz musiał wciąż sięgać po CD,
gdy będziesz potrzebował plików.
Jeśli kiedyś CD się zapodzieje, najważniejsze pliki (jak ten podręcznik, RobotLoader, przykładowe
programy) możesz pobrać ze strony domowej AREXX. Możesz tam również odnaleźć linki do
paczek innych programów, których będziesz potrzebować.
- 36 -
Page 37
7.4. Test interfejsu USB i uruchamianie
RobotLoadera
Następnym krokiem jest test wgranego programu poprzez interfejs USB.
Podłącz interfejs USB do PC (zawsze najpierw podłącz stronę PC!), a drugim
końcem 10-pinowym kablem taśmowym do modułu “PROG/UART”, który
z kolei podłącza się do robota. (Robot Arm MUSI BYĆ WYŁĄCZONY!) Taśma
jest mechanicznie zabezpieczona przed odwróceniem polaryzacji. Dopóki nie
ma wymuszenia, nie ma możliwości na złe podłączenie kabla.
Następnie włącz RobotLoadera. W
zależności od wybranego języka, nazwy
menu mogą nieco się różnić. Poprzez menu
“Opcje->Preferencje “(“Options->
Preferences“) pod “Language /Sprache“
możesz wybrać język (spośród angielskiego i
niemieckiego) i wybór zatwierdź klikając OK.
Once you have selected your language, you have to re-start the Robot Loader
to validate the changes!
Open a port - Windows
Wybierz port USB. Dopóki żaden inny
konwerter szeregowy USB z chipem FTDI
jst podłączony do PC, zobaczysz tylko
jedną wybraną pozycję.
eśli pojawia się więcej portów, możesz je zidentykować poprzez nazwę “Robot
USB Interface“ (lub „FT232R USB UART“). Za nazwą portu widnieje numer
seryjny.
Jeśli żaden z portów się nie wyświetla, należy odświeżyć listę portów klikając
w menu “RobotLoader-->Refresh Portlist“ !
UWAGA!
Jeśli napięcie spadnie poniżej < 6,7 V, wyświetla się ostrzeżenie.
- 37 -
Page 38
7.5. Otwieranie portu – Linux
Linux traktuje szeregowy adaptor USB jako zwykły port com. Instalacja
sterownika D2XX z FTDI może nie być taka prosta jak instalacja pod Linuxem,
a sterowniki normalnych wirtualnych portów com (VCP) i tak są już zawarte
w jądrach systemów Linux. Działa to niemal tak samo jak pod Windowsem.
Musisz jedynie znaleźć nazwę interfejsu USB ramienia robota i upewnić się,
że port nie zostanie odłączony od PC dopóki połączenie nie zostanie otwarte
(inaczej będzie trzeba zrestartować RobotLoader i połączyć się ponownie).
Pod Linuxem nazwy wirtualnych portów com to “/dev/ttyUSBx“, gdzie x to
numer, np. “/dev/ttyUSB0“ lub “/dev/ttyUSB1“. Nazwy zwykłych portów com
pod Linuxem nazwane są: “/dev/ttyS0“, „/dev/tty- S1“ itd.. One również
pokazują się na liście portów tak długo, jak istnieją.
Jeśli jest kilka portów, RobotLoader zamięta który był używany ostatni
i wybiera go automatycznie przy starcie programu (większość ustawień
dokonanych w programie jest zachowywana).
Teraz należy kliknąć na przycisk “Connect“ (połącz)! RobotLoader otworzy port
i sprawdzi, czy komunikacja z bootloaderem działa poprawnie. Czarne pole u
dołu (“Status”) powinno pokazywać wiadomość “Connected to: Robot Arm ...”
lub podobną wraz z informacją na temat aktualnie zmierzonego napięcia. Jeśli
tak się nie dzieje, spróbuj ponownie! Jeśli jednak dalej nie działa, popełniony
został gdzieś po drodze błąd! Natychmiast wyłącz robota i rozpocznij
poszukiwanie błędu.
Jeśli napięcie jest za niskie, pojawia się ostrzeżenie. Należy naładować
akumulatory (najlepiej zrobić to jeszcze zanim napięcie spadnie poniżej 6,7V)!
UWAGA!
Jeśli napięcie spadnie poniżej < 6,7 V, wyświetla się
ostrzeżenie.
- 38 -
Page 39
7.6. AUTOTEST
Żółta dioda LED zapala się, gdy ramię robota jest włączone.
Dioda statusu LED mignie, gdy wgrany zostanie plik HEX. Jeśli zadziała,
możesz uruchomić niewielki program autotestu, aby sprawdzić działanie
wszystkich układów robota. W tym celu należy kliknąć guzik “Add” u dołu okna
RobotLoadera i wybrać plik RobotArmExamples [MINI], „Example_11_Selftest\
RobotArm_Selftest.hex“ w katalogu przykładowych programów. Plik zawiera
program autotestu w formacie hexadecymalnym - właśnie dlatego ten typ plików
z programem nazywa się “plikiem hex“. Wybrany plik pokaże się później na
liście. W ten sposób możesz dodać inne pliki hex programów, które napisałeś
sam, a także z programów przykładowych (sprawdź zrzuty ekranu, gdzie
dodano już pliki hex). RobotLoader jest w stanie wczytać z kilkoma rodzajami
plików hex.
Pomaga to w segregowaniu plików, np. jeśli zamontowane są do robota inne
programowalne moduły rozszerzeń, które mogą używać innych wersji
programów. Lista zapisuje się automatycznie na końcu programu. Oczywiście
zapisują sie jedynie ścieżki do tych plików hex, a nie sam plik hex. Jeśli
pracujesz nad programem, plik hex dodajesz i wybierasz tylko raz. Później po
każdym re-kompilowaniu możesz załadować nowy program do
mikrokontrolera (można również użyć skrótów klawiszowych [STRG+D] lub
[STRG+Y], aby rozpocząć program zaraz po przesłaniu go do mikrokontrolera).
Nazwy ścieżki są oczywiście zupełnie inne w różnych systemach operacyjnych.
Mimo to RobotLoader odpowiada obu systemom, Windows i Linux, bez
dokonywania żadnych zmian, ponieważ istnieje osobna lista dla Windowsa
i Linuxa.
Możesz teraz kontynuować z innymi przykładowymi (Examples) programami
ramienia robota lub rozpocząć programowanie samemu.
UWAGA!
Jeśli napięcie spadnie poniżej < 6,7 V, wyświetla się ostrzeżenie.
- 39 -
Page 40
Należy wybrać z listy plik “RobotArm_Selftest.hex“ i kliknąć na przycisk
“Upload!“ (wgraj), który znajdziesz na górze tuż pod paskiem postępu.
Teraz program zostanie wgrany do procesora MEGA64 na płytce PCB
ramienia robota. Powinno to zająć nie więcej jak kilka sekund (dla programu
autotestu max. 5 sekund).
Przełącz na zakładkę “Terminal” (na dole okienka)! Inny sposób na wybranie
terminala: poprzez opcję “View” w menu.
WAŻNE!
Zworka “ISP/BOOT” powinna być
ustawiona na lewą stronę jak na
obrazku poniżej!
Teraz możesz wykonać autotest oraz kalibrację ramienia robota. Aby
rozpocząć program przełącz switch Start/Stop Reset na robocie. Można to
zrobić również poprzez menu RobotLoadera --> Start lub kombinację klawiszy
[STRG]+[S]. Jednak tym razem sprawdź, czy przełącznik działa poprawnie!
Jeśli w autoteście wystapi błąd, odłącz natychmiast robota i zacznij szukać
błędów.
ZALECA SIĘ ROZPOCZĘCIE OD KALIBRACJI RAMIENIA
ROBOTA! ZOBACZ NA STRONIE 41.
- 40 -
Page 41
7.7. Kalibracja
Uruchom program do kalibracji, aby skalibrować ramię robota.
W tym celu należy kliknąć przycisk “Add” u dołu okna RobotLoadera
i wybrać plik RobotArmExamples [MINI], „Example_11_Selftest\RobotArm_
Selftest.hex“ w katalogu plików przykładowych.
Plik zawiera program autotest w formacie heksadecymalnym. Wybrany plik
pojawi się później na liście (jak na zrzucie poniżej).
Wybierz C
(C - calibrate)
w programie
do kalibracji, aby zacząć
kalibrację.
Kiedy kalibracja będzie zakończona, robot może rozpocząć wykonywanie
autotestu. Wynik kalibracji zapisuje się w mikrokontrolerze.
- 41 -
Ustaw wszystkie serwonapędy
w środkowej pozycji tak, aby robot wyglądał jak na stronie 51.
Serwomotory od 2 do 6 są
w przybliżeniu w pozycji
środkowej, a chwytak
(serwonapęd nr 1) jest niemal
zamknięty.
Page 42
Pozycja do kalibracji
Serwonapęd 1
Zaciski chwytaka
Serwonapęd 2
Obrót chwytaka
Serwonapęd 3
Zginanie nadgarstka
Serwonapęd 4
Zginanie w łokciu
- 42 -
Serwonapęd 5
Zginanie w barku
Serwonapęd 6
Podstawa
Page 43
7.8. Test klawiatury
W zestawie zawarta jest klawiatura, którą można podłączyć doramienia robota.
Użyć jej można, aby w łatwy sposób zaprezentować działanie robota, a także,
aby poćwiczyć sposób sterowania.
Klawiatura zawiera 6 przycisków do sterowania i 4 specjalne przyciski do
późniejszych rozszerzeń.
Aby przetestować ramię robota klawiaturą, należy wgrać odpowiedni plik
programu hex do mikroprocesora.
Należy w tym celu kliknąć przycisk “Add” u dołu okna RobotLoadera oraz
wybrać plik RobotArmExamples, “RobotArm_Key_Board.hex“.
Wybierz z listy plik „RobotArm_Key_Board.hex“ i przyciśnij przycisk “Upload!“
na górze nad paskiem postępu.
Jeśli i ten krok zostanie wykonany, można już sterować ramieniem robota
używając klawiszy klawiatury.
UŻYWAJ POPRAWNEGO OPROGRAMOWANIA
(V3 PRO LUB MINI)!
Płytka PCB
Klawiatura
Podłączenie klawiatury
Test klawiatury można również wykonać programem
AUTOTEST!
- 43 -
Page 44
8.0. Oprogramowanie RACS
RACS (Robot Arm Control Software) to najprostszy sposób na sterowanie
oraz programowanie ramienia robota. Do programowania poprzez RACS
wymagane jest użycie programu RobotLoadera oraz adaptora USB.
Przed użyciem robota do pamięci Flash procesora należy wgrać program
RAC-MINI.hex.
Podłącz przewód z USB do komputera i otwórz program Loadera. Powinno
pokazać się następujące okno:
Fig. 1
Jeśli na liście “Step 1: Select a port” (wybór portu) nie pojawia się żaden port, upewnij
się, że przewód jest podłączony i sterowniki programera są zainstalowane. Możesz
wywołać listę portów jeszcze raz odświeżając ją z menu:
RobotLoader -> Refresh port list.
Wybierz port i kliknij “Connect” (połącz).
Wybierz odpowiedni plik .hex z listy “Step 2” – Kliknij “Add”: RACV3-PRO.HEX
UŻYWAJ POPRAWNEGO OPROGRAMOWANIA
(V3 PRO LUB MINI)!
- 44 -
Page 45
W kroku 3 kliknij przycisk “Upload” (wgraj, załaduj), aby wgrać program.
Jeśli chcesz pracować na ramieniu, odłącz RobotLoader w polu “Step 1”
klikając przycisk “Close” (zamknij). Jeśli zamkniesz program, połączenie
zostanie przerwane automatycznie.
Upewnij się, że nie ma połączenia między programem Loadera a ramieniem
robota, bo inaczej robot nie może być sterowany z programu RACS.
8.1. Instrukcje dla RACS
Ramię robota steruje się łatwo poprzez oprogramowanie RACS. Nawiązywane
jest połczenie i silniki ramienia robota zaczynają reagować na zmianę pozycji
suwaków, które zmienia się za pomocą myszy. Aktualne pozycje
serwonapędów mogą być zapisane, zmieniane i wymazywane z listy w dolnej
części interfejsu użykownika. Generuje się lista zawierająca poszczególne
pozycje, które mogą zostać zapisane w pliku na komputerze poprzez kliknięcie
przycisku “Save”. Lista kroków może zostać wgrana w każdej chwili.
Uwaga! Ważne !!!
Robot monitoruje prąd każdego z serwomotoru z osobna. Jeśli wartość progowa
serwonapędu wykracza poza granice, np. podczas kolizji lub przy przeciążeniu tekst w oprogramowaniu RACS
zaczyna migać. W tym przypadku, robot musi zostać wrócić do swojej
poprzedniej pozycji jak najszybciej lub musi zostać odłączone zasilanie dla
danego serwonapędu w programie RACS (odznacz pole “servopower”).
Inaczej robot może zostać uszkodzony nieodwracalnie!!!
- 45 -
Page 46
8.2. RACS - Połączenie
1.Po włączeniu programu do sterowania, powinno ukazać się
poniższe okno:
Fig. 2
2.W rozwijanym menu wymienione są wszystkie interfejsyszeregowe:
Fig. 3
3. Podłącz wejście programatora USB
4. Kliknij przycisk “Update”. Kiedy spojrzysz na menu rozwijane
ponownie, zobaczysz dodatkowe interfejsy. Interfejs został
zainicjalizowany poprzez podłączenie zyczne programera
USB.
Uwaga: Nazwy interfejsu dla różnych komputerów różnią się
od siebie!
- 46 -
Page 47
5. Wybierz nowy interfejs
Fig. 4
6. Zaznacz pole “Connect”
Fig. 5
7. Zaznacz pole “servo power”
Fig. 6
8.Poruszaj suwakami, aby zmienić pozycje serwonapędów. Jeśli podczas nawiązywania połączenia wystąpił błąd, pojawi się
poniższy komunikat. Należy nawiązać połączenie ponownie
(powtórz kroki 2-6 i spradź interfejs).
Fig. 7
UŻYJ ODPOWIEDNIEGO OPROGRAMOWANIA
V3 PRO LUB MINI!
- 47 -
Page 48
8.3. RACS – automatyczna kontrola pozycji
W poniższym oknie dostępne są następujące opcje:
Add: ten przycisk dodaje aktualną pozycję suwaka do listy
Replace: wybrany z listy element zostaje zastąpiony przez aktualne
pozycje paska przesuwania
Insert:aktualne pozycje suwaka zostanją umiejscowione pod wybrane elementy listy
Clear: wybrane elementy z listy zostają wymazane
Save: elementy z listy zostają zapisane
Load: elementy z listy zostają wgrane z pliku
(Uwaga, aktualna lista elementów zostaje wymazana!)
Run:Elementy z listy wykonywane są w sekwencji od góry do dołu. Jeśli opcja “Repeat” została zaznaczona, ramię robota będzie
wykonywał instrukcje w pętli.
Step Time:Step time to czas w sekundach, który deniuje jak długo robot będzie czekał zanim wykona kolejną instrukcję z listy. Jeśli lista
zawiera jedynie krótkie przemieszczenia, wybrany czas może
być krótki. Jeśli natomiast zawiera duże przemieszczenia, np.
ruchy serwo o 180°, wybrany czas musi być dłuższy, ponieważ
robot może nie zdążyć wykonać danego ruchu i w połowie drogi
zacząć wykonywać kolejny krok.
Pause: Przerwa w wykonywaniu instrukcji.
Stop: Wykonywanie instrukcji jest zatrzymane.
- 48 -
Page 49
8.3.1 RACS – bezprzewodowe
Z oprogramowaniem RACS i zestawem AREXX ARX-APC-220, można sterować
ramię robota także bezprzewodowo. Poniżej opisane jest krok po kroku jak to
działa:
- Podłącz programator RP6v2 i APC-220 do PC, dokładnie tak, jak
opisano to na płycie.
- Podłącz APC do płytki PCB ramienia robota (zobacz na stronie 16).
- Załaduj Wireless Racs HEX plik do procesora ramienia robota.
- Wybierz poprawny port COM w programie RACS.
* Wciśnij przycisk Start (na płytce robota)
* Enable --> Wireless - Connect i Servo Power
Teraz można sterować ramieniem robota
bezprzewodowo.
8.3.2 ANDROID – PROGRAM
Nasz zestaw ARX-BT03 umożliwia sterowanie ramienia robota poprzez
Bluetooth i aplikację ANDROID.
Podążaj za następującymi instrukcjami:
- Podłącz moduł Bluetooth do płytki PCB ramienia robota (str. 16).
- Załaduj dane z ANDROID HEX do procesora ramienia robota.
- Załaduj dane z ANDROID APK do swojego smartfona lub na tablet.
Pliki te możesz znaleźć na CD oraz w Sklepie Google Play.
- 49 -
Page 50
8.0. Programowanie Ramienia Robota
Stopniowo dochodzimy do programowania robota.
Ustawienie edytora tekstu źródłowego
Na początku należy ustawić środowisko do programowania. Tak zwany kod
źródłowy dla naszego programu w języku C musi w jakiś sposób znaleźć się
w komputerze!
W tym celu z pewnością nie użyjemy programów do edycji tekstu takich jak
OpenOfce czy Word! Żart ten wynika z tego, że nie dla wszystkich może to
być oczywiste. Tekst źródłowy to czysty tekst bez formatowania. Kompilator
nie dba o kolor ani rozmiar czcionki...
Dla człowieka formatowanie ma znaczenie, ponieważ łatwiej mu odnaleźć
w tekście kluczowe słowa. Niektóre z tych funkcji i inne są zawarte w edytorze
Programmers Notepad 2 (w skrócie “PN2“), który będziemy uzywać (UWAGA:
Pod systemem Linux należy użyć innego edytora, który oferuje te same
funkcje jak PN2. Zazwyczaj takie narzędzia są już w systemie (np. kate, gedit,
exmacs)). Dodatkowo wyróżniane są słowa kluczowe (“podświetlanie
składni”), a także oferuje elementarne zarządzanie projektem. Pozwala to
na organizowanie kilku plików tekstu źródłowego w jednym projekcie oraz
wyśwtetlanie ich w liście, której elementy podpite są do jednej jednostki
projektowej. Ponadto, można łatwo naprawić programy takie jak AVR-GCC
w PN2 i otrzymać programy skompilowane. Zazwyczaj AVR-GCC to program
zawierający szereg linii komend bez żadnego interfejsu gracznego.
Więcej ostatnich wersji programu Programmers Notepad znajdziesz na stronie
domowej projektu: http://www.pnotepad.org/
Najnowsze wersje WINAVR już nie wymagają ustawiania elementów
menu!
ZAUWAŻ:
W tej sekcji nie wyjaśniamy więcej jak należy ustawić elementy menu
w PN2, ponieważ nowa wersja WINAVR robi to za ciebie!
UŻYWAJ ODPOWIEDNIEGO OPROGRAMOWANIA
V3 PRO LUB MINI!
- 50 -
Page 51
Zobacz na stronie 47 jak otworzyć i skompilować przykładowy projekt!
Jeśli otworzyłeś przykładowy projekt, powinien on wyglądać mniej więcej jak
na tym zrzucie:
Plik “Robot ArmExamples.ppg“
To są grupy projektów dla PN2,
w których są wszystkie
przykładowe programy oraz
Biblioteka Robot Arm są wrzucone
w jedną listę projektową
(“Projects“).
Po lewej stronie pokazują się przykładowe projekty, a po prawej tekst źródłowy
programów (z podświetlaniem skłądni) i na dole narzędzia wejścia (w tym
przypadku wejściem jest kompilator). W programie PN2 można znaleźć wiele
użytecznych właściwości i funkcji.
- 51 -
Page 52
Otwieranie i kompilowanie przykładowego projektu
Teraz należy sprawdzić czy wszystko
działa poprawnie i otworzyć przykładowy
projekt:
Wybierz w menu “File“ opcję “Open
Project(s)“.
Pojawi się zwykła sekcja dialogowa.
Wyszukaj “Robot Arm_Examples
[MINI]\“ w folderze, w którym zapisałeś
przykładowe programy.
Otwórz plik “Robot ArmExamples.ppg“.
Jest to grupa projektowa dla PN2, która
ładuje wszystkie przykładowe programy,
tak jak Biblioteka Robot Arm, na listę
programu (“Projects“).
Teraz wszystkie przykładowe projekty są na wyciągnięcie ręki, jeśli zechcesz
odnieść się do któregoś z nich, np. oglądając na początku przykładowe
funkcje w Bibliotece Robot Arm itd.
Otwórz pierwszy z tych programów na górze listy oraz wybierz plik “01_Leds“.
Kliknij dwa razy na “01_Leds.c“! Edytor tekstu źródłowego wyświetla się
w oknie wewnątrz programu.
Obszar wyjścia powinien pojawić się na dole okna programu PN2. Jeśli tak się
nie stanie, należy włączyć ten obszar klikając w menu
“View” --> “Enable output” LUB jeśli obszar jest zbyt mały, zwiększ rozmiar
okna rozciągając brzegi okienka myszką (po najechaniu na brzeg okna kursor
zmienia się w podwójną strzałkę).
Możesz przyjrzeć się programowi, który właśnie został otwarty, ale nie musisz
teraz dokładnie rozumieć o co tam chodzi. Jednakże pierwsza wiadomość
brzmi: zielony tekst oznacza komentarze, które są tylko informacją dla
programisty i nie są naprawdę częścią programu (tzn. kompilator ich nie
widzi).
- 52 -
Page 53
Funkcje wyjaśnimy szczegółowo nieco dalej (istnieje również wersja programu
BEZ komentarzy, abyś mógł zauważyć jak krótki tak naprawdę ten program
jest. Komentarze dodają objętości kodowi, jednak są niezbędne do
zrozumienia kodu. Niezakomentowana wersja jest jednak przydatna do
skopiowania jako baza dla twoich własnych programów!).
Na początku należy jedynie przetestować
odpowiednie działanie kompilatora.
W menu Tools na górze powinny się
pojawić świeżo zainstalowane elementy
menu (zobacz zrzut).
Kliknij teraz “MAKE ALL“!
PN2 tworzy teraz wyżej wymieniony plik wsadowy “make_all.bat“. Plik ten
z kolei będzie tworzył program “make“. Więcej na temat programu “make“
wyjaśnione zostanie później.
Przykładowy program nie skompiluje się. Wygenerowany plik hex zawiera
program w wersji przetłumaczonej tak, aby mikrokontroler rozumiał i może
być załadowany i później wykonany. Kompilacja to proces, w którym tworzy
się wiele tymczasowych plików (np. takie o rozszerzeniach: .o, .lss, .map,
.sym, .elf, .dep). Nie są dla ciebie istotne. Nowa opcja “make clean” wszystkie
je usunie. Interesuje nas jedynie plik hex, którego funkcja “make clean” nie
wymaże.
- 53 -
Page 54
Po aktywowaniu opcji z menu MAKE ALL, powinno wyświetlić się następujące
wyjście (poniżej przedstawiona skrócona wersja! Niektóre linie mogą
oczywiście wyglądać nieco inaczej):
> “make.exe” all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Linia “Process Exit Code: 0“ na końcu ma największe znaczenie. Oznacza
ona, że nie wystąpił żaden błąd kompilacji. Jeśli pojawia się coś innego,
kod źródłowy zawiera błąd, na temat którego kompilator zazwyczaj zwraca
wiadomość, aby przybliżyć powód jego pochodzenia. Błąd ten musi zostać
znaleziony i poprawiony.
Zauważ jednak, że komunikat “Process Exit Code: 0“ nie zawsze jest
gwarancją na całkowicie bezbłędny program! Kompilator nie znajdzie
nieprawidowego procesu myślowego, który zaimplementowałeś, np. nie może
zapobiec programowi, który sprawi, że robot uderzy w ścianę. ;-)
UWAGA: Ostrzeżenia i inne błędy także możesz znaleźć w logu na dole
strony. Nie przejmuj się jednak ostrzeżeniami! PN2 zaznacza błędy
i ostrzeżenia innym kolorem, aby łatwiej je było znaleźć. Kompilator pokaże
nawet która linijka mu się nie podoba. Jeśli klikniesz na wiadomość błędu,
PN2 pokaże ci wadliwą linię kodu.
Wskaz na końcu, czyli “AVR Memory Usage“ również jest przydatny.
Dla procesora Atmega64 oznacza to, że nasz program ma rozmiar 3074
bajtów oraz 68 bajtów pamięci RAM jest zarezerwowane na zmienne
statyczne (należy dodać też dynamiczne zakresy stosu, ale to już bardziej
zaawansowane... po prostu zawsze staraj się mieć conajmniej kilkaset bajtów
wolnej pamięci). Procesor dysponuje 64kb (65536 bajtów) pamięci Flash ROM
oraz 2kb (2028 bajtów) pamięci RAM. Wśród 64kb, 2k jest zajęte przez
bootloader - więc właściwie można używać tylko 62kb. Zawsze się upewnij, że
program mieści się w limicie pamięci, jaki narzuca mikrokontroler
(Robot Loader nie prześle za dużego programu!)
- 55 -
Page 56
Oznacza to, że przykładowy program powyżej ma jeszcze zapas 60414 bajtów
wolnej pamięci. Stosunkowo krótki program o nazwie Example_01_Leds.c
ma taki duży rozmiar, bo zawiera bibliotekę Robot ArmBaseLibrary! Więc nie
przejmuj się, jest wystarczająco dużo miejsca na twoje programy,
a niewielkie programy zazwyczaj nie wymagają dużo miejsca. Sama biblioteka
wymaga zaledwie kilka kb pamięci ash, ale znacznie ułatwia pracę i dzięki
niej twoje programy będą znacznie mniejsze w porównaniu do biblioteki Robot
ArmBaseLibrary.
Świeżo skompilowany program może być teraz wgrany do robota poprzez
RobotLoader. Aby to zrobić, należy dodać wygenerowany plik hex do listy
w RobotLoaderze przyciskiem “Add”, wybierz go oraz kliknij na “Upload”
dokładnie tak jak przy programie autotestu. Później możesz przełączyć na
terminal i spojrzeć co dzieje się na wyjściu programu. Należy oczywiście
uruchomić program. Najlepiej poprzez wciśnięcie kombinacji klawiszy
[STRG]+[S] w zakładce terminala lub używając menu (lub wpisz “s” - po
resecie musisz chwilę poczekać na wiadomość “[READY]” z terminala!).
Kombinacja klawiszy [STRG]+ [Y] jest również bardzo wygodna. Jeśli
aktualnie wybrany program jest załadowany do ramienia robota, kombinacja
sprawia, że program od razu zaczyna bieg. Dzięki temu można uniknąć
klikania na zakładkę “Flash Loader” lub używania menu.
Przykładowy program jest bardzo prosty: zapala on jedynie diody LED i
wyświetla tekst na wyjściu.
- 56 -
Page 57
W ramach podsumowania
Mamy nadzieję, że nasze roboty wprowadziły cię do świata
robotów. Tak jak nasi japońscy przyjaciele wierzymy, że roboty
staną się następną rewolucją technologiczną tak jak to było
z komputerami i telefonią komórkową! I będzie to rewolucja, która
przyniesie nowe ekonomiczne możliwości.
Niestety w tym polu Japonia, inne szybkorozwijające się kraje
Dalekiego Wschodu oraz USA znacznie wyprzedzają Europę.
W przeciwie do Europy, na Dalekim Wschodzie uczeń
rozpoczyna swoją techniczną edukację już w szkole
podstawowej, a nauki techniczne odgrywają kluczową rolę
w tamtejszych systemach edukacji.
Mamy cel rozwinąć nasze roboty ASURO, YETI,
Caterpillar i Ramię Robota, ponieważ: