A Cooking Machine - Assembly
This post is the eleventh in a series detailing the processes behind the research, design, material selection, online audience building, fundraising, application development, assembly, and programming of a cooking machine. See the column Stories of Food & Tech here.
This post discusses my experience assembling my half-functional cooking machine with several components, some tested and others still undergoing testing. On paper, the whole assembly process seems very straightforward:
1. Attach a liquid pump with an ON/OFF button
2. Put together the motor and the stirrer, and attach a monitoring camera
3. TFT touch screen for instruction input
Practically however, the process of debugging each component and making it work as a whole unit proved to be quite a challenge.
Startup the assembling process
Looking at all the components in front of me, I was excited and terrified at the same time. “I hope that this will go smoothly,” I mumbled to myself as I started assembling one component at a time onto the cooking pot.
Stirrer with motor
The first action that I started working on was connecting the stepper motor with a potentiometer to control the stirrer's motion and speed. Essentially, the potentiometer acts as a knob that will adjust the motor speed from low to high, which changes the pot-stirrer’s speed.
The stirring process is presented in the following video. I used some plastic gadgets as “fake food” to stir in the cooking pot. “Finally, I was able to do some simple cooking machine testing,” I thought to myself with excitement while looking at these plastic gadgets moving in the pot.
There are two parts to this video illustration. The first part shows the speed adjustment of the stirrer from low to high, then back to low. The second part shows the inconsistent behavior of the stirrer motor when there are elements inside the pot during testing. One challenge is that the motor essentially stops when the stirrer encounters heavier food, so I might need to switch the existing motor to a more powerful one to prevent the stirring motion from stopping. Nevertheless, this testing experience was successful because I believe I could optimize the machine to handle actual cooking in the future.
Video 1. Use motor with a motor knob
Liquid pump with an ON/OFF Switch
The second component that I assembled was the liquid pump that can pump water/oil mixture from a bottle attached to the side of the cooking pot. Since I have already tested the liquid pump in the last post, I only needed to add an ON/OFF toggle switch, do some soldering and attach the pump with a water/oil container to the cooking pot.
For testing purposes, I only used water during the pumping process. The water pumped slowly but steadily into the cooking pot once I turned on the pumping toggle switch. This process will also be configured in the smart cooking app in the future for ease of usage.
Video 2. Use a liquid pump to pump water into the cooking pot
Challenges during testing
The truth is, assembling a cooking machine felt quite straightforward, but successfully configuring each component to work together as a whole cooking machine was quite a lot of work, and I encountered several bottlenecks.
Web camera
The third step I completed was connecting the pi camera web camera to a Raspberry Pi microcontroller (shown in Image 1 below). I have successfully configured the microcontroller to work wirelessly.
However, the camera streaming service did not automatically detect the pi camera (shown in image 2 below). As a result, I couldn’t display the camera data in real-time for monitoring the cooking pot status.
The next step would be to try using different pi cameras and microcontrollers to eliminate hardware issues and then try various online forums to resolve software sensor detection issues. If all goes well, I should have a working camera soon!
Touch Screen Control Panel
Lastly, the fourth component I configured was a TFT touch screen that can set up configurations for the smart cooking machine and display status information about the cooking process.
To make the TFT touch screen work, I utilized a WiFi-compatible microcontroller called an Arduino mega board and an Arduino TFT touch screen shield. I also found a new TFT touch screen code library that could help me display test images on the touch screen in real-time (shown in Image 3, right, below).
Image 3. TFT Touch Screen with Back Light On (left) &
TFT Touch Screen with TFT Touch Screen Shield and Arduino Microcontroller (right)
However, there were some communication issues between the Arduino microcontroller and the PC workstation during software code upload (shown in image 4). As a result, the TFT touch screen could display a backlight (meaning it’s turned on) (shown in Image 3, left, above), but it could not display any programmable objects or receive commands from the screen.
The exact reasons could be that the software configurations or program uploaded was incorrect, or it could be a hardware issue. To resolve these issues, I need to go back to various maker spaces and ask for technical support from my fellow engineering friends.
Resolution
During the next month, I will try to fix these technical issues. And if time permits, I will try to re-design the motor housing and add a temperature sensor for temperature control. For the next post, I will present you with a more thorough testing experience of the cooking machine and share my latest progress with the machine software application development. Stay tuned :)