5. Electronics production

Due 2024/02/20

Conceive

  1. This week we focus on how to build electronic circuits.
  2. Machining circuits in printed-circuit board material is the opposite of creating a street-racing circuit since one removes material from the terrain (substrate) instead adding to it.

How to use this document

Please refer to instructions in the week02 weblog entry

Assignments

To do Done
Group assignment: Electronics Production
Characterize the design rules for your in-house PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling. Yes
Get familiar with Mods control software. Yes
Document your work to the group work page and reflect on your individual page what you learned. Yes
Individual assignment:
Model:
Make an in-circuit programmer by milling and stuffing the PCB. Yes
Test it. Yes
Make and test the development board that you designed to interact and communicate with an embedded microcontroller Yes

Learning outcomes

To do Done
Describe the process of tool-path generation, milling, stuffing, de-bugging and programming. No
Demonstrate correct workflows and identify areas for improvement if required. No

Checklist questions

Have you? Done
Linked to the group assignment page? Yes
Documented how you made (mill, stuff, solder) the board? No
Documented that your board is functional? No
Explained any problems and how you fixed them? No
Included your source code files? No
Included hero shots of your board? No

Context

  1. Syllabus FAW05
  2. Assessment FAW05
  3. Tutorial FAW05
  4. Video FAW05
  5. Review FAW05
  6. FabAcademy 2021 Documents
  7. FabAcademy Mattermost Chat Page
  8. FabAcademy Evaluation Page This site requires a fablab.io account to login
  9. FabAcademy Home Page
  10. FabLabs Home Page

Comprehend

  1. PCB machining happens when end mills remove copper chips from PCB boards unlike the low to no kerf-cutting done by lasers and vinyl cutters.
  2. We will be making embedded systems using microcontrollers and surface-mounted devices, SMD.
    1. Initially, we will use AVR-compatible microcontrollers.
    2. AVR controllers are compatible with the Arduino development environment.

Wednesday

  1. Get familiar with the tools for this week.
    1. Understand endmills.
    2. Familiarize myself with the Roland DG SRM-20.
  2. Complete group assignment.
  3. Learn how to locate electronic components in the lab.
  4. Access Mods for tool-path creation.
  5. Locate or install KiCAD and Fusion 360 software for EDA work.

Understand end mills

  1. Select the correct end mill.
    1. Companies such as Harvey Tool Company offer a mind-numbing selection of end-mill options.
      1. Firstly, they offer five tip options: square, ball, corner radius, corner chamfer, tapered. Each tip offers unique advantages.
        1. Square offers a clean, level cut across the contact surface
        2. Ball tips create better layer transitions for mold-making.
        3. Corner radii make mills more durable
        4. Corner chamfer reduces tool wear and distributes heat more evenly across tool face.
        5. Taper tips allow deep-cavity machining
      2. Secondly, many tips come in different lengths
        1. Stub
        2. Standard
        3. Long reach
      3. Additionally, Harvey offers two notable tip coatings
        1. Aluminum-titanium nitride which improves hardness and temperature resistance. It is good for ferrous materials
        2. Amorphous diamand significantly improves tip hardness relative to uncoated mills. It is not temperature resistant. It can be used to mill non-ferrous materials such as carbon fiber, plastics, and brass.
    2. Other micro end mill characteristics
      1. Flute count
        1. Fewer flutes means larger flute valleys and better material removal
        2. More flutes means larger tool core, smaller valleys, and better tool strength.
        3. Rule of thumb is use two-flute tools for machining non-ferrous materials and machining that requires significant material removal.
        4. Use four-flute tools machining ferrous material and longer tool life.
      2. Tool diameter requirements
        1. Resolution required by the design
        2. Speed of the cut
        3. Quality of the cut
      3. Conical or V-bit tip
        1. Used for engraving.
        2. Used by some to machine printed circuit boards
        3. By milling at different depths, one bit can machine traces and interiors.

