Week 1
11 years ago

My name is Salim Faraj from Nairobi, Kenya. I am a Mechatronics Engineer working mostly on electronic systems design. I'm currently working for a company that is developing a Point of Sale (POS) device for small scale traders. I have successfully managed to design and develop the electronic board and tested it. However, the casing requires a mould which is very expensive. When I realised that FabLab Nairobi has 3D printers for plastics, I became fascinated and wanted to learn how to use the equipment. I would like to use such equipment in developing casing prototypes. That has led my to sign up for this course.

Project Proposal
11 years ago

As for my final project, I would like to fabricate an autmated poultry feeder system. I will have a feeding trough that can detect when it is empty. It will also have a storage container where the poultry feed is placed. This container will also have a sensor to detect when the feed supply is running low and will alert the user. The feed will be supplied to the feed trough using a screw conveyor mechanism placed at the bottom of the feed trough. The feeder system can also be set to run on a timer if there are specific times of the day when feeding is required.

CAD Design and Simulation
11 years ago

This week I designed part of my proposed final project. I used Autodesk Inventor 2013. I began by drawing all the individual parts that are required. I then assembled the parts in an assembly file.

The materials selected for the design of the parts is ABS plastic material. This excludes the motor, bearing and the screws. The plastic parts will be fabricated using a 3D printer.

I did a simulation using the Dynamic Simulation function. I subjected the motor shaft to a torque of 100Nmm about its centre and I have shared a video link that displays the results of the simulation http://youtu.be/y60q9SQ6mxs.

In the video, you'll notice that there is a bearing, screw and motor coupling. These are rotated about the axis of the motor shaft when the torque is applied. This is the process that will allow the grains of the poultry feed to be released from the container.

I also designed a presentation file that has a explosion view of all the parts of the feeder. I used a bearing with a bore of 6mm, outer diameter of 19mm and 6mm thickness. The screws used are 3mm diameter self tapping screws with 16mm length. Here is a view from a different angle

Computer-Controlled Cutting
11 years ago

This week the assignment is to design and fabricate parts that are to be assembled by press-fit joints. The material to be used is cardboard and the machine to be used is the laser cutting machine. I began the task by designing my parts using CAD software specifically Autodesk Inventor. I then assembled the parts using the CAD software. I designed parts that can be assembled to form a house that has four walls and a roof. It also has an open door and two open windows. Below are two pictures of two views of my assembled design.

I then proceeded to the FabLab to cut the pieces. I used the Epilog Laser Cutting machine. I installed the windows driver and using DWG True View software I was able to select the desired profiles for cutting and print them using the laser cutting machine. The setting that worked well when cutting was speed of 30%, power of 50%, frequency of 500Hz and Vector cutting. Below is a photograph of the laser cutting machine at work.

Below are some of the pieces cut by the laser cutting machine.

I assembled the pieces to make the house that I had designed earlier and below are photographs of the result.

Electronics Production
11 years ago

This week's assignment is to fabricate the FABISP in-circuit programmer. The cad files were provided on the website and I followed the instructions from http://fab.cba.mit.edu/content/processes/PCB/modela.html. Below is a picture of the modela machine at the FabLab.

Below is the board that I used to make the FabISP.

The developed FabISP board is shown below.

I used AVRISP v2.0 programmer from Atmel to load the firmware. I loaded the AVR version 4 software and connected the programmer to the computer. I clicked the connect button and selected the microcontroller from the devices list and read the signature. I then set the fuses to allow external crystal to be used and I selected the hex file and uploaded it.

3D Scanning And Printing
11 years ago

For this assignment, I first designed and assembled two ellipses using Autodesk Inventor to produce an object that cannot be easily machined subtractively. I began by design the ellipse in Autodesk inventor. The long side was 5mm while the short side was 3mm. Then I drew another ellipse for the profile shape. It was 45mm by 30mm. Below is a picture of the ellipse and a screenshot of the Autodesk Inventor software.

I then created an assembly file of two ellipses to look like a part of a chain. A picture is shown below.

I then saved a copy as stl format so that I can scale it in Netfabb basic.

This is the object that I printed using the Replicator 3D printing machine. Below is an photo of the result.

For the 3D scanning, I have used a Kinect device for the 3D scanning. I downloaded and installed the Kinect SDK from the Microsoft website which installed the drivers. I also downloaded free versions of 3D scanning software called Skanect and Netfabb. I also installed MeshLab for processing 3D object.

The first step was scanning an object using the Kinect. I ran the Skanect software after connecting the Kinect to my computer. I set a space of 1mx1mx1m and scanned my bag. I uploaded the scan to sketchfab.com for view and the link is https://skfb.ly/xMYt Below is a screenshot of the Skanect software.

Since the Skanect version installed was a free version I could only export a file stl version with a reduced amount of detail. Below is a screenshot of the scanned object exported as stl and opened in Netfabb.

I then used MeshLab to remove the unwanted parts of the scan and the isolated parts. Below is a screenshot of the result.

Electronics Design
11 years ago

In electronics design we learn about electronic circuit design. We are introduced to various electronics CAD software available in the market. I chose to use Eagle freeware version for the assignment. Although I'm familiar with OrCAD for schematic design and Allegro for the pcb layout design, I decided to use Eagle. Eagle is fairly simple to use and quick to learn unlike OrCAD.

I began the assignment by downloading the fab library for eagle. I copied it into the library folder and designed the echo hello-world board. I then added the switch and LED as required for the assignment. Below is an image of the schematic.

After completing the schematic, I then clicked on the button to switch to the layout editor. I edited the outline size using the wire tool on layer 20. I resized it to a rectangle of 2x1.5 inches. I placed the components and arranged them in a suitable manner for routing. After routing the following layout resulted.

The next step was to machine the board followed by soldering the components.

Computer-controlled machining
11 years ago

For the computer-controlled machining class the task was make something big. I have designed a table that will be made using the Shopbot machine. I designed the parts using Autodesk Inventor and assembled them.

Above is a screenshot of the table that I have designed. The top part is a circle of diameter 1000mm. The height of the table is approximately 430mm. I intend to attach the parts using wood glue. Below is an image of the table from a different angle.

Embedded Programming
11 years ago

The assignment for embedded programming involved developing firmware for the microcontroller on the board that we developed two weeks ago. I used AVR Studio 4 as the IDE and WinAVR as the compiler. Below is a screenshot of the the AVR Studio IDE.

This is the source code that I developed.

  1. define F_CPU 20000000UL
  2. include <avr/io.h>
  3. include <util/delay.h>
  4. define SW PB2
  5. define LED PA3

void init_io() { DDRB &= ~(_BV(SW)); DDRA |= _BV(LED); PORTB |= _BV(SW); }

void blink_led() { PORTA |= _BV(LED); _delay_ms(500); PORTA &= ~_BV(LED); _delay_ms(500); PORTA |= _BV(LED); _delay_ms(500); PORTA &= ~_BV(LED); _delay_ms(500); PORTA |= _BV(LED); _delay_ms(500); PORTA &= ~_BV(LED); _delay_ms(500); }

int main() { init_io(); while(1) { if ((PINB & _BV(SW)) == 0x00) { blink_led(); } } return 0; }

In the code above, the microcontroller uses the pin connected to the push button switch as an input and the pin connected to the LED as an output. When the use presses the button, the pin reads a low signal since the switch connects the pin to ground. This causes the LED to blink three times using the blink_led() function.