Innehållsförteckning:

Styrande robotarm med TLV493D, joystick och Arduino: 3 steg
Styrande robotarm med TLV493D, joystick och Arduino: 3 steg

Video: Styrande robotarm med TLV493D, joystick och Arduino: 3 steg

Video: Styrande robotarm med TLV493D, joystick och Arduino: 3 steg
Video: Introduction to Heltec LoRa CubeCell Development Board HTCC-AB01 2024, November
Anonim
Styrande robotarm med TLV493D, joystick och, Arduino
Styrande robotarm med TLV493D, joystick och, Arduino
Styrande robotarm med TLV493D, joystick och, Arduino
Styrande robotarm med TLV493D, joystick och, Arduino
Styrande robotarm med TLV493D, joystick och, Arduino
Styrande robotarm med TLV493D, joystick och, Arduino

En alternativ styrenhet för din robot med en TLV493D -sensor, en magnetisk sensor med 3 frihetsgrader (x, y, z) med dessa kan du styra dina nya projekt med I2C -kommunikation på dina mikrokontroller och elektroniska kort som Bast Pro Mini M0 med en SAMD21 mikrokontroller på Arduino IDE.

Målet är att ha en alternativ joystick för att styra dina projekt, i detta fall en robotarm med 3 graders frihet. Jag använde en MeArm Robot Arm detta är ett projekt med öppen källkod och du kan göra det enkelt och du kan hitta det här. Kan göra din egen kontrollarm eller annan applikation med denna kunskap som jag gärna delar med dig.

Alla elektroniska komponenter har länkar att skaffa i butiken, filer till 3d -skrivare och kod för Arduino IDE.

TLV493D kan vara en joystick 3D-magnetiska sensorn TLV493D-A1B6 erbjuder exakt tredimensionell avkänning med extremt låg strömförbrukning i ett litet 6-poligt paket. Med sin magnetfältdetektering i x, y och z-riktning mäter sensorn pålitligt tredimensionella, linjära och rotationsrörelser.

Tillämpningarna inkluderar joysticks, kontrollelement (vitvaror, multifunktionsknappar) eller elektriska mätare (manipulering) och alla andra applikationer som kräver exakta vinkelmätningar eller låga energiförbrukningar. Den integrerade temperaturgivaren kan dessutom användas för sannolikhetskontroller. Viktiga funktioner är 3D magnetisk avkänning med mycket låg strömförbrukning under drift.

Sensorn har en digital utgång via ett 2-tråds baserat standard I2C-gränssnitt upp till 1 MBit/sek och 12-bitars dataupplösning för varje mätriktning (Bx, By och Bz linjär fältmätning upp till +-130mT). TLV493D-A1B6 3DMagnetic är en fristående utombordare.

Du kan enkelt ansluta den till vilken mikrokontroller du vill som är Arduino IDE -kompatibel och har en 3.3V logiknivå. I detta projekt använder vi Electronic Cats breakout och en utvecklingstavla som jag kommer att förklara senare.

electroniccats.com/store/tlv493d-croquette…

Fördelen med att använda en TLV493D -sensor är att endast två kablar med I2C används för att ta emot informationen, så det är ett mycket bra alternativ när vi har väldigt få stift tillgängliga på kortet, tack vare fördelarna med I2C kan vi ansluta mer sensorer. Du kan hitta förvaret för detta projekt här. För detta projekt kommer vi att använda en joystick som du kan skriva ut på en 3D -skrivare eller få den utskriven på din närmaste 3D -utskriftsbutik.

. STL -filerna läggs till i slutet av projektet. Dess montering är mycket enkel, du kan se den i video

Bygg din egen robot I det här fallet bygger jag roboten Mearm v1 som du kan hitta det här projektet på författarens sida här

Detta är en enkel robot att tillverka och styra eftersom den har servomotorer på 5 volt. Du kan bygga eller använda vilken robot du vill, detta projekt kommer att fokusera på kontroll med TLV493D -sensorn.

Tillbehör:

  • x1 Bast Pro Mini M0 Köp in
  • x1 Croquette TLV493D Köp in
  • x1 Kit MeArm v1
  • x20 Dupont -kablar
  • x1 Högskolan
  • x2 Tryckknapp
  • x1 Magnet 5 mm diameter x 1 mm tjocklek

Steg 1: Anslutning av sensorn med Bast Pro Mini M0

Anslutning av sensorn med Bast Pro Mini M0
Anslutning av sensorn med Bast Pro Mini M0

För att styra robotarmen används en elektronisk kattutvecklingskort, en Bast Pro Mini M0 med en SAMD21E ARM Cortex-M0 mikrokontroller.

Detta chip fungerar vid 48MHz, med 256KB programmeringsminne, 32KB SRAM och fungerar med en spänning på 1,6v till 3,6v. Tack vare dess specifikationer kan vi använda den för låg förbrukning med bra prestanda och även programmera den med CircuitPython eller något annat språk som tillåter mikrokontroller.

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

