Innehållsförteckning:
- Steg 1: Anslutning av sensorn med Bast Pro Mini M0
- Steg 2: Kodning av Arduino IDE till Bast Pro Mini M0
- Steg 3: 3D -bitar
Video: Styrande robotarm med TLV493D, joystick och Arduino: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:36
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
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
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:
Arduino -styrande flera P.I.R -sensorer på samma bord: 3 steg
Arduino -styrning av flera PIR -sensorer på samma bord: Idag kommer jag att berätta hur du ansluter flera PIR -sensorer med en enda Arduino Bord > här har jag också använt 4 -kanals relämodul för lite extra funktionalitet. (ELLER Du kan använda så många nålar till din arduin
Styrande LED med potentiometer med Arduino Uno R3: 6 steg
Styr LED med potentiometer med Arduino Uno R3: Tidigare har vi använt Serial Monitor för att skicka data till styrkortet, vilket kan vara upplysande att känna till en ny programvara. I den här lektionen, låt oss se hur du ändrar luminansen för en LED med en potentiometer och tar emot data från potentiometern
Enkel och smart robotarm med Arduino !!!: 5 steg (med bilder)
Enkel och smart robotarm med Arduino !!!: I denna instruerbara kommer jag att göra en enkel robotarm. Det kommer att styras med hjälp av en masterarm. Armen kommer ihåg drag och spelar i följd. Konceptet är inte nytt Jag fick idén från " mini robotarm -av Stoerpeak " Jag ville t
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid