Skip to content

17. Machine design

May 15

Assignment
  • actuate and automate your machine
  • document the group project and your individual contribution

Summary

The result was this machine shown in the next video, to be used as a scanner in a photogrametry software process (we didn’t complete that process; hope to do it in the next month).

Machine Design 2019 from António on Vimeo.

We had a lot of problems mostly with the PCB production, but also with the machine programming and CNC cutting. In the end, we manage to overcamed all of this, and it was easy to assembly and test the machine.

For me, the main lesson from this week was the comparision between my soldering process and the “clean” Luis Carvão process that I had the previledge to follow.

Check the differences (one worked the other didn’t).

Mine:
![](/Users/antoniocarlosgoncalves/fabacademy2019/antonio-gomes/docs/images/week17/FinishedSoldering.jpg)

Luis Carvão:
![](../images/week17/PCB_NiceBoard.jpg)

Along the way we found same possible improvements and ways to make the bootloader without soldering a six pin header. We add also same leds RX, TX to the original PCB and manage to define same lessons to used next time: the PCB process shoulb be done as clean as possible, using flat tools and isopropilic alchool.

It was a really hard and exausting week that took two days to recover, but still, not completely.

Mónica Pedro did the software work and documented at her page here) as well as André Rocha documented his work and was responsable for the CAD machine design.

All the files are here and at my personal google drive here.

Todo

  • Board final testing
  • Program testing
  • Milling the parts
  • Assembly everything
  • Support structure for the Rasp pi camera
  • Test the rasp pi pictures taken in a photogrametry software

Work Done

We change the plan according to the team members schedule. We were more available on the second week of machine design

Info

ON FLATCAM, for the drillings, first change the units and them import the drill.xln file.

Compare the boards cutted with a “Conic tool” and a 0.3 mm flat tool. Look carefully at the areas inbetween the vias. For the conic tool I had a lot of work removing the copper. See the board milling diferences!!!

See the board outcames, one works fine, the other don’t: which one didn’t work? Guess it!!! Easy, no? If we use V tools and no enought overlay in between the cuts ther is same copper left:

In our case we use 0.35, but it works much better with the flat tool. The conic still as same copper left. tool: 0.38 mm; endill: 0.4 mm; We use also past and not flux;

From my PCB milling to the Luis Carvão process, this are the differences, I did contrary as he did:

Problems Solution Possible malfunction
Bad autolevelling Flat Cam before milling Bad PCB milling
bad autolevelling Clean the flat cam bed Bad autolevelling
Small wires of cooper or iron over the circuit Use the vacumm clean air machine
Extra copper inBetween vias Flat tool Shorts or connecting vias
Extra copper inBetween vias Increase milling percentage overRide ??? Shorts or connecting vias
Small wires of cooper or iron over the circuit Isopropilic alchool

PCB production

Trying to program the first board with the atmell ICE:

Desoldering

Milling over night

Preparing the soldering parts:

Info

With the clock 16 MHZ we decided to use the minumum proposed on the datasheet for the capacitor: 27 pF

Soldering the atmel with a bad hot gun:

But now with a much more directional hot gun, where you can control the heat:

If we followed all the steps proposed by Luis Carvão we are more keen to sucess:

Debuging… and trying to clean all the paths that showed same probability of troubles.

bootloader

For the atmega328 use the Arduino uno for the bootloader and them use FTDI to program it as normal.

Along the way to many errors, trying to debug them but the main error was on the PCB production.

ERROR SOLUTION
At the first schematics we choose the 3,3V, but, looking to the datasheet, we found that, the raspi 3 work at 5.5V change the regulator from 3.3 V to 5 V
the FTDI 5V didn’t powered the board for the bootloader procedure See pic where the misterious magic wire is soldered
the wires were connected wrongly because I was seeing the board from one perspective Reconnect
averdude: unexpected response (see bellow) Change the processor
Pin reset 5V? No Check soldering
FTDI voltage? check in the first place!
Fuses change the boards.txt file using the errors message
PCB milling In the next pictures its possible to compare and check the errors in the table below
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Unexpected response 0x00
avrdude: stk500v2_jtag3_recv(): error in jtagmkII_recv()
avrdude: jtag3_edbg_send(): Unexpected response 0x81, 0x11
avrdude: jtag3_edbg_recv(): Unexpected response 0x80
avrdude: stk500v2_jtag3_recv(): error in jtagmkII_recv()
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_send(): Unexpected response 0x35, 0x00
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 3
avrdude: stk500v2_jtag3_recv(): error in jtagmkII_recv()
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_send(): Unexpected response 0x78, 0xea
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 0
avrdude: stk500v2_jtag3_recv(): error in jtagmkII_recv()
avrdude: Expected signature for ATmega328P is 1E 95 0F
         Double check chip, or use -F to override this check.
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_send(): Unexpected response 0x39, 0x00
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 3
avrdude: stk500v2_jtag3_recv(): error in jtagmkII_recv()
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_send(): Unexpected response 0x00, 0x02
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 0
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_send(): Unexpected response 0xda, 0x8d
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_recv(): Inconsistent fragment number; expect 1, got 0
avrdude: Short read, read only 0 out of 512 bytes
avrdude: jtag3_edbg_signoff(): failed to read from serial port (0)
Error while burning bootloader.

Improvement to the board: put PNP transistor to cut the FTDI 5V if the 24V is powered; else, the FTDI will power the board.

Programing bootloader with atmell ICE

Info

During the bootloader don’t use the RESET, because ¼ of the time the clock is zero (DISCUSS this!?!?!?!)

Three types of fuses: HIGH, LOW and Extended

LOW fuse byte (DISCUSS THIS !?!?!!??): | 7 | 6 5 4 | 3 2 1 0 | |—|—|-----| | Start up time | Frequency operations modes | Clocking options |

Programing

For this part, Mónica Pedro as it all very well documented at her site.

Machine Production/design

Danger

For the X Carve, our options are DEWALT 611 for the spindle and ACME; for the first cut we test it on the air and it seems ok but… when it starts to cut the tool was so fast that enters the material and broke the bit; the z axis on each turn go further then we expected, so we need to change the settings.

We need also to pay atention to the offset: cuting outside, inside or just in the middle: important to decide wchch is better for the project.

Info

Before cutting verify the GCODE in the simulation: zoom it to control;

Press fit 0.1 mm discuss this!?!?!?!?!

Info

We decide to use conventional cutting on the fusion cam settings because the material react better to this type of cutting. (INCLUDE PICTURES!?!?!?!?)

we decided also to use the gcode from the fusion CAM because the cutting is much better; easel seems to show same errors.

Adjusting the pressfit (to much!):

Assembly

wheel

3D printed parts to secure the bolt and to connect the bolt to the upper platform in order for it to be controlled by the stepper.

Electronics and machine structure:

Comparing the real thing with the design:

Rings to fix the board.

References

https://humansthatmake.com/atmel-avr/

http://diyhacking.github.io/Week4/Day4/index.html

https://wwwhpag.staufer-gymnasium.de/de/grundlegende-schaltungen/arduino-nano-pinout/