Introduction: Vertical-shift Mixer

Hello, I am Nicolas, a Mechanical Engineering student and a kitchen addict! I have been diving deeper into the world of controls, and I recently came up with an idea involving what I learned to solve a real problem I currently face in the kitchen.

Don't you wish you didn't have to take a spoon and push down all the un-mixed solids from the walls of a blender whenever you mix something? I thought about this and designed a mixer that could vertically shift its blade to reach any part of the glass. Come with me to see how I built the very first prototype!

Supplies

Hardware:

  1. Kleenex box (to house electronics)
  2. 3/8" popsicle sticks (x2)
  3. 1/8" wood bar (36" standard piece)
  4. Cardboard (i recycled it from an amazon box)
  5. Kitchen sticks (x1)
  6. Access to a 3D printer + PLA filament
  7. Some Glue or Tape

Electronics:

  1. Breadboard (x1)
  2. Breadboard Mini (x1)
  3. Arduino UNO R3 (x1)
  4. Arduino Power Supply Module (x1)
  5. 9V Battery + Connector (x1)
  6. Positional Micro Servo (x1)
  7. DC Motor (x1)
  8. Push Buttons (x5)
  9. Potentiometer (x1)
  10. NPN Transitor (x1)
  11. Resistors: 10kΩ (x5) and 1kΩ (x1)
  12. USB Cable
  13. Wires: various to connect different components

(Note: I got all my electronics from the UNO R3 Project Super Starter Kit)

Software:

  1. Arduino IDE
  2. Autodesk InventorPro or Fusion360
  3. Ultimaker CURA (or any other slicing software)
  4. Autodesk Tinkercad (optional for circuit modelling)

Step 1: Design the Circuit

Before building anything, I personally like to model my desired system digitally. For electronic circuits, I find Autodesk Tinkercad to be my favorite mainly for its ease of use. A circuit diagram can be followed to replicate the circuit at home, and I will explain the basic functioning of it.

The circuit consists of 3 main parts: the Positional Servo, the DC Motor, and the Power Supply, .

Positional Servo:

I used this special type of motor to control the vertical positon of the blade. By sending a PWM signal from your Arduino and using the Servo library, you can precisely set an angle between 0° and 180°.

To select the angle, I used 5 buttons that would send a signal to the Arduino. Then, when it reads it as HIGH (5V), it would set a defined angle to then write to the Servo based on which button was pressed. I used 5 buttons for 5 positions: 0°, 45°, 90°, 135°, 180°.

To avoid any short-circuit when the current is passing through the pressed button, I connected a 10kΩ in series to each button, significantly reducing the current to not fry the board, but keeping the same 5V voltage across.

DC Motor:

This simple motor was used to rotate the fan at a desired speed. I used a fan and not a blade because this is a prototype and I wanted to keep everything safe; the fan works perfectly for demonstration purposes.

The speed was controlled by sending a varying supply voltage from an NPN Transitor that read an input from the potentiometer. Similarly to the buttons, a 1kΩ resistor was connected to the base terminal of the transistor to avoid high currents within.

These motors operate at very high currents, so it needs to be powered externally. This is why an external Power Supply module is needed, and an NPN transistor is crucial to control this external power.

Power Supply:

I used a 9V battery to power both the Arduino and the DC Motor. For me to send two different 5V signals (low-current and high-current), I needed to use the Power Supply Module from the Arduino Kit. This module is not available in Tinkercad, but it basically operates as a 5V high-current regulator connected to the Breadboard, in parallel to a low-current USB cable connected to the Arduino.

Step 2: Building the Circuit

After modeling the circuit, it is time to take the components and build it. The picture shows the Power Supply Module as the black item in the left side of the breadboard, and you can see how it connects the 9V battery to every other component.

Step 3: Controls (Programming)

Now we need to put some logic into the Arduino so that the motors do what we tell them to do.

The DC motor is controlled through physical connections between the battery, the potentiometer, and the transistor, so we don't need to program for it. However, the Servo motor does need a PWM signal from the Arduino.

For this, I used the Servo library from Arduino IDE which writes an angle to the Servo directly. What I needed to do was to set such angle based on the button that the user pressed. This logic is what I wrote into the code:

// Include the Servo library
#include <Servo.h>
Servo myServo; // create a servo object

// Declare variables
int const servoPin = 11; // analog pin used to control Servo position
int angle; // variable to hold the angle for the servo motor
int const B_1 = 6;
int const B_2 = 5;
int const B_3 = 4;
int const B_4 = 3;
int const B_5 = 2;

void setup() {
myServo.attach(servoPin); // attaches the servo on selected servoPin to the servo object
Serial.begin(9600); // open a serial connection to your computer
pinMode(servoPin,OUTPUT);
pinMode(B_1,INPUT);
pinMode(B_2,INPUT);
pinMode(B_3,INPUT);
pinMode(B_4,INPUT);
pinMode(B_5,INPUT);
}

void loop() {

if(digitalRead(B_1)==HIGH){
angle = 0;
}
if(digitalRead(B_2)==HIGH){
angle = 45;
}
if(digitalRead(B_3)==HIGH){
angle = 90;
}
if(digitalRead(B_4)==HIGH){
angle = 135;
}
if(digitalRead(B_5)==HIGH){
angle = 179;
}

// set the servo position
myServo.write(angle);
delay(15);
}

Step 4: Mechanics of the Vertical Shifter

So all the electronics work as intented, now what? Remember that the goal is to vertically shift the fan/blade of the mixer: that means we need to transform rotation into linear motion. For this, I designed a simple lever mechanism in Autodesk InventorPro, and attached it to the servo using popsicles.

The video also shows how I designed a Servo mount that I then 3D printed to keep the Servo in place.

Step 5: Housing and Structure

Right now we only have a bunch of electronics wired together, but they aren't really doing anything functional. This is why it is time to build a physical system around the functioning electronics. Again, before actually building the system, I modelled it using Autodesk InventorPro, so that I would know the exact dimensions of the cardboard and wooden pieces that I would be using.

I also designed a mount for the Servo motor. This is the only highly custom-made piece out of all the elements, because it is crafted around the other available materials. I attached the .stl file for a Micro SG 90 Servo Motor, and included the printing settings in the pictures.

Step 6: Building the Structure

After modelling the physical system, it is finally time to build it. I based of my parts from the drawing I made using Autodesk InventorPro to follow the necessary dimensions.

The individual physical parts are shown in the picture and I then glued them together to get a finalized project.


Step 7: Discussion and Future Steps

For a prototype, I would say it performed well and met expectations. The DC motor is clearly controlled by the potentiometer, and increases/decreases speed as required.

The Servo motor lever mechanism also performs as expected. When the buttons are pushed, it moves the whole system up and down by predefined amounts.

Still, the performance can be heavily improved for future prototypes. I identify two main modifications:

  1. By 3D printing the whole mechanism instead of using popsicle sticks, I can come up with a much stiffer and precise mechanism that fully translates rotation into linear motion.
  2. A more powerful Servo motor would let me handle much more weight, potentially resulting in having a more powerful DC motor for real mixing and blending.