Get familiar with SRM 20

  1. Secure end mill to the machine.
    1. Insert the end mill into the collet leaving approximately 10mm or 0.5in of the shank exposed.
    2. (SRM-20) Tighten the set screw of the collet to secure the end mill.
    3. (SRM-20) In VPanel, click view to bring the spindle forward send the milling table to the back of the machine.
    4. (SRM-20) Thread the collet into the spindle by hand.
    5. Use spanners to fully secure the collet to the machine.
  2. Zero the z height of the end mill
    1. Once the tool is in the machine, jog the milling table somewhere below the end mill.
    2. Move the heighth of the spindle approximately 5mm above the milling surface.
    3. While holding the end mill in place with a finger, loosen the set screww of the collet.
    4. Allow the end mill to tap the surface and come to rest.
    5. Tighten the set screw.
    6. The tool should now be close to zero in the z axis. To be sure jog the spindle 0.1mm lower.
    7. Set the origin of the z axis of the User Coordinate System.
  3. Homing
    1. (SRM-20) Use the jog controls to locate the milling table in desired location.
    2. Zero the x and y axes of the User Coordinate System.
  4. For SRM-20, I can use Mods Project or Neil’s Mods from the CBA to set feeds, speeds, plunge rate, and depth-of-cut. Both versions use a separate module to save machine code in an RML file.
    1. For this assignment, I characterized speeds by cutting the line test pattern at 2, 4, and 6mm/s using a 1/64in square and stub end mill with two flutes to determine the maximum speed at which the machine could maintain 0.001in resolution.
    2. 2mm/s
    3. 4mm/s
    4. 6mm/s
    5. 6mm/s experienced tearing at 0.004in and below; neither 4mm/s nor 2mm/s experienced tearing.
    6. 6mm/s machines about three times as fast as 2mm/s. I can probably run the machine at 5mm/s and maintain resolution down to 1/1000 in for traces.

Access Mods

  1. Initially, I used the Mods Project Mods to generate the RML files. From the modsproject.org landing page, “right clck” anywhere on the page to launch the Mods menu.
    1. “Left click” programs to select the programs sub-menu.
      1. Scroll down the sub-menu to reveal the SRM-20 mill in the list.
      2. Select PCB to launch the milling machine program.
      3. The program accepts either SVG or PNG formats as input files.
      4. Warning

        Please remember to attach the input of the save file module to the output of the SRM-20 module in order to save the RML file on your computer.
      5. Use the set PCB defaults module to select the correct machining process of either mill traces or mill outline by clicking the appropriate button.
      6. In the SRM-20 module, I set the origin to x: 5, y: 5, z: 0. This reduces PCB waste.

Return to assignments

Thursday

  1. Choose an in-circuit programmer to make
  2. Identify and pick components for programmer
  3. Design dev. board using EDA
  4. Identify and pick components for dev. board.

In-circuit Programmer

  1. I took the following steps to prepare traces and interior RML files for the hello serial updi circuit: 1. Upload the traces PNG file. 2. Connect the save file module to the SRM-20 module. 3. Set the origin to x: 5, y: 5, z: 0. 4. Set mill cutting mode to mill traces in the set PCB default module. 5. Per the line tests done in the calibration section, changed the feed speed from 4 to 5 for the mill traces. 6. Confirm tool diameter in mill raster 2D module 7. Click calculate to create tool paths and RML file. 8. Perform similar steps for interior file. 1. The site produced acceptable paths when using 4 as the offset number in the “Mill Raster 2D” module. 2. !!! failure Mill Raster 2D The RML file from Mods Project produced unacceptable results when using 0 as the offset number. The depth-of-cut was much deeper than expected each pass. 1. I used Neil’s version of Mods instead of Mods Project to create the tool paths with 0 offset number and RML files for FT230 and FTDI boards. 2. The setup is very similar to that of Mods Project 3. !!! warning Please remember to add a “save file” module to the “server” module in Neil’s version of Mods. Click input on the save-file module then click on the output of the SRM-20 module in order create a connection between them. This will enable the RML file to be saved on your computer.

    1. Controller-machine interface
      1. Warning

        While the controller-machine interface step logically follows the computer-controller interface, a user should perfom the machine-material interface step first because the VPanel runs the machine code immediately after a user clicks the output button. This means that material to be milled should already be fixtured to the machine.
      2. Roland software VPanel uses the RML file to run the SRM-20.
      3. Left-click the cut button to upload the RML or GCODE file to VPanel.
      4. Select an output file to control the machine from the dialog window that appears.
      5. Click the output button to machine the PCB.
      6. Note

        All of the spindles on our desktop mills–SRM-20, MDX-40A, and Bantam Tools PCB mill–run better if the operator slowly increases the speed of the spindle before machining anything.
      7. For the SRM-20, a user must warm the manually. Use the spindle speed slider to reduce the initial speed to low.
      8. Click the spindle on button.
      9. Warning

        The spindle will make noise, spin more slowly, and with greater variation in speed before it is warm. Wait for at least one minute or until the “chatter” stops before increasing the speed of the spindle.
      10. Note

        I believe that this does not adversely affect machining quality. I believe that it reduces machine wear.
    2. Machine-material interface
      1. Materials
        1. Printed circuit board (PCB), type FR1.
        2. copper outer layer on one side with paper substrate.
        3. Will mill with out damage to the tool.
      2. Sometimes, I quarter a standard board for machining. It can produce six to nine small circuits.
      3. Fixtures
        1. Attach a blank PCB with paper side up to the aluminum spoil board of SRM-20 using double-sided tape.
        2. I have seen people apple the tape in differnt patterns.
        3. I apply it vertically–edge to edge–with no overlap.
        4. I press the piece onto the spoilboard of 0.25” MDF in the lower left corner.
      4. Tools
        1. Using two mills for pcb production
        2. Carbi-Universal round end mill
        3. 220823 0.015” 2FL SQ micro em stub altin s/c micrograin
        4. 220867 0.031” 2FL SQ micro em stub altin s/c micrograin
        5. I first install the 0.015” end mill to the machine per the instructions in calibrate
        6. Warning

          This reduces the risk of damaging the machine, the mill, or the PCB before zeroing the z axis.
        7. Set x-y origin point in the lower left corner of the copper per the instructions above. . This may yield unsatifactory results if the corner is not rigid.
        8. Use the above approach to zero z.
    3. Stuff board
      1. Collect components for the FT230 and hello UPDI boards.
      2. Deburr board if necessary.
      3. Clean board with alcohol to remove oil and dirt.
      4. Choose your soldering approach:
        1. Soldering iron
        2. Stencil with
          1. Rework
          2. Reflow
      5. When using a soldering iron, place board in your preferred fixture.
      6. Some other useful tools for hand soldering:
        1. Tweezers
        2. Solder flux
        3. X-acto-style knife.
        4. Flux brush
        5. Solder
        6. Desoldering wick
        7. Solder tip
      7. Note

        The iron temperature, solder tip, and wick should correspond to the diminsions of the components on the board.
      8. Solder components to the board
        1. Turn on the soldering iron.
        2. Set the appropriate temperature. 750degF seemed too hot. I adjusted the temperature to 550degF. Solder wetting was unsatisfactory. I ended with 660degF or 330defC which yielded go results for SMD components.
        3. Use magnifiers if necessary to better see your work.
        4. Apply flux to the board with the brush
        5. Solder from the middle out. Start with any microcontrollers in the design.
        6. Clean the tip
        7. Tin the tip
        8. Tin the copper on the board that corresponds to the pins of your first component.
        9. Ensure that pin one of the component is oriented properly. The package should include a circle or other mark indicating its location.
        10. Solder it to the appropriate copper pad.
        11. Solder the pin on the diagonal corner to its copper pad.
        12. Use the knife to adjust any pins.
        13. Apply flux to the pins if necessary to promote good wetting.
        14. Solder the remaining pins.
        15. Remove excess solder using desolder braiding by placing the braid on the area with too much solder then heating the braid with the soldering iron.
        16. I had to brush flux on my braid for it to draw away the excess solder.
          1. Braid without flux
          2. Braid with flux
        17. Repeat the above steps to attach the remaining components to the board.
    4. Produce hello attiny45 ftdi
    5. Produce FabISP
    6. Test boards
    7. I used a multimeter to check continuity of passive parts.
    8. I also checked for some resistance to ensure that there were no shorts between VCC and GND pads of the FT230.
    9. Setup embedded-programming hardware
    10. Drivers for programmers
    11. Connect programmers to computers
    12. Connect PCBs to computers using programmers
    13. Setup AVR toolchain on computers
    14. Program board using AVR tool chain
      1. Tool chain (MacOS) https://www.obdev.at/products/crosspack/download.html https://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/ (Mac Bootcamp) https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices#Downloads ft230xs windows driver https://ftdichip.com/drivers/

    https://3os.org/markdownCheatSheet/admonition/