Arexx JM3-MARVIN-01 User guide [nl]

Developed by JM³ Engineering
JM3-MARVIN-01
Handleiding
Marvin IoT Robot
(c) 2015-2017 AREXX Engineering en JM³ Engineering
www.arexx.com
Actuele updates zijn verkrijgbaar via www.jm3-engineering.com!
AREXX Engineering & JM³ Engineering
Impressum
© 2016-2017 AREXX Engineering
Nevistraat 16
8013 RS Zwolle
The Netherlands
Tel.: +31 (0) 38 454 2028
Fax.: +31 (0) 38 452 4482
„Marvin” heeft een vergunning van en „iRP” is geregistreerde productnamen van „JM3 Engineering”.
„AREXX” is geregistreerde productnamen van AREXX Engineering. Alle andere productnamen zijn
eigendom van de eigenaren. Wij zijn niet verantwoordelijk voor de inhoud van externe webinformatie,
waarnaar vanuit deze handleiding wordt verwezen!
Notities betreffende de garantie en aansprakelijkheid
De garantie van AREXX Engineering is beperkt tot vervanging en reparatie van de robot binnen de wettelijk
voorgeschreven garantieperiode voor aantoonbare productiefouten, zoals mechanische beschadigingen
en ontbrekende of foutief gemonteerde elektronische onderdelen, met uitzondering van alle via de
stekkers/voetjes aangesloten onderdelen.
Voor schade, die direct door de robot of als gevolg van het werken met de robot ontstaat, bestaat geen
aansprakelijkheid. Aanspraken, die op wettelijke voorschriften met betrekking tot aansprakelijkheid voor
producten berusten, blijven onveranderd van kracht.
Zodra onomkeerbare veranderingen (zoals bijvoorbeeld het inbouwen van andere onderdelen, het boren van
gaten, enz.) aan de robot hebben plaatsgevonden of de robot door minachting van deze handleiding schade
heeft opgelopen, gaat elke aanspraak op garantie verloren!!
De fabrikant en importeurs stellen zich niet verantwoordelijk en aanvaarden geen enkele aansprakelijkheid
voor de gevolgen van ondeskundige handelingen en of eventuele fouten bij het aansluiten en bij het gebruik
van dit product, door het niet opvolgen van deze handleiding. Bij schade veroorzaakt door het niet
opvolgen van deze gebruiksaanwijzing, vervalt het recht op garantie voor vervolgschade die hieruit ontstaat.
We kunnen niet garanderen dat de software voldoet aan uw individuele verwachtingen of foutloos zal
functioneren met uw hardware. De updates kunnen worden uitgevoerd door de gebruiker. We aanvaarden
geen aansprakelijkheid voor de door de gebruiker gemaakte fouten gedurende de updates. Let op de
relevante licentie-overeenkomsten op de SD-Karte respectievelijk de Info-Box in browser!
BELANGRIJK! - Lees voor de ingebruikstelling van het product de volledige gebruiksaanwijzing.
Bij ondeskundig gebruik of het niet opvolgen van de veiligheidsaanwijzingen, aanvaarden wij geen
aansprakelijkheid! In dergelijke gevallen vervalt elke aanspraak op garantie! Lees ook alle belangrijke
licentie informatie zoals die beschreven staat in de Marvin software.
Deze handleiding is wettelijk beschermd door copyright. De
inhoud mag zonder voorafgaande, schriftelijke toestemming
van de eigenaren in het geheel of in gedeeltes NIET worden
gekopieerd of overgenomen!
Veranderingen aan de specificaties en leveromvang zijn niet
uitgesloten. De inhoud van deze handleiding kan te allen tijde
zonder aankondiging worden aangepast.
Nieuwe versies staan kosteloos ter beschikking op:
http://www.arexx.com/
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: II
Veiligheidsaanwijzingen
• Controleer de polarisatie van de spanning
• Houd de Marvin altijd droog. Als de Marvin robot nat wordt, direct de spanning verwijderen en de
Marvin droog maken.
• Als je de Marvin langere tijd niet gebruikt, de batterijen verwijderen.
• Voordat u de Marvin in gebruik neemt controleer eerst de algemene conditie van de robot en zijn
toebehoren zoals kabels en batterijen.
• Vraag de hulp van een expert als de bediening, aansluiting of veiligheid van de robot een probleem is.
• Nooit de Marvin in vochtige of ontoereikende ruimtes in bedrijf stellen.
• De Marvin is opgebouwd uit hoogwaardige en gevoelige elektronica componenten. Elektronische
onderdelen zijn erg gevoelig voor statische elektriciteit (ESD). Raak deze componenten nooit
rechtstreeks aan.
• Vermijd ieder direct contact met de componenten en de printplaat.
Normaal gebruik
De Marvin kan worden gebruikt als een experimenteerrobot voor een ieder die geïnteresseerd is in robotica
en programmeren. Het doel van deze robot is om in iRP of in C/C++ te leren programmeren. De Marvin is
geen speelgoed en zonder begeleiding niet geschikt voor kinderen onder de 14 jaar.
Gebruik de robot niet buiten en niet in vochtige ruimtes. Let ook op bij het verplaatsen van koude naar
warme ruimtes, er kan dan condensatie ontstaan. Wacht een tijdje en niet modules te activeren totdat de robot
correct zijn geweest geacclimatiseerd tot kamertemperatuur.
Gebruik anders dan hierboven beschreven kan tot schade leiden en is er risico op kortsluiting brand enz.. Het
robot mag niet worden blootgesteld aan vocht of water.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: III
Veiligheidsinstructies voor de lasernabijheidssensor
VL6180X 80/87 DocID026171 Rev 7
De VL6180X Nabijheidssensor bevat een laserlichtbron en de daartoe benodigde stuurschakeling. Het
laserlichtvermogen van de lichtbron werd zo bemeten, dat de lasermodule onder alle denkbare en voorstelbare
voorwaarden voldoet aan de veiligheidseisen voor laserklasse 1.
Tot deze veiligheidseisen behoren ook de geïsoleerde fouten die in IEC 60 825-1:2007 worden beschreven. Het
laserlichtvermogen blijft binnen de gespecificeerde grenswaardes voor zover aan de door ST Microelectronics in het
datablad gespecificeerde instellingen en meetwaardes wordt voldaan.
Het laserlichtvermogen mag nooit worden verhoogd en er mogen geen optische lenzen voor een bundeling van de
lichtstralen worden toegepast!
Voor de zekerheid wordt aanbevolen niet in de laserbron te kijken.
Voldoet aan 21 CFR 1040.10 en 1040.11 behalve voor afwijkingen volgens Laser Notitie No.50, gedateerd op 24 Juni, 2007.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: IV

Inhoudsopgave

1 Inleiding 2
2 Handleiding 4
2.1 Marvin Robot hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Marvin Robot kenmerken en accessoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Kenmerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Reikwijdte van de beide nabijheidssensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Montage van extra nabijheidssensoren (aan de achterkant) . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Inbedrijfstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Documentatie en software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 iRP WebIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.3 De verbinding van de iRP met de PC of tablet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4 Status LED’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Afstandsbediening en weergave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Systeemdisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.2 IJken van de sensoren en instellen van de systeemtijd . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.3 RTC – Het instellen van de systeemtijd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.4 IJken van het 3D kompas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.5 IJkproces voor de 3D Gyroskoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.6 Activatie van de afstandssensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.7 IJkingsproces voor de afstandssensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Overzichtslijst van de CLI-commando’s (CLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Programmeren met de iRP 21
3.1 Inleiding in de iRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 Basisprincipes voor de bediening van de iRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.2 iRP Helpfunctie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.3 Mijn eerste programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4 Programma starten / stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.5 Het laden en opslaan van programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6 Programma fout (Debugging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.7 De analyse van de programmacode (source code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 JM3 Robot-Tool 2.0 27
4.1 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Mac OSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Windows OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 Het laden van eigen C/C++ Programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4.1 Upload (Marvin applicatie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4.2 Update van de firmware (bootloader) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.5 Terminal scherm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Firmware en iRP Micro-SD-kaart update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6.1 Micro SD-kaart update (Ubuntu-Linux): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6.2 Micro SD-kaart update (Linux - general): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6.3 Micro SD-kaart update (Mac OSX): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6.4 Micro SD-kaart update (Windows OS): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5 Option: Programmeren in C/C++ Software 34
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: V
5.1 Softwarepakket voor Marvin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.1 Toolchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.2 Software-Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.3 Marvin functie knoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Beschrijving van de demosoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Technische gegevens 36
6.1 Afmetingen en gewicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2 Spanningsverzorging en stroomverbruik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3 Spanningen voor de experimenteerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.4 Overige Dataspecificaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7 Documentatie bij de schakeling 37
7.1 Arduino Extension Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2 Pin mapping TM4C129EKCPDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.3 PCB Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Lijst van figuren 42
Lijst van tabellen 42
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: VI
Marvin de IoT Robot
Figuur 0.1 Marvin Robot
Marvin - iRP Web IDE – voor browsers op een PC, Notebook en Tablet
Figuur 0.2 Welkom – venster
*1) *2)
Figuur 0.3 Programmeer - venster
Figuur 0.4 Afstandsbediening en virtueel display
*1) Apple IPAD of MacBook kunnen de gegevens alleen op de Robot SD kaart opslaan
*2) Firefox, Google Chrome en Safari zijn getest, MS Explorer en Edge worden niet ondersteund.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 1

