Skip to content

Final Project

Introduction

I had 3 plans for final project, those I documented in previous week. Then I decided to finalize my final project as a automatic spice dispensing machine. It will be very useful for chefs and for kitchen.

Problem statement

Taste of a recipe is decided by the correct amount of ingredients added to it. Taking the correct amount of different spices in every kitchen is a big task. If there is a device for that, the cooking will become very confident.

Features

  • Small in size
  • We can add a number of spices in one device.
  • Only 3 motors control a number of different spice containers. So the price of the device will be low.
  • Beautiful operating mechanism.
  • The least count is very low(up to 1/4 teaspoon)

Device specifications

  1. Size: 200 mm diameter and 192mm height.
  2. Power: 12 V
  3. Amount of spice in each container: 30 mL (appx.)
  4. No. of containers: 4 (can increase as for requirement)
  5. Spice type: small size spices and powders.

What does it do?

It is an automatic spice dispensing machine. We can add a number of different spices. and when the user chooses a spice and amount using a mobile phone, the machine will dispense the amount.

Who has done what beforehand?

I studied some previous spice dispensing machines.

The TasteTro Spice System

It is a rotating machine in which we can add a number of spices. We can choose different spices and their amount with the help of a touchscreen or with a mobile phone.

Richard Gurberg’s Automated Spice Dispenser

It is a boxy look automatic spice dispenser. We can select spices and their amounts, then the machine will dispense the spices.

What I designed?

I have a number of design tasks for my project. Because it include different mechanism. In the first time I was very confused. But I could solve each problems. Each parts and mechanism of the device is given below.

I used Fusion 360 for designing

Base of the device

My plan was to make a base frame with plywood or acrylic sheet. In that time I noticed the old 3d printing filament reels. So I decided to use filament reel as base.

3d-printer.jpg

Because,

  • It have enough strength.
  • Size is correct for a spice dispenser.
  • It have space for placing circuit board.

Container selecting mechanism

A number of spice containers will distributed in the device. My plan is to include 12 containers. All of the containers will fix on a disc plate. Inner edge of the disc plate will transformed into an inner gear. and it will rotate with the help of a stepper motor(I will use 28byj-48 stepper motor).

gear-1.jpg

gear-2.jpg

Design a thrust bearing

In my device, the disc plate should be like a thrust bearing. But in my device has no more load. It only need to just rotate.

So I just freely place the disc plate on the reel with a small edge locking and add some lubricant between that. But it dosen’t work when I add some weight above disc plate.

Then I decided to add a acrylic sheet between them which have some pockets where some metal balls will insert. then I got a best result.

ball-bearing.jpg

ball-bearing-2-min.jpg

Then I added a stepper motor with 15 teeth to rotate the disc.

Design a spice container and auger screw

I decided to add a auger screw mechanism for dispensing spices. I designed a small auger screw and place it inside a shell and made a replicable container to attach to it.

augur+container.jpg

I will 3d print the main frame of the container and transparent acrylic will place in between them.

Sliding mechanism

When the spice container reach in the correct position, a shaft will couple to the auger screw.

coupling-2.jpg

For that I will use a pin slot mechanism with a servo motor. It will push the Driving shaft into Driven shaft.

I calculated the slot length with the distance to move.

pin-slot-2.jpg

pin-slot-1.jpg

Shaft of stepper motor

In my device, shaft of the stepper motor is attached to driving shaft coupling with a rotation locking. The stepper will rotate after only when the auger screw is coupled.

stepper-shaft-3.jpg

Base for 2 stepper motors and servo motor.

I fixed stepper motors on 3d printed parts and they screwed on acrylic sheet. And the servo fixed on the acrylic sheet with screws.

3d-base.jpg

Coupling for auger screw

Coupling between auger screw and driving shaft was a big task. I spend some time for deciding the coupling joint.

In first time I designed a plus shape coupling, and I 3d printed parts and tested. But it didn’t work. The reason was area of contact for locking was very low in that design.

plus-coupling.jpg

Then I used a special type of coupling.

new-coupling.jpg

I solved the problem this way.

Then I assembled each components together in Fusion 360.

assembled-1.jpg

assembled-2.jpg

