Auto-Chef Robot Made Using Old 3d Printer Cooking Soup !

by bhuvanmakes in Circuits > Robots

65 Views, 2 Favorites, 0 Comments

Auto-Chef Robot Made Using Old 3d Printer Cooking Soup !

6.png
2.png
4.png
21.png
16.png

This is Auto-Chef, an automatic Soup making robot that I made by re-using my old 3d printer.

Last Sunday, when I was trying to think of hardware requirements for making an automatic cooking robot, I realized, I already had all the hardware with me, in one place ! Here were the requirements and how each was solved by reusing an old 3d printer !

  1. Heat Source : Heating Bed of 3d Printer
  2. Liquid/water dispensing : Peristaltic Pump with extruder stepper motor
  3. Stirrer Robotic arm : By moving stirrer attached to hot end holder plate.
  4. Ingredients dispenser : A Food safe 3d printed attachment repurposing PWM fan signals.
  5. Control Software : Slicing Software + G-Code

Also, NO extra electronics needed !!

I tried to design this project in such a way that, I will not have to include any extra microcontrollers, temperature controllers, timers etc to operate the robot, everything should happen automatically and seamlessly, as if printing a soup instead of a benchy.

And I am happy to say that has been made possible, the entire machine operates from G-code only, which also is quite easy to set up, this means, start your Auto-Chef, select the soup of your choice from the list of g-code files, click select and wait for 15 mins to have your soup ready ! No intervention needed.

Supplies

17.png
15.png
6.png
13.png

We need the following,

  1. Old FDM 3d printer.
  2. Food-safe Container for Water
  3. 3x 608ZZ or 608RS bearings
  4. Cylindrical Cooking vessel ( Flat base ) ( Ideally 200mm diameter and Height more than 150mm)
  5. Some 3d printed components.
  6. Food safe Silicon tube ( 2 meters, 9mm )

Design Time

9.png
8.png

I started with designing the components for this project in a design software, you can use any CAD software of your choice, I used Fusion 360 for this. I imported the design of an Ender 3 printer in Fusion 360 and started making adjustments to fit our Spice dispenser and Stirrer holder.

Considering Food-Safety

20.png
11.png
10.png
3.png

I wanted the food made using this 3d printer robot to be safe to consume, hence I made some careful design considerations.

  1. Peristaltic Pump : The peristaltic pump design is especially useful to make sure that the water used to make our soup is not in contact with any harmful elements. Peristaltic pumps are capable of pumping liquids without every coming in contact with the insides of this liquid, this make the setup leakproof and Food-safe.
  2. Food Safe coat : The spice dispenser which I have used in this project needed to be food safe as our soup premixes will rest inside it for a long time, to make sure this is true, the insides of the 3d printer spice dispenser have been coated with a food safe plastic sheet.

Cleaning the Printer

19.png

Since this Ender 3 was siting idly by in a corner of my workshop, I gave it a cleaning job, this is important because we are literally going to make our soup in this printer and you don't want extra spicy dust in it.

A Very Cool Spice Dispenser

7.png
7.png
5.png

This is the spice dispenser/premix dispenser which I have used on the machine, the design of this dispenser is pretty unique, I tried to look up for solutions online to dispense 2 or more different premixes separately using a single motor, unfortunately I was not able to find any, hence I designed this dispenser capable of dispensing 2 different premixes individually and separately with direct G-code control, which means no extra electronics.

Controlling the Servo for Spice Dispenser

10.png
9.png
14.png

The short answer is : Using G-code

The Long answer is : I dived a little into the different electronic components that I can control by using the G-code of my 3d printer. This is when I realized that all 3d printer hot ends house 2 Fans and one of these two fans is PWM controlled, some of you might have understood why that is great news ! But if you have not, let me explain.

See, the servo motor which I am using here is a Tower Pro MG995 Servo, these motors control their angles using PWM signals, so If I send a PWM signal of 127 considering PWM resolution of 255, the Servo motor will move to an angle of 180 degrees from origin ( for a 360 degree rotating servo ) .

So, by controlling the Fan speed using PWM value in G-code, I can control the angle by which the servo motor opens !

This however needs proper calibration, and I have undergone a more than 10 number of attempts in doing so, eventually ending up with spice dispenser control solely from G-code !

3D Printing

12.png
8.png

I then 3d printed all the requirements for this project, I have made all the design files available, you can slice and print them, if you have any questions, please comment here.

The components to be 3d printed are

  1. Peristaltic Pump
  2. Spice Dispenser
  3. Servo Holder
  4. Mounting bracket for Servo and Dispenser
  5. Stirrer Spoon Holder.

Time for Assembly

12.png
5.png
18.png
4.png
Soup Robot Assembly

The assembly of this machine was mostly quite simple, I started with attaching the removing the Hotend, CR-Touch and Thermocouple of my 3d printer, Then I attached the new 3d printed mounting plate, added the servo motor on top and secured it using screws, Next I attached the spice dispenser in its position while making sure to align the dispenser mouth with the servo motor. After securing the dispenser, I attached the stirrer spoon on the Mounting plate. Finally, I assembled the peristaltic pump with the silicon tube and 3 608RS bearings.

Here are some final assembled images of various sections of the robot to help you in the process.


Downloads

The G-code

3.png

Since, I cannot explain the entirety of how a G-code works in this video, Here is a relevant tutorial on the topic made by CNC Kitchen : https://www.youtube.com/watch?v=2TByiMNduss , this should help you with understanding what's written here, I have also included relevant comments in it to help you understand the G-code.

I have made G-codes for the following recipes.

  1. Munchow Soup
  2. Veggies Soup
  3. Green Tea
  4. Milk Tea (Chai)
  5. ( I will continue adding more here ! )
; Munchow Soup Recipe G-code

; Setup
M302 P1 ; Allow cold extrusion
G28 X Y ; Home ONLY X and Y (skip Z to avoid CR-Touch error)
G92 Z200 ; Manually set Z to 200mm (assume it's correct)
M420 S0 ; Disable auto-bed leveling
G0 X100 Y100 F6000 ; Move to the center of the workspace

; Step 1: Dispense Water for 3 Minutes
; Starts peristaltic pump using extruder stepper motor
G92 E0 ; Reset extruder position
G1 E300 F300 ; Run peristaltic pump for 3 minutes
G92 E0 ; Reset extruder after dispensing

; Step 2: Heat the Water using the Bed
M140 S100 ; Set bed temperature to 100°C
M190 S100 ; Wait until bed reaches 100°C

; Step 3: Wait 5 Minutes of Heating then Open Container 4
G4 S300 ; Dwell for 300 seconds (5 minutes)
M106 S42 ; Send 42 PWM signal to Open Spice dispenser

; Step 4: Stir/Shake (2 Secs) while Container 4 is Open
G0 Z200 F3000 ; Keep Z at 200mm to avoid hotbed
G0 X100 Y100 F18000 ; Move to center of the 200mm vessel
G2 X105 Y125 I0 J45 F18000 ; Shake diagonally up-right within circle
G2 X95 Y75 I0 J-45 F18000 ; Shake diagonally down-left within circle
G2 X100 Y100 I0 J45 F18000 ; Return to center
G4 P2000 ; Hold for 2 seconds


; Step 5: Close Container 4 & Reset Spice Dispenser
M106 S0 ; Send 0 PWM signal to close dispenser

; Step 6: Stir Soup for 5 Minutes
G0 X100 Y60 F18000
G2 X100 Y150 I0 J45 F18000 ; First half-circle (clockwise)
G2 X100 Y60 I0 J-45 F18000 ; Second half-circle (clockwise)
; ( The Above two lines are repeated 1000 times )

; ----- Step 7: Return to Center and Stop Heating -----
G0 X100 Y100 F6000 ; Move back to the center after stirring
M140 S0 ; Turn off bed heating

; ----- End of Recipe -----
M84


DEMO - DEMO - DEMO

Soup Robot Demo

Here is a demo of the Version Robotic Soup Maker, I will keep updating the video as I make progress on the project.

Some issues which I am facing at the moment,

  1. Spice Dispenser opens but the premix of soup is not dispensed, I manually had to give it a little push to remove all the premix from the container.
  2. The Peristaltic pump is a little slow, I will have to improve its design or maybe increase speed of the Stepper motor to fix this part

I am open to your feedback on this project, I want to finish this project with many more recipes and a fully functioning solution for automating my cooking job ! Thanks for reading !