Beheer van robotarm met TLV493D, joystick en Arduino: 3 stappe
Beheer van robotarm met TLV493D, joystick en Arduino: 3 stappe
Anonim
Beheer van robotarm met TLV493D, joystick en Arduino
Beheer van robotarm met TLV493D, joystick en Arduino
Beheer van robotarm met TLV493D, joystick en Arduino
Beheer van robotarm met TLV493D, joystick en Arduino
Beheer van robotarm met TLV493D, joystick en Arduino
Beheer van robotarm met TLV493D, joystick en Arduino

'N Alternatiewe kontroleerder vir u robot met 'n TLV493D -sensor, 'n magnetiese sensor met 3 vryheidsgrade (x, y, z) waarmee u u nuwe projekte kan beheer met I2C -kommunikasie op u mikrobeheerders en elektroniese bord wat Bast Pro Mini M0 met 'n SAMD21 -mikrobeheerder op Arduino IDE.

Die doel is om 'n alternatiewe joystick te hê om u projekte te beheer, in hierdie geval 'n robotarm met 3 grade vryheid. Ek het 'n MeArm Robot Arm gebruik, dit is 'n open source-projek, en u kan dit maklik maak, en u kan dit hier vind. Kan u eie beheerarm of ander toepassing maak met hierdie kennis wat ek graag met u wil deel.

Alle elektroniese komponente het skakels om in die winkel aan te skaf, lêers na 3D -drukkers en kode vir Arduino IDE.

TLV493D kan 'n joystick wees Die 3D magnetiese sensor TLV493D-A1B6 bied akkurate driedimensionele sensering met 'n uiters lae kragverbruik in 'n klein 6-pins pakket. Met sy magnetiese veldopsporing in x, y en z-rigting, meet die sensor betroubaar driedimensionele, lineêre en rotasiebewegings.

Toepassings sluit in joysticks, bedieningselemente (wit goedere, multifunksionele knoppe), of elektriese meters (knoeiery), en enige ander toepassing wat akkurate hoekmetings of lae kragverbruik vereis. Die geïntegreerde temperatuursensor kan verder gebruik word vir waarskynlikheidsondersoeke. Belangrikste kenmerke is 3D magnetiese sensering met 'n baie lae kragverbruik tydens operasies.

Die sensor het 'n digitale uitset via 'n 2-draads standaard I2C-koppelvlak tot 1 MBit/sek en 12-bis data-resolusie vir elke metingsrigting (Bx, By en Bz lineêre veldmeting tot +-130mT). TLV493D-A1B6 3DMagnetic is 'n selfstandige buiteboord.

U kan dit maklik koppel aan enige mikrobeheerder van u keuse wat Arduino IDE -versoenbaar is en 'n 3.3V logiese vlak het. In hierdie projek gebruik ons die elektroniese katte -uitbraak en 'n ontwikkelingsbord wat ek later sal verduidelik.

electroniccats.com/store/tlv493d-croquette…

Die voordeel van die gebruik van 'n TLV493D -sensor is dat slegs twee kabels met I2C gebruik word om die inligting te ontvang, dus dit is 'n baie goeie opsie as ons baie min penne op die kaart beskikbaar het, en danksy die voordele van I2C kan ons meer verbind sensors. U kan die bewaarplek vir hierdie projek hier vind. Vir hierdie projek gebruik ons 'n joystick wat u op 'n 3D -drukker kan druk, of laat druk by u naaste 3D -drukwinkel.

Die. STL lêers word aan die einde van die projek bygevoeg. Die samestelling daarvan is baie eenvoudig; u kan dit in video sien

Bou u eie robot In hierdie geval bou ek die robot Mearm v1, wat u op die bladsy van die outeur op hierdie bladsy kan vind

Dit is 'n maklike robot om te maak en te beheer omdat dit servomotors op 5 volt het. U kan enige robot van u keuse bou of gebruik; hierdie projek fokus op beheer met die TLV493D -sensor.

Benodighede:

  • x1 Bast Pro Mini M0 Koop in
  • x1 Croquette TLV493D Koop in
  • x1 Kit MeArm v1
  • x20 Dupont -kabels
  • x1 Protoboard
  • x2 drukknop
  • x1 Magneet 5 mm deursnee x 1 mm dikte

Stap 1: Koppel die sensor met Bast Pro Mini M0

Koppel die sensor met Bast Pro Mini M0
Koppel die sensor met Bast Pro Mini M0

Om die robotarm te beheer, word 'n elektroniese katte-ontwikkelbord gebruik, 'n Bast Pro Mini M0 met 'n SAMD21E ARM Cortex-M0 mikrobeheerder.

Hierdie chip werk op 48MHz, met 256KB programmeringsgeheue, 32KB SRAM en werk met 'n spanning van 1.6v tot 3.6v. Danksy die spesifikasies daarvan kan ons dit vir 'n lae verbruik met goeie prestasie gebruik, en dit ook programmeer met CircuitPython of 'n ander taal wat mikrobeheerders toelaat.

electroniccats.com/store/bast-pro-mini-m0/

As u belangstel om meer te wete te kom oor hierdie kaart, laat ek u die skakel na die bewaarplek daarvan na.

github.com/ElectronicCats/Bast-Pro-Mini-M0…