Small NEMA-17 was not available in our inventory. So I used a big NEMA-17. So I cannot add 12 container in my device. The stepper will touch on the container. So I decided to add 4 containers now.

assembled-3.jpg

What materials and components were used?

Pcb board

PartValueDevicePackageDescriptionAVAILABILITYCATEGORYDESCRIPTIONMANUFACTURERMFMPMPNOPERATING_TEMPPACKAGEPART_STATUSPRICEPURCHASE-URLROHS_COMPLIANTSERIESSUB-CATEGORYTHERMALLOSSTYPEVOLTAGE_RATING
C1100 mFC-POL-US_RADIAL-11MM-DIACAPPRD508W65D1000H1100BCapacitor Polarised - ANSICapacitor
C2100 mFC-POL-US_RADIAL-11MM-DIACAPPRD508W65D1000H1100BCapacitor Polarised - ANSICapacitor
C410 mFCAP_UNPOLARIZEDFABC1206FAB
D1DIODE_SCHOTTKY_CDBM1100-G 1ADIODE_SCHOTTKY_CDBM1100-GMINI-SMADiode schottky 100V 1A mini-SMA as found in the fablab inventory
J2CONN_JACK.65MMCONN_JACK.65MMJACK_.65MM
R1499 mFR1206FABR1206FABResistor (US Symbol)
U$1CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U$2LEDFAB1206 redLEDFAB1206LED1206FABLED
U$4CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U$5CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U$6CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U$7CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U$8CONN_06_FTDI-SMD-HEADERCONN_06_FTDI-SMD-HEADER1X06SMD
U$113-PIN-SP3-PIN-SP1X12(2_ROW)
U$12CONN_01X12_PRGRMRCONN_01X12_PRGRMR1X12(2_ROW)
U2UC_ATTINY1614-SSNRUC_ATTINY1614-SSNRSOIC127P600X175-14N20MHz, SOIC, 85C, Green, 14 SOIC .150in T/R Check pricesIn Stock AVR tinyAVR™ 1, Functional Safety (FuSa) Microcontroller IC 8-Bit 20MHz 16KB (16K x 8) FLASH 14-SOIC Microchip TechnologyATTINY1614-SSNRNoneNonehttps://pricing.snapeda.com/search/part/ATTINY1614-SSNR/?ref=eda
U3VR_REGULATOR 5VVR_REGULATOR_SOT223SOT223

Other parts

SI.NO DEVICE VALUE QTY
1 Stepper motor NEMA-17 1
2 Stepper motor 28BYJ 1
3 Bluetooth module HC-05 1
4 Stepper drivers A4988 2

Where will they come from?

All components and material for my final project were available in Repository of Fablab Kochi.I took servo motor from a previous project.

How much will they cost?

SI.NO DEVICE VALUE QTY PRICE($)
1 Stepper motor NEMA-17 1 10
2 Stepper motor 28BYJ 1 3
3 Bluetooth module HC-05 1 5
4 Stepper drivers A4988 2 3
5 Acrylic sheet 4 mm 2 Sq.ft 7
5 Acrylic sheet 2 mm clear 2 Sq.ft 3.5

Assembly

After designing each parts, I assembled alongside. After each testing I modified the design sometime.

ball-bearing-2-min.jpg

compress-3.jpg

assembled-5.jpg

assembled-4.jpg

assembled-6.jpg

Testing Mechanisms

Electronics

In my device, there are 2 stepper motors, one servo motor and a Bluetooth module. So I decided to use a SAMD21E17A.

scheme-1.jpg

board-2 (1).jpg

milling and print.jpg

But I couldn’t program the board. I spend a lot of time for that.

  • After burning bootloader, The board didn’t support USB. I checked all connections and our instructors also tried. Completing the project at the time is important. So I made another board with ATTINY 1614. In that time

    • I improved shape of my board according to my design.

      pcd-2.jpg

    • I placed plugs, and Serial connector, Connector for Bluetooth and power LED in correct place.

    • I could easily did the design, milling and stuffing.

    photo_6204143584526054042_y.jpg

And it fixed very nicely on my device.

Untitled

Then I tested it with stepper motors, servo and Bluetooth module.

Making an app for my device

I used MIT app inventor for making application. It was new for me. I watched some videos in internet, and started making.

