Newer
Older
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
<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">
<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;
}
iframe {
margin-right: 150px;
margin-left: 150px;
}
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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>
</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 px-3" href=""><i class="fa fa-envelope mr-2"></i></a>
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
</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="https://fabacademy.org/2024/labs/sanjivani/" class="nav-item nav-link active">Home</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="">Group 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-->
<!--Day-01 start-->
<h3><u><FONT COLOR="f77d0a">Group Assignment</FONT></u></h3>
<div>
<center>
<video width="700" height="450" controls>
<source src="images/video/main.mp4" type="video/mp4">
</video></center>
</div>
<div>
<p><FONT COLOR="black">This assignment is about documenting what we learned in Mechanical Design and Machine Design week that includes what all we did as a group in making a machine. The tasks were divided as per the processes and yet work was completed through a collaborative and concurrent approach. This documentation includes our concept, brainstorming and processes (work break-down) we followed in designing and constructing our machine.
<br>
In this assignment, we have made documentation on-<br>
<b>Mechanical Design</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>Machine Design</b><br>
1. Actuate and automate your machine<br>
2. Document the group project and your individual contribution<br>
<b>Concept</b><br>
We had a brainstorming session to decide on the machine, it's applications and what kind of mechanism should the machine have. We had different ideas; however, we thought of making a machine specially used for 2D drawings and pick-place mechanism. So, we started searching for the mechanism and we got different mechanism on internet. By sorting all the mechanism we have finalised to make <b>Delta Robot.</b> <br>
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/01.png">
</div><br>
<p><FONT>
Basically, A delta robot is a parallel robot featuring three arms connected to universal joints at the base, forming a triangular configuration. This design enables high-speed and high-precision applications, often found in industries such as packaging, assembly, and pick-and-place tasks. The arms utilize parallelograms to maintain the orientation of the end effector, ensuring consistent performance throughout its workspace. Delta robots are prized for their ability to swiftly manipulate objects while maintaining accuracy, making them suitable for tasks requiring rapid and precise movements. In contrast, a Stewart platform, another type of parallel mechanism, offers different capabilities, allowing for the manipulation of its end effector's orientation through the coordinated movement of its multiple actuators.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/02.png">
</div><br>
<p><FONT>The delta robot, a type of parallel robot, comprises multiple kinematic chains linking the base to the end effector. It can be conceptualized as a spatial extension of a four-bar linkage. Fundamental to the delta robot's operation is the utilization of parallelograms, which constrain the end platform's movement exclusively to pure translation along the X, Y, or Z axes, precluding rotation. Positioned above the workspace, the robot's base houses all its actuators. Extending from the base are three articulated arms, terminating at a small triangular platform. Activation of the input links induces movement of the triangular platform along the X, Y, or Z axes. Actuation methods vary and may involve linear or rotational actuators, with or without reductions, such as direct drive systems. <a href="https://en.wikipedia.org/wiki/Delta_robot">Click to read more.</a>
<br>
Together as a group, we went through different mechanisms that can be best suited for our machine. The Delta Robot is mainly composed of three Revolute Spherical Spherical kinematic chains using mechanisms based on parallelograms restraining entirely the orientation of the travelling plate, resulting on translational motion.<br>
</FONT></p>
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
<p><FONT><b>Mechanical Design</b><br>
We have designed our machine and all the parts of our machine in SolidWorks. Following are the snapshots of our design.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/a-01.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-02.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-03.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-04.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-05.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-06.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-07.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-08.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-09.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-10.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/a-11.png">
</div><br>
<p><FONT>Following is the assembly of the machine in SolidWorks.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/a-12.jpeg">
<img width="700" height="450"src="images/Week-10/a-13.jpeg">
<div><center><div class="sketchfab-embed-wrapper">
<iframe title="A 3D model" width="420" height="320" src="https://sketchfab.com/models/3f3a2becfa804554a26af5450dbe7ffd/embed?autostart=0&transparent=0&autospin=0&controls=1&watermark=1" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
</div></center></div>
<p><FONT><b>Bill of Material</b><br>
Below is our engineering and manufacturing Bill of Material of our entire machine. We did not include wires and power supply accessories in to the BOM.
</FONT></p>
<div>
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
</div><br>
<p><FONT><b>Fabrication</b><br>
<b>1. Laser Cutting</b><br>
To make a frame of our machine, we decided to use laser cutter. We have taken 6mm MDF material from our college's workshop store.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/b-01.png">
</div><br>
<p><FONT>Then, we have inserted our designed part into Laser CAD software to convert .dxf file into GCode format which helps laser cutter to cut respective uploaded design. Here are some snapshots.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/b-02.png">
</div><br>
<p><FONT>Here, we have uploaded .dxf file into laser CAD by clicking "ctrl+i" option or directly importing file.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/b-03.png">
</div><br>
<div>
<img width="700" height="450"src="images/Week-10/b-04.png">
</div><br>
<p><FONT>Here are some snapshots during laser cutting.
</FONT></p>
<div>
<center>
<video width="700" height="450" controls>
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
</video></center>
</div>
<p><FONT><b>2. Drilling</b><br>
We needed to drill some holes of top frame because of some kerf calculation changes. So, we used drilling machine to drill holes.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/b-05.png">
</div><br>
<p><FONT><b>Assembly</b><br>
Once all the parts were in place (either purchased, laser cut or from our lab inventory), we started to assemble the machine. Following is a picture of all the material in place.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/b-06.png">
</div><br>
<p><FONT><b>Electronics</b><br>
<b>A. Selection of electronic components</b><br>
Here is the list of components which we have finalised-<br>
1) Stepper motor<br>
2) Stepper motor drivers<br>
3) Driver shield<br>
4) Control board<br>
5) External power supply<br>
<b>Selecting the stepper motors and stepper drivers-</b><br>
Based on the requirements of the mechanical design of the machine, we selected Nema 17 stepper motor with 4.7 kg-cm torque to drive the machine axis. We selected three motors for running XYZ axes.<br>
For running the stepper motors, we required stepper drivers. For, which we had multiple options. However, considering the driver configuration availability in GRBL firmware and the inventory we had in our lab, we went with A4988 as a motor driver.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/d-01.png">
</div><br>
<p><FONT><b>Selecting the CNC stepper driver shield and controller board-</b><br>
There are so many types of CNC stepper driver shields available, out of, which we have selected Arduino CNC V3 shield connect with Arduino UNO board. The Arduino CNC shield, when paired with an Arduino Uno board and running the GRBL firmware, provides a compact and accessible solution for controlling CNC machinery. This setup allows for seamless integration of stepper motor drivers, limit switches, and other essential components, facilitating precise and efficient CNC operations. By uploading the GRBL firmware onto the Arduino Uno, users can harness the power of G-code commands to execute a wide range of machining tasks with accuracy and reliability.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/d-02.png">
</div><br>
<p><FONT><b>Selecting the power supply</b><br>
As per the requirement of current consumption and voltage requirement for electric components for our machine, we chose 12V 5A power supply for powering up the machine.
<b>Testing of electronic components-</b><br>
<b>1. Testing stepper motor and stepper motor drivers</b><br>
We wanted to test the stepper motor before setting up our electronic assembly for our machine. As we are going to use GRBL firmware and it is not configured yet, so we decided to test the stepper motor first. We started with testing individual stepper motors for, which we reffered <a href="https://docs.arduino.cc/learn/electronics/stepper-motors/">Arduino and stepper motor configurations.</a> We tested all the three motors and drivers, they were working fine.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/d-03.png">
</div><br>
<p><FONT><b>2. Testing stepper motors with Arduino CNC Shield V3</b><br>
In the process of testing a stepper motor with an Arduino Uno and an Arduino CNC Shield V3, it's imperative to ensure a seamless connection between the components. Begin by affixing the CNC shield securely onto the Arduino Uno board. Once properly mounted, establish the physical link between the stepper motor and one of the available stepper motor driver sockets on the CNC shield. Ensure correct wiring by connecting the motor wires to the designated pins on the driver, typically labeled as A+, A-, B+, and B-. Following the hardware setup, upload a test sketch to the Arduino Uno using the Arduino IDE. This sketch should utilize the Arduino Stepper library to control the motor's movement. Set parameters such as the number of steps per revolution and the desired speed of rotation within the sketch. Execute the test by running the uploaded sketch, observing the stepper motor's behavior as it undergoes programmed movements. This testing phase allows for the verification of proper functionality and serves as a crucial step in preparing the system for subsequent CNC operations.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/d-04.png">
</div><br>
<p><FONT><b>3. Connections and routing on the machine</b>
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.
</FONT></p>
<div>
<img width="700" height="450"src="images/Week-10/d-05.jpeg">
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
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
</div><br>
<p><FONT>
<b>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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
<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>
</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>
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
<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>
<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>
</video></center>
</div>
<p><FONT><b>Some Important G and M codes-</b><br>
Machine codes like G code and M codes are used to control a cnc machine through a CLI. In pronterface we could individually send G code and M codes to setup the homming and perform other functionality.
<br>1. G28 - Homing position<br>
2. G90 - Absolute positioning<br>
3. M1 - Sleep<br>
4. M2 - Program End<br>
5. M12 - Enable stepper motors<br>
6. M30 - Program Stop<br>
7. M84 - Motors Off<br>
8. M114 - Get Current Values<br>
9. M428 - Set an arbitary Value<br>
10. M500 - Stores the set value<br>
<b>Some important points(learning) that we listed for electronics part-</b><br>
1. Know the board that you are using in this case it is an Arduino UNO and Arduino CNC shield V3. Note:- Do check the support list on GRBL about the hardware that you are going to choose.<br>
2. Compile and upload the code on to Arduino UNO board.<br>
3. After uploading the firmware, check the movement of the motor. Check the stepping. Mount the motor to the assembly and check the XYZ movements.
<br>
1. Selection of electronic components based on application<br>
2. Used firmware for machine operation.<br>
<div><h3>Downloads</h3>
<p>
<a href="files/week-10/week-10.zip">CAD and DXF files</a><br>
</p>
</div>
<p><center><u><h3><FONT COLOR="2b2e4a">SANJIVANI Fab LAB😁</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>