1 Inleiding

De JM3 IoT-Robot “Marvin” valt op door de omvangrijke serie accessoires en opvallende prestaties. Tot de
belangrijkste elementen behoren de TIVA TM C- Microprocessor met de ARM Cortex-M4F en 512KByte
Flash, 256KByte SRAM, 6KB EEPROM en de CC3100 WI-FI® Netwerkcontroller, die de Standaards
802.11 b/g/n met maximaal 16Mbit/s Datatransfers, Multi-Connection, TCP en UDP vervult. Bovendien
bevat het systeem een optimaal aangepaste printantenne, infrastructuur- and ad-hoc modus en een bereik van
> 25 m onder normale omstandigheden.
Daarnaast is de Marvin uitgerust met een High-Tech sensorensysteem, een 9D gyro / kompas en
nabijheidsensoren, die vrijwel onafhankelijk van de reflectiefactoren van de oppervlaktestructuren
functioneren. Deze sensoren kunnen ook het omgevingslicht meten. Tot de accessoires behoren ook een door
batterijvoeding gebufferde RTC (Real-Time-klok) en een Arduino compatibele header voor externe modules.
Je kunt extra sensoren (GPS of een barometer module), eigen hardware of andere Arduino shields aansluiten,
waarbij je de benodigde software dan zelf nog moet ontwikkelen.
De krachtige micromotoren met tandwielaandrijvingen en de hoge resolutie van de rotatiemeting garanderen
hoge bewegingssnelheden voor beide rupsbanden van de robot. In de stroomvoorziening wordt voorzien
door 6 standaard AA batterijen of NIMH accu’s.
Een virtueel display kan op de browsers (Firefox, Google Chrome, Safari) in een PC, MAC of Tablet PC
geopend worden. Ook is het mogelijk de Marvin robot op afstand te besturen.
Het grafische programmeerplatform‚ „Marvin - iRP”, introduceert de robotgebruiker op eenvoudige wijze in
de wereld van het programmeren. Deze methode richt zich speciaal op scholieren en beginners, omdat de
gebruikers niet eerst een programmeertaal moeten leren en er voor de software ook geen extra
ontwikkelomgeving nodig is.
De optie C/C++ is bedoeld voor ervaren programmeurs en experts. Deze wijze van programmeren baseert
zich op C/C++ met FreeRTOS en een complete bibliotheek voor alle benodigde hardware-elementen (het
virtuele display, de drukschakelaar, UART, SPI, I2C, DMA, ADC, Timer enz.). Er staat ook een bundel
praktijkvoorbeelden ter beschikking (een op afstand bestuurde robot, data-weergave via het virtuele display
enz.). Voor de datatransfer van de Hex-code kun je de JM3–Robot-Tool voor Linux en Windows gebruiken.
Marvin heeft alle mogelijkheden om een robot te programmeren en te besturen, via het grafische
iRP-interface of als alternatief via de programmeertaal C++.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 2
Accessoires (niet meegeleverd)
• AA batterijen (Ultra Power) of oplaadbare batterijen NiMH bijv. Ansmann HR06 Type 2700
• Lader MW3310HC / 1 A Laadstroom
• USB-Kabel (Micro-B / Type A) (vaak gebruikt voor smartphones)
Sensor module uitbreiding:
Uitbreidingsprint (compatibel met het Arduino systeem, iRP compatibel)
• Interface voorbereid met een aansluiting voor de barometer of een GPS Module.
• Voor eigen hardware-uitbreidingen.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 3

2 Handleiding

Nabijheids­sensoren
Micro-SD Kaart
USB Interface
Motorsturing
Odometer
Arduino ext. shield header
Stromvoorziening
5.0V en 3.3V
TivaC 1294
WiFi systeem
9D Sensor
Batterijhoulder 6 x AA
Nabijheids­sensoren (opt.)
Drukschakelaar Hoofschakelaar
Laadstromstecker (als er accu's worden gebruikt)
2.1 Marvin Robot hardware
Tip: De beste manier om de Marvin veilig op te pakken is bij de wielen, rupsbanden

Figuur 2.1 Marvin robot hardware

of bij de Batterijhouder. Zorg er altijd voor dat je de Marvin componenten niet
direct aanraakt anders beschadig je de elektronica (microcontrollers, etc.) door
statische ontlading (ESD!).
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 4
2.2 Marvin Robot kenmerken en accessoires
2.2.1 Kenmerken
De IoT Robot beschikt standaard over vele mogelijkheden:
• TIVA TM C - Microcontroller ARM Cortex-M4F Core (Floating Point) met 512KByte Flash,
256KByte SRAM, 6KB EEPROM, CC3100 WI-FI® 802.11 b/g/n – tot maximaal 16 Mbps, een
optimaal aangepaste printantenne, Infrastructuur- en Ad-Hoc Modus, Flash-ROM 8Mbit
• Virtueel venster op de PC of Tablet-PC.
• 3 x Nabijheidssensor / Omgevingslichtsensor (Time of Flight) centraal
rechts-, linksvoor (zijn standaard)
Optioneel te monteren -> + 3 x achter- (-rechts, -links, -centraal)
• 9D - Gyro and kompassensor
• RTC met bufferaccu (wordt tijdens het bedrijf automatisch opgeladen)
• 1 x RGB Status LED
• Status LEDs voor de Wi-Fi®
• 2 x LEDs USB (Rx, Tx)
• 2 x koplampen (wit) en 2 x achterlichten (rood)
• USB - programmering / Wi-Fi configuratie (Micro USB plug)
• Micro SD-Kaart reader
• SMD drukschakelaar
• Arduino uitbreidingsmodule (Extension-Header) – extra UART, SPI, I2C, 6 ADC, maximaal 8 GPIOs
• geschikt voor Interrupts, maximaal 4 PWM kanalen voor servo’s
• 6 cellen stroomvoorziening voor AA-type batterijen respectievelijk accu’s voor een lang operationeel
bedrijf
• Schuifschakelaar en jack batterijplug
• Schakelende voeding voor een efficiënte stroomvoorziening
• Sterke micro-tandwielaandrijving en een snelheidsregeling met een hoge resolutie voor de hogere
snelheden
• Rupsbandaandrijving
• Toepassingsvoorbeelden voor de Marvin – iRP en een afstandsbediening via Firefox, Safari of Google
Chrome Browser
(PC, Notebook, Mac of Tablet (Android)
• Robotprogrammeringsplatform (geschikt voor alle AREXX Robots) en USB-driver voor Linux, Mac
en Windows
• C++ ontwikkelingsplatform (GCC ARM Compiler (Linux), C++ softwarebibliotheek)
• Micro SD-Karrt (Robotdocumentatie, iRP Software en Firmware, RobotTool, toepassingsvoorbeelden
voor programma’s)
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 5
2.2.2 Reikwijdte van de beide nabijheidssensoren
De voorste sensoren beschikken over een zichtveld (FoV) met een openingshoek van 25° en een reikwijdte
van ca. 30 cm. Afstanden van minder dan 10 cm worden als ’nul’ aangeduid. Daardoor wordt bereikt, dat de
robot de hindernissen nog goed kan ontwijken zonder gebruik te moeten maken van een achteruitbeweging.
De beide buitenste sensoren staan met +15° resp. -15° scheef uitgericht ten opzichte van de hoofdas van de
robot om het zichtveld te verbreden. Het resulterende zichtveld vertoont kleine overlappingszones voor de
individuele sensoren met als gevolg dat alle hindernissen in de rijrichting kunnen worden geregistreerd.
FoV Nabijheidssensoren (overzichtspatroon voor alle drie sensoren):
Figuur 2.2 Zichtveld (FoV) van de nabijheidssensoren
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 6
2.2.3 Montage van extra nabijheidssensoren (aan de achterkant)
De sensoren worden gemonteerd met een rasterafstand van 1,27 mm – d.w.z. vergeleken met de normale
montage op pakweg een “gehalveerde rasterafstand”. Daarom is voor het soldeerwerk een soldeerbout met
spitse punt en een vermogen van ongeveer 50W nodig.
Let erop, dat de sensoren rechtop staan en dat ze niet scheef gemonteerd worden. Wij adviseren eerst één van
de pins vast te solderen, dan de correcte draairichting van de sensor vast te leggen en pas dan alle andere
aansluitingen vast te solderen.
Tip: Vergeet niet om de sensoren in de software te activeren. De gegevens om de
sensoren te activeren staan in Hoofdstuk 2.4.6!
Figuur 2.3 Marvin met de achterste nabijheidssensoren
FNa kal
Tip: Advies: Oefen het solderen van de sensoren op een testprintplaat met een
passend raster en wees daarbij spaarzaam in het gebruik van soldeertin. Teveel
soldeertin kan kortsluitingen tussen de aansluitingen (“pins”) veroorzaken!
2.3 Inbedrijfstelling
2.3.1 Documentatie en software
De complete documentatie en de Marvin – iRP Web IDE Software bevinden zich op de Micro-SD Kaart en
kan worden gedownload via de Marvin webinterface, zie het helpmenu onder de gloeilamp.. Op de SD kaart
staat een ext4 file dat normaal gebruikt wordt voor Linux. Deze files kun je niet uitlezen met een Window
PC’s of MAC zonder hulp van een speciaal programma. Alle updates voor de SD kaart worden geleverd als
een ext4 image (disk image). Deze kunnen alleen worden ge-update met behulp van een speciaal programma
dat je kunt downloaden via de browser. Voor de image updates wordt een speciale USB-adapter meegeleverd,
zodat je de SD kaart eenvoudig kunt programmeren.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 7
Tip: Bij de standaardlevering staat de robot in de WiFi AdHoc mode zodat je direct
kunt communiceren met een PC met een WiFi interface (laptop, tablet, etc.).
Er zijn diverse SD kaarten die allemaal verschillende eigenschappen hebben.
Deze SD kaarten zullen wellicht niet allemaal evengoed werken. We raden af om
SD-XC en ScanDisk Ultra kaarten te gebruiken omdat ze wellicht niet werken.
De Marvin updates zijn disk images met de iRP software.
Normaal gesproken wordt er ook een hex file met hetzelfde versienummer als
firmware meegeleverd!
2.3.2 iRP WebIDE
Die Web Interface software en de Marvin documentatie staan al op de ingesloten Micro-SD card. Steek deze
SD-Kaart voorzichtig in het SD-slot.
Figuur 2.4 Marvin met de geplaatste SD kaart
Tip: De SD kaart zit op een veilige plek in de Marvin, laat hem daar zoveel mogelijk
zitten. Normaal gesproken hoef je de SD kaart niet te verwijderen tenzij de kaart
ge-update moet worden!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 8
2.3.3 De verbinding van de iRP met de PC of tablet
In het algemeen zijn er twee verschillende standen (modi), waarin de Marvin robot via WiFi met een
PC/Notebook verbonden kan worden:
• WiFi – Infrastructuur-modus: de Marvin wordt met een netwerk verbonden (WiFi-Router of
Access-Point)
• WiFi - Adhoc modus: in deze modus kun je de Marvin direct met een Notebook of Tablet – PC
verbinden.
SSID: Marvin
IP: 192.168.1.1
Wachtwoord: IoT-Robot
Tip: Het wachtwoord is hoofdletter gevoelig!
Alleen in de ad hoc modus is de SSID van de Marvin robot zichtbaar! In
de infrastructuurmodus wordt Marvin niet rechtstreeks met de computer
verbonden maar via de router. Deze beschikt over een eigen SSID.
Verwijder het browser cache als de iRP-scherm niet correct is geladen!
2.3.3.1 WiFi - AdHoc Mode
Deze modus is bij de uitlevering van de robot ingesteld. Het is de snelste weg om de robot te programmeren
of te besturen. Om de robot met de PC/Notebook te verbinden moet je het volgende doen:
1. Op de PC/Notebook de WiFi inschakelen
2. Schakel nu de robot in – de groene WiFi status LED licht op
3. Zoek op de PC/Notebook in de WiFi-lijst naar de SSID „Marvin”.
4. Verbind de robot met de PC door het intypen van het wachtwoord
5. Open de browser en typ de IP 192.168.1.1 in. Je moet nu een iRP venster Figuur 2.5 zien.
Klaar is Kees – nu kun je de Marvin software gaan ontdekken en een eerste programmaatje laden en
starten! Of ga direct naar de afstandsbediening en zet de lichten aan en uit.
6. Laad nu eens het voorbeeldprogramma „Looplicht”
7. Dit programma moet de status LED in diverse kleuren laten oplichten, die ongeveer elke seconde van
kleur verandert.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 9
2.3.3.2 WiFi - Infrastructuurmodus
Deze modus moet van tevoren met behulp van het JM3 Robot Tool in de robot ingesteld worden en op de
WiFi router aangemeld worden. De Marvin werkt met DHCP – dat wil zeggen, dat er automatisch een
IP-adres gekozen en vastgelegd wordt.
Tip: Zo nodig moet je de Firewall-parameters aanpassen om de verbinding tussen de
Marvin robot en het netwerk te kunnen activeren!
Please delete the browser cache if the iRP screen is not loaded properly!
Met behulp van de volgende stappen kunt je op de WiFi - Infrastructuurmodus overschakelen:
1. Installeer de JM3-Robot Tool (Installatie - zie Hoofdstuk 4
2. Verbind de robot met de PC (micro USB kabel)
3. Open de Robot Tool, schakel de robot in en start de verbinding
4. Voer vervolgens de volgende stappen uit:
a) Verbind (connect) de robot via USB
b) Wissel het venster naar het Terminal venster (Tab)
c) Stuur de volgende commando’s naar de robot:
• wlan DEFAULT - „Enter”
• Schakel de robot UIT en AAN, zodra dit in het venster wordt aangegeven
• wlan STA addprofile „SSID van uw router” „Wachtwoord voor uw router” - „Enter”
Tip: Let erop dat bij het verzenden van het commando
„addprofile” de Terminal Historie uitgeschakeld is.
Anders wordt het routerwachtwoord op de PC in
leesbare vorm opgeslagen!!!
Meer informatie over de commando’s en over het
maken van spaties vindt je in Sectie 2.5
• wlan STA MODE - „Enter”
• Schakel de robot UIT en AAN, zodra dit in het venster wordt aangegeven
d) Check the assigned IP address (DHCP router) for the Marvin robot
• wlan getIP - „Enter”
Het actuele IP-adres wordt nu in het Terminalvenster vermeld, bijvoorbeeld: 192.168.1.120
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 10
5. Vervolgens open je de browser en type je het IP-adres in, bijvoorbeeld: 192.168.1.120
In de browser kun je het resultaat in Figuur 2.5 aflezen.
Je kunt nu de Marvin software gaan ontdekken en een eerste programma laden en starten! Of ga direct
naar de Afstandsbediening en Display en zet de lichten aan en uit.
6. Laad nu het voorbeeldprogramma „Looplicht”
7. Dit programma moet de status LED in diverse kleuren laten oplichten, die ongeveer elke seconde van
kleur verandert.
Figuur 2.5 Marvin WebIDE Welkomsttekst
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 11
2.3.4 Status LED’s
Voor de statusmeldingen van de robot geldt (RGB-LED):
Blauw de robot functioneert normaal
Lila (knipperlicht) de batterijspanning is te laag
Geel - geen SD Kaart of er is een storing opgetreden,
Meldingen met betrekking tot de USB-interface.
Groen - bezig (SD Kaart recovery)
Blauw/groen (knipperlicht) - geen firmware voorhanden
Geel/rood (knipperlicht) bezig met het programmeren van firmware
Rood - Storing – s.v.p. Uit en Aan schakelen
Voor de statusmeldingen van het WIFI systeem zijn drie LED’s in gebruik:
Rood communicatiestoring in het WiFi netwerk
Geel (knipperlicht) de datatransfer is bezig
Geel (constant) de WiFi is vastgelopen
Groen de verbinding met het WiFi-netwerk is in orde. Dit is in de AdHoc
modus steeds het geval, onafhankelijk van de HTTP-verbinding.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 12
2.4 Afstandsbediening en weergave
De „Afstandsbediening en weergave” heeft vijf hoofdfuncties:
De afstandsbediening gebruikersinterface.
Systeemstatusweergave (informatie zoals systeemtijd, accuspanning, sensorstatus)
Gebruiker display (via iRP)
Plotter gebied dat batterijspanning toont, en de snelheid pulsen links rechts kettingsnelheid
(vooraf gedefinieerd door firmware).
Command line interface en knoppen voor kalibratie etc..
De belangrijkste functies worden uitgelegd in de volgende paragrafen.

Figuur 2.6 Afstandsbediening en weergave

Tip: De afstandsbediening en weergave in Figuur 2.6 spreekt voorzichzelf - probeer
het uit!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 13
2.4.1 Systeemdisplay
De beschikbare statusweergaven van de robot op het „Systeemdisplay”.
Het weergavesysteem geeft de volgende resultaten (Figuur 2.7):
Datum en tijd (Time): - Geef het systeemtijd en datum
Batterij (Battery) - Toont de accuspanning
Oriëntering (Orientation) - Toont de kompasrichting (H:), hellingshoek (P:), rolhoek (R:)
Afstands sensoren (Proxi Front (L/M/R)) - Toont de afstand naar een obstakel links, midden en rechts
Lichtintensiteit (ALS Front (L/M/R)) - Toont de lichtintensiteit op de sensoren links, midden en rechts
Gyro sensor (Gyro) - Toont de rotatiesnelheid in de x-, y- en z-as

Figuur 2.7 Systeemdisplay

2.4.2 IJken van de sensoren en instellen van de systeemtijd
In de Marvin Robot kunnen het kompas, de draaisensor (gyro) en de afstandssensoren geijkt worden. Deze
functies worden in het venster (zie ook Hoofdstuk 3.1.1) met de commando-toetsen, resp. met behulp van de
commando-interface, uitgevoerd (Figuur 2.8). Daarnaast kan ook eenvoudig de Real Time klok van de robot
met de systeemklok van de PC of het Notebook worden gesynchroniseerd.
Tip: Normaalgesproken is de ijking slechts eenmaal nodig; daarbij worden alle
ijkingsgegevens in de robot opgeslagen.
Figuur 2.8 Commando-interface
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 14
2.4.3 RTC – Het instellen van de systeemtijd
Het instellen van de Real Time klok in de Marvin Robot wordt gestart door het indrukken van de knop „Set
RTC”. Daarmee is de instelling van de systeemtijd afgesloten.
Tip: De klok loopt vanaf dat moment ook bij een uitgeschakelde Marvin enkele
maanden lang gewoon door. Bij het inschakelen van de robot wordt de batterij
weer opgeladen.
2.4.4 IJken van het 3D kompas
De volgende stappen beschrijven de procedure, die voor de ijking van het 3D-kompas nodig is. De positie
van de NWZO (Noord-West-Zuid-Oost) richtingen wordt automatisch vastgelegd. Om dit proces te starten
hoef je alleen maar een toets in te drukken of een commando te starten.
Tip: Het vastleggen van de NWZO richtingen vergemakkelijken de volledige
ijkingsprocedure, maar is niet echt nodig. Wel van belang is het proces waarin
een complete cirkel wordt doorlopen!
2.4.4.1 Stap 1 – Het ijken voorbereiden
Schakel de Marvin robot aan en verbind de robot met de web interface in de browser. Neem een kompas en
zoek naar de hemelrichtingen Noord, Oost, Zuid en West, waarbij je deze posities moet markeren.
Tip: Deze stap kan worden overgeslagen. Het is belangrijk dat een volledige cirkel
doorlopen.
2.4.4.2 Stap 2 – Inschakelen van de ijkmodus
Schakel nu over naar het venster „Calibrate compass” en Display” en klik op de knop “Kompas ijken”.
Op het venster kun je de imaginaire assen zien, waaraan Marvin zich oriënteert. De X-as is in rood, de Y-as
is in groen en de Z-as is in blauw afgebeeld. Geel is de magnetische inclinatie, waarvan de waarde niet
precies bekend is en bovendien afhangt van de positie op aarde. Als de magnetische inclinatie en de X-as op
één lijn liggen kan men een maximale meetwaarde registreren. Dat is gunstig voor een goede ijking.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 15
Figuur 2.9 Hemelrichtingen en de vector magnetische inclinatie
2.4.4.3 Stap 3 – Het ijkproces
• Laat de robot naar het Noorden wijzen en kiep het toestel 90° naar boven en vervolgens naar beneden.
• Laat de robot ongeveer horizontaal naar het Noorden wijzen en kiep het toestel 90° naar links en
vervolgens naar rechts.
• Herhaal deze analogie voor Oost, Zuid en West en een volledige cirkel - eventueel met tussenwaarden -
dit de nauwkeurigheid toeneemt.
Tip: Kiep de Marvin tijdens het ijkingsproces niet te snel!
2.4.4.4 Stap 4 – Afsluiting van het ijkproces
Na het doorlopen van stap 3 (Het ijkproces) beëindig je de ijkmodus door een klik op de knop “Eind van het
ijkingsproces” en kun je het resultaat controleren door de robot in een bekende hemelrichting te richten.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 16
2.4.5 IJkproces voor de 3D Gyroskoop
Het ijkingsproces voor de gyro wordt gestart door op de knop „IJkproces” te klikken voor de Gyro Offset’.
De tekst van de knop verander je in „IJkingsproces is bezig – s.v.p. wachten”. Deze melding blijft gedurende
de gehele ijkingsprocedure zichtbaar en verdwijnt als het proces klaar is.
Tip: Thet ijkproces verloopt automatisch. Daarbij mag je de robot natuurlijk niet
bewegen.
2.4.6 Activatie van de afstandssensoren
De afstandsensoren kunnen worden geactiveerd of gedeactiveerd middels het „conf” command. Details staan
in Tabel 2.1. Bijvoorbeeld, de sensor in het midden aan de achterzijde activeren, voer het volgende in de
command line in:
• conf add RM „Enter” en vervolgens
• conf save RM „Enter”
Dit zou de RM sensor (achterkant midden) toegevoegen en de configuratie permanent opslaan, de sensor is
nu bedrijfsklaar.
2.4.7 IJkingsproces voor de afstandssensoren
Het kalibratieproces wordt hieronder beschreven. Voor dit doel moet je een iRP hulpprogramma openen,
daarnaast moeten de gemeten waardes voor iedere sensor genoteerd worden. Als gereedschap heb je een
liniaal of meetlint nodig met een lengte van 30 cm tot 50 cm. Tot slot worden de gemeten waardes in de
commando interface Tabel 2.1 opgeslagen.
Tip: Het ijken van de afstandssensoren is niet direct nodig en is in feite een optie om de
precisie van de metingen te verhogen. Wij adviseren beginnelingen deze ijking
voorlopig achterwege te laten.
2.4.7.1 Stap 1 – Voorbereiding
Zet Marvin aan en verbind de robot met de iRP web-interface via de browser.
• Leg een liniaal voor de betreffende sensor, zodat de imaginaire zichtverbindingslijn van deze sensor
met de lijn langs de liniaal overeenkomt.
• Start het iRP programma „IJking van de afstandssensor”.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 17
• Schakel over op de browserpagina „Afstandsbediening en Display”.
Zet Marvin aan en verbind de robot met de iRP web-interface via de browser.
In de onderste vensterhelft Figuur 2.10, vermeldt de software de ruwe afstandswaardes:
FM (Voorkant midden) 0 - 255
FL (Voorkant links) 0 - 255
FR (Voorkant rechts) 0 - 255
RM (Achterkant midden) 0 - 255
RL (Achterkant links) 0 - 255
RR (Achterkant rechts) 0 - 255
Tip: Oor de afstandsmeting kun je de witte Marvin doos als obstakel gebruiken!
2.4.7.2 Stap 2 – Meetproces
Meet nu de betreffende minimale en maximale afstandswaarde van het sensorbereik.
• Beweeg naar het obstakel (de Marvin box), beginnend op circa 35 cm afstand tot in het venster een
ruwe getalwaarde kleiner dan 255 verschijnt.
• Zoek daarbij nu naar de exacte positie voor dit punt en noteer dan de ruwe getalwaarde en de op de
liniaal afgelezen afstand.
• Vervolgens nader je het obstakel (de Marvin Box) zo dichtbij, dat de ruwe getalwaarde in het venster
niet meer verandert (→ dit is de minimale ruwe getalwaarde).
• Zoek nu naar de exacte positie voor dit punt en noteer de ruwe getalwaarde en de op de liniaal
afgelezen waarde.
Figuur 2.10 iRP afstandssensor hulpsoftware
Voer op de commandoregel de volgende tekst in:
• cal prox FM 23 135.0 300 170 „Enter”
In dit voorbeeld is voor de sensor (voorkant midden: FM = Front Mid) geijkt met een laagste ruwe
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 18
getalwaarde van „23” , met een bijbehorende minimale, gemeten afstand „135.0” en een gemeten
maximale afstand „300” met een bijbehorende hoogste ruwe getalwaarde van „170”.
Tip: Alle afstanden moeten in millimeters „mm” worden ingetypt!
Na kalibratie de Marvin een keer herstarten (Uit en Aan)!
2.4.7.3 Stap 3 – Controle van de ijkingsprocedure
Als de ijkprocedure helemaal is uitgevoerd kun je de resultaten controleren voor de linker-, rechter- en de
centrale sensor.
Op een afstand van:
• ca. 13 cm moet er 0 staan
• ca. 30 cm moet er 30 staan
• > 30 cm moet er 255 staan
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 19
2.5 Overzichtslijst van de CLI-commando’s (CLI)
Tabel 2.1 De volgende tabel levert een overzicht van alle beschikbare commando’s met de syntaxis:
Tabel 2.1 CLI commando’s
Commando Beschrijving
cal cmps Activeert/Deactiveert de kompas ijkingsmodus. cal gyro [--state] IJkingsprocedure voor de Gyro Offsets. Als de parameter „–state” wordt
toegevoegd wordt de actuele ijkingsfase afgebeeld.
cal prox „sensor”
„xNear” „mmNear” „xFar” „mmFar”
conf „cmd” „sensor” configures the proximity sensors: FL/FM/FR/RL/RM/RR.
light „on/off” Schakelt de schijnwerpers aan respectievelijk uit. setrtc „H_M_S_W_D_M_Y” Instelling van de systeemklok in de Marvin. wlan AP ssid „SSID” Zet de variabele SSID in de Ad Hoc Modus op de waarde „SSID”. wlan AP passwd „passwd” Zet het wachtwoord in de Ad Hoc Modus op de waarde „passwd”. wlan AP txpwr „pwr” Zet het zendvermogen in de Ad Hoc Modus op de waarde „pwr”.
wlan AP channel „ch” Schakelt het WLAN kanaal in de Ad Hoc Modus.
wlan AP MODE Schakelt de Marvin in de Ad Hoc Modus. wlan STA addprofile
„SSID” „passwd”
wlan STA delprofile „ID” verwijdert het WLAN Profiel met de ID „ID”. Het commando ID „-1”
wlan STA txpwr „pwr” Zet het zendvermogen in de infrastructuur-modus op de waarde „pwr”.
wlan STA ipcfg
„DHCP” | „IP” „mask”
„gw” „dns” wlan STA MODE Schakelt de Marvin over naar de infrastructuur-modus. wlan STA SCAN Scant de beschikbare WLAN netwerken. wlan DEFAULT Schakelt het WLAN module terug op de fabrieksinstellingen. wlan getIP Vermeldt het actuele IP Adres. version Uitgangen versienummer van de firmware. security updatekey
„key.der”
security updatecert
„cert.der”
security htpasswd
„user:passwd”
IJkingsprocedure voor een sensor: FL/FM/FR/RL/RM/RR.
Commando’s (cmd): „add” „del” „read” „save”
„pwr” Dit is een getal tussen 0 en 15. „0” is het maximale zendvermogen.
Het optimale werkpunt ligt bij „pwr” = 4.
„ch” is een getal tussen 0 en 13. „ch” = 0 wordt toegepast voor de automatische kanaaltoewijzing.
Registreert het netwerk met de SSID „SSID” en het wachtwoord
„passwd”. Tot nader orde probeert het systeem zich automatisch steeds
met dit netwerk te verbinden.
verwijdert alle profielen.
„pwr” is een getal tussen 0 en 15. „0” is het maximale zendvermogen.
Het optimale werkpunt ligt bij „pwr” = 4. Activeert in de infrastructuur-modus DHCP of definieer een statisch IP-Adres. „IP”, „mask”, „gw” and „dns” zijn IPv4-adressen.
Kopieert de HTTPS sleutel van de SD-kaart naar de WiFi module.
Kopieert het HTTPS certificaat van de SD-kaart naar de WiFi module.
Leg de gebruikersnaam en het wachtwoord vast voor de Web Server
De „security”-commando’s staan alleen in de C++ Modus onder Linux ter beschikking.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 20

3 Programmeren met de iRP

Programma menu
(werkblad)
Helpfunctie menu
(Gloeilamp)
Taal menu
Tabbladen
voor de hoofschemen
Wi verbindings-
indicator
De grafische programmeertaal Marvin-iRP is gemakkelijk te leren en kan ook worden gebruikt zonder
speciale programmeerkennis zoals bijvoorbeeld C/C++.
De diverse functiemodules ondersteunen het ontwerp en de uitvoering van programma’s op een logisch
niveau. iRP staat voor Intuïtief Robot Programmeren.
3.1 Inleiding in de iRP
3.1.1 Basisprincipes voor de bediening van de iRP
Wij gaan ervan uit, dat omgang met de PC en de browser als bekend mag worden beschouwd.
De verbindingsindicator zit links naast het taalkeuze-menu en geeft de verbindingsstatus met de Marvin weer.
3.1.1.1 Taalkeuze-menu
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 21
Figuur 3.1 Marvin WebIDE Menubalk
• Groene LED is een goede verbinding
• Rode LED geeft een korte onderbreking aan, of een volledig gebruik van de WiFi bandbreedte bijv. bij
het downloaden van bestanden van de SD- kaart.
• Als er een langdurige fout is komt er een pop-up melding op het scherm.
• Je kunt de gewenste taal eenvoudig via het taalkeuze-symbool kiezen.
• Daarnaast bevind zich rechtsonder nog een menu met een vergrootglas voor het vergroten en de
„Zoom”- en „Pan”-functies.
Stap voor stap
Zoom
Wissen /
prullenbak
Download een
programma
Programma
starten
Figuur 3.2 Marvin WebIDE Programma-toetsen
Tip: Andere talen zoals Spaans, Italiaans, Frans en Chinees worden ook ondersteund.
De online Help is mogelijk nog niet beschikbaar in alle talen.
3.1.1.2 Het gloeilamp-symbool
• Helpfunctie met een korte uitleg van de diverse functies.
• Opmerkingen bij de documentatie en software.
• Nogmaals het startvenster openen.
3.1.1.3 Het werkblad-symbool
• Hier kun je programma’s bewerken zoals; laden, opslaan, enz..
• Marvin programma’s opslaan en openen vanaf de SD-kaart.
3.1.1.4 Afstandsbediening en display tabblad
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 22
• Kiezen van de de iRP-modus (beginneling, ervaren, expert) vastleggen. De donkergrijze kleur geeft de
keuze aan.
• Hier staan twee schermen, een scherm voor de afstandsbesturing en een grafisch informatie scherm
(plot-scherm).
• Er staan ook nog twee virtuele schermen deze worden opgedeeld in een vast scherm met de
systeemparameters (bijvoorbeeld de batterijspanning en sensor waarden) en een gebruikers scherm
(User display). In dit scherm kan je de parameters je eigen (Arduino) sensoren en je eigen programma
weergeven.
• Daarnaast kunt u de instellingen te maken en te verzenden commando’s. (Sectie 2.5).
3.1.1.5 Programma tabblad
• Hier kunt u uw programma’s bewerken, bijv. Laden, opslaan, etc.
• Of u kunt bijvoorbeeld programma’s die op de Marvin SD-kaart worden opgeslagen laden. Gewoon
follow het drop down menu.
• U kunt ook kiezen voor de IRP-modus (beginner, gevorderde, Expert) ingesteld.
3.1.2 iRP Helpfunctie
De helpfunctie voor de iRP-functiemodules kan eenvoudig geopend worden.
• Klik op het gloeilamp-symbool (zie linksboven in de afbeelding) of
• Klik op het vraagteken aan de rechterkant in het scherm.
De Help scrolt automatisch naar het block dat momenteel gebruikt wordt (see Figuur 3.3).
Figuur 3.3 De “Help”-functie in de Marvin WebIDE
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 23
3.1.3 Mijn eerste programma
• Een nieuw programma ontstaat door gewoon een aantal iRP functiemodules samen te voegen.
• Als functiemodules “programmeer logisch” niet bij elkaar horen dan kun je deze niet aan het andere
blok toevoegen. In ons voorbeeld past het functieblok „reëel getal” programmeer logisch niet bij een
„geheel getal” (Figuur 3.4).
Figuur 3.4 Niet bij elkaar passend functiemodules in de iRP
3.1.4 Programma starten / stoppen
• Een programma kan gestart worden via het menu in het Programma tabblad of via de „Start” knop.
• Naast de „Start” knop bevindt zich een „tap voor stap” knop, dit is voor de stapsgewijze uitvoering van
het programma tot aan het breekpunt. Daarnaast is er nog de “download”-knop, het vergrootglas
(zoomfunctie) en de prullenbak die is voor het verwijderen van ongebruikte functieblokken.
• Een programma stoppen kan met de „stop” knop.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 24
3.1.5 Het laden en opslaan van programma’s
• Hier kun je programma’s laden respectievelijk opslaan.
• Interessant is ook de optie om al tevoren aangemaakte onderdelen aan een programma toe te voegen.
Op die manier kunt je met de al eerder gemaakte programmamodules een nieuw complexer
programma samenstellen dat bestaat uit meerdere modules. Zie het verderop beschreven
voorbeeldprogramma, „rijd een vierkant met het kompas”.
3.1.6 Programma fout (Debugging)
Als er bij het schrijven van een programma een fout optreedt dan meldt de software dat er iets misgaat en
markeert de betreffende functiemodule met een kleurverandering (zie Figuur 3.5)
Figuur 3.5 Voorbeeld van een compileer fout
Tip: Een erg handige hulpmiddel is de mogelijkheid om breekpunten (breakpoints)
in te stellen waar het programma stopt. Daar waar het breekpunt ingesteld is
worden de gemeten waardes getoond op een virtueel scherm. Dit vereenvoudigt
het fout zoeken in programma’s omdat je de gemeten (of verwachte waarde)
eenvoudig kunt controleren!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 25
3.1.7 De analyse van de programmacode (source code)
Voor het intensievere debuggen is het handig om de programmacode (source code of Quelltext) te bekijkenn
– dit is echter eerder een werkwijze voor ervaren programmeurs en experts. Deze optie wordt gestart via de
„Programma” tabulator „Programmacode” („Quelltext”). De sourcecode wordt zichtbaar als een C++ code,
met een C++ header en je kunt hiermee ook assembleren, zie (Figuur 3.6).
Figuur 3.6 Voorbeeld gegenereerde C ++ code
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 26

4 JM3 Robot-Tool 2.0

4.1 Linux
• Kopieer het JM3 Robot Tool in een directory en start het programma „launch_robotTool.sh”!
Tip: Voor de details zie de install.txt file
• Klik op het icon „Add Robot” - kies een naam (deze kan vrij gekozen worden), de hostnaam en de
USB-poort die u gebruikt en ga naar de volgende stap.
• Kies het type robot in ons voorbeeld, bijv. „Marvin”. De beschikbare USB-poort naam kan worden
opgezocht in de systeemconfiguratie - de USB-poort is meestal „/dev/ttyACM0”.
Als type interface selecteert „UART” met een baudsnelheid „0” (default).
• Klik OK
• Klik op „Add File” om het hex-bestand met het bijbehorende programma te selecteren. Kies het
gewenste MARVIN hex-bestand dat je in de MicroController wilt laden „SelectFile”. Selecteer de
hex-bestand dat u wilt laden in de micro-controller. Als volgende stap selecteert het type, b.v.
„Marvin”.
• Klik OK.
• Selecteer de robot en het programma in de lijst met de Links.
• Klik „Upload program” (bovenaan in de Toolbar)
• Klik „Save” (bovenaan in de Toolbar), als u de toegevoegde robot en het programma wilt opslaan. Als
je deze gegevens opslaat hoef je de volgende keer niet alles opnieuw in te stellen in de RobotTool.
4.2 Mac OSX
• Kopieer het JM3 Robot Tool in een directory en start het programma „robottool.app”.
• Klik op het icon „Add Robot” - kies een naam (deze kan vrij gekozen worden), de hostnaam en de
USB-poort die u gebruikt en ga naar de volgende stap.
• Kies het type robot in ons voorbeeld, bijv. „Marvin”. De beschikbare USB-poort naam kan worden
opgezocht in de systeemconfiguratie - de USB-poort is meestal „/dev/tty.usbmodem1421”.
Als type interface selecteert „UART” met een baudsnelheid „0” (default).
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 27
• Klik OK
• Klik op „Add File” om het hex-bestand met het bijbehorende programma te selecteren. Kies het
gewenste MARVIN hex-bestand dat je in de MicroController wilt laden „SelectFile”. Selecteer de
hex-bestand dat u wilt laden in de micro-controller. Als volgende stap selecteert het type, b.v.
„Marvin”.
• Klik OK.
• Selecteer de robot en het programma in de lijst met de Links.
• Klik „Upload program” (bovenaan in de Toolbar)
• Klik „Save” (bovenaan in de Toolbar), als u de toegevoegde robot en het programma wilt opslaan. Als
je deze gegevens opslaat hoef je de volgende keer niet alles opnieuw in te stellen in de RobotTool.
4.3 Windows OS
• Kopieer het JM3 Robot Tool in een directory en start het programma „robottool.exe”.
• Klik op het icon „Add Robot” - kies een naam (deze kan vrij gekozen worden), de hostnaam en de
USB-poort die u gebruikt en ga naar de volgende stap.
• Kies het type robot in ons voorbeeld, bijv. „Marvin”. De beschikbare USB-poort naam kan worden
opgezocht in de systeemconfiguratie - de USB-poort is meestal „COM3”.
Als type interface selecteert „UART” met een baudsnelheid „0” (default).
• Klik OK
• Klik op „Add File” om het hex-bestand met het bijbehorende programma te selecteren. Kies het
gewenste MARVIN hex-bestand dat je in de MicroController wilt laden „SelectFile”. Selecteer de
hex-bestand dat u wilt laden in de micro-controller. Als volgende stap selecteert het type, b.v.
„Marvin”.
• Klik OK.
• Selecteer de robot en het programma in de lijst met de Links.
• Klik „Upload program” (bovenaan in de Toolbar)
• Klik „Save” (bovenaan in de Toolbar), als u de toegevoegde robot en het programma wilt opslaan. Als
je deze gegevens opslaat hoef je de volgende keer niet alles opnieuw in te stellen in de RobotTool.
Tip: De JM3 RobotTool is ontwikkeld voor en getest op Win7 - Win10 werkt zolang
Microsoft de achterwaartse compatibiliteit van de libraies zal handhaven!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 28
4.4 Het laden van eigen C/C++ Programma’s
Om een geschreven programma (hex-bestand) in de micro-controller te laden moet u tevoren het JM3
RobotTool geïnstalleerd hebben (Figuur 4.1).
4.4.1 Upload (Marvin applicatie)
• Start de JM3 Robot-Tool Men neemt niet de robotgereedschap reeds bereid zoals hierboven
beschreven.
• Klik op „Add File” om het hex-bestand met het nieuwe programma te selecteren. Kies het gewenste
MARVIN hex-bestand dat je in de MicroController wilt laden „SelectFile”. Selecteer de hex-bestand
dat u wilt laden in de micro-controller. Als volgende stap selecteert het type, b.v. „Marvin”.
• Klik OK.
• Selecteer nu de robot uit de lijst bijv. „Marvin” en de hex-bestand door te klikken op deze één voor één
(gemarkeerd lichtgrijs) en klik op „Upload”.
• Klik op „Save” (bovenaan in de Toolbar) als je de geïnstalleerde robots en de programma’s wilt
opslaan.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 29
4.4.2 Update van de firmware (bootloader)
De firmware van de robot Marvin maakt het dus mogelijk om de bootloader zelf knipperen om een latere
versie. Dit vereist de volgende stappen:
• Selecteer de nieuwe boot loader (hex-bestand) zoals hierboven beschreven.
• Klik op „Upgrade Firmware” Voert de update.
Figuur 4.1 De JM3 Robot-Tool
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 30
4.5 Terminal scherm
In de JM3 RobotTool zit een terminal scherm en die maakt het mogelijk om data te ontvangen en te versturen
naar de Marvin. De terminal kan deze data ook opslaan. Diverse instellingen zijn mogelijk via het tabblad
„Settings”:
• Verbinden met de robot „Connect” maakt het mogelijk om de data te ontvangen.
• Verbreek de verbinding met de robot „Disconnect”.
• Stuur data naar de robot „Rechterzijde - onderste venster” - hier kun je commando’s invoeren die je
naar de Marvin wil sturen. Zet de lijn-einde tekens op „LF” (line feed).
• Het programma ondersteunt „undo” gebruik daarvoor de pijltoetsen (omhoog en omlaag) en “refresh”
met F5.
Figuur 4.2 De JM3 Robot-Tool - Terminal scherm
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 31
4.6 Firmware en iRP Micro-SD-kaart update
In het volgende is een beschrijving van het software update proces.
Micro SD-kaart image update (Windows OS)
De firmware-update wordt uitgevoerd met de Robot gereedschap JM3. Details worden beschreven in
Hoofdstuk 4.
• Aansluiten op de PC / Notebook via een USB-kabel (Mirco-B / TypeA).
• Start het JM3 Robot-Tool gereedschap en selecteer de „Firmware.hex” bestand.
• Zet de robot Marvin en maak verbinding met de PC/Notebook.
• Begin met een klik op de „Upload icon”.
Tip: Image IRP SD-kaart firmware en behoren altijd samen!
Na een update altijd verwijdert u de browser cache!
4.6.1 Micro SD-kaart update (Ubuntu-Linux):
The SD card update is started either by double-clicking on the image file (*.img), or by running an
„right-click” on the image file, and selecting „Writing drive image”. Na deze, een venster „Restore drive
image” Verschijnt..
• Selecteer uw Micro SD-kaart.
• Start het beeld-update met „restore ...”
• Wacht tot het beeld volledig is gekopieerd.
• Gelieve „uitwerpen” van de schijf.
4.6.2 Micro SD-kaart update (Linux - general):
Het beeld SD-kaart wordt uitgevoerd met het commando „dd”.
• Steek de SD-kaart met de USB-adapter.
• Open een terminal-venster.
• Controleer de ID „/dev/sdX” van de SD-kaart door het uitvoeren van de opdracht „sudo fdisk -l”.
• Note the ID of the SD card (it must have a size of approximately 2GBytes and contain exactly one
Linux partition).
• „Unmount” de SD-kaart met het commando „sudo umount /dev/sdX”.
• Start het beeld-update met het commando „sudo dd bs=1M if=myImage.img of=/dev/sdX”.
Let op! Gebruik de juiste bestandsnaam en ID, anders worden
alle gegevens op de computer vernietigd!!!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 32
• Wacht tot het beeld volledig is gekopieerd.
• Gelieve „uitwerpen” van de schijf.
4.6.3 Micro SD-kaart update (Mac OSX):
Het beeld SD-kaart wordt uitgevoerd met het commando „dd”.
• Steek de SD-kaart met de USB-adapter.
• Open een terminal-venster.
• Controleer de ID „/dev/diskN” van de SD-kaart door het uitvoeren van de opdracht „sudo diskutil list”.
• Let op de ID van de SD-kaart (het moet een grootte van ongeveer 2GBytes te hebben en bevatten
Precies een Linux-partitie).
• „Unmount” de SD-kaart met het commando „sudo diskutil unmountDisk /dev/diskN”.
• Start het beeld-update met het commando „sudo dd bs=1m if=myImage.img of=/dev/diskN”.
Let op! Gebruik de juiste bestandsnaam en ID, anders worden
alle gegevens op de computer vernietigd!!!
• Wacht tot het beeld volledig is gekopieerd.
• Gelieve „uitwerpen” van de schijf.
4.6.4 Micro SD-kaart update (Windows OS):
Het beeld SD-kaart is uitgevoerd met de „win32DiskImager” tool.
• Start het programma en selecteer het de nieuwe SD-kaart.
• Start de image-update.
• Wacht tot het beeld volledig is gekopieerd.
• Gelieve „uitwerpen” van de schijf.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 33

