Innholdsfortegnelse:
- Trinn 1: Koble til sensoren med Bast Pro Mini M0
- Trinn 2: Koding av Arduino IDE til Bast Pro Mini M0
- Trinn 3: 3D -stykker
Video: Kontrollerende robotarm med TLV493D, joystick og Arduino: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
En alternativ kontroller for roboten din med en TLV493D -sensor, en magnetisk sensor med 3 frihetsgrader (x, y, z) med disse, du kan kontrollere dine nye prosjekter med I2C -kommunikasjon på mikrokontrollerne og elektronisk kort som Bast Pro Mini M0 med en SAMD21 mikrokontroller på Arduino IDE.
Målet er å ha en alternativ joystick for å kontrollere prosjektene dine, i dette tilfellet en robotarm med 3 graders frihet. Jeg brukte en MeArm Robot Arm, dette er et åpen kildekode-prosjekt, og du kan gjøre det enkelt og du kan finne det her. Kan lage din egen kontrollarm eller annen applikasjon med denne kunnskapen som jeg gjerne vil dele med deg.
Alle elektroniske komponenter har koblinger å hente i butikken, filer til 3d -skriver og kode for Arduino IDE.
TLV493D kan være en joystick 3D-magnetisk sensor TLV493D-A1B6 tilbyr nøyaktig tredimensjonal sensing med ekstremt lavt strømforbruk i en liten 6-pinners pakke. Med sin magnetfeltdeteksjon i x, y og z-retning måler sensoren pålitelig tredimensjonale, lineære og rotasjonsbevegelser.
Bruksområdene inkluderer joysticks, kontrollelementer (hvitevarer, multifunksjonsknapper) eller elektriske målere (manipulering) og andre applikasjoner som krever nøyaktige vinkelmålinger eller lavt strømforbruk. Den integrerte temperatursensoren kan dessuten brukes til sannsynlighetskontroller. Nøkkelfunksjoner er 3D magnetisk sensing med svært lavt strømforbruk under operasjoner.
Sensoren har en digital utgang via et 2-lederbasert standard I2C-grensesnitt på opptil 1 MBit/sek og 12-bits dataoppløsning for hver måleretning (Bx, By og Bz lineær feltmåling opptil +-130mT). TLV493D-A1B6 3DMagnetic er en frittstående utenbordsmotor.
Du kan enkelt koble den til hvilken som helst mikrokontroller du ønsker, som er Arduino IDE -kompatibel og har et 3.3V logisk nivå. I dette prosjektet bruker vi Electronic Cats breakout og et utviklingstavle som jeg vil forklare senere.
electroniccats.com/store/tlv493d-croquette…
Fordelen med å bruke en TLV493D -sensor er at bare to kabler med I2C brukes til å motta informasjonen, så det er et veldig godt alternativ når vi har svært få pinner tilgjengelig på kortet, også takket være fordelene med I2C kan vi koble til mer sensorer. Du finner depotet for dette prosjektet her. For dette prosjektet vil vi bruke en joystick som du kan skrive ut på en 3D -skriver eller få den skrevet ut i din nærmeste 3D -utskriftsbutikk.
. STL -filene er lagt til på slutten av prosjektet. Monteringen er veldig enkel, du kan se den i video
Bygg din egen robot I dette tilfellet bygger jeg roboten Mearm v1 som du kan finne dette prosjektet på siden til forfatteren her
Dette er en enkel robot å lage og kontrollere fordi den har servomotorer på 5 volt. Du kan bygge eller bruke hvilken som helst robot etter eget valg, dette prosjektet vil fokusere på kontroll med TLV493D -sensoren.
Rekvisita:
- x1 Bast Pro Mini M0 Kjøp inn
- x1 Croquette TLV493D Kjøp inn
- x1 Kit MeArm v1
- x20 Dupont -kabler
- x1 Stavanger
- x2 Trykknapp
- x1 Magnet 5 mm diameter x 1 mm tykkelse
Trinn 1: Koble til sensoren med Bast Pro Mini M0
For å kontrollere robotarmen brukes et Electronic Cats utviklingsbord, en Bast Pro Mini M0 med en SAMD21E ARM Cortex-M0 mikrokontroller.
Denne brikken opererer ved 48MHz, med 256KB programmeringsminne, 32KB SRAM og opererer med en spenning på 1,6v til 3,6v. Takket være spesifikasjonene kan vi bruke den til lavt forbruk med god ytelse og også programmere den med CircuitPython eller et annet språk som tillater mikrokontrollere.
electroniccats.com/store/bast-pro-mini-m0/
Hvis du er interessert i å vite mer om dette kortet, vil jeg gi deg lenken til depotet.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
For å kontrollere bevegelsen til servomotorene brukes den magnetiske sensoren TLV493D som sender signalet for å plassere servomotoren i de tilsvarende grader.
Med en enkelt sensor kan vi flytte to servomotorer, i dette eksemplet vil vi bare bruke en enkelt sensor og en trykknapp for å kontrollere griperen.
Et annet forslag du kan komme med er å legge til en annen TLV493D -sensor og flytte den tredje servomotoren og griperen. Hvis du gjør det, legg igjen din erfaring i kommentarene, og jeg inviterer deg til å dele prosjektet.
Bildet viser den væpnede kretsen på et protoboard.
- Den første servomotoren er for griperen og kobles til pinne 2
- Den andre servomotoren er for robotbasen og kobles til pinne 3
- Den tredje servomotoren er for robotskulderen og kobles til pinne 4
- Den fjerde servomotoren er for robotalbuen og kobles til pin 5
- Den første trykknappen er for å stoppe enhver bevegelse av roboten og kobles til pinne 8 i nedtrekkbar med en motstand på 2,2Kohms.
- Den andre trykknappen er for åpning og lukking av griperen og er koblet til pinne 9 i nedtrekkbarhet med en motstand på 2,2Kohms.
I kretsbildet vises ikke TLV493D-sensoren fordi den ikke ble lagt til fritzing, men en 4-pinners kontakt ble lagt til for å simulere VCC-, GND-, SCL-, SDA-kontaktene. På bildet er de plassert i samme rekkefølge.
- Den første pinnen kobles til 3,3 volt på brettet
- Den andre pinnen kobles til GND
- Den tredje SCL -pinnen kobles til pinne A5 på brettet
- Den fjerde SDA -pinnen kobles til brettets A4 -pinne
Takket være fordelen med SAMD21 -brikken kan vi bruke hvilken som helst av de digitale pinnene som PWM -utganger, som vil tjene oss til å sende riktig pulsbredde for å flytte servomotoren.
En annen viktig informasjon som må vurderes er den eksterne strømforsyningen til servomotorene, i kretsen kan du se en pluggkontakt som kobles til en 5 volt på 2Amp -kilde, for å unngå overbelastning av kortet og skade det.
Ikke glem å koble til det vanlige signalet GND på kortet og den eksterne kilden, ellers ville du få problemer med å kontrollere servomotorene siden de ikke ville ha samme referanse.
Trinn 2: Koding av Arduino IDE til Bast Pro Mini M0
Det første vil være å installere Bast Pro Mini M0 -kortet i Arduino IDE, trinnene finner du i Electronic Cats -depotet, og de er viktige for driften.
github.com/ElectronicCats/Arduino_Boards_I…
Når du er klar med Arduino IDE, er det nødvendig å installere det offisielle biblioteket til TLV493D-sensoren, gå til https://github.com/Infineon/TLV493D-A1B6-3DMagnet… og gå til Utgivelser.
I den første delen av koden deklareres bibliotekene som brukes, i dette tilfellet Servo.h for servomotorene og TLV493D.h for sensoren.
Når du bruker Servo.h -biblioteket er det viktig å angi antall servomotorer, selv om roboten har 4 på dette tidspunktet, brukes bare 3.
Pinnene er deklarert for trykknappene som stopper enhver bevegelse av roboten og åpning og lukking av griperen. Det er deklarert noen globale variabler som vil tjene til å kjenne griperens tilstand og om det er bevegelse.
I den andre delen av koden vil vi vise i seriell skjerm verdien av graden motorene er i. Et annet viktig poeng er å etablere grensen for grader i servomotorene dine. For dette brukes kartfunksjonen () som konverterer verdien av bevegelsene til TLV493D -sensoren til området 0 til 180 grader for servomotoren.
For den siste delen av koden er betingelsene etablert for å aktivere bevegelsen til servomotorene med trykknappen og for å vite hvilken tilstand griperen er i for sin neste bevegelse når den andre trykknappen trykkes. Som du kan se på de forrige bildene, er koden ikke vanskelig å implementere og forstå, på slutten av prosjektet kan du finne koden.
Lærer du å bruke Circuit Python?
Hvis du er interessert i å lære å bruke denne IDE -en, kan du finne Bast Pro Mini M0 -kortet i følgende lenke for å laste ned bootloaderen og begynne å programmere den med Python.
Trinn 3: 3D -stykker
Hvis du er interessert i å lage prosjektet, kan du laste ned brikkene i.stl og skrive dem ut. Du finner filene for basen og rotasjonspinnen.
Anbefalt:
Kontrollerende LED med potensiometer: 6 trinn
Kontrollerende LED av potensiometer: Tidligere har vi brukt Serial Monitor til å sende data til kontrollkortet, noe som kan være opplysende å kjenne til en ny programvare. I denne leksjonen, la oss se hvordan du endrer luminansen til en LED med et potensiometer, og mottar dataene fra potensiometet
Arduino kontrollerende led med HC-06 Bluetooth-modul: 4 trinn
Arduino Controlling Led With HC-06 Bluetooth Module: Hei alle sammen, dette er min første offisielle opplæring på Instructable.com, jeg er veldig spent på mitt første prosjekt! I dag skal jeg vise deg hvordan du kobler til Arduino og Bluetooth-modul. Arduino vil kommunisere med HC-06 Bluetooth Module Board ved hjelp av
Kontrollerende RGB Led Strip med Arduino: 4 trinn
Kontrollere RGB Led Strip med Arduino: Hei folkens, i denne instruksjonene har jeg kontrollert RGB Led stripen med Arduino.Prosjektet er ganske enkelt, vi bruker tre potensiometre for å utløse Red Green & Blå farge på RGB Led -stripen individuelt, så ideen er veldig enkel b
Kontrollerende LED med potensiometer med Arduino Uno R3: 6 trinn
Kontrollere LED med potensiometer Med Arduino Uno R3: Tidligere har vi brukt Serial Monitor til å sende data til kontrollkortet, noe som kan være opplysende å kjenne til en ny programvare. I denne leksjonen, la oss se hvordan du endrer luminansen til en LED med et potensiometer, og mottar dataene fra potensiometet
Kontrollerende LED Matrix Array With Arduino Uno (Arduino Powered Robot Face): 4 trinn (med bilder)
Kontrollere LED Matrix Array With Arduino Uno (Arduino Powered Robot Face): Denne instruktøren viser hvordan du styrer en rekke 8x8 LED -matriser ved hjelp av en Arduino Uno. Denne guiden kan brukes til å lage en enkel (og relativt billig skjerm) for dine egne prosjekter. På denne måten kan du vise bokstaver, tall eller tilpassede animasjoner