GripGrab

by GribGrab in Circuits > Arduino

253 Views, 2 Favorites, 0 Comments

GripGrab

LOGO.png

Hej og velkommen til vores projekt. Vi er tre studerende, som har fået til opgave at lave en prototype af en griber. Opgaven går ud på at griberen skal samle et Iceberg salathoved op og aflevere det. I vores projektbeskrivelse skal griberen monteres på en Farmbot. Dog har vi fundet ud af, at Farmbotten kun kan løfte 1kg. Derfor skal vi tage udgangspunkt i at Farmbotten kan løfte griberen vi producerer. Yderlig har vi fået en ekstra opgave om at lave en lynkobling til griberen.

Vi startede med at brainstorme, med ord og skitser, hvordan vi ville lave vores griber. Vi valgte en kloakrenser/skovl som vores udgangspunkt. Også har vi videreudviklet på det. Først med en 3D printet model og senere hen i laserskåret model.

Vi vil gennemgå vores skitser, diagrammer og vores program. Her vil vi gennemgå dem ned i detaljer og forklare hvordan vi har gjort.

Konstruktion

242441769_380693613712460_3300891347363584283_n.jpg
Matrialeliste.jpg

Vores griber ser sådan her ud, hvor vi op i toppen har et kontrolrum med vores motor og styreenhed. Derudover har vi skovlen, hvor salathoved skal ligge. Her har vi designet, at griberen har klør, hvor den eventuelt kan skære salaten. Ude på spidserne af kløerne er de flade, som gør at der eventuelt kan monteres knivblade på, så griberen bedre kan skære salatens rod over. Oppe i kontrolrummet er der også gjort klar til at det eventuelt kan lukkes af så det kan være støv og vandtæt.

Specifikationer:
Bredde - 28 cm.
Højde åben - 31 cm.
Højde lukket - 36 cm.
Gribe kapacitet - 18,5 cm.
Vægt - 1,4 kg.


3D Tegning

Vores griber er tegnet i fusion 360, hvor alle delene er lavet i.

Laserskæring

Vi har laserskåret de fleste dele, på den måde har vi hurtigere kunne få delene og se om der skulle ændres lidt i modellen. Det har sparet os en del tid, da det kun tager ca. 1,5 time at skære det ift. hvis vi skulle 3D printet det.

Der skal bruges 2 plader af størrelsen 600*450mm.

3D Printning

Vi har tre dele som vi har 3D printet. Her har vi brugt PLA.

  • Aksen til motor ( 100 % infill )
  • Holder til endestop ( 30 % infill )
  • Lynkobling til UR

Fordi vi har 3D printet disse dele er, at de skal kunne klare mere eller er lidt specielt i designet.

Komponenter

Komponent ark.png

Samling Af Konstruktion

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
19.jpg
20.jpg
21.jpg
22.jpg
23.jpg
24.jpg
25.jpg
26.jpg
27.jpg
28.jpg
29.jpg
30.jpg
31.jpg
32.jpg
33.jpg
34.jpg
35.jpg
36.jpg
37.jpg
38.jpg
39.jpg
40.jpg
41.jpg
42.jpg
43.jpg
44.jpg
45.jpg
46.jpg
47.jpg
48.jpg
49.jpg
50.jpg
51.jpg
52.jpg
53.jpg
54.jpg
55.jpg
56.jpg
57.jpg
58.jpg
59.jpg
60.jpg
61.jpg
62.jpg
63.jpg
64.jpg
65.jpg
66.jpg
67.jpg
68.jpg
69.jpg
70.jpg
71.jpg
72.jpg
73.jpg
74.jpg
75.jpg
76.jpg
77.jpg
78.jpg
79.jpg
80.jpg
81.jpg
82.jpg
83.jpg
84.jpg
85.jpg
86.jpg
87.jpg
88.jpg
89.jpg
90.jpg
91.jpg
92.jpg
93.jpg
94.jpg
95.jpg
96.jpg
97.jpg
98.jpg
99.jpg
100.jpg
101.jpg
102.jpg
103.jpg
104.jpg
Komponent ark.png

El-diagram

Hardware - griber4.0.png

Vi har lavet en skitse over vores elektriske opstilling, så det er nemmere, at danne sig et overblik over vores ledningsforbindelser. Oppe i vores materialeliste, kan der ses hvilke elektriske komponenter vi har anvendt.

I vores kreds har vi to forskellige forsyninger, hvor den ene er styrekredsen (5 VDC), og den anden er til motoren (24 VDC). Her skal man være sikker på at hele kredsen har fælles nul/ground.

