Skip to content
Snippets Groups Projects
week-10.html 19.1 KiB
Newer Older
Siddhi Bodhe's avatar
Siddhi Bodhe committed
<!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">
Siddhi Bodhe's avatar
Siddhi Bodhe committed
    <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>
Siddhi Bodhe's avatar
Siddhi Bodhe committed
</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>
Siddhi Bodhe's avatar
Siddhi Bodhe committed
            <h6 class="text-uppercase text-body m-0">Mechanical Design and Machine Design</h6>
Siddhi Bodhe's avatar
Siddhi Bodhe committed
        </div>
    </div>
    <!-- Page Header Start -->

    <!--Documentation Start-->
Siddhi Bodhe's avatar
Siddhi Bodhe committed
    <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 &#128073; <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>
Siddhi Bodhe's avatar
Siddhi Bodhe committed
        <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> 
Siddhi Bodhe's avatar
Siddhi Bodhe committed
        </div>
Siddhi Bodhe's avatar
Siddhi Bodhe committed
   
    <!--Documentation End-->

        
Siddhi Bodhe's avatar
Siddhi Bodhe committed
        
   <!-- Footer Start -->
   <div>
    <p><center><u><h3><FONT COLOR="2b2e4a">Siddhi Bodhe Fab Academy&#128513;</FONT></h3></u></center></p><br><br>
 </div>   
 <!-- Footer End -->
Siddhi Bodhe's avatar
Siddhi Bodhe committed

    <!-- 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>