Input Devices

As the world relates to hardware.

The tasks asked are:


- Measure something: add a sensor to a microcontroller board that you have designed and read it.

Class material: Input 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.

Software Used


- Autodesk EAGLE
- GIMP2.0
- Roland VPanel for MDX-40A
- Fab Modules
- Arduino IDE
- MS Paint (for PNG images editing)

Assignment report

Design files:


- FabKit 03 - schematic.
- FabKit 03 - board.
- FabKit 04 - schematic.
- FabKit 04 - board.
- Thermo sensor - schematic.
- Thermo sensor - board.
- Microcontroler final edition - schematic.
- Microcontroler final edition - board.
- Microcontroler PNG image - traces.
- Microcontroler PNG image - cut.

- Extra information and/or files about FabKit 0.3-0.4, please click here.

- SparkFun Ealge libraries.
- Adafruit Eagle libraries.

- Microcontroler traces - rml.
- Microcontroler cut - rml.
- Thermosensor traces - rml.
- Thermosensor cut - rml.

Checking the interaction between devices was helped by the relay actuator. Its files are listed below.

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


Report comments:

This assignment was a thermosensor issue. I decided to follow the sensor board available in our course documentation, but change the data input control. Instead of building a board with a microcontroler I would have a FabKit04 board to comunicate with the thermosensor and display its measurements over the screen.

This idea of working with another microcontroler board was a strategy to help me out with the final project system. It took me too much time to build the FabKit04 board that worked. Actually, it didn't work properly. In a way to deliver this assignment, I switched the strategy to make a system with an Arduino Uno board and leave the microcontroler board of my own for a later development.

My own microcontroler board will be find below. It was designed after I manage to integrate my final project system. So, it has what it takes for this project (lots of GND and VCC pins). This board presents some problems - it misses a link to reset pin and also another link to SCK pin - that may be corrected in further versions. As I followed standard Arduino IDE programming structure, it was easy to reproduce the same code tested with Arduino Uno in my own board.

Thermo sensor BOM

Partlist exported from Thermo Sensor schematic

PartValueDevicePackageDescriptionMFMPNOC_FARNELLOC_NEWARK
R110kR-US_R1206R1206RESISTOR, American symbol
R210kR-US_R1206R1206RESISTOR, American symbol
R310kR-US_R1206R1206RESISTOR, American symbol
SV1MA04-1MA04-1PIN HEADERunknownunknown
THERMISTOR10kR-US_R1206R1206RESISTOR, American symbol

Microcontroler BOM

Partlist exported from microcontroler schematic

PartValueDevicePackageDescriptionMFMPNOC_FARNELLOC_NEWARKPROD_IDSPICEMODELSPICEPREFIXVALUE
C1100nFC-USC1206C1206CAPACITOR, American symbol
C222pFC-USC1206C1206CAPACITOR, American symbol
C322pFC-USC1206C1206CAPACITOR, American symbol
Q116kHzCRYSTALHC49SHC49/SCRYSTAL1667008unknown
R110kRR1206R1206RESISTOR, European symbolNONER
SV1MA06-1MA06-1PIN HEADERunknownunknown
SV2MA06-1MA06-1PIN HEADERunknownunknown
SV3MA06-1MA06-1PIN HEADERunknownunknown
SV4MA06-1MA06-1PIN HEADERunknownunknown
SV5MA06-1MA06-1PIN HEADERunknownunknown
SV6MA06-1MA06-1PIN HEADERunknownunknown
SV7MA03-2MA03-2PIN HEADERunknownunknown
U1328PATMEGA328P_PDIPDIP28Atmel 328PIC-09136328P

Assinment report

Programming the microcontroler boards - either Fabkit04 or the one I made - was something that needed extra attention. Each hardware has a library that indicates how one communicates to another. Learning about it is checking documentation or talking to someone who had a similar problem before. In this sense, working with a group (or network) where one can discuss about problems, helps with debugging. Some problems were library related; it means I had to download and install these libraries in order to make the project work properly.

Error message:
*****
You probably want to use 0xfd instead of 0x05 (double check with your datasheet first)
*****
I had to change the code at Boards.txt file in order to process bootloader.
Kenzo manage to help me out software issues. I downloaded another library package (MiniCore) and will try to work with my fabkit04 board.

Design and packaging

Thermosensor board was chose as input device. I re-wrote the resistors schematic. I tryed to find a component in an Eagle library that described Thermistor NTC, but I had no success with a smd component. After a while, I applied a fourth resistor into my schematic and labled it as a thermistor. It worked properly, once its packaging is the same. Note: packaging is the design/description of a component dimension in real world. This data builds the design block for a component be represented in a board sketch. If the packaging is incorrect, the design of traces, pads and vias is wrong or it doesn't match the components real size. A good PCB has its design properly describing components packaging.

Facing problems with usb port configurarion.

Thermosensor Eagle schematic.

Thermosensor board. The idea was to have a longer sensor, than encapsulate it (but it never happend). I wrote the pin map at the board to make later connections easyer.

Final thermosensor design.

Reading thermosensor through Arduino IDE - where "Leitura:" means "Measure" and the number that follows is the room temperature (that changes when anybody touches the thermosensor).

Microcontroler board

As I had several problems with SMD components soldering process. The soldering material available needed temperatures above 380 degrees Celsius and it seems these high temperatures were damadging the components. The thermosensor, for instance, has 265°C as max soldering temperature as sais datasheet information. I chose to build a microcontroler board with PTH sized Atmega328. It follows Eagle's schematic and board design, images to FabModules CAM (that I used the same setup from preveious boards), and photos of my final result.

Eagle's schematic.

Eagle's board.

Traces image. This was the design I had build and develop during final project assignment. The final design is cleaner. It still cam be improved. Maybe during another cycle of work on microcontrolers.

Outline cut image. This is also a design that is applied to final project work. A later design is the final one.

Board I. Operational, but needed a jumper. Microcontroler has a code made and tested with Arduino UNO hardware. The software worked fine.

Board II. this is the other side of the board. Making conector in oposite side as traces helps soldering process to workout easier.

Programms

It follows the programms that were develop in order to read temperature and react to it based on a microcontroler board.

- Code based on ArduinoIDE for thermosensor reading.
- Code based on Processing for thermosensor reading.
- Code based on ArduinoIDE for the final project. It includes thermosensor reading thermocouple MAX6675 (manufactured), keyboard reading, display output, relay output.

- Arduino Libraries.




-----------




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