Spisu treści:
- Krok 1: Podłączanie czujnika do Bast Pro Mini M0
- Krok 2: Kodowanie Arduino IDE do Bast Pro Mini M0
- Krok 3: Kawałki 3D
Wideo: Sterowanie ramieniem robota za pomocą TLV493D, joysticka i Arduino: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Alternatywny kontroler dla twojego robota z czujnikiem TLV493D, czujnik magnetyczny z 3 stopniami swobody (x, y, z), dzięki którym możesz sterować swoimi nowymi projektami z komunikacją I2C na mikrokontrolerach i płytce elektronicznej, które Bast Pro Mini M0 z Mikrokontroler SAMD21 na Arduino IDE.
Celem jest posiadanie alternatywnego joysticka do sterowania projektami, w tym przypadku ramienia robota z 3 stopniami swobody. Użyłem ramienia robota MeArm, jest to projekt open-source i możesz to ułatwić i możesz go znaleźć tutaj. Potrafię stworzyć własne ramię kontrolera lub inną aplikację z tą wiedzą, którą chętnie się z wami podzielę.
Wszystkie komponenty elektroniczne posiadają linki do pobrania w sklepie, pliki do drukarki 3d oraz kod dla Arduino IDE.
TLV493D może być joystickiem Czujnik magnetyczny 3D TLV493D-A1B6 zapewnia dokładne trójwymiarowe wykrywanie przy wyjątkowo niskim zużyciu energii w małej 6-stykowej obudowie. Dzięki wykrywaniu pola magnetycznego w kierunku x, y i z czujnik niezawodnie mierzy ruchy trójwymiarowe, liniowe i obrotowe.
Zastosowania obejmują joysticki, elementy sterujące (sprzęt AGD, pokrętła wielofunkcyjne), liczniki elektryczne (zabezpieczenie przed sabotażem) oraz wszelkie inne aplikacje, które wymagają dokładnych pomiarów kątowych lub niskiego zużycia energii. Zintegrowany czujnik temperatury może być ponadto używany do kontroli wiarygodności. Kluczowe cechy to detekcja magnetyczna 3D przy bardzo niskim zużyciu energii podczas pracy.
Czujnik posiada wyjście cyfrowe za pośrednictwem 2-przewodowego standardowego interfejsu I2C do 1 MBit/s i 12-bitowej rozdzielczości danych dla każdego kierunku pomiaru (liniowy pomiar pola Bx, By i Bz do +-130mT). TLV493D-A1B6 3DMagnetic to samodzielny silnik zaburtowy.
Możesz go łatwo podłączyć do dowolnego wybranego mikrokontrolera, który jest kompatybilny z Arduino IDE i ma poziom logiczny 3,3 V. W tym projekcie używamy Breakout Electronic Cats i płytki rozwojowej, którą wyjaśnię później.
electroniccats.com/store/tlv493d-krokiet…
Zaletą zastosowania czujnika TLV493D jest to, że do odbioru informacji wykorzystywane są tylko dwa kable z I2C, więc jest to bardzo dobra opcja, gdy mamy bardzo mało dostępnych pinów na karcie, również dzięki zaletom I2C możemy podłączyć więcej czujniki. Możesz znaleźć repozytorium dla tego projektu tutaj. W tym projekcie użyjemy joysticka, który możesz wydrukować na drukarce 3D lub zlecić wydrukowanie w najbliższym sklepie z drukiem 3D.
Pliki. STL są dołączane na końcu projektu. Jego montaż jest bardzo prosty, można to zobaczyć na wideo
Zbuduj własnego robotaW tym przypadku buduję robota Mearm v1, którego ten projekt można znaleźć na stronie autora tutaj
Jest to robot łatwy do wykonania i sterowania, ponieważ ma serwomotory o napięciu 5 woltów. Możesz zbudować lub używać dowolnego robota, ten projekt skupi się na sterowaniu za pomocą czujnika TLV493D.
Kieszonkowe dzieci:
- x1 Bast Pro Mini M0 Kup w
- x1 Krokiet TLV493D Kup w
- x1 Zestaw MeArm v1
- x20 Kable Dupont
- x1 płyta prototypowa
- Przycisk x2
- x1 Magnes o średnicy 5mm x 1mm grubości
Krok 1: Podłączanie czujnika do Bast Pro Mini M0
Do sterowania ramieniem robota wykorzystywana jest płytka rozwojowa Electronic Cats, Bast Pro Mini M0 z mikrokontrolerem SAMD21E ARM Cortex-M0.
Układ ten pracuje z częstotliwością 48MHz, z 256KB pamięci programistycznej, 32KB SRAM i działa przy napięciu od 1,6V do 3,6V. Dzięki jego specyfikacjom możemy go używać do niskiego zużycia z dobrą wydajnością, a także programować go za pomocą CircuitPython lub innego języka, który umożliwia mikrokontrolery.
electroniccats.com/store/bast-pro-mini-m0/
Jeśli chcesz dowiedzieć się więcej o tej karcie, zostawię Ci link do jej repozytorium.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
Do sterowania ruchem serwomotorów wykorzystywany jest czujnik magnetyczny TLV493D, który wysyła sygnał do ustawienia serwomotoru w odpowiednich stopniach.
Za pomocą jednego czujnika możemy przesunąć dwa serwomotory, w tym przykładzie do sterowania chwytakiem użyjemy tylko jednego czujnika i przycisku.
Inną propozycją, jaką możesz złożyć, jest dodanie kolejnego czujnika TLV493D i przesunięcie trzeciego serwomotoru i chwytaka. Jeśli tak, zostaw swoje doświadczenia w komentarzach i zapraszam do podzielenia się projektem.
Zdjęcie przedstawia obwód uzbrojony na płycie prototypowej.
- Pierwszy serwomotor jest przeznaczony do chwytaka i łączy się z pinem 2
- Drugi serwomotor jest dla podstawy robota i łączy się z pinem 3
- Trzeci serwomotor jest przeznaczony do ramienia robota i łączy się z pinem 4
- Czwarty serwomotor jest przeznaczony do kolanka robota i łączy się z pinem 5
- Pierwszy przycisk służy do zatrzymania dowolnego ruchu robota i łączy się z pinem 8 w trybie pull-down z oporem 2,2 kilooma.
- Drugi przycisk służy do otwierania i zamykania chwytaka i jest połączony ze sworzniem 9 w dół z oporem 2,2 kiloomów.
Na obrazie obwodu czujnik TLV493D nie pojawia się, ponieważ nie został dodany do fritzowania, ale dodano 4-pinowe złącze, aby symulować jego złącza VCC, GND, SCL, SDA. Na obrazku są one umieszczone w tej samej kolejności.
- Pierwszy pin łączy się z 3,3 V na płycie
- Drugi pin łączy się z GND
- Trzeci pin SCL łączy się z pinem A5 na płycie
- Czwarty pin SDA łączy się z pinem A4 płyty
Dzięki przewadze układu SAMD21 możemy wykorzystać dowolny z jego cyfrowych pinów jako wyjścia PWM, które posłużą nam do wysłania odpowiedniej szerokości impulsu do poruszania serwomotorem.
Kolejną ważną informacją, którą należy wziąć pod uwagę, jest zewnętrzne zasilanie serwomotorów, w obwodzie można zobaczyć złącze wtykowe, które łączy się z 5V przy źródle 2A, aby uniknąć przeciążenia płytki i jej uszkodzenia.
Nie zapomnij również połączyć wspólnego sygnału GND karty i zewnętrznego źródła, w przeciwnym razie będziesz miał problemy ze sterowaniem serwomotorami, ponieważ nie będą miały tego samego odniesienia.
Krok 2: Kodowanie Arduino IDE do Bast Pro Mini M0
Pierwszą rzeczą będzie zainstalowanie karty Bast Pro Mini M0 w Arduino IDE, kroki można znaleźć w repozytorium Electronic Cats i są one ważne dla jego działania.
github.com/ElectronicCats/Arduino_Boards_I…
Po przygotowaniu Arduino IDE należy zainstalować oficjalną bibliotekę czujnika TLV493D, wejść na https://github.com/Infineon/TLV493D-A1B6-3DMagnet… i przejść do Wydań.
W pierwszej części kodu zadeklarowane są użyte biblioteki, w tym przypadku Servo.h dla serwomotorów i TLV493D.h dla czujnika.
Przy korzystaniu z biblioteki Servo.h ważne jest, aby zadeklarować liczbę serwomotorów, chociaż robot ma 4 w tym czasie tylko 3 są używane.
Kołki są zadeklarowane dla przycisków, które zatrzymają jakikolwiek ruch robota oraz otwieranie i zamykanie chwytaka. Zadeklarowano niektóre zmienne globalne, które posłużą do poznania stanu chwytaka i obecności ruchu.
W drugiej części kodu pokażemy na monitorze szeregowym wartość stopnia, w jakim znajdują się silniki. Kolejnym ważnym punktem jest ustalenie limitu stopni w serwomotorach, do tego służy funkcja map(), która konwertuje wartość ruchów czujnika TLV493D na zakres od 0 do 180 stopni serwomotoru.
Dla ostatniej części kodu ustalane są warunki, aby aktywować ruch siłowników za pomocą przycisku i wiedzieć, w jakim stanie znajduje się chwytak do następnego ruchu po naciśnięciu drugiego przycisku. Jak widać na poprzednich obrazkach kod nie jest trudny do zaimplementowania i zrozumienia, na końcu projektu można znaleźć kod.
Czy uczysz się korzystać z Circuit Pythona?
Jeśli jesteś zainteresowany nauką korzystania z tego IDE, możesz znaleźć kartę Bast Pro Mini M0 w poniższym linku, aby pobrać bootloader i rozpocząć programowanie w Pythonie.
Krok 3: Kawałki 3D
Jeśli jesteś zainteresowany wykonaniem projektu, możesz pobrać elementy w formacie.stl i wydrukować je. Znajdziesz pilniki do podstawy i kija obrotowego.
Zalecana:
Sterowanie diodami Arduino za pomocą analogowego joysticka: 6 kroków
Sterowanie diodą LED Arduino za pomocą joysticka analogowego: W tym samouczku dowiemy się, jak używać joysticka analogowego do sterowania diodą LED. Obejrzyj film demonstracyjny
Sterowanie 2 serwomechanizmami za pomocą analogowego joysticka: 5 kroków (ze zdjęciami)
Kontrolowanie 2 serw za pomocą analogowego joysticka.: Cześć chłopaki, to jest mój pierwszy instruktaż, aw tym poście dzielę się, jak używać analogowego joysticka do sterowania serwami za pomocą Arduino UNO. Postaram się to wyjaśnić tak prosto, jak to możliwe, mam nadzieję, że ci się spodoba to
Sterowanie ramieniem robota za pomocą Zio za pomocą kontrolera PS2: 4 kroki
Kontroluj ramię robota za pomocą Zio za pomocą kontrolera PS2: Ten wpis na blogu jest częścią serii Zio Robotics. Wprowadzenie To jest ostatnia część posta „Kontroluj ramię robota za pomocą Zio”. W tym samouczku dodamy kolejną część do naszego ramienia robota. Poprzednie samouczki nie zawierają podstawy do
Arduino Tutorial - Sterowanie serwomotorem za pomocą joysticka: 4 kroki
Arduino Tutorial - Sterowanie silnikiem serwo za pomocą joysticka: W tym samouczku nauczymy się używać serwomechanizmu za pomocą joysticka. Będziemy sterować 1 szt. serwomotorem za pomocą 1 joysticka. Możesz wdrożyć swoje projekty ramion robota, korzystając z tego samouczka. Oczywiście będziemy korzystać z zewnętrznej baterii/zasilania podczas robienia
Jak zbudować robota gąsienicowego z ramieniem chwytaka sterowanego za pomocą Arduino Nrf24l01: 3 kroki (ze zdjęciami)
Jak zbudować robota śledzonego z ramieniem chwytaka sterowanego za pomocą Arduino Nrf24l01: Instrukcja „Jak zbudować robota śledzonego z ramieniem chwytaka sterowanego za pomocą Arduino Nrf24l01” wyjaśni, jak zbudować ramię chwytaka o trzech stopniach swobody zainstalowane na wózku gąsienicowym napędzanym przez moduł L298N z napędem dwusilnikowym przy użyciu MEG