Met de Grab-it de wereld van de robotica in - Deel 1

Met de Grab-it de wereld van de robotica in – Deel 1

Met de “Grab-it” 5-assige robotarm van de fabrikant JOY-IT kunnen hobbyisten, scholieren en studenten een eenvoudige start maken in de wereld van elektronica, mechanica en programmering. Omdat alle gangbare single-board computers (SBC’s) en microcontrollers kunnen worden gebruikt, bent u niet gebonden aan een bepaald platform en kunt u snel aan de slag. In dit voorbeeld beperken we ons tot de Raspberry Pi, model 4 in combinatie met een Moto Pi en een Arduino Uno in combinatie met een Motorino. Met de krachtige servomotoren en de krachtige grijper kunnen bijvoorbeeld kleine lasten probleemloos worden vastgepakt en van A naar B worden verplaatst.

Opbouw, kalibratie van de motoren en aanwijzingen

De Grab-it robotarmkit wordt geleverd in een praktische multifunctionele koffer en bevat:

  • aluminium robotarm, serienummer: Robot02
  • Raspberry Pi Model 4, 2 GB incl. voeding
  • Moto Pi voor het aansturen van de servo’s
  • 20 W-voeding voor de voeding van de besturingskaart
  • geheugenkaart met Noobs, tools en handleiding
  • 1,5 m HDMI-kabel (HDMI Micro > HDMI) voor 4K-weergave

De robotarm werkt met de volgende motoren:

  • koppel: 21,5 kg·cm bij 7,4 V
  • spanning: 5 tot 7,4 V DC
  • 360° mechanische hoek, 180° werkbereik
  • metalen tandwieloverbrenging
  • besturing via pulsbreedtemodulatie (PWM)

Aanbevolen extra accessoires:

De robotarm van aluminium wordt aangedreven door zes afzonderlijk aan te sturen motoren en is bovendien gemonteerd op een gelagerde draaitafel (360°). De basisplaat is gemaakt van 4,5 mm dik acryl en voorzien van bevestigingsgaten voor alle gangbare SBC’s en microcontrollers. Afstandhouders maken een eenvoudige bevestiging van de basisplaat mogelijk, bijvoorbeeld op een werkbank of een bureau.

Einfache Montage des Roboterarms auf einer Arbeitsplatte
De robotarm kan eenvoudig op een bureau of een werkblad worden gemonteerd.

Stapsgewijze montage en kalibratie van de motoren

Voor de montage is het volgende nodig:

  • Montagemateriaal: kruiskopschroevendraaier, platte tang, inbussleutel (meegeleverd), eventueel pincet
  • laptop en Raspberry Pi met Moto Pi of Arduino met Motorino voor het kalibreren van de motoren
  • Montagehandleiding van JOY-IT
De robotarm wordt geleverd met deze accessoires
De robotarm wordt geleverd met deze accessoires
De doos bevat de volgende onderdelen
De doos bevat de volgende onderdelen

Uitvoering van de montage:

  • Verwijder de folie van de basisplaat.
  • Bevestig een van de ronde servohendels met vier schroeven op een van de ronde platen.
  • Vervolgens wordt een servomotor op de ronde plaat gemonteerd. Hiervoor wordt de plaat op de servo gelegd en met vier schroeven en moeren bevestigd. Hierbij moet erop worden gelet dat het servotandwiel precies in het midden is uitgelijnd.
  • In de vierde stap wordt het lager gemonteerd. Hiervoor worden de vier lange schroeven door de eerste ring gestoken en vervolgens wordt het lager erop geplaatst. Nu wordt de tweede ring erop geplaatst en met de vier lange messing hulzen vastgeschroefd.
  • Vervolgens plaatst u de ronde plaat uit stap 2 met de servobevestiging op de servokop uit stap 3 en bevestigt u deze in het midden met een schroef.
  • Plaats de plaat met de servo op de lagerhouder en schroef deze vast met vier moeren (afbeelding 03).
Na de eerste stappen zijn de eerste servo's gemonteerd
Na de eerste stappen zijn de eerste servo’s gemonteerd (afbeelding 03).
  • Bevestig een lager in de eerste hoekplaat.
  • Schroef de hoekplaat vast aan de ronde plaat.
  • Schroef deze nu vast aan het lager.
  • Nu kan het op de basisplaat worden gemonteerd en aan de onderkant met messing hulzen worden bevestigd. Let op! Zorg ervoor dat de schroefdraad niet uit de hulzen steekt en dat er eerst moeren op de schroefdraadpennen worden bevestigd. Deze worden vervolgens aan de bovenkant vastgedraaid. Nu kunnen ook de kunststof afstandhouders aan de onderkant worden bevestigd (afbeelding 04).
  • Steek de servohendels op de overige servo’s (afbeelding 05).
De eerste servomotoren worden op de basisplaat bevestigd.
De eerste servomotoren worden op de basisplaat bevestigd (afbeelding 04).
Het bevestigen van de servohendels en het kalibreren van de motor is een belangrijke stap.
Het bevestigen van de servohendels en het kalibreren van de motor is een belangrijke stap (afbeelding 05).

LET OP: Voor de montage moeten de servomotoren in hun basispositie worden gekalibreerd! (Instructies verderop)

  • Schroef de twee U-platen vast met elk vier schroeven en moeren.
  • Plaats de servo en bevestig deze met elk vier schroeven en moeren en verbind de servoarm met de robotarm met vier schroeven (afbeelding 06).
De robotarm begint langzaam vorm te krijgen.
De robotarm begint langzaam vorm te krijgen (afbeelding 06).
  • Schroef nog een U-plaat met een hoek vast en bevestig deze aan een servohouder.
  • Bevestig vervolgens weer een lager op de bekende plaats.
  • Plaats een servomotor en bevestig deze zoals bekend met vier schroeven en moeren. Bevestig deze vervolgens met vier schroeven aan de robotarm.
  • Leg twee servohouders op elkaar en verbind ze met schroeven en moeren.
  • Installeer zoals gewoonlijk het lager en de servo.
  • Bevestig met vier schroeven aan de robotarm en bevestig de laatste servo zoals gewoonlijk aan de grijper (afbeelding 07).
Het opzetstuk voor de grijper wordt gemonteerd.
Het opzetstuk voor de grijper wordt gemonteerd (afbeelding 07).
  • Tot slot moet de robotklauw nog worden gemonteerd. Hiervoor worden vier klauwvingers afwisselend met de korte messing afstandhouders vastgeschroefd. Als afsluiting worden aan de ene kant moeren en aan de andere kant schroeven gebruikt.
  • Vervolgens worden vier messing afstandhouders aan de servo bevestigd. Er moet op worden gelet dat er telkens een sluitring onder en boven de afstandhouder komt. Vervolgens wordt een schroef door de plaat gestoken en deze vervolgens met de servo vastgeschroefd. Hierbij worden twee sluitringen op de schroef geplaatst.
  • Vervolgens wordt een lager in de grijper geplaatst.
  • De eerste klauw wordt met een sluitring en moer op de servo bevestigd.
  • Bevestig bij de tweede klauw een servohendel met vier schroeven.
  • Bevestig de tweede klauw en schroef deze vast.
  • Bevestig een servohendel aan de hoek en zet deze met een schroef vast aan de grijparm.
  • Als laatste stap schroeft u de klauw vast aan de hoek (afbeelding 8).
Im letzten Schritt wird der Greifer montiert.
In de laatste stap wordt de grijper gemonteerd (afbeelding 08).

Kalibreren van de motoren

