Mechanical Design, Machine Design


Mechanical Design (part 1 of 2)


Group assignment



Individual Project



Machine Design (part 2 of 2)


Group assignment



Individual Project



Learning outcomes:


Have you?


Group Assignment

For the other group assignments go to the group assignment page.

This assignment was completely done by me as I am the only student at the Algarve FabFarm this year.


Frankenlaser cutter

Design files and G-code files @ GitLab Fabcloud project repo


Frankenlaser cutter

I gave it the name Frankenlaser because many of its parts come from retired machines I once designed and fabricated. It's again a machine, just like my CNC, made with parts I had lying around as well as commercial parts.

I designed the machine with SolidWorks and used the large CNC that I also designed to cut the carbon fiber and the OSB parts.

Mechanical Design (part 1 of 2)

Laser design progress

With the mechanical design ready I started preparing the bits and pieces.

Bits and pieces for assembly

I am using 30x30 aluminum profiles; they came in 3 meter bars and needed to be cut to size.

Aluminum profiles

The most precise way I could cut the profiles was with a wood saw. I know that it is made for wood, but I also know that I can cut aluminum as long as I use it slowly. I then leveled the saw blade to 90 degrees in reference to the table saw.

Cut aluminum profiles

The cut was perfect.

Perfectly cut profiles

Next I began with the tracks; they were very dirty, so I started with the cleaning.

Dirty tracks

And like magic they are clean. First I removed the tracks from the sliders and left them aside. I used WD40, a Scotch-Brite sponge for the rust and acetone to remove oil and dust. Finally, I oiled them with machine oil.

Clean tracks

Now the sliders... equally dirty. I disassembled the plastic covers and dropped the little bearing balls into a container.

Disassembled sliders

With the sliders disassembled I used the same cleaning steps with the same products as before.

Cleaned sliders

With a paper towel I dried it all.

Dried sliders

And again like magic they are like new.

Reassembled clean tracks

To have an idea of the final product I placed the parts resting on top of each other. Nice!

Parts assembly

A different perspective.

Assembly from another angle

The view from ArtCam.

ArtCam view

I then started cutting the carbon fiber. It cuts easily on my CNC, but I was in a hurry, so I did not want to use double-sided tape and have to clean its glue later. This decision will have consequences; watch the next videos for it.

Cutting carbon fiber

Here I drill the holes.

In this video I cut many of the contours. Because I did not use double-sided tape or tabs, the parts jumped from the stock in a way that they could meet their demise if touched by the bit. So I removed the pieces as the machine spat them out.

All the parts cut and ready for assembly.

With a digital angle finder I made sure the parts were square.

Squared parts

Here is the support for the other side.

Support assembly

Here is the laser head support, assembled.

Laser head support

And now it is assembled.

Fully assembled machine

And the laser head attached. The laser head will hold the focus lens when the laser is ready.

Laser head attached

Moving the X axis.

Moving it again.

Here the whole assembly is ready.

Whole assembly ready

Now I test all axes by hand, and part one is done.

Machine Design (part 2 of 2)

Index

  1. Milling and Assembly External Frame
  2. Frame Assembly to Axis
  3. Wiring
  4. Burning the firmware
  5. First Test
  6. Setting up GRBL
  7. Second Test

It moves!

The machine is speaking, and with its immature voice it spoke "Hello World".

How did I get there? Let's see the steps:


  1. Milling and Assembly External Frame

    I designed the frame with SolidWorks, with the techniques already explained in the weeks of Computer aided design and Computer controlled machining.

    The design files are here.

    Frame design simulation

    Next, using the software Mach3, I started the job. The material used was 19 mm OSB. The milling bit was a 3.175 mm one, and when I chose the tool I offset it by -0.1 mm to compensate for imperfections and allow an easier fit, just like explained in the group assignment Computer controlled Machining.

    I split the milling into two jobs: a holes job and a contour job. The feed rate was max 2500 mm/min. G-code here and here.

    All the fittings had corresponding holes that were also used as clamps. This way I was sure that there would be no collisions, as I only fitted them after the holes job and before the contour job.

    After the milling job, my son and I started sanding the sides and the surface for a better fit and finish.

    All sanded here.

    Sanded frame

    The assembly went smoothly, and the only tools we used were a rubber mallet and a screwdriver.

    Frame assembly

    The frame is super sturdy! We were really happy with the result.

    Sturdy frame


  2. Frame Assembly to Axis

    The axes were secured with "T" slot nuts; I'm not sure if this is the correct name.

    T slot nuts

    Big mess now, as I was using many more tools, like a caliper, a digital level and a square, so I would have a square machine.

    Tools for assembly

    The laser tube was temporarily fitted here just to see if things fit well.

    Laser tube fitting

    Here is an overview of the machine, almost finished.

    Machine overview


  3. Wiring

    The board I'm using for this assignment is an Arduino Uno. Below is the diagram of the UNO GRBL wiring.

    UNO GRBL wiring diagram


  4. Burning the Firmware

    I tested 3 methods to burn the GRBL firmware. For the first method I used the incredibly practical software AVRDUDESS; it's a GUI version of AVRDUDE.

    The usage was quite simple. Plug the programmer, or the USB directly, into the Arduino. Next, select the programmer, in my case USBasp, or Arduino for USB. Next, select the hex file, downloaded from the GRBL repo, press the button to the right in order to detect the MCU, then press Go to start the firmware burn.

    Burning GRBL firmware

    The next method I tried was using the software LaserGRBL: clicking on Tools, Flash GRBL Firmware, then...

    LaserGRBL tool

    A dialog will show up that allows the selection of the target board, in my case Arduino Uno, the firmware version, the port and the baud rate. Next...

    LaserGRBL dialog

    The screen will show the successful completion.

    Firmware burn success

    The next method I tried was compiling and burning the firmware using the Arduino IDE. For this method I followed the method described in the Gnea/GRBL wiki. First I modified two lines of the configuration in order to enable dual motors for the Y axis. I was not successful so far, and because of lack of time I ended up not using it. Anyway, I documented the method here, as in the future I will try it again with more time.

    Another reference for getting a dual axis self-squaring gantry working is found at the Protoneer Product Forum, but again, in the future I will look into that.

    Start by downloading the GRBL firmware, then add it as a library to the Arduino IDE.

    Adding GRBL library

    Open the GrblUpload Arduino example file, then compile and upload just like described in the Embedded Programming week, changing the MCU to the Arduino UNO board.

    Compiling GRBL firmware


  5. First Test

    Here I test the motor, its strength and temperature (by touch and with a thermometer). I do that in order to properly set the DIP switches.

    After the tests I decided to use 2 amps. The motor is rated for 1.5 amps, but during all the tests the motor would never pass more than 1 amp and the temperature remained under 45 degrees.

    Motor testing

    The setting is done by selecting the DIP switches: 4 - ON (down), 5 - OFF (UP), 6 - OFF (UP).

    DIP switch settings

    Here I try moving the motors for the first time using the computer. The X axis moved well but the Y axis didn't. I believe this was due to wiring, so I reviewed it all over again. I ended up disabling the double motor on the Y axis (sparsely documented) and wired the two motors in the Y axis in parallel.


  6. Setting up GRBL

    Here I measured the effective movement against the commanded movement. I take a note and then use the rule of three, basically a/b=c/d.

    Where, in my test, a=118.8 (real movement), b=25 (desired movement), c=250 (current steps per mm) and d=X.

    After doing the math I get the result 52.609, which I put in the GRBL settings $100 and $101.

    GRBL setup

    Below is the screenshot of the settings I used for the machine so far. This wiki shows all the configurations of Gnea/GRBL.

    1. $3 = (2) this inverts the Y axis (Corrected later: the page said $3 = (10). $3 is a bit mask, so to invert only Y it is 2, binary 10; the value 10 also sets bit 3.)
    2. $100 = (52.609)
    3. $101 = (52.609)
    4. $110 = (15000)
    5. $111 = (7000)
    6. $120 = (300)
    7. $121 = (300)

    GRBL configuration


  7. Second and Final Test for this assignment.

    Because this assignment requires that I show control over the machine I made, I present here a "Hello World". I am running out of time. I would love to come back to this documentation later and finish the laser cutter, but now I need to focus on the other assignments. So for now it's a Sharpie attached with tape.


For the Future...

Recognize opportunities for improvements in the design!

The machine is not finished yet. It will become a laser cutter by the end of the cycle. I will post its updates here. So far I have the following issues to solve:


Dangerous Zone ahead.

Warning

Wear safety glasses, make sure you know where the fire extinguisher is and how to operate it, never leave the laser unattended!


Risk of Fire

The laser cutter is a machine that wants to catch fire. If everything is working it won't, but if there is a failure and the laser stays in the same place, or if the air assist stops working, there is a high risk of fire. For this reason, never leave the laser unattended.

Fire risk warning

Fire extinguisher


Laser Radiation

The laser beam can blind you or burn your skin in nanoseconds. For this reason, never operate it with the lid open, and always wear the safety glasses for the type of laser you are using.

Laser radiation warning

CO2 laser cutters typically have a 10600 nm wavelength; in our lab these are the correct glasses.

CO2 laser safety glasses

Diode laser cutters are typically in the range of 200-550 nm wavelength; in our lab these are the correct glasses.

Diode laser safety glasses



Extra Credit, hum?!

The Future is now!

The machine week was completed with actuation and automation of my machine as far as the requirements in the assessments page for this week, but that is not stopping me from making my machine become a laser cutter! I just can't do it and, at the same time, finish the other assignments that I have due.

Well, that is not stopping me from improving the machine in any free time that I will have.

Let's hook up the laser

Laser wiring diagram

I found this info on this GRBL issue page:


As for the laser tube itself I found a beautiful diagram here that I copied below.

Laser tube diagram

Made my own diagram as well.

Custom laser wiring diagram

Here I show the soldering I did from the anode wire to a crocodile connector. The terminals of the laser tube should not be soldered, as the heat differences could crack the CO2 laser tube.

Soldering anode wire

This photo shows the anode wire connected to its terminal, as well as the water tube at the exit point of the coolant.

Anode wire and water tube

Here I fit the water protection sensor switch to the laser power supply. This will prevent the laser from shooting without coolant.

Water protection sensor

Laser Coolant

To keep the laser tube cool, I fitted a small water fountain in a plastic container filled with automotive antifreeze. I used plain water in the past, but bacterial growth always bugged me. In the future I hope to make this a closed system with an automotive radiator.

In this video you can see the laser tube being filled with antifreeze, sorry it gets upside down... At least you can see the coolant flowing.

Here I test the water protection. As I remove the water pump power plug, the LED turns off on the laser power supply.

Let's test it.

In this test I show the laser beam without the mirrors, aiming it at a piece of wood. It works, quite a display of power!

Mirror Alignment

The mirror alignment is the trickiest part.

I already had experience with laser alignment before, but here are some good tutorials on how to do it:

The way I have done it is documented below.

  1. I took strips of painter's tape and covered the hole in the first mirror support. Do not do this with a mirror in place, as the tape glue and material, when burned, will stick to the mirror, ruining it!
  2. Hit the pulse button, or, in my case, short the L terminal to ground on the laser power supply for a millisecond.
  3. Then I check where the laser beam hit the tape. The goal is to hit the center of the mirror support's hole, using the tape as reference.
  4. When needed, adjust the laser tube. In my case the dot was a bit to the upper left side of the hole, so I adjusted the laser tube a bit and got a better result on the next try. From then on you should not move the laser tube anymore.

  5. Fit the first mirror, being careful not to touch it with bare hands. I used a washer to turn and close the mirror backing nut.
  6. The first, second and third mirrors, one after the other, are then adjusted using the same procedure, with the top and left knobs, looking from behind the mirror support. The objective now is not to shoot at the middle of the second mirror but to shoot 2 times in the same spot, the first with the Y gantry (first mirror) near and the second time with the gantry further away, like I show in the video. Repeat this process for each mirror until you get to the lens.
  7. The lens should be fit with the convex side up. Shoot again and make sure the beam is in the center and makes a round burn, as opposed to a half moon, which would mean the beam is hitting the walls of the tube after the third mirror.

Problem and Solution

The first issue was that the Y axis stopped moving, for a reason I still don't get. I tested a different stepper controller and also rewired everything so I could debug it.

In the end I decided it was not the wiring, so I recompiled GRBL like I explained earlier, switching the Y direction bit (pin) 6 for 7 in the file cpu_map.h, and it worked. Not sure what really caused it.

GRBL recompilation

The next issue was that the scale of the X axis was completely off. I had created a simple 10 mm square and had it cut, but instead it made a long rectangle.

I solved the issue simply by reapplying the steps per mm to the GRBL controller EEPROM, and it started working, as I can show in these pics.

The inside measurement of the square is 10.2 mm.

Inside measurement of test square

The outside measurement of the square is 9.9 mm.

Outside measurement of test square

Calculating from the inside and outside measurements gives a kerf size of 0.15 mm, not too bad for first tests, but it can be improved with better focus. But I will leave that for Computer controlled cutting week.

Final Test

← (May 13) Interface and Application Programming · all weeks · Wildcard Week (May 27) →