Om die beweging van die servomotors te beheer, word die magnetiese sensor TLV493D gebruik wat die sein sal stuur om die servomotor in die ooreenstemmende grade te plaas.

Met 'n enkele sensor kan ons twee servomotors skuif; in hierdie voorbeeld gebruik ons slegs 'n enkele sensor en 'n drukknop om die grijper te beheer.

'N Ander voorstel wat u kan doen, is om nog 'n TLV493D -sensor by te voeg en die derde servomotor en die grijper te beweeg. As u dit wel doen, laat u ervaring in die kommentaar en ek nooi u uit om die projek te deel.

Die beeld toon die gewapende kring op 'n protobord.

  • Die eerste servomotor is vir die grijper en kan met pen 2 verbind word
  • Die tweede servomotor is vir die robotbasis en kan met pen 3 verbind word
  • Die derde servomotor is vir die robotskouer en kan met pin 4 verbind word
  • Die vierde servomotor is vir die robot -elmboog en kan met pen 5 verbind word
  • Die eerste drukknoppie is om enige beweging van die robot te stop en word verbind met pen 8 in die aftrek met 'n weerstand van 2.2Kohms.
  • Die tweede drukknop is vir die oop- en sluitbeweging van die grijper en is aan die pen 9 in die aftreksel gekoppel met 'n weerstand van 2.2Kohms.

In die stroombaanbeeld verskyn die TLV493D-sensor nie omdat dit nie bygevoeg is nie, maar 'n 4-pins-aansluiting is bygevoeg om die VCC-, GND-, SCL-, SDA-verbindings te simuleer. In die prentjie word hulle in dieselfde volgorde geplaas.

  • Die eerste pen sluit aan op 3,3 volt op die bord
  • Die tweede pen verbind met GND
  • Die derde SCL -pen word verbind met pen A5 op die bord
  • Die vierde SDA -pen word verbind met die bord se A4 -pen

Danksy die voordeel van die SAMD21 -chip kan ons enige van sy digitale penne as PWM -uitsette gebruik, wat ons sal help om die korrekte polswydte te stuur om die servomotor te beweeg.

'N Ander belangrike inligting wat in ag geneem moet word, is die eksterne kragtoevoer vir die servomotors; in die kring kan u 'n stekker sien wat aansluit op 'n 5 volt by 2Amp -bron, om te voorkom dat die kaart oorlaai word en dit beskadig.

Vergeet ook nie om by die algemene sein GND van die kaart en die eksterne bron aan te sluit nie, anders sou u probleme ondervind om die servomotors te beheer, aangesien hulle nie dieselfde verwysing sou hê nie.

Stap 2: Kodering van die Arduino IDE na Bast Pro Mini M0

Die kodering van die Arduino IDE na Bast Pro Mini M0
Die kodering van die Arduino IDE na Bast Pro Mini M0
Die kodering van die Arduino IDE na Bast Pro Mini M0
Die kodering van die Arduino IDE na Bast Pro Mini M0
Die kodering van die Arduino IDE na Bast Pro Mini M0
Die kodering van die Arduino IDE na Bast Pro Mini M0

Die eerste ding is om die Bast Pro Mini M0 -kaart in die Arduino IDE te installeer, die stappe kan gevind word in die Electronic Cats -bewaarplek en dit is belangrik vir die werking daarvan.

github.com/ElectronicCats/Arduino_Boards_I…

As u die Arduino IDE gereed het, is dit nodig om die amptelike biblioteek van TLV493D-sensor te installeer, gaan na https://github.com/Infineon/TLV493D-A1B6-3DMagnet… en gaan na Releases.

In die eerste deel van die kode word die biblioteke wat gebruik word, in hierdie geval Servo.h vir die servomotors en TLV493D.h vir die sensor verklaar.

As u die Servo.h -biblioteek gebruik, is dit belangrik om die aantal servomotors aan te dui, hoewel die robot 4 tans gebruik word.

Die penne word aangedui vir die drukknoppies wat enige beweging van die robot en die opening en sluiting van die grypstop sal stop. Sommige globale veranderlikes word verklaar wat die toestand van die grijper kan ken en as daar beweging is.

In die tweede deel van die kode sal ons in die seriële monitor die waarde van die graad waarin die motors is, wys. 'N Ander belangrike punt is om die limiet van die grade in u servomotors vas te stel; hiervoor word die kaart () -funksie gebruik wat die waarde van die bewegings van die TLV493D -sensor omskakel na die bereik van 0 tot 180 grade van die servomotor.

Vir die laaste deel van die kode word die voorwaardes gestel om die beweging van die servomotors met die drukknop te aktiveer en om te weet in watter toestand die grijper is vir sy volgende beweging wanneer die tweede drukknop ingedruk word. Soos u in die vorige beelde kan sien, is die kode nie moeilik om te implementeer en te verstaan nie; aan die einde van die projek kan u die kode vind.

Leer u om Circuit Python te gebruik?

As u belangstel om hierdie IDE te gebruik, kan u die Bast Pro Mini M0 -kaart in die volgende skakel vind om die selflaaiprogram af te laai en met Python te begin programmeer.

Stap 3: 3D -stukke

As u belangstel om die projek te maak, kan u die stukke in.stl aflaai en dit druk. U vind die lêers vir die basis en die draaistok.