💻
Hubert Liu Portfolio
Home Page中文版My Zoom Link
  • Hubert Liu's Porfolio
    • Home Page
    • Engineering Related
      • Temporal Super-resolution Particle and Feature Tracking
        • Algorithm Model Details
      • Development Board for an In-Space Gamma Ray Bursts Detector
      • STAR Liquid Engine
        • Software
        • Electrical
        • Results, Discussions, and Future Plans
      • Porter
        • Electrical
        • Software
      • Mix Master
        • Electrical
        • Software
        • Mechanical
        • Experiments & Further Readings
      • Custom Air Pressure & Flow Rate Control System
        • Air Supply System Manual
      • BYOW
        • Design Considerations
      • Vertical Water Testing Tunnel
      • Dental Office Engineering Liaison
      • E-Skateboard Fall Detection Brake Light
      • Grabber Cane
      • The Color Rap Book
    • Management/Leadership Related
      • New Space at Berkeley
      • Berkeley Venture Capital
      • STAR Business Team
    • Misc Hobbies/Pursuits
      • Drone Photography
  • Resume
  • 刘禹鑫个人简历网站
    • 主页
Powered by GitBook
On this page
  1. Hubert Liu's Porfolio
  2. Engineering Related
  3. Mix Master

Electrical

PreviousMix MasterNextSoftware

Last updated 2 years ago

A part of my role in the group was the electrical and software designer. To enable maximum control for the users, I designed the following electrical system:

Here is the list of parts and their functionalities (click to expand):

ESP32

It is the brain of the device, controlling the motor, LCD screen and listening for users' commands from cloud input or physical buttons and dials.

The complexity of the project required multi-processing, which was never taught in our engineering coursework. After deep research, I successfully split the control into two systems, operating individually in each of the ESP32's cores.

Adafruit LCD Screen

This part required 12 wires, including 4 power wires and 8 information channels, to be operational. The purpose of the screen is to show users the shaking speed and remaining time. Due to the back EMFs and noise generated by the motor, the LCD screen is prone to display errors. I tried various approaches to debug:

  1. Adding capacitors. I added a "big" capacitor (100 micro feret) between the 5V and ground and a 0.1 micro feret capacitor between the motor power wires. Their job was to reduce noise and provide current to stabilize the power supply, since the motor demands a tremendous amount of electricity going from stationary to moving.

  2. Modify the WIFI and MQTT settings. I strategically changed the timeout time in wifi startup and MQTT (part of the IoT integration) to prevent those commands from drawing too much CPU resources, so that other commands can be processed in a timely fashion.

The combination of two approaches finally reduced the probability of error from 1 out of 2-3 operations (when the user uses the shaker, it counts as one operation) to 1 out of 15+ operations.

Power supply and regulators

The entire system is powered by an 11.1 V LiPo battery. However, since all electronics components require 5V power, and the motor requires 6V, I used two power regulators to ensure a stable and accurate voltage supply.

The blue regulator (step-down) drops the voltage to 5V, and directly powers the circuitry, while the red regulator (step-up) increases the voltage to 6V for the motor.

Push button

Allows the users to start the shaker manually. The indicator light on the push button is tied to the status of the shaker: when the shaker is running, lights on; if the shake completes, off.

Rotary encoder

Twisting the encoder can change the time and speed input; clicking the encoder button can toggle between the speed setting and time setting.

DRV8833

Motor driver module

Simplified system wiring diagram