Forbindelse til esp32 cam pins:

  • Signal til robot. GPIO 1
  • Signal fra robot. GPIO 2
  • Signal til robot. GPIO 3
  • Endestop åben. GPIO 4
  • Motor Driver pin IN1. GPIO 12
  • Motor Driver pin IN2. GPIO 13
  • Afstandssensor pin SDA. GPIO 14
  • Afstandssensor pin SCL. GPIO 15
  • Endestop lukket. GPIO 16

Motor Driver - L298N

Tilslutning til vores motor driver bruger vi kun halvdelen af den, da vi kun bruger en motor. Her styre vi retning fra vores esp32. Vores motor er forsynet med 24 VDC, da den ellers ikke har nok moment til at åbne/lukke. Her kan der eventuelt bruges en anden motor med mere moment, så den eventuelt også kan skære/klippe.

  • Motor til Output A
  • Forsyning på Power terminalerne. Være sikker på de monteres rigtig ift. styrespændingen og motorspændingen.
  • Sæt jumper på A så den er Enable.

Programmering

Flowchart.jpg

Vores program er programmeret i Arduino IDE, som vi har overført til vores esp32.

Først går vi ind og henter biblioteker fra Arduinos bibliotek og definer to af vores pin til kommunikation med afstand sensoren. Samtidig definer vi også vores ind- og udgange på esp32, så de er låst til den komponent vi bruger. Til sidst opretter vi nogle variabler som vi kan overføre data over i fra vores defineret ind- og udgange.

I vores setup, starter vi med at åbne vores forbindelse til Arduinos monitor. Herefter opsættes SDA og SCL til busforbindelse, så de er defineret til den forbindelse. Nu definer vi vores pins, om de skal være ind- eller udgange.

Vores if funktion bruger vi til at se om vi har forbindelse til vores afstandssensor. Hvis den ikke har, skriver den beskeden i vores monitor.

Vores loop er her hvor vores handleringer er, og her hvor vi skal have vores betingelser eksekveret. Vi starter med at overføre værdier fra vores indgange over i vores variabler, og får vist hvad vores afstandssensor måler i vores monitor.

Efterfølgende har vi to if funktioner, hvor vi overføre endestoppenes værdier til de to output som er til robotten.

For at få griberen til at lukket sammen, har vi tre betingelser der skal opfyldes. Afstandssensoren skal være indenfor den angivet værdi, den skal få besked om at den er det rigtig sted, samt at griberabenState er 0. Hvis det er opfyldt, sætter vi Bryder til 1 og går ned i vores funktion MotorGrib.

Nede i funktion MotorGrib har vi et while loop, som den går ind i, ved at Bryder er 1, som vi lige har sat til 1. Nu kører motoren og derved lukker sammen, indtil griberlukketState bliver 0. Her sætter den Bryder til 0 og stopper motoren.

For at få griberen til at åbne igen, har vi to betingelser. Den få igen besked om, at den er det rigtige sted, samt griberlukketState er 0. Her sætter vi igen Bryder til 1 og går ned i funktionen MotorSlip. Funktionen er den samme som ved MotorGrib, men motor køre nu den anden vej.

Downloads

Præsentation

Projekt 3A præsentation

Konklusion

Vi fik udleveret et projekt, hvor vi skulle lave en griber til plukning af Iceberg salat. Den skulle have en feedback sensor, skulle styres via en ESP32 og have en minimum kapacitet på 15 cm.

VI fandt hurtigt vores grundprincip for griberen, gennem idegenerering, hvor vi skrev det ned på posteres og så skulle man præsentere sine ideer via ord eller skitser og til sidst skulle vi så i fælleskab vælge den vi syntes, havde størst potentiale. Gennem projektet har vi udviklet griberen på forskellige måde. F.eks. gik vi fra en 3D printet model til at laserskære, for at spare tid og for at vi hurtigere kunne vurdere, hvad vi ville eller skulle ændre. Vi ændrede også selve konstruktionen, både pga. vi ikke kunne skære samme former som 3D printeren og fordi vi fandt en mere robust konstruktion, også fik vi lavet et styrehus til motoren og ESP’en. Motoren har voldt os en del problemer. Programmeringsdelen, har vi ændret på flere gange, fordi Stepper motor og DC motor ikke skal programmeres på samme måde. Vi skiftede, pga. stepper motoren ikke havde nok moment til at åbne/lukke griberen. ESP’en har også voldt nogle problemer. Det har den gjort, da vi ikke har arbejdet med ESP`en før og generelt ikke har arbejdet med Arduino før. Der er flere pins på ESP`en som virker på en bestemt måde. Nogle er låst til en vist formål. Den ESP vi har arbejdet med, er mere bygget til kamera opsætning og ikke så meget mere. I det her projekt, ville det have været bedre med en større model af ESP eller en Arduino nano. Det ville have gjort det mere optimalt, da der ville være mulighed for udvidelse eller at vi kunne have haft flere funktioner med.