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. •...
Pagina 4
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.
Marvin de IoT Robot Figuur 0.1 Marvin Robot *1) *2) Marvin - iRP Web IDE – voor browsers op een PC, Notebook en Tablet Figuur 0.2 Welkom – venster 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.
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.
Pagina 9
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) •...
2 Handleiding 2.1 Marvin Robot hardware Arduino ext. shield header Nabijheids- sensoren Stromvoorziening 5.0V en 3.3V Micro-SD Kaart TivaC 1294 WiFi systeem USB Interface 9D Sensor Odometer Batterijhoulder 6 x AA Nabijheids- Motorsturing sensoren (opt.) Laadstromstecker Drukschakelaar Hoofschakelaar (als er accu's worden gebruikt) Figuur 2.1 Marvin robot hardware Tip: De beste manier om de Marvin veilig op te pakken is bij de wielen, rupsbanden...
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.
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.
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.
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) •...
Pagina 16
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.
Pagina 17
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.
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. •...
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).
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:) •...
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.
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.
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.
• 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 •...
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 –...
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 Activeert/Deactiveert de kompas ijkingsmodus. cal cmps IJkingsprocedure voor de Gyro Offsets. Als de parameter „–state” wordt cal gyro [--state] toegevoegd wordt de actuele ijkingsfase afgebeeld.
3 Programmeren met de iRP 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.
Download een Programma Stap voor stap programma starten Wissen / Zoom prullenbak 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 •...
• 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.
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”...
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.
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”...
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.
• 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”.
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.
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. •...
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”: •...
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). •...
• 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. •...
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).
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”.
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 = 8.4 V ± 5% => 6 AA cellen Let op! Het absolute maximum ligt bij 10.0 V !!! = 160mA +40.0 mA / -20.0 mA =>...
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.
Pagina 44
Figuur 7.1 Marvin Arduino header - schema AREXX Engineering & JM³ Engineering Version: 1.2.9 7 april 2017 Pagina: 38...