Het bouwen van een robotarm

Gepost door Jeroen Vreuls op maandag 30 december 2019

Ontwerp

Ik liep al een tijd met de gedachte rond om een keer een robotarm te gaan maken, maar het kwam er maar niet van. Heb er toch de tijd voor gevonden en ik moet zeggen dat het een leuk project geworden is. Het heeft bij elkaar wel ongeveer een jaar geduurd, maar heb er niet constant aan gewerkt. Ik ben met wat ruwe schetsen begonnen en heb wat berekeningen gemaakt voor de motoren, dat wilde ik wel eerst voor elkaar hebben zodat ik later niet voor verrassingen zou komen te staan.

Voor de motoren heb ik stappenmotoren genomen met een vertraging van 20:1, deze motoren leveren een koppel van 20 Nm. Je ziet vaak dat er voor modelbouw servo's gekozen wordt, maar die waren voor mij sowieso te klein. En ik vind ze veel te soppig, vooral als ze wat zwaarder belast gaan worden.

Het is de bedoeling dat het een vijfassige arm gaat worden, met een basis, bovenarm, onderarm, pols en een hand.

Ik heb voor verschillende materialen gekozen, de basis en bovenarm worden gemaakt van MDF. De onderarm wordt een combinatie van MDF en PVC. Het draaigedeelte voor de basis wordt van staal en wordt met kogellagers gelagerd. De as voor de pols wordt van RVS gemaakt en dan nog wat aluminium onderdelen voor de bediening van de boven en onderarm.

Ik wilde ook dat de arm op verschillende manieren bediend kon worden, ik heb gekozen voor een bediening via een IR-afstandsbediening en een bediening via de PC. Via de PC wordt er weer gebruik gemaakt van Profilab Expert 4.0 en voor de IR-afstandsbediening gebruik ik een Marmitek CableLink 75. De afstandsbediening werkt met RC5 code en die is weer goed uit te lezen via de Microchip controllers die ik gebruik.

Voor de besturing ga ik gebruik maken van twee verschillende controllers: de PIC16F873 en de PIC18F4520. De 16F873 wordt als interface ingezet voor de communicatie tussen de afstandsbediening en de bediening via de PC. Ik heb hier voor gekozen omdat het uitlezen van de afstandsbediening nogal wat instructietijd vraagt en dat ga je terugzien in de snelheid van de stappenmotoren. Het uitsturen van de signalen van de PC gebeurt via de USB poort met een USB naar serieel converter. Dit gebruik ik vaker als ik signalen van de PC naar een controller stuur en van de controller naar de PC. Dit werkt prima en zonder problemen.

De 18F4520 regelt het aansturen van de stappenmotoren en de DC-motor voor de hand. In deze controller staat het nullen van de assen, de handbediening van de arm en het auto programma voor het automatisch aflopen van de geprogrammeerde bewegingen van de arm.

De communicatie tussen beide controllers gebeurt parallel, maar dat wordt later wel duidelijk als de software aan de orde komt.

Voor de bediening van de hand ga ik een L293D gebruiken in combinatie met een 4011. Voor de stappenmotoren ga ik vier M325 micro step drivers gebruiken, deze zijn zwaar genoeg voor mijn toepassing. Als voeding voor het geheel ga ik een geschakelde voeding gebruiken van 12 V DC bij 6 A, dat is meer dan voldoende voor de motoren en de controllers.