Tartalomjegyzék:

UCL - Beágyazott - Pick and Place: 4 lépés
UCL - Beágyazott - Pick and Place: 4 lépés

Videó: UCL - Beágyazott - Pick and Place: 4 lépés

Videó: UCL - Beágyazott - Pick and Place: 4 lépés
Videó: Fiber Faults to Fixes: An IT Admin's Guide 2024, Július
Anonim
UCL - Beágyazott - Pick and Place
UCL - Beágyazott - Pick and Place

Ez az oktatható utasítás azonban eljut a 2D -es pick -and -place egység elkészítéséhez és kódolásához.

1. lépés: Compunets

Compunets
Compunets

1x Adrio Mega

2x léptetőmotor (JLB léptetőmotort használtunk, modell 17H1352-P4130)

2x léptetőmotoros hajtásvezérlő panel modul L298N Dual H Bridge DC Arduino számára

1x szervomotor (ezen nincs foltunk)

3x 10k ohmos ellenállások

2x nylon nyél

1x 12V -os tápegység

Némi fa a kerethez

Vezetékek

2. lépés: Építés

Építkezés
Építkezés
Építkezés
Építkezés
Építkezés
Építkezés

Az első dolog az építőipar során az volt, hogy eldöntöttük a pick and place mashine méretét és alakját

Először építsük meg az alap formájú fát. Felépítettük a szedő- és elhelyező keretünket 50 cm -től 25 cm -ig és 30 cm -ig. A keret, a híd és az emelőkar kivételével mindent lézervágóval gyártottak.

Itt található egy link az összes fájlra

Aztán a szíjtárcsa rendszert akartuk. Itt mentünk két 50 mm -es gyűrűvel és egy 20 mm -es gyűrűvel. Ezután egy paracordot teszünk a 20 mm mellé valamilyen ragasztóval. Ezután összenyomtuk a két 50 mm -es gyűrűt a 20 mm -es gyűrű mindkét oldalán.

20 mm

50 mm

Ezután meg kell terveznünk a kar csúszóvezetőjét. Itt két oldalt és egy hátlapot készítettünk.

Amit aztán U alakban ragasztottak. Aztán összekapcsoltuk a híddal.

Oldallemez

Hátlap

Most, hogy elkészültek a kar felfelé és lefelé mozgatásához szükséges alkatrészek. Ide -oda kell mozgatnunk.

Ennek tervezésekor ügyeljünk arra, hogy a fogak illeszkedjenek egymáshoz. Tehát mindkét elem ugyanabban a projektben jött létre.

3. lépés: Kód

Kód
Kód
Kód
Kód
Kód
Kód

A programozás nagyon egyszerű és 5 részből áll

  1. Könyvtárak beépítése és változók beállítása belső és IO használatra
  2. Betöltés bemenetek Ram
  3. Sekvens, válassza ki a kívánt mozgást.
  4. Léptető/szervo pozíció szabályozás
  5. Kimenet a világnak

Nagy vonalakban minden részt elmagyarázunk, de ne feledje, hogy ez csak egy a sok megoldás közül.

1: Az üresség beállításához beillesztettük a projekthez szükséges 2 könyvtárat. Stepper és Servo. A mellékelt könyvtárak használatával megkíméli Önt a léptető- és szervomotorok minden részletének megismerésétől.

#befoglalni

#befoglalni

const int stepsPerRevolution = 200; // módosítsa ezt, hogy illeszkedjen a motor fordulatszámonkénti lépéseihez

// inicializálja a léptető könyvtárat a 8–11. tűn:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Szervófogó; // szervo objektum létrehozása a szervó vezérlésére

a Grippernek csatlakoznia kell az üresség beállításához

void setup () {// inicializálja a soros portot: Serial.begin (9600); Griper.csatolás (9); // a 9 -es csap szervóját a szervo -objektumhoz rögzíti

Ennek a szakasznak a többi része csak a Variable és a Constant beállítása.

2: A Void Loop első dolga, hogy az összes felhasznált bemenetet betöltse egy változóba. Ez két okból történik. Az első ok az, hogy korlátozzuk a CPU nehéz feladatait egy bemenet olvasásakor. A második ok, amely a legfontosabb, annak biztosítása, hogy ha egy bemenetet többször használ, annak ugyanaz az értéke lesz a teljes vizsgálat során. Ez megkönnyíti a következetes kód írását. Ez a PLC programozás nagyon gyakori gyakorlata, de a beágyazott programozásra is érvényes.

// ------------------------- bemenet RAM-ba -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: A kód szekvens részében csak egy kapcsolót készítettünk a Switch és a case parancsokkal. A sekvens rész csak jeleket ad a kód Pozícióvezérlő részére. Ez a rész könnyen testreszabható az Ön alkalmazásához, vagy használható.

4: A szervó helyzetét csak a szervo liberi vezérli, és az if utasítás a fogó nyitva és zárva.

A Stepper Control egy kicsit trükkösebb. A funkció összehasonlítja az alapértéket (a kar kívánt pozícióját) és az aktuális pozíciót. Ha az aktuális pozíció szeretője a, a funkció hozzáadódik a pozícióhoz, és felkéri a Stepper liberi függvényt, hogy tegyen egy pozitív lépést. Az ellenkezője igaz a magas pozíciókra. ha a pozíció megegyezik az alapjel értékével, akkor egy XinPos bit leül, és a léptető leáll.

// SP ellenőrzés X

if (XstepCountXsp és nem Home) {

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

5: Adja hozzá a kód végét, amelyet a motorok a liberi funkciókkal vezérelnek.

// -------------------- Kimenet ---------------------- // első lépés: XStepper.step (Xstep); // első lépés: YStepper.step (Ystep);

Griper.write (GripSp);

4. lépés: Készítette

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Ajánlott: