Cuprins:

Controlul brațului robotului cu TLV493D, joystick și, Arduino: 3 pași
Controlul brațului robotului cu TLV493D, joystick și, Arduino: 3 pași

Video: Controlul brațului robotului cu TLV493D, joystick și, Arduino: 3 pași

Video: Controlul brațului robotului cu TLV493D, joystick și, Arduino: 3 pași
Video: Build Your Own Wearable Robot 2024, Iulie
Anonim
Controlul brațului robotului cu TLV493D, joystick și, Arduino
Controlul brațului robotului cu TLV493D, joystick și, Arduino
Controlul brațului robotului cu TLV493D, joystick și, Arduino
Controlul brațului robotului cu TLV493D, joystick și, Arduino
Controlul brațului robotului cu TLV493D, joystick și, Arduino
Controlul brațului robotului cu TLV493D, joystick și, Arduino

Un controler alternativ pentru robotul dvs. cu un senzor TLV493D, un senzor magnetic cu 3 grade de libertate (x, y, z) cu acestea puteți controla noile proiecte cu comunicarea I2C pe microcontrolerele și placa electronică pe care Bast Pro Mini M0 cu un Microcontroler SAMD21 pe Arduino IDE.

Obiectivul este să aveți un joystick alternativ pentru a vă controla proiectele, în acest caz, un braț robot cu 3 grade de libertate. Am folosit un MeArm Robot Arm, acesta este un proiect open-source și îl puteți ușura și îl puteți găsi aici. Vă pot crea propriul braț de controler sau altă aplicație cu aceste cunoștințe pe care sunt bucuroasă să le împărtășesc cu dvs.

Toate componentele electronice au legături de achiziționat în magazin, fișiere către imprimanta 3D și cod pentru Arduino IDE.

TLV493D poate fi un joystick Senzorul magnetic 3D TLV493D-A1B6 oferă o detecție tridimensională precisă cu un consum extrem de redus de energie într-un pachet mic cu 6 pini. Cu detectarea câmpului său magnetic în direcția x, y și z, senzorul măsoară în mod fiabil mișcările tridimensionale, liniare și de rotație.

Aplicațiile includ joystick-uri, elemente de control (articole albe, noduri multifuncționale) sau contoare electrice (anti-manipulare) și orice altă aplicație care necesită măsurători unghiulare precise sau consumuri reduse de energie. Senzorul de temperatură integrat poate fi utilizat în plus pentru verificarea plauzibilității. Caracteristicile cheie sunt detectarea magnetică 3D cu un consum foarte redus de energie în timpul operațiunilor.

Senzorul are o ieșire digitală printr-o interfață I2C standard bazată pe 2 fire de până la 1 MBit / sec și rezoluție de date de 12 biți pentru fiecare, direcția de măsurare (măsurarea câmpului liniar Bx, By și Bz până la + -130mT). TLV493D-A1B6 3DMagnetic este un forboard independent.

Îl puteți conecta cu ușurință la orice microcontroler la alegere, care este compatibil Arduino IDE și are un nivel logic de 3,3V. În acest proiect, folosim distribuția Electronic Cats și o placă de dezvoltare pe care o voi explica mai târziu.

electroniccats.com/store/tlv493d-croquette…

Avantajul utilizării unui senzor TLV493D este că doar două cabluri cu I2C sunt folosite pentru a primi informațiile, deci este o opțiune foarte bună atunci când avem foarte puțini pini disponibili pe card, de asemenea, datorită beneficiilor I2C ne putem conecta mai mult senzori. Puteți găsi depozitul pentru acest proiect aici. Pentru acest proiect, vom folosi un joystick pe care îl puteți imprima pe o imprimantă 3D sau îl puteți imprima la cel mai apropiat magazin de imprimare 3D.

Fișierele. STL sunt atașate la sfârșitul proiectului. Asamblarea sa este foarte simplă, o puteți vedea în video

Construiește-ți propriul robot În acest caz, construiesc robotul Mearm v1, pe care îl puteți găsi pe pagina autorului aici

Acesta este un robot ușor de realizat și controlat, deoarece are servomotoare la 5 volți. Puteți construi sau utiliza orice robot la alegere, acest proiect se va concentra asupra controlului cu senzorul TLV493D.

Provizii:

  • x1 Bast Pro Mini M0 Cumpărați
  • x1 Croquette TLV493D Cumpărați
  • x1 Kit MeArm v1
  • x20 Cabluri Dupont
  • x1 Protoboard
  • x2 Buton
  • x1 Magnet 5mm diametru x 1mm grosime

Pasul 1: Conectarea senzorului cu Bast Pro Mini M0

Conectarea senzorului cu Bast Pro Mini M0
Conectarea senzorului cu Bast Pro Mini M0

Pentru a controla brațul robotului, se folosește o placă de dezvoltare Electronic Cats, un Bast Pro Mini M0 cu un microcontroler SAMD21E ARM Cortex-M0.

Acest cip funcționează la 48 MHz, cu memorie de programare de 256 KB, SRAM de 32 KB și funcționează la o tensiune de 1,6v până la 3,6v. Datorită specificațiilor sale, îl putem folosi pentru un consum redus cu performanțe bune și, de asemenea, îl putem programa cu CircuitPython sau în alte limbi care permit microcontrolere.

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

Dacă sunteți interesat să aflați mai multe despre acest card, vă voi lăsa linkul depozitului său.

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

Pentru a controla mișcarea servomotoarelor, se utilizează senzorul magnetic TLV493D care va trimite semnalul pentru a poziționa servomotorul la gradele corespunzătoare.

Cu un singur senzor, putem muta două servomotoare, în acest exemplu, vom folosi doar un singur senzor și un buton pentru a controla prinderea.

O altă propunere pe care o puteți face este să adăugați un alt senzor TLV493D și să mutați al treilea servomotor și mânerul. Dacă da, lăsați-vă experiența în comentarii și vă invit să împărtășiți proiectul.

Imaginea prezintă circuitul armat pe un protoard.

  • Primul servomotor este pentru prindere și se conectează la pinul 2
  • Al doilea servomotor este pentru baza robotului și se conectează la pinul 3
  • Al treilea servomotor este pentru umărul robotului și se conectează la pinul 4
  • Al patrulea servomotor este pentru cotul robotului și se conectează la pinul 5
  • Primul buton este să oprească orice mișcare a robotului și se conectează la pinul 8 în pull-down cu o rezistență de 2,2 Kohms.
  • Al doilea buton este pentru mișcarea de deschidere și închidere a dispozitivului de prindere și este conectat la pinul 9 în pull-down cu o rezistență de 2,2 Kohms.

În imaginea circuitului, senzorul TLV493D nu apare deoarece nu a fost adăugat la fritzing, dar a fost adăugat un conector cu 4 pini pentru a simula conectorii VCC, GND, SCL, SDA. În imagine, acestea sunt plasate în aceeași ordine.

  • Primul pin se conectează la 3,3 volți pe placă
  • Al doilea pin se conectează la GND
  • Al treilea pin SCL se conectează la pinul A5 de pe placă
  • Al patrulea pin SDA se conectează la pinul A4 al plăcii

Datorită avantajului cipului SAMD21 putem folosi oricare dintre pinii săi digitali ca ieșiri PWM, ceea ce ne va servi pentru a trimite lățimea corectă a impulsului pentru a muta servomotorul.

O altă informație importantă care trebuie luată în considerare este sursa de alimentare externă pentru servomotoare, în circuit puteți vedea un conector de priză care se conectează la o sursă de 5 volți la 2Amp, pentru a evita supraîncărcarea plăcii și deteriorarea acesteia.

De asemenea, nu uitați să vă alăturați semnalului comun GND al cardului și sursei externe, altfel veți avea probleme la controlul servomotorelor, deoarece acestea nu ar avea aceeași referință.

Pasul 2: Codarea IDE-ului Arduino la Bast Pro Mini M0

Codarea IDE-ului Arduino la Bast Pro Mini M0
Codarea IDE-ului Arduino la Bast Pro Mini M0
Codarea IDE-ului Arduino la Bast Pro Mini M0
Codarea IDE-ului Arduino la Bast Pro Mini M0
Codarea IDE-ului Arduino la Bast Pro Mini M0
Codarea IDE-ului Arduino la Bast Pro Mini M0

Primul lucru va fi instalarea cardului Bast Pro Mini M0 în Arduino IDE, pașii pot fi găsiți în depozitul Electronic Cats și sunt importanți pentru funcționarea acestuia.

github.com/ElectronicCats/Arduino_Boards_I…

Când ați pregătit ID-ul Arduino, este necesar să instalați biblioteca oficială a senzorului TLV493D, introduceți pe https://github.com/Infineon/TLV493D-A1B6-3DMagnet … și accesați Versiuni.

În prima parte a codului, bibliotecile utilizate sunt declarate, în acest caz, Servo.h pentru servomotoare și TLV493D.h pentru senzor.

Când utilizați biblioteca Servo.h, este important să declarați numărul de servomotoare, deși robotul are 4 în acest moment doar 3 sunt utilizate.

Pinii sunt declarați pentru butoanele care vor opri orice mișcare a robotului și deschiderea și închiderea mânerului. Sunt declarate unele variabile globale care vor servi la cunoașterea stării gripperului și dacă există mișcare.

În a doua parte a codului, vom arăta în monitorul serial valoarea gradului în care sunt motoarele. Un alt punct important este stabilirea limitei de grade în servomotorii dvs., pentru aceasta se folosește funcția map () care convertește valoarea mișcărilor senzorului TLV493D în intervalul de la 0 la 180 de grade al servomotorului.

Pentru ultima parte a codului, sunt stabilite condițiile pentru a activa mișcarea servomotorelor cu butonul și pentru a cunoaște în ce stare se află gripperul pentru următoarea sa mișcare la apăsarea celui de-al doilea buton. După cum puteți vedea în imaginile anterioare, codul nu este dificil de implementat și înțeles, la sfârșitul proiectului puteți găsi codul.

Înveți să folosești Circuitul Python?

Dacă sunteți interesat să aflați cum să utilizați acest IDE, puteți găsi cardul Bast Pro Mini M0 în următorul link pentru a descărca bootloader-ul și a începe să îl programați cu Python.

Pasul 3: Piese 3D

Dacă sunteți interesat să realizați proiectul, puteți descărca piesele în.stl și le puteți imprima. Veți găsi fișierele pentru bază și stick-ul rotativ.

Recomandat: