Talaan ng mga Nilalaman:

UCL - Naka-embed - Piliin at Lugar: 4 na Hakbang
UCL - Naka-embed - Piliin at Lugar: 4 na Hakbang

Video: UCL - Naka-embed - Piliin at Lugar: 4 na Hakbang

Video: UCL - Naka-embed - Piliin at Lugar: 4 na Hakbang
Video: The big hook is embedded in the root of the nail, dig it out carefully【Doctor Liu Pedicure】 2024, Hulyo
Anonim
UCL - Naka-embed - Pumili at Ilagay
UCL - Naka-embed - Pumili at Ilagay

Ang magtuturo na ito ay pupunta bagaman kung paano ang isang 2D pick at lugar na yunit ay ginawa at kung paano ito i-code.

Hakbang 1: Mga Compunet

Mga Compunet
Mga Compunet

1x Adrio Mega

2x stepper motors (ginamit namin ang JLB Stepper Motor, modelo 17H1352-P4130)

2x Stepper Motor Drive Controller Board Module L298N Dual H Bridge DC Para sa Arduino

1x servo motor (Wala kaming speck sa isang ito)

3x 10k ohm resistors

2x Nylon wheals

1x 12v power supply

Ang ilang mga kahoy para sa frame

Mga wire

Hakbang 2: Konstruksiyon

Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon

Ang unang bagay sa panahon ng mukha ng Konstruksiyon ay upang alamin ang laki at hugis ng pick at lugar mashine

Una naming itinatayo ang pangunahing kahoy na hugis. Binuo namin ang aming pick at place frame na 50cm ng 25cm ng 30cm. Lahat maliban sa frame, tulay at nakakataas na braso, ay gawa sa isang lasercutter.

Narito ang isang link sa lahat ng mga file

Pagkatapos gusto namin ang sistema ng kalo. Pumunta kami dito na may dalang dalawang singsing na 50mm at isang singsing na 20mm. Pagkatapos ay naglalagay kami ng isang paracord sa tabi ng 20mm na may ilang pandikit. Pagkatapos nito ay pinisil namin ang dalawang singsing na 50mm sa magkabilang panig ng singsing na 20mm.

20mm

50mm

Pagkatapos kailangan naming mag-disenyo ng isang gabay sa slide sa braso. Dito ginawa namin ang dalawang panig at isang back plate.

Alin pagkatapos ay nakadikit sa isang form na U. Pagkatapos ay ikinonekta namin iyon sa tulay.

Side plate

Plate sa likod

Ngayon na ang mga bahagi para sa paggalaw ng braso pataas at pababa ay tapos na. Kailangan nating ilipat ito pabalik-balik.

Kapag dinisenyo ito tinitiyak namin na ang mga ngipin ay nakahanay sa bawat isa. Kaya't ang parehong mga item ay nilikha sa parehong lugar ng proyekto.

Hakbang 3: Code

Code
Code
Code
Code
Code
Code

Ang programa ay medyo simple at binubuo ng 5 bahagi

  1. Pagsasama ng Mga Aklatan at Pag-set up ng mga variable para sa panloob at IO na paggamit
  2. I-load ang mga input kay Ram
  3. Sekvens, pagpili ng paggalaw na gusto mo.
  4. Pagkontrol sa posisyon ng stepper / servo
  5. Output sa mundo

Kami ay sa malawak na mga stroke ay ipaliwanag ang bawat bahagi, ngunit tandaan na ito ay isa lamang sa maraming mga solusyon.

1: Para sa walang bisa na pag-setup ay isinama namin ang 2 mga aklatan na kailangan namin para sa proyekt na ito. Stepper at Servo. Gamit ang kasama na Mga Aklatan, nai-save ka mula sa pag-aaral ng bawat detalye tungkol sa stepper at servo motors.

# isama

# isama

Const int stepsPerRevolution = 200; // baguhin ito upang magkasya sa bilang ng mga hakbang sa bawat rebolusyon para sa iyong motor

// ipasimula ang stepper library sa mga pin 8 hanggang 11:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // create servo object upang makontrol ang isang servo

kailangan ng Gripper na mag-attach sa void setup

void setup () {// ipasimula ang serial port: Serial.begin (9600); Griper.attach (9); // nakakabit ang servo sa pin 9 sa object ng servo

Ang natitirang bahagi ng seksyon na ito ay naka-set up lamang ng Variable's at Constant's.

2: Ang unang bagay sa Void Loop ay upang mai-load ang lahat ng ginamit na input sa isang variable. Ginagawa ito sa dalawang kadahilanan. Ang unang dahilan ay upang limitahan ang mabibigat na gawain ng CPU sa pagbabasa ng isang Input. Ang pangalawang dahilan, na kung saan ay ang pinaka-import, upang matiyak na kung ang isang Input ay ginagamit nang higit sa isang beses, magkakaroon ito ng parehong halaga sa buong buong pag-scan. Ginagawa nitong mas madali ang pagsusulat ng pare-pareho ang code. Ito ay isang pangkaraniwang kasanayan sa PLC na programa, ngunit nalalapat din ito sa naka-embed na programa.

// ----------------- Indput sa RAM -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Sa sekvens na bahagi ng code, gumawa lamang kami ng isang sekvens na may mga switch na switch at case. Ang sekvens na bahagi ay nagbibigay lamang ng mga signal sa Posisyon control bahagi ng code. Ang bahaging ito ay maaaring madaling ipasadya sa iyong aplikasyon o gagamitin tulad ng dati.

4: Ang Posisyon ng servo ay kinokontrol lamang ng servo liberi, at isang pahayag kung para sa gripper na bukas at sarado.

Ang Stepper Control ay medyo mas nakakalito. Inihambing ng pagpapaandar ang Setpoint (Ang posisyon na nais mong puntahan ng braso) at ang Kasalukuyang posisyon. Kung ang kasalukuyang posisyon ay mahilig sa, ang pagpapaandar ay nagdaragdag sa posisyon at tinanong ang Stepper liberi function na gumawa ng isang positibong hakbang. Ang kabaligtaran ay totoo para sa isang hanggang hig na posisyon. kung ang posisyon ay kapareho ng Setpoint, isang XinPos bit ay nakaupo, at huminto ang stepper.

// SP controal X

kung (XstepCountXsp at hindi Home) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } kung (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: Idagdag ang dulo ng code na ang motor ay kinokontrol ng liberi function.

// -------------------- Output ----------------- // step one step: XStepper.step (Xstep); // step one step: YStepper.step (Ystep);

Griper.write (GripSp);

Hakbang 4: Ginawa Ng

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Inirerekumendang: