Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

BLE Bot 9000

Componenten en benodigdheden

Arduino 101
× 1
Adafruit Motor/Stepper/Servo Shield voor Arduino v2 Kit - v2 .3
× 1
SparkFun Multi-Chassis - 4WD Kit (Basic)
[ Ambassadeurs:De Tank Kit-variant hiervan van Sparkfun werd geleverd als alternatief voor dit apparaat. Er is vastgesteld dat deze stroomproblemen hebben met de meegeleverde 5x AA. Zie Bekende problemen voor meer informatie. ]
× 1
Adafruit 6 x AA-batterijhouder met 5,5 mm/2,1 mm plug
[ Ambassadeurs:Dit stuk ontbreekt BEKEND uit de kits. De Intel USB-batterijbank kan op zijn plaats worden aangevuld om de Arduino 101 van stroom te voorzien. ]
× 1
5x AA-batterijhouder
Inbegrepen bij Robot Kit.
× 1
Componentenpakket
Bevat 4x afstandhouders, plastic/zwarte schroeven, ~20 draden, een 3-inch klittenband, mogelijk een paar AA-batterijen.
× 1
AA-batterijen
× 11

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
Soldeer (algemeen)
Philips-schroevendraaier
Inbegrepen bij Sparkfun Bot Kits

Apps en online services

Arduino IDE
Johnny-Five
Arduino Firmata

Over dit project

Kennisgevingen:

Bijwerken 12/5/16 van Drew:Klik op Bekende problemen aan de rechterkant en bekijk ze voordat u deze build voltooit. Bepaalde varianten van de kit hebben bekende problemen en ontbrekende onderdelen. We hebben geprobeerd de veelvoorkomende problemen in kaart te brengen. Sommige worden nog opgelost. De fixes worden in de instructies gerold zodra ze zijn bevestigd. Rapporteer eventuele extra aan mij (@ReanimationXP) in de #intel kanaal van slack.hacksterlive.com . Bedankt!

Blaas de Arduino niet op

We hebben meldingen gehad van sommigen die hun bot assembleerden en de VIN-jumper op zijn plaats op het Motor Shield lieten. Neem even de tijd om het te verwijderen voordat u begint. Waarom? Zie De Arduino en Shield van stroom voorzien hieronder.

Inleiding

Dit project laat zien hoe je de ingebouwde BLE-chip op een Arduino 101 kunt gebruiken om een ​​kleine 4x4-robot vanaf je laptop te besturen. Door uw computer de controle van de Arduino 101 zelf te laten overnemen, opent u de mogelijkheid om processorintensieve controlemethoden op te nemen, zoals computervisie, autonoom rijden en geavanceerde feedbackloops (PID).

Hardware

Laten we beginnen! Waar komt deze puppy mee? Het gebruikte robotplatform was de 4x4 met meerdere chassis van Sparkfun. Hij is redelijk duurzaam met een aluminium frame en heeft veel bevestigingspunten voor extra sensoren.

Stappen:

1) De kit vereist een eenvoudige montage, maar het kost wel wat tijd. Volg de instructies die bij uw kit zijn geleverd voor montage, met de volgende afwijkingen:

- Monteer de Arduino 101 op afstandhouders (onderdeel van de afzonderlijke componentenkit) op de bovenplaat (deksel) voordat u het deksel op het robotchassis bevestigt. Als je de afstandhouders niet hebt, isoleer dan gewoon de onderkant van de 101 en bevestig deze aan het deksel.

2) Het Adafruit Motor shield v2.3 vereist ook enige montage, en daarmee bedoelen we solderen. Header-pinnen moeten worden gesoldeerd. Als je de vrouwelijke headers hebt ontvangen met je componentenset (zoals die op de A101), gebruik deze dan en gooi de normale mannelijke weg. Gebruik anders de mannelijke variant die bij het motorschild is geleverd. Gedetailleerde instructies voor het solderen van beide typen vindt u hier (scroll naar beneden naar de juiste sectie voor mannelijk/vrouwelijk koptype):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

Als je nog nooit hebt gesoldeerd, wil je misschien oefenen op iets dat je niet erg vindt om te branden, omdat de headers een beetje lastig kunnen zijn om op hun plaats te solderen. Iemand vragen die veel heeft gesoldeerd om naar je te kijken, is de snelste manier om te leren. Begin elke header door een pin aan de rand te solderen, strak aan de headers te trekken zodat ze gelijk liggen met het bord en perfect recht zijn. Je kunt deze techniek gebruiken om dingen uit te lijnen voordat je alle pinnen soldeert, waardoor de header vrijwel permanent op zijn plaats wordt vergrendeld.

Doe de vrouwelijke header met 6 pinnen naast het Bluetooth-logo als laatste. Het ziet er als volgt uit:[:::] Steek de plastic kant in de Arduino 101 zodat deze volledig vlak ligt, monteer je nu volledig gesoldeerde motorschild erop en laat de mannelijke kant van het 6-pins rooster er doorheen prikken. Druk op het motorschild zodat het volledig in de 101 is gestoken en soldeer vervolgens de mannelijke kant van de 6-pins-grid-header.

3) Bevestig het gemonteerde motorschild aan de bovenkant van de Arduino 101 met behulp van de headers waarop u hebt gesoldeerd.

4) Gebruik de jumperdraden (mannelijk naar mannelijk) om de motoren aan te sluiten op de motoruitgangsklemmenblokken op de motorafscherming, zoals hieronder getoond. Zorg ervoor dat u de juiste paren negatieve en positieve draden matcht en volg het onderstaande bedradingsschema. Opmerking:de gele draden zijn positief op het diagram , en rood op de eigenlijke motoren. Groene draden zijn negatief op het diagram , zwart op de eigenlijke motoren.

5) Controleer of de VIN-jumper NIET is bevestigd voordat u verdergaat. Gebruik een paar jumperdraden om verbinding te maken met de 5-count AA batterijpakket meegeleverd met de robotkit aan op het spanningsingangsklemmenblok op de motorafscherming, rekening houdend met positieve (rood) en aarde (zwart) oriëntatie zoals weergegeven in het onderstaande diagram.

Opmerking: De hieronder afgebeelde 2x AA-houder is NIET NAUWKEURIG naar het echte leven en je hebt er geen in je set - gebruik de 5x AA-houder inbegrepen in uw robotkit. Sommige kits bevatten ook geen 4 motoren. In dit geval sluit u gewoon de juiste motoren aan op M1 en M2 zoals weergegeven aan de rechterkant van het bord en de bovenste twee motoren.

6) Soldeer de vataansluiting aan de draden die van het tweede batterijpakket komen. Zorg ervoor dat u de rode positieve kabel aan de middelste (kortere) aansluiting op de cilinderaansluiting soldeert.

Opmerking :De 6x AA-batterijhouder en de 'cilinderplug' hieronder waren niet inbegrepen in de eerste verzending van ambassadeurskits. We zullen deze zending binnenkort aanvullen met een extra AA-houder en mogelijk extra componenten. Voltooi het bouwen van de bot en ga verder naar Software-overzicht voor nu.

7) Bevestig het 6x AA-batterijpakket aan de achterkant van de robot met de klittenbandstrook:

Bevestig de barrel plug aan de Arduino 101 om hem aan te zetten. Controleer nogmaals of de VIN-jumper niet is bevestigd.

De robot zou nu volledig moeten zijn gebouwd! Zorg ervoor dat beide batterijbanken zijn losgekoppeld, zodat ze geen stroom verbruiken.

Software-overzicht

Het robotbesturingssysteem bestaat uit twee hoofdonderdelen van software. De eerste is de Firmata-serverschets die op de Arduino 101 is geladen. Firmata stelt uw computer in staat om toegang te krijgen tot de pinnen op de Arduino - en bij uitbreiding te communiceren met het motorschild dat de motoren zelf bestuurt. Firmata maakt ook bidirectionele communicatie mogelijk, zodat als u in de toekomst een sensor op uw robot bevestigt, u de sensorgegevens terug kunt sturen naar uw computer.

Het tweede stuk software is de Firmata-client die op uw computer draait. Er zijn veel verschillende Firmata-clients voor verschillende talen, maar in dit project zullen we de Firmata-client gebruiken die in Johnny-Five is ingebouwd. Johnny-Five is een robotica- en IoT-platform voor Arduino gebouwd op Node.js. Meer info vind je hier:http://johnny-five.io/. Johnny-five heeft veel handige bibliotheken, waaronder Firmata en configuraties voor de Adafruit Motorshield die we gebruiken.

Om de Firmata-client en -server verbinding te laten maken, gebruiken we een ble-serial a node.js-bibliotheek die is geschreven om een ​​seriële verbinding over BLE naar de Arduino 101 te openen. https://github.com/monteslu/ble-serial

Ten slotte zullen we, om toetsenbordopdrachten in te lezen, keypess gebruiken, een node.js-bibliotheek voor het lezen van toetsaanslagen. https://github.com/TooTallNate/keypress

Arduino-schets laden

1) Om de Firmata-serverschets op de Arduino 101 te laden, moet u eerst de Arduino IDE downloaden en installeren:https://www.arduino.cc/en/Main/Software