5 Option: Programmeren in C/C++ Software

De C++ programmeertaal is een moderne versie van de programmeertaal “C” dat komt door een aantal
toevoegingen en verbeteringen.
Alles bij elkaar is het een moderne taal, die op een beter leesbare code gebaseerd is en duidelijk een betere
bescherming biedt tegen neveneffecten (zoals bijvoorbeeld de enums / namespaces in plaats van de
onoverzichtelijke #define declaraties). Assembler- en C- programmadelen kunnen probleemloos
geïntegreerd worden.
Bepaalde voordelen en een reductie van de programmacodering berusten op de toepassing van diverse
instanties van een H/W-driver – bijvoorbeeld twee UART-drivers. Een bijkomstig voordeel is de
probleemloze portabiliteit van de ontwikkelde programmacode.
De toegepaste Extended Embedded C++ implementatie verhindert de volgende C++ opties die je wellicht
van de PC- programmering bekend voorkomen, maar voor een Embedded Systeem niet van betekenis zijn:
• RTTI
• Exceptions (uitzonderingen)
De voor de softwareontwikkeling benodigde Libraries (H/W drivers etc.) en enkele voorbeeldprogramma’s
worden samen met het softwarepakket geleverd.
Tip: Deze optie is bedoeld voor de ervaren programmeurs en experts.
De C/C++ Softwareontwikkeling en het Realtime Operating System FreeRTOS
zijn voor de beginners ongeschikt!
Er wordt van uitgegaan, dat de kennis voor het opbouwen van een complete op
Linux gebaseerde Toolchain en GCC Compiler (inclusief configuratie) aanwezig
is.
5.1 Softwarepakket voor Marvin
Het Marvin softwarepakket bestaat uit de Web-interface software, het bedrijfssysteem (FreeRTOS) met de
API functies en een bibliotheek met alle hardware stuurprogramma’s (drivers) zoals bijvoorbeeld het virtuele
Display, ADC, Timer, I2C, UART, LED en Keypad.
Details en features vindt u in de beschrijvingen der modules en in de specificaties der producten!
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 34
5.1.1 Toolchain
Als Compiler moet de GCC voor ARM (arm-none-eabi-gcc) onder Linux toegepast worden. Bovendien
worden de volgende pakketten nodig: maak, newlib, arm-none-EABI-gcc en python. Elke editor voor de
change van de broncode kan worden gebruikt. De programmering (s/w upload) maakt gebruik van de USB
aansluiting en het „JM3 Robot Tool”. Via deze verbinding kan uw programma snel en efficiënt in de TIVA C
getransfereerd worden.
Wie alle toegangsopties tot de microcontroller wil gebruiken heeft nog een TIVA JTAG Interface nodig,
bijvoorbeeld de TM4C1294 „Connected-Launch-Pad” EK-TM4C1294XL. Daarnaast moet je de 8-pins
JTAG header (RM1.27) op de printplaat te solderen en een geschikte verbindingskabel moet bouwen.
5.1.2 Software-Library
De softwarebibliotheek bevat onder meer de functies zoals bijvoorbeeld het kompas, de hellingssensor, de
Real Time Clock, de motorsturing en een gebruikersinterface voor de configuratie van het WiFi module.
De webinterface kan verschillende waarden weer te geven op de virtuele display in de browser.
Alle functies (blokken) bekend van iRP en anderen zijn beschikbaar in de bibliotheek. C++ code gegenereerd
met iRP kan worden geëxporteerd naar een nieuw project C++. Dit vereenvoudigt ook de overgang van iRP
tot C++.
5.1.3 Marvin functie knoppen
De Marvin functieknoppen in de afstandsbediening en het tabblad Weergave Figuur 5.1 kan alleen worden
gebruikt met eigen C++ programma’s.
Figuur 5.1 Marvin functie knoppen in het afstandsbedieningsscherm & display tabblad
5.2 Beschrijving van de demosoftware
De demo’s van de IRP kan worden uitgevoerd en gebruikt in uw eigen C ++ programma’s. De iRP Web IDE -
„Afstandsbediening en display” kan ook worden gebruikt als een virtuele display.
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 35

6 Technische gegevens

6.1 Afmetingen en gewicht
Breedte: 125 mm
Lengte: 148 mm
Hoogte: 50 mm
Gewicht: 195 g (zonder batterijen)
6.2 Spanningsverzorging en stroomverbruik
VCC = 8.4 V ± 5% => 6 AA cellen
Let op! Het absolute maximum ligt bij 10.0 V !!!
ICC
AVR
Tip: Batterijbedrijfsduur:
= 160mA +40.0 mA / -20.0 mA => zonder Arduino Extension
ca. 5 u - bij motoraandrijving - motoren op 50%
ca. 10 u - bij programmering met de iRP
6.3 Spanningen voor de experimenteerprint
VDD_3V3: Iout,max 50 mA
VDD_5V0: Iout,max 50 mA
VBat_M (VSS): Iout,max 200 mA
6.4 Overige Dataspecificaties
Alle andere gegevens kunnen uit de volgende IC Dataspecificatie aflezen!
Controller: Texas Instruments TM4C1294KCPDT
Motor Driver: Texas Instruments DRV8833CPWP
9D-Sensor: ST Microelectronics LSM9DS1TR
Proxi-Sensor: ST Microelectronics VL6180X
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 36

7 Documentatie bij de schakeling

7.1 Arduino Extension Board
Arduino Shields voldoen aan de H/W-eisen. Alle gebruikelijke interfaces zoals I2C, SPI, UART ADC en
GPIO Bijv. diverse Timer-outputs zijn in staat de benodigde frequenties op te wekken of een passend
impulsbreedtemodulatiesignaal voor bijvoorbeeld de servo-sturing te leveren. Voor de meting van
frequenties en impulsbreedtes staat een Input-Capture-functie ter beschikking.
Tabel 7.1 Pin out Arduino compatible header
Pin 1 = IOREF
Pin 2 = RESET
Pin 3 = VDD_3V3
Pin 4 = VDD_5V0
Pin 5 = GND
Pin 6 = GND
Pin 7 = VSS (V_Bat)
Pin 8 = ADC_X5
Pin 9 = ADC_X4
Pin 10 = ADC_X3
Pin 11 = ADC_X2
Pin 12 = ADC_X1
Pin 13 = ADC_X0
Pin 14 = RX_X
Pin 15 = TX_X
Pin 16 = IO_0
Pin 17 = IO_1
Pin 18 = IO_2
Pin 19 = IO_3
Pin 20 = IO_4
Pin 21 = IO_5
Pin 22 = IO_6
Pin 23 = IO_7
Pin 24 = CS_X
Pin 25 = MOSI_X
Pin 26 = MISO_X
Pin 27 = SCK_X
Pin 28 = GND
Pin 29 = NC
Pin 30 = SDA_X
Pin 31 = SCL_X
AREXX Engineering & JM³ Engineering Version: 1.2.9 7 april 2017 Pagina: 37
Figuur 7.1 Marvin Arduino header - schema
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 38
7.2 Pin mapping TM4C129EKCPDT
Tabel 7.2 TM4C129EKCPDT Pin mapping
Pin Name Function Signal
1 PD0 SSI2DAT1 MISO_SD
2 PD1 SSI2DAT0 MOSI_SD
3 PD2 SSI2FSS CS_SD
4 PD3 SSI2CLK SCK_SD
5 PQ0 SSI3CLK WIFI_SPI_CLK
6 PQ1 SSI3FSS WIFI_SPI_CS
7 VDD
8 VDDA
9 VREFA+
10 GNDA
11 PQ2 SSI3DAT0 WIFI_SPI_MOSI
12 PE3 AIN0 ADC_X3
13 PE2 AIN1 ADC_X4
14 PE1 AIN2 ADC_X2
15 PE0 AIN3 ADC_X5
16 VDD
17 GND
18 PK0 GPIO SD_Present
19 PK1 GPIO INT_2_A/G
20 PK2 GPIO INT_1_A/G
21 PK3 GPIO NC
22 PC7 GPIO INT_M
23 PC6 GPIO DRDY_M
24 PC5 GPIO WIFI_RST
25 PC4 GPIO WIFI_HOST_INT
26 VDD
27 PQ3 SSI3DAT1 WIFI_SPI_MISO
28 VDD
29 PH0 GPIO PROX_RL_CS
30 PH1 GPIO PROX_RM_CS
31 PH2 GPIO PROX_RR_CS
32 PH3 GPIO NC
Pin Name Function Signal
33 PA0 U0RX RX_X
34 PA1 U0TX TX_X
35 PA2 SSI0CLK SCK_X
36 PA3 SSI0FSS CS_X
37 PA4 SSI0DAT0 MOSI_X
38 PA5 SSI0DAT1 MISO_X
39 VDD
40 PA6 GPIO REAR_R
41 PA7 GPIO REAR_L
42 PF0 M0PWM0 Motor_L - AINT1
43 PF1 M0PWM1 Motor_L - AINT2
44 PF2 M0PWM2 Motor_R - BIN1
45 PF3 M0PWM3 Motor_R - BIN2
46 PF4 M0FAULT0 nFault
47 VDD
48 GND
49 PG0 I2C1SCL SCL_PRX
50 PG1 I2C1SDA SDA_PRX
51 VDD
52 VDD
53 EN0RXIN NC
54 EN0RXIP NC
55 GND
56 EN0TXIN NC
57 EN0TXIP NC
58 GND
59 RBIAS
60 PK7 I2C4SDA SDA_9D
61 PK6 I2C4SCL SCL_9D
62 PK5 GPIO SWITCH
63 PK4 GPIO CHARGE
64 WAKE_N
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 39
Pin Name Function Signal
65 HIB_N
66 XOSC0
67 XOSC1
68 VBAT
69 VDD
70 RST_N
71 PM7 TSCCP1 GPIO_T7
72 PM6 TSCCP0 GPIO_T6
73 PM5 GPIO GPIO_T5
74 PM4 GPIO GPIO_T4
75 PM3 T3CCP1 GPIO_T3
76 PM2 T3CCP0 GPIO_T2
77 PM1 T2CCP1 GPIO_T1
78 PM0 T2CCP0 GPIO_T0
79 VDD
80 GND
81 PL0 I2C2SDA SDA_X
82 PL1 I2C2SCL SCL_X
83 PL2 GPIO LED3_B
84 PL3 GPIO LED2_G
85 PL4 GPIO LED1_R
86 PL5 GPIO WIFI_LED_GREEN
87 VDDC
88 OSC0
89 OSC1
90 VDD
91 PB2 GPIO HEAD_R
92 PB3 GPIO HEAD_L
93 PL7 GPIO WIFI_LED_YELLOW
94 PL6 GPIO WIFI_LED_RED
95 PB0 GPIO ODO_L
96 PB1 GPIO ODO_R
Pin Name Function Signal
97 TDO TDO TDO
98 TDI TDI TDI
99 TMS TMD TMS
100 TCK TCK TCK
101 VDD
102 PQ4 GPIO nHIB
103 PP2 GPIO PROX_FR_CS
104 PP3 GPIO PROX_FM_CS
105 PP4 GPIO PROX_FL_CS
106 PP5 GPIO NC
107 PN0 GPIO INT_FL
108 PN1 GPIO INT_FM
109 PN2 GPIO INT_FR
110 PN3 GPIO INT_RL
111 PN4 GPIO INT_RM
112 PN5 GPIO INT_RR
113 VDD
114 GND
115 VDDC
116 PJ0 U3RX USB_TX
117 PJ1 U3TX USB_RX
118 PP0 GPIO NC
119 PP1 GPIO NC
120 PB5 GPIO NC
121 PB4 AIN10 ADC_BAT
122 VDD
123 PE4 AIN9 ADC_ML
124 PE5 AIN8 ADC_MR
125 PD4 AIN7 NC
126 PD5 AIN6 ADC_BBAT
127 PD6 AIN5 ADC_X0
128 WD7 AIN4 ADC_X1
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 40
7.3 PCB Print
Figuur 7.2 Marvin PCB Print
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 41

Lijst van figuren

0.1 Marvin Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.2 Welkom – venster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.3 Programmeer - venster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.4 Afstandsbediening en virtueel display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Marvin robot hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Zichtveld (FoV) van de nabijheidssensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Marvin met de achterste nabijheidssensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Marvin met de geplaatste SD kaart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Marvin WebIDE Welkomsttekst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 Afstandsbediening en weergave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7 Systeemdisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 Commando-interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.9 Hemelrichtingen en de vector magnetische inclinatie . . . . . . . . . . . . . . . . . . . . . . 16
2.10 iRP afstandssensor hulpsoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1 Marvin WebIDE Menubalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Marvin WebIDE Programma-toetsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 De “Help”-functie in de Marvin WebIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Niet bij elkaar passend functiemodules in de iRP . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 Voorbeeld van een compileer fout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Voorbeeld gegenereerde C ++ code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1 De JM3 Robot-Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 De JM3 Robot-Tool - Terminal scherm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1 Marvin functie knoppen in het afstandsbedieningsscherm & display tabblad . . . . . . . . . . 35
7.1 Marvin Arduino header - schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Marvin PCB Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Lijst van tabellen

2.1 CLI commando’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1 Pin out Arduino compatible header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 42
7.2 TM4C129EKCPDT Pin mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
AREXX Engineering & JM³ Engineering
Version: 1.2.9 7 april 2017 Pagina: 43
Loading...