Voordat de servomotoren worden gebruikt en gemonteerd, moeten ze in hun positie worden gekalibreerd voordat ze op de robotarm worden gemonteerd. Alleen zo kan het volledige werkbereik van de robotarm worden benut en de juiste uitgangspositie van de Grab-it worden behouden. Voor een optimale instelling moeten de motoren op een waarde van 1500 worden ingesteld. Alleen de motor van de klauw wordt op de waarde 1600 geprogrammeerd. Voor het kalibreren wordt de betreffende motor aangesloten op de besturingseenheid, zoals de MotoPi in combinatie met de Raspberry Pi of Motorino met Arduino.

  • De Raspberry Pi met aangesloten MotoPi-printplaat wordt aangesloten op de stroomvoorziening (of als alternatief de Arduino met Motorino).
  • Vervolgens wordt de externe 5V-voeding voor de stroomvoorziening van de servomotoren aangesloten op de MotoPi.
  • Het “kalibratiescript” wordt gestart zoals hieronder beschreven. (Let op! Let op de inspringingen bij Python)
  • Nu moeten voor elke te installeren servomotor de volgende stappen worden uitgevoerd:
  • De servomotor die momenteel moet worden geïnstalleerd, wordt op zijn respectieve positie op de MotoPi aangesloten (afbeelding 09).
Alle servomotoren worden in de juiste volgorde aangesloten op de GPIO's van de Moto Pi.
Alle servomotoren worden in de juiste volgorde aangesloten op de GPIO’s van de Moto Pi (afbeelding 09).

De gewijzigde bibliotheek wordt naar de Raspberry Pi gekopieerd en de volgende commando’s worden uitgevoerd:

Navigeer in de terminal naar de map en installeer de bibliotheek met de volgende opdracht:

Nu wordt het nieuwe bestand aangemaakt met de volgende opdracht:

De volgende code wordt in het bestand geschreven:

Sla het bestand op met CTRL+O en sluit de editor met CTRL+X. Start nu de kalibratie met de volgende opdracht:

Het uitvoeren van het kalibratiebestand is een belangrijke stap bij het bouwen van de robotarm.
Het uitvoeren van het kalibratiebestand is een belangrijke stap bij het bouwen van de robotarm. (Afbeelding 10)

Eerste bewegingen uitvoeren met de Raspberry Pi en Moto Pi

Installatie van het Raspberry Pi OS

  • Raspberry Pi OS installeren
    • installeer het gewenste besturingssysteem (bijv. OS Lite 64 bit)
    • kopieer wifi met naam en wachtwoord naar SD-kaart
    • kopieer route-bestand naar SD-kaart
    • plaats SD-kaart in Pi
    • start Pi en voer OS uit (start automatisch)
Installatie van het juiste Raspberry Pi OS, bijv. OS Lite 64-bit.
Installatie van het juiste Raspberry Pi OS, bijv. OS Lite 64-bit (afbeelding 11).
  • kopieer bibliotheek naar Raspberry Pi
  • een Bestand aanmaken
  • voer code voor kalibratie in (zoals hierboven beschreven)

Pulsbreedtemodulatie (PWM)

Pulsbreedtemodulatie (PWM) is een methode waarbij de breedte van een elektrische puls wordt gewijzigd om analoge waarden zoals positie, snelheid of helderheid digitaal te regelen. Een Arduino kan alleen 0 V (LOW) of 5 V (HIGH) uitvoeren, geen echte tussenwaarden. Met PWM simuleert men tussenwaarden door zeer snel tussen HIGH en LOW te schakelen.

Servomotoren, zoals die in de Grab-it zijn ingebouwd, begrijpen geen analoge signalen, maar speciale PWM-signalen met 50 Hz (om de 20 ms). Dat betekent dat er om de 20 ms een stuurimpuls wordt verzonden en dat de lengte van de puls de positie aangeeft. De servo meet hoe lang de puls HIGH is, niet hoe vaak. Er zijn verschillende manieren om een PWM-signaal te genereren. Voor de Grab-it zijn de varianten RPi.GPIO en pigpio geschikt.

Variant 1:

Variant 2:

Codevoorbeeld: eenvoudige bewegingen, grijpen, draaien

Nadat alle motoren in de juiste positie zijn gekalibreerd, de robotarm is opgebouwd en alle onderdelen correct zijn aangesloten, kunnen de eerste bewegingen van de arm worden uitgevoerd. Hiervoor hoeft alleen de juiste code op de Raspberry Pi te worden uitgevoerd. De bibliotheek moet al tijdens het kalibreren zijn gekopieerd. Een code voor de eerste bewegingen kan bijvoorbeeld hier worden gedownload (afbeelding 12).