2) Nadat u de basis-IDE hebt geïnstalleerd, moet u het Arduino 101-bord installeren. De volgende tutorial behandelt de installatie van het bord en de basisprogrammering. Als je niet bekend bent met Arduino, is dit een goede plek om te beginnen:https://www.arduino.cc/en/Guide/Arduino101 . De korte versie is dat je het "Intel Curie Boards" pakket moet installeren via de Boards Manager in de IDE. Zodra je dat hebt gedaan, verschijnt Arduino /Genuino 101 in het submenu Board.

3) Sluit de Arduino 101 aan op uw computer via de USB-kabel.

4) Ga in de Arduino IDE naar Tools -> Board en selecteer Arduino / Genuino 101 . Zie je het niet? Ga terug naar stap 2.

5) Ga naar Extra -> poort en zorg ervoor dat je de juiste poort voor je board hebt geselecteerd. Als u niet zeker weet welke poort u moet gebruiken, koppelt u de Arduino los en kijkt u welke poort uit de lijst verdwijnt.

6) Installeer het AdaFruit Motor Shield v2-pakket. Ga naar Sketch -> Bibliotheek opnemen -> Bibliotheken beheren en zoek vervolgens naar "AdaFruit Motor Shield v2". Selecteer het en klik vervolgens op de knop Installeren.

6a) Als u uw bot wilt testen, flash dan het volgende .ino-bestand om uw motoren te testen. Standaard zorgt dit bestand ervoor dat uw bot Vooruit, Achteruit, Linksaf en vervolgens Rechtsaf . gaat herhaaldelijk. https://github.com/ReanimationXP/a101_motortest .

LET OP! Maak je klaar om je wielen te laten bewegen!

Als je het programma a101_motortest naar de bot flasht, beginnen de wielen te bewegen zodra de schets wordt uitgevoerd. Als je de wielen wilt stoppen, kun je ofwel aan de USB-kabel trekken (de stroom naar de Arduino uitschakelen) of aan een van de batterijen trekken.

7) Ga in de Arduino IDE naar Bestand -> Voorbeelden -> Firmata -> StandardFirmataBLE om de Firmata BLE-serverschets te laden. Upload de schets naar de Arduino 101 door op de uploadpijl in de linkerbovenhoek van de editor te klikken.

Als de schets met succes is geladen, moet het laatste bericht in de uitvoer "Schets start over 5 seconden" zijn.

Installeer Python 2.7.13

1) Je hebt Python 2.7.13 nodig om het bluetooth-hci-socket Node.js-pakket te installeren en te compileren.

2) Ga naar https://www.python.org/downloads/. Download Python 2.7.13 en installeer het.

Firmata-client laden

1) De Firmata-client draait op Node.js, als u deze niet hebt geïnstalleerd, gaat u naar de volgende link en volgt u de installatie-instructies:https://nodejs.org/en/

2) Nadat Node.js is geïnstalleerd, maakt u een nieuwe map aan om uw controlecode te bevatten.

3) Open een Node.js-opdrachtprompt en navigeer naar uw projectmap. Als u de Windows-hulpprogramma's in de volgende stap gaat installeren, voert u de opdrachtprompt uit in de beheerdersmodus.

4) Als u Windows 10 gebruikt, moet u de Windows-hulpprogramma's installeren. Doe dit met het volgende commando:

npm install --global --production windows-build-tools 

5) Installeer de volgende NPM-modules:

npm install johnny-fivenpm install keypressnpm install ble-serial npm install bluetooth-hci-socket 

6) Download de controlecode in de github ( https://github.com/martinkronberg/Firmata-BLE-Bot ) en zorg ervoor dat control.js in uw projectmap staat. Je kunt de repo klonen als je wilt, maar de kans op updates is vrij klein...

Voer de code uit

We zijn nu klaar om de robot te gaan besturen! Zorg ervoor dat beide batterijbanken zijn aangesloten en vanuit uw projectmap uitvoeren:

node control.js 

Als alles werkt, krijg je een bericht dat lijkt op:

1476382259569 Verbonden [object Object] 

Als je nu op "w" drukt, rijdt de robot vooruit, "s" om achteruit te rijden, "a" en "d" draaien de robot naar links en rechts.

Mogelijk krijgt u een bericht als "Geen compatibel USB Bluetooth 4.0-apparaat gevonden". Zorg ervoor dat uw computer Bluetooth ondersteunt en dat Bluetooth is ingeschakeld.

Merk op dat u Apparaatbeheer in Windows kunt controleren om te zien of uw pc Bluetooth ondersteunt. Zoek naar een substructuur met de naam "Bluetooth Radios".

Blynk-versie

Als Node en Firmata niet goed voor u werken, kunt u in plaats daarvan de Blynk.cc-bibliotheek gebruiken. Dit is gemakkelijk te gebruiken, platformonafhankelijk, heeft interfaces voor mobiele apparaten.

1. Download de Blynk.cc-bibliotheek en installeer deze op Arduino. Dit kan via de Arduino Library Manager. Versie 0.4.7 op het moment van schrijven.

2. Download en flash de volgende schets naar je Arduino 101:

https://github.com/ReanimationXP/a101_blynk_base

3. Download de Blynk-app. Maak de volgende interface in de app:

Bekende problemen

Ontbrekende onderdelen: 6x AA-batterijhouder en zijn 'barrel Jack, tankkit heeft alleen 2x motoren, niet 4x.

Stroomproblemen met tankkit: Het lijkt erop dat de Sparkfun-tankkit een fout heeft - de meegeleverde batterijhouder is niet krachtig genoeg om de tankbanden aan te drijven. Oplossingen zijn om ofwel de banden te verwijderen, de 5x AA-batterijhouder te vervangen door een 2S (7,4v) lipo-batterij met aanzienlijke mAh (750 mAh bijvoorbeeld), en/of de 101 van stroom te voorzien met een van uw Intel USB-batterijbanken.

Bovendien, als de batterijhouder die bij het Sparkfun-chassis wordt geleverd niet lijkt te werken, zijn de batterijen mogelijk niet goed geplaatst. Trek ze naar achteren terwijl je ze naar beneden duwt en je voelt ze op hun plaats klikken.

Bluetooth/BLE-problemen: BLE-ondersteuning heeft minimale vereisten. Een computer moet Bluetooth 4.0 of hoger ondersteunen, met Windows 8.1 of hoger, om gegarandeerd BLE, de energiezuinige variant van Bluetooth, te ondersteunen. Sommige computers kunnen nog steeds problemen hebben, afhankelijk van de driverstack en hardwareverschillen. De meeste smartphones zijn meer compatibel met BLE. We onderzoeken of we het Blynk-platform kunnen gebruiken om de 101 te besturen, die nu BLE-ondersteuning bevat. Details worden hier gepost indien beschikbaar.

Er is ons ook verteld dat het BLE-gedeelte van de Arduino 101 erg schilferig is als het niet goed wordt gevoed. Zorg ervoor dat je voldoende stroom aansluit op de Arduino 101. Ik raad een sterke 5v USB-voeding aan, ongeveer 2 ampère om brownout-problemen uit te sluiten.

Compatibiliteit van schroeven met Arduino 101: Schroeven uit de componentenset hebben koppen die te groot zijn om op de 101 te passen. De oplossing is om enkele zilveren schroeven uit de robotset te vervangen, en vice versa indien mogelijk. Je kunt ook Velcro-vierkanten gebruiken, zodat het bord stevig vastzit en geïsoleerd is, maar gemakkelijk kan worden verwijderd.

Bibliotheken: U moet de Firmata-bibliotheek upgraden naar minimaal 2.5.3 (versies onder 2.5.3 bevatten geen Firmate BLE-schets)

Hier zijn een paar bronnen om uw leven gemakkelijker te maken tijdens het houden van een bijeenkomst. Voor de laatste twee links moet de Adafruit Motor Shield v2-bibliotheek worden geïnstalleerd.

  • Deze BLE Bot 9000-zelfstudie:http://bit.ly/blebot1
  • Pete Hoffswell's DC-motortestscript:http://bit.ly/blebot2
  • BLE telefoongestuurde robotica met Blynk:http://bit.ly/blebot3

Code

Touchscreen-bediening
Bedien uw 'bot vanaf een touchscreen, met behulp van een Express-server! (Voor meer geavanceerde hackers.)https://github.com/monofuel/blebot9000
Robotbesturingscode
Github met code voor het uitvoeren van de robothttps://github.com/martinkronberg/Firmata-BLE-Bot

Schema's

PDF voor montage chassis

Productieproces

  1. Glucometer-testkit
  2. Speelgoedmodelkit
  3. Open-source kit ondersteunt voorspellend onderhoud
  4. Kit ondersteunt energie-oogstende IoT-ontwerpen
  5. Kit biedt mmWave-ontwikkelplatform
  6. Dev kit vereenvoudigt BLE mesh-netwerken
  7. Raspberry Pi 3 Starter Kit Aansluitgids
  8. Hologram Nova Starter Kit
  9. De MonkMakes Raspberry Pi Robot Kit bouwen
  10. Intellisaurus – Dinosaur Robot Kit
  11. 8 dingen die u moet weten over ISO 9000