Newer
Older
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Siddhi Bodhe Fab Academy 2024</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="Free HTML Templates" name="keywords">
<meta content="Free HTML Templates" name="description">
<!-- Favicon -->
<link href="img/favicon.ico" rel="icon">
<!-- Google Web Fonts -->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Rubik&display=swap" rel="stylesheet">
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css" rel="stylesheet">
<!-- Libraries Stylesheet -->
<link href="lib/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet">
<link href="lib/tempusdominus/css/tempusdominus-bootstrap-4.min.css" rel="stylesheet" />
<!-- Customized Bootstrap Stylesheet -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Template Stylesheet -->
<link href="css/style.css" rel="stylesheet">
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<style>
/* Use flexbox to create a row layout */
.image-container {
display: flex;
}
/* Optional: Add some spacing between images */
.image-container img {
margin-right: 10px;
}
h2 {
margin-right: 150px;
margin-left: 150px;
}
h3 {
margin-right: 150px;
margin-left: 150px;
}
h4 {
margin-right: 150px;
margin-left: 150px;
}
p {
margin: 30px;
}
div {
text-align: justify;
text-justify: inter-word;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
p {
margin-right: 150px;
margin-left: 150px;
}
p {
font-size: 24px;
}
* {
box-sizing: border-box;
}
.column {
float: left;
width: 33.33%;
padding: 5px;
}
/* Clearfix (clear floats) */
.row::after {
content: "";
clear: both;
display: table;
}
</style>
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
</head>
<body>
<!-- Topbar Start -->
<div class="container-fluid bg-dark py-3 px-lg-5 d-none d-lg-block">
<div class="row">
<div class="col-md-6 text-center text-lg-left mb-2 mb-lg-0">
<div class="d-inline-flex align-items-center">
<a class="text-body pr-3" href=""><i class="fa fa-phone-alt mr-2"></i>+91 7057760100</a>
<span class="text-body">|</span>
<a class="text-body px-3" href=""><i class="fa fa-envelope mr-2"></i>siddhibodhe100@gmail.com</a>
</div>
</div>
<div class="col-md-6 text-center text-lg-right">
<div class="d-inline-flex align-items-center">
<a class="text-body px-3" href="">
<i class="fab fa-facebook-f"></i>
</a>
<a class="text-body px-3" href="">
<i class="fab fa-twitter"></i>
</a>
<a class="text-body px-3" href="">
<i class="fab fa-linkedin-in"></i>
</a>
<a class="text-body px-3" href="">
<i class="fab fa-instagram"></i>
</a>
<a class="text-body pl-3" href="">
<i class="fab fa-youtube"></i>
</a>
</div>
</div>
</div>
</div>
<!-- Topbar End -->
<!-- Navbar Start -->
<div class="container-fluid position-relative nav-bar p-0">
<div class="position-relative px-lg-5" style="z-index: 9;">
<nav class="navbar navbar-expand-lg bg-secondary navbar-dark py-3 py-lg-0 pl-3 pl-lg-5">
<a href="" class="navbar-brand">
<h1 class="text-uppercase text-primary mb-1">Fab Academy</h1>
</a>
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbarCollapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-between px-3" id="navbarCollapse">
<div class="navbar-nav ml-auto py-0">
<a href="index.html" class="nav-item nav-link active">Home</a>
<a href="about.html" class="nav-item nav-link">About</a>
<a href="assignment.html" class="nav-item nav-link">Assignment</a>
<a href="finalproject.html" class="nav-item nav-link">Final Project</a>
</div>
</div>
</nav>
</div>
</div>
<!-- Navbar End -->
<br>
<!-- Page Header Start -->
<div class="container-fluid page-header">
<h1 class="display-3 text-uppercase text-white mb-3">Week-10</h1>
<div class="d-inline-flex text-white">
<h6 class="text-uppercase m-0"><a class="text-white" href="">Assignments</a></h6>
<h6 class="text-body m-0 px-3">/</h6>
<h6 class="text-uppercase text-body m-0">Mechanical Design and Machine Design</h6>
</div>
</div>
<!-- Page Header Start -->
<!--Documentation Start-->
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<div>
<p><FONT COLOR="black">On the Wednesday of tenth week, Mr. Neil sir conducted our tenth global session. He took the random generator in first 90 minutes. He gave us overall explaination about week-10 which includes Mechanical Design and Machine Design.
<br>
In this assignment, I have made documentation on-<br>
<b><a href="groupassignmentweek-10.html">Group Assignment</a></b><br>
1. design a machine that includes mechanism + actuation + automation + application.<br>
2. build the mechanical parts and operate it manually.<br>
3. document the group project and your individual contribution.<br>
<b>Individual Assignment</b><br>
1. document your individual contribution of the project. <br>
<b>My Contribution:-</b>
<p><FONT COLOR="black">
<b> Firmware and Interfacing</b><br>
We have used "grbl" firmware for our machine. GRBL is open-source software that translates G-codes into motor movements for precise control in CNC machines, ensuring accurate operation and flawless execution of your designs. The process starts with CAD software, which reads the design, and then CAM software converts it into G-codes. These G-codes are the lifeblood of your CNC machine, controlling everything from the laser module to the cutting and engraving processes.GRBL is an embedded, high-performance software designed for controlling the motion of machines that move, create, or both. Its compatibility with a range of CNC machines and superior motion control makes it a top choice for applications such as milling, laser cutting, and metal engraving.
When selecting your first CNC machine compatible with GRBL, it is important to consider factors like the type of machine, worktop size, laser power, and control software. GRBL offers numerous advantages for motion control, including superior accuracy, rapid operation, and economical cost, making it an ideal choice for controlling CNC machines with Arduino Uno.
<br></FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-01.png">
</div><br>
<p><FONT COLOR="black">
Firstly, search "grbl Github" on google or click on 👉 <a href="https://github.com/grbl/grbl">grbl github</a> to get grbl file to import in Arduino board for machine work.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-02.png">
</div><br>
<p><FONT COLOR="black">
Now, download zip file by clicking on "Download ZIP" option which is situated in the drop down list of "Code" button.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-03.png">
</div><br>
<p><FONT COLOR="black">
Extract the downloaded ZIP file by clicking on "Extract All" option by clicking on right click.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-04.png">
</div><br>
<p><FONT COLOR="black">
Open Arduino IDE and firstly select board type-Arduino UNO. Then, add "grbl" ZIP file which we have taken from extracted "grbl master" file by going to include library option situated in "Sketch" option.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-05.png">
</div><br>
<p><FONT COLOR="black">
Now, the library is installed into Arduino IDE.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-06.png">
</div><br>
<p><FONT COLOR="black">
Go to "Examples" option located in the dropdown list of "File" option and upload installed library in IDE.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-07.png">
</div><br>
<p><FONT COLOR="black">
Here is the library of grbl firmware.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-08.png">
</div><br>
<p><FONT COLOR="black">
Now, Compile the code and upload it into Arduino board. Finally the firmware uploading is done.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-09.png">
</div><br>
<p><FONT COLOR="black">
Now, to operate our machine we needed Graphical User Interface. So, we decided to use UGS-Universal GCode Sender. To download this open source GUI, again search "ugs github" on google.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-10.png">
</div><br>
<p><FONT COLOR="black">
Download ZIP file by clicking on "Download ZIP" option.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-11.png">
</div><br>
<p><FONT COLOR="black">
Now, extract the downloaded ZIP file and go to "bin" folder to open UGS GUI.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/c-12.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/c-13.png">
</div><br>
</FONT></p>
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
<p><FONT><b>Final testing</b><br>
Firstly we have tested all the three stepper motors by inserting demo GCode to check whether it works or not. Here is the video of our first demo test-
</FONT></p>
<div>
<center>
<video width="700" height="450" controls>
<source src="images/video/02.mp4" type="video/mp4">
</video></center>
</div>
<p><FONT>Now, For final testing of machine, we assembled all electronic hardware components on the machine as shown in the image below. We then uploaded the GRBL code in Arduino UNO board. <b>Important note:</b> Remove the shield during uploading the code. And here is the ouput-
</FONT></p>
<p><b>Code:</b></p>
<p>
<code>
#include < AccelStepper.h ><br>
#include < MultiStepper.h ><br>
<br>
<br>
// Define the stepper motor and the pins that are connected to<br>
AccelStepper stepper1(1, 54, 55); // (Typeof driver: with 2 pins, STEP, DIR)<br>
AccelStepper stepper2(1, 60, 61);<br>
AccelStepper stepper3(1, 46, 48);<br>
#define MOTOR_X_ENABLE_PIN 38<br>
#define MOTOR_Y_ENABLE_PIN 56<br>
#define MOTOR_Z_ENABLE_PIN 62<br>
<br>
MultiStepper steppersControl; // Create an instance of MultiStepper<br>
<br>
long gotoposition[3]; // An array to store the target positions for each stepper motor<br>
<br>
<br>
void setup() {<br>
// Set up the enable pins as outputs<br>
pinMode(MOTOR_X_ENABLE_PIN, OUTPUT);<br>
pinMode(MOTOR_Y_ENABLE_PIN, OUTPUT);<br>
pinMode(MOTOR_Z_ENABLE_PIN, OUTPUT);<br>
<br>
// Enable all motors initially<br>
digitalWrite(MOTOR_X_ENABLE_PIN, LOW);<br>
digitalWrite(MOTOR_Y_ENABLE_PIN, LOW);<br>
digitalWrite(MOTOR_Z_ENABLE_PIN, LOW);<br>
<br>
// Set maximum speed and acceleration for each motor<br>
stepper1.setMaxSpeed(200); // Set maximum speed value for the stepper<br>
stepper1.setAcceleration(500); // Set acceleration value for the stepper<br>
<br>
stepper2.setMaxSpeed(200);<br>
stepper2.setAcceleration(500);<br>
<br>
stepper3.setMaxSpeed(200);<br>
stepper3.setAcceleration(500);<br>
<br>
// Adding the 3 steppers to the steppersControl instance for multi stepper control<br>
steppersControl.addStepper(stepper1);<br>
steppersControl.addStepper(stepper2);<br>
steppersControl.addStepper(stepper3);<br>
<br>
<br>
}<br>
<br>
void loop() {<br>
// Store the target positions in the "gotopostion" array<br>
<br>
/* Set new speed and acceleration for each motor<br>
stepper1.setSpeed(500); // Set a new speed value for the stepper<br>
stepper2.setSpeed(500);<br>
stepper3.setSpeed(500);*/<br>
<br>
gotoposition[0] = 700; // 800 steps - full rotation with quater-step resolution<br>
gotoposition[1] = 700;<br>
gotoposition[2] = 700;<br>
<br>
steppersControl.moveTo(gotoposition);<br>
steppersControl.runSpeedToPosition();<br>
<br>
delay(500);<br>
// scan from 0 to 180 degrees<br>
gotoposition[0] = -500; // 800 steps - full rotation with quater-step resolution<br>
gotoposition[1] = -500;<br>
gotoposition[2] = -500;<br>
<br>
steppersControl.moveTo(gotoposition);<br>
steppersControl.runSpeedToPosition();<br>
<br>
delay(500);<br>
<br>
// scan from 0 to 180 degrees<br>
gotoposition[0] = -300; // 800 steps - full rotation with quater-step resolution<br>
gotoposition[1] = -300;<br>
gotoposition[2] = -300;<br>
<br>
steppersControl.moveTo(gotoposition);<br>
steppersControl.runSpeedToPosition();<br>
<br>
delay(500); <br>
<br>
// scan from 0 to 180 degrees<br>
gotoposition[0] = 300; // 800 steps - full rotation with quater-step resolution<br>
gotoposition[1] = 300;<br>
gotoposition[2] = 300;<br>
<br>
steppersControl.moveTo(gotoposition);<br>
steppersControl.runSpeedToPosition();<br>
<br>
delay(500); <br>
}</code>
</p>
<p><b>Output:</b></p>
<div>
<center>
<video width="700" height="450" controls>
<source src="images/video/03.mp4" type="video/mp4">
</video></center>
</div>
<p><FONT>We didn't get fine output at first time because misalignment of belts with pulleys. But later on we adjusted the tension of the belt. And finally we got the output.
</FONT></p>
<div>
<center>
<video width="700" height="450" controls>
<source src="images/video/04.mp4" type="video/mp4">
</video></center>
</div>
<!-- Footer Start -->
<div>
<p><center><u><h3><FONT COLOR="2b2e4a">Siddhi Bodhe Fab Academy😁</FONT></h3></u></center></p><br><br>
</div>
<!-- Footer End -->
<!-- Back to Top -->
<a href="#" class="btn btn-lg btn-primary btn-lg-square back-to-top"><i class="fa fa-angle-double-up"></i></a>
<!-- JavaScript Libraries -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js"></script>
<script src="lib/easing/easing.min.js"></script>
<script src="lib/waypoints/waypoints.min.js"></script>
<script src="lib/owlcarousel/owl.carousel.min.js"></script>
<script src="lib/tempusdominus/js/moment.min.js"></script>
<script src="lib/tempusdominus/js/moment-timezone.min.js"></script>
<script src="lib/tempusdominus/js/tempusdominus-bootstrap-4.min.js"></script>
<!-- Template Javascript -->
<script src="js/main.js"></script>
</body>
</html>