Talaan ng mga Nilalaman:

Kinokontrol ng Rotary Encoder na Robot Arm: 6 na Hakbang
Kinokontrol ng Rotary Encoder na Robot Arm: 6 na Hakbang

Video: Kinokontrol ng Rotary Encoder na Robot Arm: 6 na Hakbang

Video: Kinokontrol ng Rotary Encoder na Robot Arm: 6 na Hakbang
Video: Lesson 97: Controlling Servo Motor using Rotary Encoder and Display Angle On LCD 2024, Nobyembre
Anonim
Kinokontrol ng Rotary Encoder na Robot Arm
Kinokontrol ng Rotary Encoder na Robot Arm
Kinokontrol ng Rotary Encoder na Robot Arm
Kinokontrol ng Rotary Encoder na Robot Arm

Binisita ko ang howtomechatronics.com at nakita ko doon ang braso na kinokontrol ng bluetooth.

Ayokong gumamit ng bluetooth, kasama ang nakita kong makokontrol natin ang servo gamit ang rotary encoder, kaya muling idisenyo ko ito upang makontrol ko ang braso ng robot na gamitin ang rotary encoder at itala ito

Mga gamit

SG90 * 3

MG996 * 3

rotary encoder * 6

Arduino mega * 1

2 pin push button * 2

560 ohm risistor * 2

M3 turnilyo at mani

3d printer

Hakbang 1: Ikonekta ang Mga Serbisyo

Ikonekta ang Mga Serbisyo
Ikonekta ang Mga Serbisyo

Mula kaliwa patungo sa kanan: base servo (MG996), lower servo ng baywang (MG996), siko servo (MG996), lower hand servo (SG90), middle hand servo (SG90), grab servo (SG90)

Hindi namin dapat i-wire ang 5V ng Arduino sa panlabas na 5V (iyon ay risistor nang kahanay at susubukan nilang singilin ang bawat isa) Ngunit kailangan naming ikonekta ang lupa nang magkasama bilang isang sanggunian upang sila ay gumana Kung wala kang lupa na konektado sa Arduino, walang pabalik na landas para sa kasalukuyang mula sa iyong signal wire (dilaw na kawad), kaya't ang lupa ng panlabas na kapangyarihan ay dapat na mag-wire sa parehong servo ground pin at ground pin ng Arduino. (Habang ang itim at pula na kawad ay independiyenteng suplay ng kuryente)

Tandaan dito pinaghiwalay ko ang diagram ng koneksyon sa servo, push button at rotary encoder dahil mas madaling basahin nang magkahiwalay (lahat sila ay kumonekta sa isang solong Arduino Mega gamit ang pin sa bawat diagram)

Hakbang 2: Ikonekta ang Push Button

Ikonekta ang Push Button
Ikonekta ang Push Button

Ang kaliwa ay na-reset na pindutan

Ang pindutan ng pag-play ay ang tama

I-play ng pindutan ng pag-play ang naitala na mga paggalaw

Ang resistor na ginamit ko ay dalawa 560 ohm

Hakbang 3: Ikonekta ang Rotary Encoder

Ikonekta ang Rotary Encoder
Ikonekta ang Rotary Encoder

Mga pin ng koneksyon:

// Rotary Encoder 1 Mga input

#define CLK1 53 # tukuyin ang DT1 51 # tukuyin ang SW1 49

// Rotary Encoder 2 Mga input

# tukuyin ang CLK2 45 # tukuyin ang DT2 43 # tukuyin ang SW2 41

// Rotary Encoder 3 Mga input

#define CLK3 50 # tukuyin ang DT3 48 # tukuyin ang SW3 46

// Rotary Encoder 4 Inputs

# tukuyin ang CLK4 42 # tukuyin ang DT4 40 # tukuyin ang SW4 38

// Rotary Encoder 5 Inputs

# tukuyin ang CLK5 34 # tukuyin ang DT5 32 # tukuyin ang SW5 30

// Rotary Encoder 6 Mga input na tama talaga

#define CLK6 26 // 26 #define DT6 24 // 24 #define SW6 22 // 22

Hakbang 4: Ang mga STL Files

Ang mga STL Files
Ang mga STL Files

Ang STL ay nag-file ng credit howtomechatronics.com

Hakbang 5: Ang Code

Mga Hakbang:

Pindutin ang reset (i-reset ang pag-play)

Para sa servo maliban sa grab servo: paikutin ang rotary encoder ng bawat servo - pindutin ang encoder (posisyon ng record record) para sa bawat servo tulad ng rotate encoder 1 - press rotate encoder 1 - rotate encoder 2 - press rotate encoder 2

Matapos maitala namin ang mga posisyon sa pagsisimula, magagawa namin ang pareho upang maitala ang posisyon sa pagtatapos

Para sa grab servo: (kasama ang iba pang servo) pindutin ang encoder (buksan ang record grab) (pagkatapos maitala namin ang panimulang posisyon ng iba pang servo at nasa posisyon na iyon) paikutin - pindutin muli (record grab malapit upang mahuli ang isang bagay) (pagkatapos maitala namin ang posisyon ng pagtatapos ng iba pang servo at nasa posisyon na iyon) paikutin - pindutin ang encoder (buksan ang record upang palabasin ang bagay)

pindutin ang pindutan ng pagsisimula (ang servos ay paikutin magsimula sa posisyon ng pagsisimula, upang wakasan ang posisyon) // kung nais ulitin ang proseso, kailangan pindutin ang pindutan ng pagsisimula ng maraming beses

ang pindutan ng pag-play ay ang tama

Inirerekumendang: