Week 10: Output Devices

Tasks for  the week:

  • Design a  board to run an output device
  • Program the board to run the output device

Task:01

Design a board to run an output device

 

This week the task is to design a board that can help run an output device.

So this week I decided to use a servo-motor as my output device.

 

Introduction to Servo Motors:

This week I got to understand the mechanism behind various kinds of motors and how they function.

It was important for me to understand the logic behind the mechanism of these motors before I use it as my output device for this week.

 

So as an introduction,

 

 

A servomotor is a rotary actuator or linear actuator that allows for precise control of angular or linear position, velocity and acceleration.[1] It consists of a suitable motor coupled to a sensor for position feedback. It also requires a relatively sophisticated controller, often a dedicated module designed specifically for use with servomotors.

Servomotors are not a specific class of motor although the term servomotor is often used to refer to a motor suitable for use in a closed-loop control system.

Servomotors are used in applications such as robotics, CNC machinery or automated manufacturing.

 

The datasheet for Attiny 44 helped me understand the pinout and the power supply that I can modulate as per my requirement.

 

Step:01

Designing the Board

 

Since I am absolutely new to electronics, I decided to follow the board and components from the      on the Fab Academy website to design the board.

As my first step, I listed down all the components i needed while referring to the below shown board diagram.

As seen on the image on the right, I started sketching out the schematic diagram that would be required to make the board.

For this I read the board given on the left and started understanding the connections between the components.

 

I referred the board on the left and other components from this

link

Board that I referred to

Schematic sketch for the board

Designing the board in EAGLE

Milling the board

Final Files for the board can be accessed here and the schematic can be accessed here.

Programming the board

The error occurred twice, because I didnt check if the auto routing was '100% optimised'. This is very important to have connections amongst all the components.

Coding

The first step is to prepare the Arduino work as ISP. The process is same as I did for week 8.Next, I connected my board to Arduino using MISO, MOSI, SCK ,RST, GND and VCC.

Further, I uploaded the code by Neil to check the working. It was successful. The video below shows the working of the code on my circuit.

Since, this circuit had a few unconnected components, I rerouted the board diagram and checked it with the design rules and it showed no errors.

The png images for the revised board can be seen on the left. I milled the board again and stuffed it with all the components. The image of the final board can be seen below:

I followed the same process for programming this board and it worked perfectly. The video showing the final working of the board can be seen below:

Revised EAGLE files can be accessed here.

FOR FINAL PROJECT:

I required a circuit board that would help me run a Bipolar stepper motor for my 'Clay extruder'. I wanted to redesign the board designed by Neil, but unfortunately the ICA4953 motor driver required to run the motor wasn't available in my area. Hence, I was trying to make a circuit using A4988 motor driver.

 

I came across Jari Pakarinen's work for FabAcademy 2017 and found out that he had prepared a board using the A4988 motor driver to run a bipolar stepper motor. Hence, I decided to redesign the board and try it myself to see if the board was hepful.

I didn't make any changes in the schematic, but redesigned the layout of the board. Later, I autorouted it to get to make connections and checked it by the design rules. It showed no errors. Hence, I moved further to milling and stuffing the board.

Below,are the png images for my redesigned board that I used for milling and stuffing.

EAGLE files can be accessed here.

Below, are a few images that show the parameters I used for milling the board and the process of milling:

Programming the board:

By following the same process that I followed to program the circuit for servo, I uploaded codes written by Jari, onto my board. I connected the MISO, MOSI , SCK, RST, GND and VCC pins of my board to arduino to program it first and then only connected the GNDand VCC pins to arduino for power and connected the 6 pin headed pins on my board to the stepper motor. Also, for the 6pin header for motor, I connected the gnd  and vcc pins to external 9V battery. The connections can be seen in the images below:

Codes by Jari can be accessed here.

I chose not to modify the codes because I wanted to undersatand what Jari had tried to design, later I wrote my codes for the Final project.

 

Below is the video showing the working of my board with a stepper motor:

Step:01

Milling the FabISP

 

To start milling the FabISP , I first understood the method of working using Ubuntu (basics).So I documented each step of opening a file and creating .rml file for milling.