Een eerste codevoorbeeld laat de arm draaien, grijpen en bewegen.
Een eerste codevoorbeeld laat de arm draaien, grijpen en bewegen (afbeelding 12).

Alternatieve besturing met Arduino

Aansluiting & bekabeling met de Motorino

Het JOY-IT Motorino Shield is een opsteekkaart (“Shield”) voor de Arduino Uno. Deze dient als alternatief voor de combinatie van Raspberry Pi en Moto Pi en omvat:

  • 6 servo-aansluitingen (voor je robotarm)
  • extra stroomvoorziening voor servo’s (tot 12 A)
  • Knop-, LED- en sensoraansluitingen

Procedure:

  • Shield aansluiten
  • Servo’s aansluiten
  • Stroomvoorziening aansluiten
  • Arduino met pc verbinden
  • Optioneel: LED- en knopaansluitingen verbinden

Voorbeeldcode met Servo.h-bibliotheek:

Eenvoudige bediening via potmeters of knoppen

Potmeters of knoppen zijn een mooie manier om de robotarm eenvoudig en nauwkeurig te bedienen:

Knoppen

Elke knop activeert een afzonderlijke actie:

  • Servo naar links/rechts bewegen
  • Grijper openen/sluiten
  • Positie opslaan/oproepen
  • Automatische routine starten

Potmeters

Een potentiometer levert een analoge waarde die proportioneel wordt omgerekend naar een servohoek:

  • Potentiometer links → kleine servohoek
  • Potentiometer rechts → grote servohoek

Potentiometers maken een fijne handmatige besturing van elke as mogelijk.

Voor de knopbediening hebt u twee tot zes drukknoppen nodig, afhankelijk van de gewenste asbesturing, pull-down-weerstanden, kabels en een breadboard om de knoppen aan te sluiten.

Voor de potentiometers kunt u bijvoorbeeld eenvoudige draaipotentiometers gebruiken, één per servo-as. Aangezien de Raspberry Pi geen analoge ingangen kan verwerken, moet u bovendien een ADC-omzetter gebruiken om de ingangssignalen dienovereenkomstig te kunnen omzetten.

Een fragment van een code voor een eenvoudige knopbesturing zou er als volgt uit kunnen zien:

Verschillen met de Pi-variant

  • De Arduino werkt rechtstreeks met PWM-hardware: hij genereert zelf de servobesturingssignalen en reageert in realtime, wat ideaal is voor nauwkeurige bewegingen.
  • De Raspberry Pi is een volwaardige computer en genereert de PWM-signalen via software of een externe module zoals de PCA9685.
  • De Arduino werkt “stand-alone” zonder besturingssysteem, de code start onmiddellijk bij het inschakelen.
  • De Raspberry Pi maakt complexere programma’s mogelijk via Python, AI, camerabesturing enz., maar heeft exacte timingondersteuning nodig.
  • Het Motorino-shield past direct op de Arduino, terwijl de Pi meestal via I²C (PCA9685) met de servo’s wordt verbonden.

Van opbouw tot besturing: de volgende stap

Met de Grab-it-robotarmen kunnen de eerste projecten met de Raspberry Pi of de Arduino worden gerealiseerd. Bijzonder spannend daarbij is het aansturen en bedienen van de servomotoren, waaraan in dit project speciale aandacht wordt besteed. Nadat we in het eerste deel de Grab-it de eerste bewegingen hebben laten uitvoeren, presenteren we in het tweede deel van het artikel spannende projectideeën en programmeren we een webinterface voor het aansturen van de robotarm via de pc of smartphone.

Afbeeldingen: reichelt elektronik, JOY-IT, Adobe Stock


Naar het tweede deel van dit artikel:
Vorbeelden & Uitbreiding: Met de Grab-it de wereld van de robotica in – Deel 2

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *