Output devices

Things expressing themselves

This week task is:


- Add an output device to a microcontroller board you've designed and program it to do something

Class material: Output Devices

Equipment listed below:

Insper FabLab's operational manual here.

Roland MDX-40A - Machine's tutorial, please click here.

One may also check this tutorial explaining how to mill a coin (and how to operate and setup the working material in a machine like Roland MDX-40A). The manufacture link to its own documentation and information will be found here.

Milling with Roland MDX-40A

CNC is a technology that allows one to produce code and with it 'tells' a machine what to do in any given point inside its working area. The CAD tool works with desing, or the initial creative step of any project. After that, when there is the need to manufacture it - and therefore CNC technology is demmanded - another kind of software is needed: CAM is the software that creates the machine program from a digital design. During FabAcademy, most of my projects will be developed in Fusion360 CAD tool or Eagle 8.0 schematic/board tool and, from there, Fabmodules will be the next step as CAM tool.

This week assignment is a PCB that has an LCD that works as output device. I will work based on Kenzo's project. His project is made for a display with 16 columns and 4 rows. I will adapt it to a display with 16 columns and 2 rows.

It follows the standard setup for the machine and tools we have here at Insper for FabModules and Roland MDX-40A.

Input: this is an image file png that will describe the traces or cut need on the board. Select the image you need for each PCB. This exercise has this final board design for traces and this final board design for outline. The traces thickness was the most important change in all boards (select a wider trace makes easier to sold and the board more resistent) - target value: 0.80 mm.

My Global evaluator made some comments about the PNG files that are improtant to share.

Pradnya's comment

"
In case of milling out the exterior you can not directly use the png files generated from eagle software. That is the reason your outside traces have also been milled. There are different way you can handle this. One way is to generate the trace file with sufficient margin and use 2d raster editing software such as gimp or photoshop to draw a thick outline. The ther reason for failure is that you not inverted the image. By default white parts of an image are preserved by fab modules and the tool offset if provided on the black side of the png image. In case of cutout line the border should be black and interior should be white. It this opposite the toolpath generated will lead to interior of the border being cut rather than the exterior which is required.
"

I made a second version for the cut file. For that one, please, click here.

Desing files:
- Schematic: LCD sch.
- Board: LCD brd.

- Relay final edition - schematic.
- Relay final edition - board.
- Relay PNG image - traces.
- Relay PNG image - cut.

- SparkFun Ealge libraries.
- Adafruit Eagle libraries.

Output format: Roland Mill (.rml) - this selection will set the FabMoludes to work with a milling machine.

Process: if the selected option is 'PCB traces' than
--- Machine = Roland MDX-40A
--- x0 (mm) = 0
--- y0 (mm) = 0
--- cut depth (mm) = 0.2
--- tool diameter (mm) = 0.11
--- number of offsets = 8
--- offset overlap (%): 50

Process: if the selected option is 'PCB outline' than
--- Machine = Roland MDX-40A
--- x0 (mm) = 0
--- y0 (mm) = 0
--- cut depth (mm) = 0.2
--- stock thickness (mm) = 1.7
--- tool diameter (mm) = 2.00
--- number of offsets = 1

You may adjust the setup once you have different milling tools. As the phenolite paper changes from batch to batch, there is the need to compensate ondulations and assimetry eventualy.

PRESS: "Calculate" button to check how the simulation goes on your computer. Observe if the mill process remove material where it is supposed to and leave material untouched the same way.

PRESS: "save" button in order to have the rml file in your computer.

FabModules allows its user to make other specifications and different setups. I only made reference to the ones needed for PCB milling. Anyother setup may be left the way it comes preseted.

Get the *file.rml below:

LCD board - Traces;
LCD board - Outline.


- Relay traces - rml.
- Relay cut - rml.

Once the rml program is done, there is the need to move from computer setups to machine operation. Roland's Vpanel program is part of machine's manual (click here); some extra information is displayed below.

The machine needs to be power on in order to comunicate with Vpanel software.

It follows some images of Vpanel Operation to config a new job.

- Left side: choose "Set [xy Origin] here" and click Apply to reset machine coordinates to ZeroX and ZeroY at that position.
- Right side: choose "Set Z Origin using sensor" and click Detect to reset ZeroZ coordinate. Instructions to this operation will be displayed - read those are very important.

- Image botton layer: click 'Cut' button to open a new selection window.
- Image midle layer: click 'Delete all' button to clean any extra jobs that are not supposed to be done this time. Click 'Add' button to open a new selection window.
- Image upper layer: click the *file.rml that was saved from FabModules and open it.

- Back to this selection window click 'Output' button.
- The machine will start to mill and the operator must be aware of what is going on.

1) Phenolite raw board;
2) ZeroZ sensor;
3) Spindle + Mill set.
OBS: double-sided tape is the way we hold phenolite to machine's work table.

Materials:

Phenolic paper - copper layer for circuit boards - standard 1,7 mm thickness - example here.
Mill - engraver - 20°edge - example here.
Mill - endmill - 2,00 mm cut diameter - 02 flutes - example here.

This assignment has two objects:

- A LCD board - this was a Kenzo documentation implementation.
- A Relay board - this is part of my final project. It complements the assignment task.
----- The microcontroler board information will be found in Exercise13 webpage.
----- Relay board has the task to controlswitch the heat actuator.

LCD BOM list will be displayed below.

Partlist exported from week10-LCD-KenzoBoard-01.sch

PartValueDevicePackageDescription
.1UFUNPOLARIZED_CAPACITOR12061206unpolarized_capacitor
10KRES-US1206FABR1206FABResistor (US Symbol)
10K1RES-US1206FABR1206FABResistor (US Symbol)
10K2RES-US1206FABR1206FABResistor (US Symbol)
IC1ATTINY44-SSUATTINY44-SSUSOIC14
IC2REGULATORSOT23SOT23
JP1PINHD-2X3-SMD2X03SMDPIN HEADER
JP2M08LONGPADS1X08_LONGPADSHeader 8
JP3M08LONGPADS1X08_LONGPADSHeader 8
JP5M04SMD1X04-SMDHeader 4
U$1TRIMPOTSMDTRIMPOTSMDTRIMPOT-3MM
U$2RESONATORRESONATOREFOBM
ZERORES-US1206FABR1206FABResistor (US Symbol)
ZERO1RES-US1206FABR1206FABResistor (US Symbol)
ZERO2RES-US1206FABR1206FABResistor (US Symbol)
ZERO3RES-US1206FABR1206FABResistor (US Symbol)


Partlist exported from Relay project.

PartValueDevicePackageDescriptionMFMPNOC_FARNELLOC_NEWARK
DIODE1N4148DO35-71N4148DO35-7DO35-7DIODE
JP1PINHD-1X21X02PIN HEADER
K1CQ1-12VCQ1-12VCQ1AUTOMOTIVE QUIET RELAY NAiSunknownunknown
LED1LED5MMLED5MMLED
R14700R-EU_0204/70204/7RESISTOR, European symbol
R2330R-EU_0204/70204/7RESISTOR, European symbol
SV1MA03-1MA03-1PIN HEADERunknownunknown
T1BC547BC547TO92NPN TRANSISTOR

Assinment report

LCD display was the choice for this assignment after discussing the topic with Kenzo. He made himself a LCD display board and conections when a fabber. I will start my project based on his documentation.

The idea of implementing a display is good once I may assemble it to the coffee maker as a way to comunicate its process/status to coffee consumers/users.

I took me several times to make a good .rml code and mill the board (FabModules as .rml generator and the machine was a Roland MDX-40. After that, I took me a while to fix the board (I needed to implement some extra jumpers). I was missing a component and I changed the potentiometer for a resistor. I missed a second jumper in the board; that was fixed with Kenzo's help.

The first code test took me a while too. I had to install some libraries to work with Arduino software. I run Kenzo's code for the LCD and it worked not so well. His display had 04 rows and mine has only 02 rows. The last test is a new code that I wrote.

Kenzo's website front page.

Kenzo's website documentation.

Circuit schematic Eagle.

Circuit board Eagle.

FabModules traces setup.

Circuit Board ajustment to remove holes from the outline profile.

Circuit Board way to export as image from Eagle.

Image setup.

Traces setup - FabModules.

Outline setup

Working with Arduino software - missing a library.

Library OK, but there are new errors to check.

These are new libraries downloaded and installed.
- Arduino Libraries for download.

Conection works; low memory message displayed.

Traces setup - review 02.

Meanwhile milling the traces, I checked to datashit in order to find out the LCD voltage: 5,0V. I also needed the PinMap to programm the microcontroler embbeded in this LCD board.
- For the reference file click here .

Outline setup.
- There is a bad thing about to happen. After I cut my PCB the outer trace was gone. The two cuting lines display in the image above explain that.
- The uploaded file.png with the cut profile was a thin white line that had black on both sides. The FabModules understand this nuance as two cut lines, instead of a single one.
- If I had an image with a frontier between black and white, that wouldn't happen. This lesson was learned and relay board has a nice file.png as input image.

New traces size, the first try didn't work properly.

Traces setup - review 03.
- All these reviews and parameters adjustment comes from a not brand new tool. If the mill is not new and sharp, it still cuts, but in order to get a good result, there is the need to take it in account.
- Another issue is to make sure the design being cut is correctly transfered from the digital to PCB itself properly. Adjustments are part of the process.

Programing the LCD.

PCB not so good. It had to be re-sold it and added a jumper.

Conecting cables and doing experiments with Arduino codes.

Programing the display board and getting some help from Arduino board as energy source.

First code to work, but without the colums and rows set correctly. It needed ajustments.

Working on the board, checking conections and re-writing the Arduino code.

First message edited.

Second message edited.



The video shows the project working. This is meant for final project, so it gives a whole view of the coffee machine including its relay board. That is the reason I replicate it here, to show the relay board working.




-----------




Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.