I made 5 screens.

In the first screen, we can select Bluetooth connection.

In the second screen, which types of mode we want

Spices and Recipes.

In the 3rd screen, we can select spice.

Then we can select quantity of spice with four buttons. I gave minimum quantity as 1/8 teaspoon.

After selecting the amount, click on the arrow.

I used tinyDB for storing 2 values(which type of spice, and quantity)

Untitled

app.jpg

After making the software I tested it with a simple Bluetooth code.(for check spice type and amount is send).

for testing I used the AI companion in Mobile phone.

app-1.jpg

Then All things became ready.

Code

const int dirPin = 0;
const int stepPin = 10;
const int posn_dirPin = 1;
const int stepPin = 3;

#include <Servo.h>
Servo myservo;
int pos = 0;
#define A 2
#define B 3
#define C 4
#define D 5

#define NUMBER_OF_STEPS_PER_REV 512
int Delay = 5;
long int X_now = 0;


long int X_now = 0;
int stepDelay = 1000;

float amount;

void setup() {
  Serial.begin(9600);

  myservo.attach(9);

  pinMode(posn_stepPin, OUTPUT);
  pinMode(posn_dirPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  myservo.write(0);
}

void loop() {
  serial();

}

void serial() {
  while (Serial.available() !=  0)
  {
    char data = Serial.read();
    //                                   long int x = data.toInt();
    switch (data) {

      case 'a':

        move_addr(290);

        for (pos = 0; pos <= 90; pos += 1) {
        myservo.write(pos);
        delay(15);
        }

        digitalWrite(dirPin, LOW);
        for (int x = 0; x < powder_A; x++)
        {
          digitalWrite(stepPin, HIGH);
          delayMicroseconds(1000);
          digitalWrite(stepPin, LOW);
          delayMicroseconds(1000);
        }

        myservo.write(0);
        delay(1000);

        break;

      case 'b':

        move_addr(580);

        break;

      case 'c':

        move_addr(870);

        break;

      default:                                     //                                  move_addr(x);
        break;                                                                            //  if (data=='A')
        //  {
        //    move_addr(290);
        //  }
        //  if (data=='B')
        //  {
        //    move_addr(580);
        //  }
    }
  }
}

void move_addr(long int container_posn) {
  long int steps_to_go = container_posn*290;
  long int step_error = steps_to_go - X_now;

  if (step_error > 0) {
    step_error = abs(step_error);
   digitalWrite(posn_dirPin, LOW);
    for (long int i = 0; i < step_error; i++) {
      position_stepper();
    }
    X_now += step_error;
  }
  else if (step_error < 0) {
    step_error = abs(step_error);
    digitalWrite(posn_dirPin, HIGH);

    for (long int i = 0; i < step_error; i++) {
      position_stepper();
    }
    X_now -= step_error;
  }
}


void position_stepper()
{
          digitalWrite(posn_stepPin, HIGH);
          delayMicroseconds(1000);
          digitalWrite(posn_stepPin, LOW);
          delayMicroseconds(1000);
}

void dispensing(float amount)
{     long int Step_for_dispense= amount*300;
      digitalWrite(dirPin, LOW);
      for (int y = 0; y < Step_for_dispense; y++)
      {
        digitalWrite(stepPin, HIGH);
        delayMicroseconds(1000);
        digitalWrite(stepPin, LOW);
        delayMicroseconds(1000);
      }
}

What parts and systems were made?

  • 5 containers with 3d printing and acrylic sheet.
  • Auger screw by 3d printing.
  • I made a thrust bearing using metal balls and acrylic sheet. The top plate of the thrust bearing modified to an internal gear.
  • I made a dispensing mechanism with a slider mechanism with servo and a stepper motor.
  • I made a good coupling for dispensing mechanism
  • I made a circuit board by using ATTINY1614 and it includes connections to Servo motor, NEMA-17 stepper motor, and Bluetooth module.
  • A casing with acrylic sheet.

Programming

  • I made an application in MIT app inventor.

What processes were used?

3D printing

I used 3D printing for making parts for spice dispensing mechanism(Sliding, rotating and coupling) I made auger screws with 3d printing

Laser cutting

I made container selecting mechanism using acrylic sheet. I used laser engraver for making big internal gear with thrust bearing and small gear. I made plates for spice container with 2mm clear acrylic.

Milling

I made my PCB with Roland milling machine.

What questions were answered?

Will the Sliding mechanism work properly? - I could seccesfully make a sliding mechanism with a servo motor. Will the coupling mechanism work properly? - I could find and make a best coupling mechanism and it worked properly. Will the auger screw can dispense spices in different sizes? - In my project I used same size auger screws. So it have a problem for dispensing thick spices like pepper. I can solve that problem by increasing pitch of auger screw for those containers. Can I make a good container with 3d printing and laser cutting? - I could make a better container which includes tranparent plates of acrylic. And these containers are replaceble for filling spices.

How was it evaluated?

  • Spice container selecting mechanism I could make a good thrust bearing with a big internal gear using acrylic sheets. It worked very nicely.
  • Dispensing mechanism Mechanism of dispensing was very good. coupling, sliding and rolling mechanisms worked properly. My stepper motor was little bigger, So I could not add more containers in my device.
  • Spice container I could design and make better containers with 3d printing and laser cutting. It was better than I think.
  • Mobile application I could make a application in MIT app inventor and it worked good. Image rations and text sizes have to change.
  • Electronics I could make a board suitable for placing in the device. I could place each components(Bleutooth module, power plug etc.) in suitable places.

What are the implications?

  • I can develop a better version of this device in future, that can use in any kitchens and hotels.

Download design and pcb files

Code files

Download spice dispenser application

Old plans for final project.

I selected a drying case for soap and bath scrubber as my final project.

How i got this idea?

  • As a fab academy student, Now I am in a hostel.
  • In hostel, bathrooms are common. My biggest problem is draining of water from my soap case and the soap dissolves in the excess water.
  • So I decided to make a dryer soap case

First model of my soap box

I search for some dryer concepts in youtube and amazon.com, and some of them influenced me.

An youtube video about toothbrush dryer

After some thought process I remembered about a video about a magic diya lamp(After fill oil in the diya lamp and then you bring back diya straight again, oil will not come out). I applied same idea of the diya magic lamp to the soap placing platform.

video of magic diya lamp

Improved model of the soap box

I changed my final project.

My current final project does not satisfy me. I decided to choose a better project that would allow me to try out new things.

As a result, I decided to build an automatic masala powder dispenser machine.

Automatic masala powder dispenser machine.

Why did I select this project?

In my village, my father owns a grocery store, where I spend my free time.

Weighing flours and masala powders was a big hassle for me.

It is a time-consuming activity in every store. This got me thinking that if there was a device that could weigh flours and masala powders, it would be a huge help to the salespeople in those stores.

In India, most people cook with masala powders such as coriander powder, chilly powder, turmeric powder, and other spices. These powders are now sold in packets of 25 g, 50 g, 100 g, and so on.

When merchants begin to employ automatic masala powder dispenser machines, they will be able to save time and money.

  1. It will cut down on the use of plastic bags.
  2. Masala powders can be sold at a reduced cost by shopkeepers.

A rough model of masala powder dispenser machine.

Rendered image of my design

Primary containers

I designed a basic powder container mechanism.

  • It includes a sliding valve at the bottom of the container.
  • And the sliding valve is fixed in 3D printed slots.
  • A servo motor is connected to open and close the valve.
  • A vibrator motor is added for vibrating the bottom. So the powder will dispense smoothly.

Secondary container

The powder from primary containers will dispense into secondary container.

  • The secondary container is laying on the load cell.
  • It includes a valve mechanism.
  • A servo motor is partially connected to the valve mechanism. ie, in the time of dispensing powder from primary chamber, the shaft and valve will not have any touching. After fully dispensing the shaft of the servo will only push the valve, so the all powder will dispense down.

Primary containers

I designed a basic powder container mechanism.

  • It includes a sliding valve at the bottom of the container.
  • And the sliding valve is fixed in 3D printed slots.
  • A servo motor is connected to open and close the valve.
  • A vibrator motor is added for vibrating the bottom. So the powder will dispense smoothly.

Files of final project(spice dispenser)

Download design and pcb files

Code files

Download spice dispenser application


Last update: July 14, 2022