Om du är intresserad av att veta mer om det här kortet lämnar jag länken till dess arkiv.

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

För att styra servomotorernas rörelse används den magnetiska sensorn TLV493D som skickar signalen för att positionera servomotorn i motsvarande grader.

Med en enda sensor kan vi flytta två servomotorer, i det här exemplet kommer vi bara att använda en enda sensor och en tryckknapp för att styra griparen.

Ett annat förslag du kan göra är att lägga till en annan TLV493D -sensor och flytta den tredje servomotorn och griparen. Om du gör det, lämna din erfarenhet i kommentarerna och jag inbjuder dig att dela projektet.

Bilden visar den beväpnade kretsen på ett protoboard.

  • Den första servomotorn är för griparen och ansluts till stift 2
  • Den andra servomotorn är för robotbasen och ansluts till stift 3
  • Den tredje servomotorn är för robotens axel och ansluts till stift 4
  • Den fjärde servomotorn är för robotarmbågen och ansluts till stift 5
  • Den första tryckknappen är att stoppa varje rörelse av roboten och ansluts till stift 8 i neddragning med ett motstånd på 2,2Kohms.
  • Den andra tryckknappen är för griparens öppnings- och stängningsrörelse och är ansluten till stift 9 vid neddragning med ett motstånd på 2,2Kohms.

I kretsbilden visas inte TLV493D-sensorn eftersom den inte lades till fritzing men en 4-polig kontakt tillsattes för att simulera dess VCC-, GND-, SCL-, SDA-kontakter. På bilden placeras de i samma ordning.

  • Den första stiftet ansluts till 3,3 volt på kortet
  • Den andra stiftet ansluts till GND
  • Den tredje SCL -stiftet ansluts till stift A5 på kortet
  • Den fjärde SDA -stiftet ansluts till kortets A4 -stift

Tack vare fördelen med SAMD21 -chipet kan vi använda alla dess digitala stift som PWM -utgångar, vilket hjälper oss att skicka rätt pulsbredd för att flytta servomotorn.

En annan viktig information som måste beaktas är den externa strömförsörjningen för servomotorerna, i kretsen kan du se ett kontaktdon som ansluts till en 5 volt vid 2Amp -källa, för att undvika överbelastning av kortet och skada det.

Glöm inte heller att ansluta den gemensamma signalen GND för kortet och den externa källan, annars skulle du ha problem med att styra servomotorerna eftersom de inte skulle ha samma referens.

Steg 2: Kodning av Arduino IDE till Bast Pro Mini M0

Kodning av Arduino IDE till Bast Pro Mini M0
Kodning av Arduino IDE till Bast Pro Mini M0
Kodning av Arduino IDE till Bast Pro Mini M0
Kodning av Arduino IDE till Bast Pro Mini M0
Kodning av Arduino IDE till Bast Pro Mini M0
Kodning av Arduino IDE till Bast Pro Mini M0

Det första blir att installera Bast Pro Mini M0 -kortet i Arduino IDE, stegen finns i Electronic Cats -förvaret och de är viktiga för dess drift.

github.com/ElectronicCats/Arduino_Boards_I…

När du är klar med Arduino IDE är det nödvändigt att installera det officiella biblioteket för TLV493D-sensorn, gå till https://github.com/Infineon/TLV493D-A1B6-3DMagnet… och gå till Releases.

I den första delen av koden deklareras de bibliotek som används, i detta fall Servo.h för servomotorerna och TLV493D.h för sensorn.

När du använder Servo.h -biblioteket är det viktigt att deklarera antalet servomotorer, även om roboten har 4 vid denna tidpunkt används endast 3.

Stiften deklareras för tryckknapparna som stoppar all rörelse av roboten och griparens öppning och stängning. Vissa globala variabler deklareras som kommer att tjäna att känna till griparens tillstånd och om det finns rörelse.

I den andra delen av koden visar vi i seriemonitorn värdet på graden i vilken motorerna är. En annan viktig punkt är att fastställa gränsen för graderna i dina servomotorer, för detta används kartan () -funktionen som omvandlar värdet på rörelserna för TLV493D -sensorn till intervallet 0 till 180 grader för servomotorn.

För den sista delen av koden är förutsättningarna upprättade för att aktivera servomotorernas rörelse med tryckknappen och för att veta vilket tillstånd griparen är i för sin nästa rörelse när den andra tryckknappen trycks in. Som du kan se i de tidigare bilderna är koden inte svår att implementera och förstå, i slutet av projektet kan du hitta koden.

Lär du dig att använda Circuit Python?

Om du är intresserad av att lära dig hur du använder denna IDE kan du hitta Bast Pro Mini M0 -kortet i följande länk för att ladda ner bootloader och börja programmera det med Python.

Steg 3: 3D -bitar

Om du är intresserad av att göra projektet kan du ladda ner bitarna i.stl och skriva ut dem. Du hittar filerna för basen och rotationspinnen.

Rekommenderad: