Skip to main content

Week 5: PCB Manufacturing!

·599 words·3 mins
Sophie Fan
Author
Sophie Fan

Can I make an automatic card dealer? (PCB Part #2)
#

Group Assignment
#

For our group assignment, we learned how to manufacture the boards that we designed in the previous week, using MODS, which is a program that takes png of our board outlines and makes gcode for the Carvera, which is the PCB milling cnc we are using this week.

Individual Assignment
#

Now that I have my designed PCB board, it is time to mill and solder!

I used the Carvera desktop cnc mill and a copper and FR1 composite to make my board. I used Quentin’s handy gerber to png converter to get the png files for my traces and board outline.

Board outline png:
#

Alt text

Trace png:
#

Alt text

Next, I uploaded the pngs to the mods website and downloaded my gcode files for milling!

Toolpath preview generated from mods site

Here is my final gcode file! I folled Quentin’s helpful Carvera documentation for the milling process.

Milling in Action
#

I used a 6 mm offset in both the x and y directions to mill my board on the copper and FR1 composite. I made sure to check the outlines and see that nothing intersected with the clamps or would cut out of the boundary. I uploaded it to the machine to mill and it came out quite nice!

Milled Board

Finishing Touches
#

I gathered my components that I designed into the footprints: the 100 uF capacitor, the two 0.1 uF capacitors, the 0 Ohm jumper resistors, the motor driver, the power input and outputs, the terminals, and my microcontroller, the Xiao rp2040. I started soldering. I used tin solder and a bit of flux on all of the pads to help with flow. The soldering process was pretty smooth overall, but I had a short on one of the traces for the motor driver. I was able to fix it with some solder wick and a sharp razor blade.

Finished!

I connected a DC motor to the pcb and used a 5V power supply with a 0.4 current limit to test. (I couldn’t find a servo but when I do I will test it very soon!)

The system integration definitely needs some work, but this is just for testing for now. The H bridge in the motor controller works great, and changing the PWM signals allows me to drive the motor forward and reverse! Using the scope to inspect, we can see that the sign of the voltages does change when we switch the values for IN1 and IN2 in the code!

Positive voltage! Here we can also see the time delay from the large capacitor!
Negative voltage!

I used micropython to write a simple script to run the motor in different directions at two second intervals.

Reflections
#

  • I realized I should have put the rp2040 on the edge of the board so the USBC connector dangles off and connects more easily. Oops!
  • I should have changed the big capacitor to smd instead of through hole because I realized the Carvera did not include drilling on the toolpath. I was able to solder the smd one directy onto the footprint fine though, and the capacitance did read through on the scope through the time delay seen on the voltage!
  • Flux is very helpful, but you do not need to use that much solder! I was a little gratuitous with my solder usage initially which caused some overflowing and shorts.

Thank you to all the TAs, especially Quentin, Alfonso, and Jake for working so hard to help us make our boards!
#