Skip to content
Snippets Groups Projects
week08.html 22.23 KiB
<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="GitLab Pages">
    <meta name="description" content="Fab Academy documentation site for Charlotte Fab-C">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
    <link rel="stylesheet" href="../assets/css/main.css" />
    <title>Charlotte Fab-C - Fab Academy</title>
    
  </head>
  <body class="is-preload">
    <!-- Wrapper -->
      <div id="wrapper">

        <!-- Main -->
          <div id="main">
            <div class="inner">

              <!-- Header -->
                <header id="header">
                  <a href="../index.html" class="logo"><strong>Charlotte - FabLab de Charleroi</strong> Fab Academy website</a>
                  <ul class="icons">
                    <li><a href="https://www.facebook.com/littlebelge" class="icon brands fa-facebook-f" target="_blank"><span class="label">Facebook</span></a></li>
                    <li><a href="https://www.instagram.com/little.belge/" class="icon brands fa-instagram" target="_blank"><span class="label">Instagram</span></a></li>
                    <li><a href="https://gitlab.fabcloud.org/charlotte-vandenbulcke" class="icon brands fa-gitlab" target="_blank"><span class="label">Gitlab</span></a></li>
                  </ul>
                </header>

              <!-- Section -->
                <section id="banner">
                  <div class="content">
                    
                    <header class="main">
                      <h2>8. Electronics Design</h2>
                    </header>

                    <section>
                      <h3>Hero shot</h3>

                      <span class="image object">
                      <img src="../images/current-hero-shot.jpg" alt="..." />
                      </span>

                      <br>

                    </section>

                      <hr>

                    <section>
                      <h3>Group assignment</h3>

                      <p>We were asked to observe the operation of a microcontroller circuit board.</p>

                      <p>For that, we used our Quentorres + our "blink" Arduino code + an Arduino "fade" code and we checked the measurements with our RIGOL DS1054 oscilloscope.</p>

                      <h4>RIGOL DS1054 oscilloscope</h4>

                      <span class="image object">
                      <img src="../images/oscilloscope.jpg" alt="..." />
                      </span>

                      <h5>Specifications</h5>

                      <table>
                        <tbody>
                          <tr>
                            <th scope="row">Memory</th>
                            <td>24 Mpts (divided by number of channels)</td>
                          </tr>
                          <tr>
                            <th scope="row">Sample rate</th>
                            <td>250 MS/s (4 channels active),<br>
                            500 MS/s (2 channels active), <br>
                            1 GS/s (1 channel active)</td>
                          </tr>
                          <tr>
                            <th scope="row">Display</th>
                            <td>7" TFT, 800x480 pixels 160,000 colors</td>
                          </tr>
                          <tr>
                            <th scope="row">Input impedance</th>
                            <td>1 MΩ</td>
                          </tr>
                          <tr>
                            <th scope="row">Number of channels</th>
                            <td>4</td>
                          </tr>
                          <tr>
                            <th scope="row">Horizontal scale (input)</th>
                            <td>5 ns/div - 50s/div</td>
                          </tr>
                          <tr>
                            <th scope="row">Vertical Sensitivity (input)</th>
                            <td>1 mV/div - 10 V/div</td>
                          </tr>
                          <tr>
                            <th scope="row">A/D converter</th>
                            <td>8 bits resolution</td>
                          </tr>
                          <tr>
                            <th scope="row">Maximum voltage</th>
                            <td>CAT I 300 Vrms, CAT II 100 Vrms, transient overvoltage 100Vpk</td>
                          </tr>
                          <tr>
                            <th scope="row">Rise Time</th>
                            <td>DS1104Z: 3.5 ns<br>
                            DS1074Z: 5 ns<br>
                            DS1054Z: 7 ns</td>
                          </tr>
                          <tr>
                            <th scope="row">Probe support</th>
                            <td>0.1x - 1000x</td>
                          </tr>
                          <tr>
                            <th scope="row">Measured noise value</th>
                            <td>1 mVpp (at 100ms,1mV/div, record length: 3Mpts)</td>
                          </tr>
                          <tr>
                            <th scope="row">Connections</th>
                            <td>USB 2.0 type A, USB 2.0 type B, LAN</td>
                          </tr>
                          <tr>
                            <th scope="row">Weight (without box)</th>
                            <td>3.2 Kg</td>
                          </tr>
                          <tr>
                            <th scope="row">Dimensions</th>
                            <td>313 x 161 x 122 mm</td>
                          </tr>
                        </tbody>
                      </table>

                      <h4>Coding the Quentorres</h4>

                      <h5>The Arduino Blink Code</h5>

                      <pre>
                        <code>
                            const int ledPin = 26;
                            // the setup function runs once when you press reset or power the board
                            void setup() {
                              // initialize digital pin LED_BUILTIN as an output.
                              pinMode(ledPin, OUTPUT);
                            }

                            // the loop function runs over and over again forever
                            void loop() {
                              digitalWrite(ledPin, HIGH);  // turn the LED on (HIGH is the voltage level)
                              delay(1000);                      // wait for a second
                              digitalWrite(ledPin, LOW);   // turn the LED off by making the voltage LOW
                              delay(1000);                      // wait for a second
                            }
                        </code>
                      </pre>

                      <h5>The Arduino Fade Code</h5>
                      
                      <pre>
                        <code>
                          int led = 26; // the PWM pin the LED is attached to
                          int brightness = 0;    // how bright the LED is
                          int fadeAmount = 5;    // how many points to fade the LED by

                          // the setup routine runs once when you press reset:
                          void setup() {
                            // declare pin to be an output:
                            pinMode(led, OUTPUT);
                          }

                          // the loop routine runs over and over again forever:
                          void loop() {
                            // set the brightness
                            analogWrite(led, brightness);

                            // change the brightness for next time through the loop:
                            brightness = brightness + fadeAmount;

                            // reverse the direction of the fading at the ends of the fade:
                            if (brightness <= 0 || brightness >= 255) {
                              fadeAmount = -fadeAmount;
                            }
                            // wait for 100 milliseconds to see the dimming effect
                            delay(100);
                          }
                        </code>
                      </pre>

                      <h4>Microcontroller observation</h4>
                      
                      <p>The oscilloscope displayed different variations when we launched the blink program and then the fade program.</p>

                      <span class="image object">
                      <img src="../images/blink-oscilloscope.jpg" alt="..." />
                      </span>

                      <span class="image object">
                      <img src="../images/blink-oscilloscope-1s-2s.jpg" alt="..." />
                      </span>

                      <span class="image object">
                      <img src="../images/fade-oscilloscope.jpg" alt="..." />
                      </span>

                      <span class="object">
                      <video width="600" height="300" controls>
                      <source src="../images/fade-oscilloscope.mp4" type="video/mp4">
                      </video>
                      </span>

                      <br>

                      <p>Link to our <a href="https://fabacademy.org/2024/labs/fabc/group-assignment/week008/" target="_blank">Group page</a></p>

                    </section>

                      <hr>

                    <section>
                      <h3>Individual assignment</h3>

                      <h4>Discovering Kicad</h4>

                      <p>On our previous electronics assignments, we've already had the design files ready to be used (thanks to Quentin and Adrian).</p>

                      <p>This week it was our turn to do everything and for that we took our firsts steps in the "world of electonics board design" by learning to use the <a href="https://www.kicad.org/" target="_blank">Kicad software</a>.</p>

                      <p>Our instructor (Sylvain Denis) taught us to install the program and the different libraries (symbols and footprints) that already contain all the components we will use during the Fab Academy.</p>

                      <h4>My Micro-Cat-Controller</h4>

                      <p>To create my electronics board, we chose some components that would be useful for my final project :</p>

                      <p>
                        <ul>
                          <li>A distance detector</li>
                          <li>A LED ring</li>
                          <li>A Seeed Studio</li>
                        </ul> 
                      </p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                      <h5>Design</h5>

                      <p>Well, no surprise. I wanted to make a cat ! XD</p>

                      <p>To find out the shape of the board and the components' placement, I first tried to draw everything on paper but then I came with the idea to draw the components on a transparent plastic A4 sheets, cut them out and place all the pieces manually like solving a puzzle.</p>

                      <span class="image object">
                      <img src="../images/first-doodles.jpg" alt="..." />
                      </span>

                      <span class="image object">
                      <img src="../images/components-drawings.jpg" alt="..." />
                      </span>

                      <p>Then I took another transparent plastic sheet and covered the pieces to draw my "cat shape" ideas for the board.</p>

                      <span class="image object">
                      <img src="../images/cathead-shape-ideas.jpg" alt="..." />
                      </span>

                      <span class="image object">
                      <img src="../images/paw-shape-ideas.jpg" alt="..." />
                      </span>

                      <p>It really helped me to visualize how to place every piece of the complete board and how it would look like at the end.</p>

                      <p>It will result on a cat with an open luminar mouth requesting food !</p>

                      <span class="image object">
                      <img src="../images/cat-head-final-idea.jpg" alt="..." />
                      </span>

                      <p>I first drew the cat head myself in Kicad but it didn't work out because the lines weren't closed all together so the GBR edges cut file was empty.</p>

                      <span class="image object">
                      <img src="../images/catPCBv1.jpg" alt="..." />
                      </span>

                      <p>I searched after a solution on internet and found a <a href="https://www.youtube.com/watch?v=rhqlP8CRct0&ab_channel=StuartPatterso" target="_blank">video tutorial</a> explaining how to import a complexe file made in Inkscape to use it as edge cut in Kicad.</p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                      <p>I chose on internet simple cat head silhouettes and vectorized one in Inkscape, following the instruction on the video tutorial.</p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                      <p>
                        <blockquote>
                          Funny thing is that I unintentionally placed the routes to look like a real cat face, with closed mouth and a nose (created by the Seeed Studio) !
                        </blockquote>
                      </p>

                      <p>I generated the GBR files by clicking on "trace" in Kicad and then converted them in PNG images using the great <a href="https://quentinbolsee.pages.cba.mit.edu/gerber2img/" target="_blank">gbr2img program</a> made by Quentin Bolsee (thanks a lot ! <3).</p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                      <p>
                        <blockquote>
                          I had to change my cat head shape because the width was too large for the copper plate (100mm x 100mm)... So back in Inkscape I resized it to fit 80mm width, which was perfect without changing the whole board too much.
                        </blockquote>
                      </p>
                      
                      <h5>Milling</h5>

                      <p>The milling part was simple.</p>

                      <p>After generating the G-Code of the interior file and the traces file in Mods with the right CNC parameters, I sent them on the CNC program.</p>

                      <p>After fixing the plate and the tool, we made the z-zero and launched the auto-leveling to mostly make sure that the shape really fits on the plate.</p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                      <p>Time to launch the routes tracing. It took approximately 25min.</p>

                      <p>Next step was to quickly clean the plate with our mini duster, change the tool, check the z-zero again and launch the cutting.</p>

                      <p>At the end, quick dusting, plate water cleaning (with soap and a toothbrush) + drying... and <strong>TADAAAA</strong> : a beautiful meow-cat-controller ! YAY :D <3</p>

                      <span class="image object">
                      <img src="../images/cat-controller-milled.jpg" alt="..." />
                      </span>
                                            
                      <h5>Soldering</h5>

                      <p></p>                
                      
                      <h5>Functioning</h5>

                      <p></p> 

                      </section>

                      <hr>

                    <section>
                      <h3>My journey</h3>

                      <p></p>

                      <span class="image object">
                      <img src="../images/...jpg" alt="..." />
                      </span>

                    </section>

                      <hr>

                    <section>
                      <h3>Files and resources</h3>
                      
                      <p><strong>My files</strong></p>
                      <ul>
                        <li><a href="../files/cat-controller.kicad_pro" target="_blank">Cat-Controller Kicad-Pro file</a></li>
                        <li><a href="../files/cat-controller.kicad_pcb" target="_blank">Cat-Controller Kicad-PCB file</li>
                        <li><a href="../files/cat-controller-v2.kicad_pcb" target="_blank">Cat-Controller v2 Kicad-PCB file</li>
                        <li><a href="../files/cat-controller.kicad_sch" target="_blank">Cat-Controller Kicad-Schematic file</li>
                        <li><a href="../files/cathead.svg" target="_blank">Cat-Controller edge-cuts SVG file</a></li>
                        <li><a href="../files/cathead2.svg" target="_blank">Cat-Controller v2 edge-cuts SVG file</a></li>
                        <li><a href="../files/cathead.dxf" target="_blank">Cat-Controller edge-cuts DXF file</a></li>
                        <li><a href="../files/cat-interior.png" target="_blank">Cat-Controller Interior PNG file</a></li>
                        <li><a href="../files/cat-interior.png.nc" target="_blank">Cat-Controller Interior G-Code file</a></li>
                        <li><a href="../files/cat-traces.png" target="_blank">Cat-Controller Traces PNG file</a></li>
                        <li><a href="../files/cat-traces.png.nc" target="_blank">Cat-Controller Traces G-Code file</a></li>
                        <li><a href="../files/cat-interior2.png" target="_blank">Cat-Controller Interior v2 PNG file</a></li>
                        <li><a href="../files/cat-interior2.png.nc" target="_blank">Cat-Controller Interior v2 G-Code file</a></li>
                        <li><a href="../files/cat-traces2.png" target="_blank">Cat-Controller Traces v2 PNG file</a></li>
                        <li><a href="../files/cat-traces2.png.nc" target="_blank">Cat-Controller Traces v2 G-Code file</a></li>
                      </ul>

                      <p><strong>Resources</strong></p>
                      <ul>
                        <li><a href="https://www.kicad.org/" target="_blank">Kicad website</a></li>
                        <li><a href="https://www.youtube.com/watch?v=rhqlP8CRct0&ab_channel=StuartPatterso" target="_blank">English tutorial : Complex Edge Cuts in KiCAD 5.x with Inkscape</a></li>
                        <li><a href="https://quentinbolsee.pages.cba.mit.edu/gerber2img/" target="_blank">Quentin Bolsee's gerber2img program page</a></li>
                        <li><a href="https://fabacademy.org/2024/labs/fabc/" target="_blank">Our group page</a></li>
                      </ul>
                    </section>
                  </div>
                </section>

            </div>
          </div>

          <!-- Sidebar -->
          <div id="sidebar">
            <div class="inner">

              <!-- Menu -->
                <nav id="menu">
                  <header class="major">
                    <h2>Menu</h2>
                  </header>
                  <ul>
                    <li><a href="../index.html">Homepage</a></li>
                    <li><a href="../assignments.html">Assignments</a></li>
                      <li>
                        <span class="opener">Week per week</span>
                        <ul>
                          <li><a href="../assignments/week01.html">1. Project Management</a></li>
                          <li><a href="../assignments/week02.html">2. Computer Aided Design</a></li>
                          <li><a href="../assignments/week03.html">3. Computer Controlled Cutting</a></li>
                          <li><a href="../assignments/week04.html">4. Electronics Production</a></li>
                          <li><a href="../assignments/week05.html">5. 3D Scanning And Printing</a></li>
                          <li><a href="../assignments/week06.html">6. Embedded Programming</a></li>
                          <li><a href="../assignments/week07.html">7. Computer Controlled Machining</a></li>
                          <li><a href="../assignments/week08.html">8. Electronics Design</a></li>
                          <li><a href="../assignments/week09.html">9. Output Devices</a></li>
                          <li><a href="../assignments/week10.html">10. Mechanical Design And Machine Design</a></li>
                          <li><a href="../assignments/week11.html">11. Input Devices</a></li>
                          <li><a href="../assignments/week12.html">12. Molding and Casting</a></li>
                          <li><a href="../assignments/week13.html">13. Networking And Communications</a></li>
                          <li><a href="../assignments/week14.html">14. Interface And Application Programming</a></li>
                          <li><a href="../assignments/week15.html">15. Wildcard Week</a></li>
                          <li><a href="../assignments/week16.html">16. Applications And Implications</a></li>
                          <li><a href="../assignments/week17.html">17. Invention, Intellectual Property And Income</a></li>
                          <li><a href="../assignments/week18.html">18. Project Development</a></li>
                        </ul>
                    </li>
                    <li><a href="../final-project.html">Final Project</a></li>
                    
                    <li><a href="../about.html">About Me</a></li>
                </nav>

              <!-- Footer -->
                <footer id="footer">
                  <p class="copyright">&copy; Charlotte - FabLab de Charleroi. Fab Academy 2024. All rights reserved. Design: <a href="https://html5up.net">HTML5 UP</a>.</p>
                </footer>

            </div>
          </div>

      </div>

    <!-- Scripts -->
      <script src="../assets/js/jquery.min.js"></script>
      <script src="../assets/js/browser.min.js"></script>
      <script src="../assets/js/breakpoints.min.js"></script>
      <script src="../assets/js/util.js"></script>
      <script src="../assets/js/main.js"></script>

  </body>
</html>