Group 6
I Can't Believe it's Not Butter!
Haptic Butter Churner
I Can't Believe It's Not Butter!
A Haptic Butter Churning Simulator
Project team members: Brian Wu, Antonio Pulito, Alvin Lee
Have you ever made some toast or waffles and reached for some butter in your fridge and wondered how that butter was made? Perhaps, you wanted to experience first hand what churning butter would feel like without having to produce the materials by yourself or without having to go to a dairy farm. Well look no further, the "I Can't Believe It's Not Butter" (ICBINB) Haptic Butter Churner can provide the educational experience without the mess. By implementing a Hapkit with a mechanical linkage system and with modified code, we were able to create a haptic device that was able to simulate the dynamic sensation of churning butter.
On this page... (hide)
Introduction
A major advantage of a haptic system is that it allows users to experience activities they typically would not. Haptic systems also offer the benefit of being able to render time varying sensations. To demonstrate these two benefits, we propose a haptic butter churning simulator. Butter churning is both an interesting experience and a physically intensive task, but almost all butter produced today is industrially produced. The haptic butter churner allows users to experience the feeling of churning butter from cream and appreciate the ease and accessibility of commercial butter. In addition, the system will also demonstrate the ability of haptic devices to simulate time varying sensations. As churning time increases, the system will also stiffen to simulate the butter emulsifying.
Background
A difficulty with modeling fluids with a haptical system is that they have no fixed shape and flow to fill whatever container they are in. Liquids, in particular, are tough because they maintain constant volume and thus their center of mass changes with the dimensions and orientation of their container. As a result, a rigid haptic device can render the sensation of being in fluid, but it cannot simulate the feeling of moving a liquid. In Sagheb et al (2019) Researchers at Arizona State developed SWISH (Shifting-Weight Interface of Simulated Hydrodynamics), a motorized cylindrical system that shifts a mass around the system based on the user’s orientation of the device. The device measures acceleration in 6 modes: side to side sway, swirl, pour, roll, jump, and saute, a twisting, tossing motion. The device has 3 degrees of freedom to move the center of gravity. In addition, the device is coupled with a virtual reality display to realistically simulate carrying a liquid filled container. Some uses proposed for the system include hazardous fluid handling training and practicing experiments when the materials are either fast reacting, sensitive, or expensive. The device was tested by participants simulating the 6 motion modes listed above, followed by simulating pouring liquids of different viscosities. Across all tasks, users agreed that while the SWISH bucket was not as realistic as using an actual bucket, it outperformed the solid bucket control.
The algorithms used to relate viscosity to the force output by the SWISH team relate to our butter churning simulator because the butter churn also needs a realistic model for converting different viscosities into realistic force output. The jump and sway modes in SWISH are also relevant in the movement of the buttermilk/butter combination in the haptic butter churn, but must be simplified to one degree of freedom in our device.
Overall, Buldo et al (2013) highlights the key material property changes within cream as it becomes butter. It also gives insights into varied factors that influence butter churning time and final viscosity. To simulate this process using haptics, we must understand it on a basic level. As cream is disturbed, by the movement of a butter churning handle, fat crystals within the cream begin to penetrate the membranes of other fat molecules. As this happens, fat globules bind and create chains on the scale of a micron per globule. This is known as partial coalescence since the globules are connecting but not forming a spherical cohesive unit. This ultimately gives the cream a very interesting makeup as it is composed of many globules chains floating within a less viscous fluid. As churning continues, the chains bind and eventually reach a max viscosity where full coagulation occurs. This is described as a phase inversion from liquid to solid. This process is not linear with time and example churning trials can be seen in the below figure from the system analysis and control section. Much of the viscosity change happens at the end of the churning process. The varied groupings (denoted by triangles, circles, and squares) are due to different ripening times of the cream. Ripening is the process of preheating the cream to reach a more homogeneous mixture before churning. A higher ripening time allows for quicker butter churning and a higher overall final viscosity as is shown by the triangular grouping; however, the ripening process can take up to 17 hours. Buldo et al (2013) also goes into varying particle properties of globules including their relative volume, solid fat content, and more due to different ripening times. These aspects may be out of scope for this haptics project but are still important to note.
Buldo et al (2013) gave many great insights into the technical aspects of butter churning which can be applied to our haptics system. It was very important to note that churning time is not linear and is highly influenced by ripening time. We could implement a feature to try differently ripened creams in our simulation, and this article provides us with a good gauge for their expected viscosities. It is also key to note that the cream is nonhomogeneous while being churned. A general viscosity does however give a good indication of interaction with the mixture since the nonhomogeneity occurs at an order of microns. Lastly, the butter churning process when done industrially, not even considering by hand, can take up to 25 minutes. When modeling this process using our haptic device, it would be great to speed up the process for better user engagement.
Cirio et al (2013) goes into detail about haptic interaction with different types of materials in the same scene being a challenging task, mainly due to the specific coupling mechanisms that are usually required for either fluid, deformable or rigid media. Dynamically-changing materials, such as melting or freezing objects, present additional challenges by adding another layer of complexity in the interaction between the scene and the haptic proxy. In Cirio et al (2013), the researchers address these issues through a common simulation framework, based on Smoothed-Particle Hydrodynamics, and enable haptic interaction simultaneously with fluid, elastic and rigid bodies, as well as their melting or freezing. This is relevant to our project since our simulation will also be going through a phase transition from solid state to liquid state.
To deal with this simulation of materials going through phase change, the scientists introduce a mechanism to deal with state changes, allowing the perception of haptic feedback during the process, and a set of dynamic mechanisms to enrich the interaction through the proxy. They decoupled the haptic and visual loops through a dual GPU implementation. An initial evaluation of the approach is performed through performance and feedback measurements, as well as a small user study assessing the capability of users to recognize the different states of matter they interact with.
Methods
Hardware design and implementation
1. Cut wooden board into thirds horizontally, each with dimensions of 9" x 15.75".
2. Stand two of the boards on their long side on each side of the third board. Use the angle brackets and wood screws to attach the boards together, 2 brackets on each side. Make sure to leave room for the screws that attach the top and bottom boards to the base
3. Laser cut the Duron boards into 4 sheets with dimensions of 9" x 11". On 3 of the sheets, laser cut a 1 1/8'' diameter hole in the center.
4. Screw the 3 holed Duron boards to one side of the base so the holes are directly aligned with each other, and screw the last sheet to the other side of the base
5. 3D Print 2 connecting linkages, 2 collars, and 1 holed HapKit handle, shown in the Files section below, using PLA filament.
6. Cut the wooden 1" diameter dowel to a 16" length, and use a drill press to drill a 1/4'' diameter hole through one end of the dowel.
7. Thread a bolt through the dowel and the wider sections of the connecting linkages, one linkage on each side of the dowel. Use washers between the bolt head and the linkages, and at the free end of the bolt. Thread a nut onto the bolt, leaving a small gap for the dowel to swing freely.
8. Slide one collar onto the dowel with the wide side facing upwards, then slide the dowel up through the top hole of the base. Then, slide the other collar onto the dowel, wide side down. Do not tighten the set screws yet.
9. Remove the motor and suction cup feet from the HapKit assembly.
10. Sand off the bump on the back of the HapKit base that originally held the motor in place.
11. Screw Maxon motor into the same position the original motor was in.
12. Remove the capstan from the original motor and use a 5/16'' drill bit and hand drill to widen the shaft hole. Glue capstan onto new motor and reassemble capstan drive.
13. Place the HapKit on the back wall of the base. Make sure the HapKit can undergo its full range of motion and moves along the the same axis as the dowel's length. Use wood screws to attach the HapKit to the base.
14. Thread a bolt through the other end of the connecting linkages and through the hole of the HapKit handle hole. If the handle is loose or uneven, use washers to center the dowel with the HapKit handle.
15. Move the dowel up and tighten inner collar with a set screw just before the HapKit reaches its maximum upward range of motion. Then, move the handle down, and tighten the collar just before the dowel collides with the HapKit section.
16. Plug in HapKit board and upload Arduino code, found in Files.
System analysis and control
To simulate the process of churning butter through haptics, we must understand it on a basic level. As cream is disturbed, by the movement of a butter churning handle, fat crystals within the cream begin to penetrate the membranes of other fat molecules. As this happens, fat globules bind and create chains on the scale of a micron per globule. This is known as partial coalescence since the globules are connecting but not forming a spherical cohesive unit. This ultimately gives the cream a very interesting makeup as it is composed of many globules chains floating within a less viscous fluid. As churning continues, the chains bind and eventually reach a max viscosity where full coagulation occurs. This is described as a phase inversion from liquid to solid. This process is not linear with time and example churning trials show an exponential growth of the viscosity of the system at the end of the churning process.
To model this exponential growth of viscosity over time as well as the eventual maxing out of the final viscosity, a sigmoid function, or "S-curve" was used to describe the damping coefficient.
Values along the y-axis represent the damping coefficient starting with 0 Nm when simulating the cream still in the liquid state and finally maxing out at 25 Nm to represent the butter fully separated from the cream and buttermilk. Values on the x-axis represent distance churned. As the user begins to pump and churn, the control code will follow the sigmoid function. The faster the user churns the butter, the faster the butter is extracted and the faster the damping coefficient reaches its maximum limit.
A mechanical linkage system was used to convert single angular degree of freedom from the Hapkit to a single vertical degree of freedom for the rod of churning. The equation of motion modeling the kinematics are shown below where L1 is the length of the link, L2 is the length of the Hapkit handle, theta is the angle created by the Hapkit handle with respect to a horizontal reference frame, and D is the distance the vertical rod is constrained from the base of the Hapkit handle
When we plug in the following values that describe our system:
L1 = 6cm
L2 = 7cm
D = 3cm
We see the following relationship between angular rotation on the x-axis (rad) and height of churning rod on the y-axis (cm)
First, the range of the Hapkit (-0.7 rad to 0.7 rad) accurately maps to the range of the churning rod height (1cm to 10cm). Secondly, we notice that while the relationship between angle and vertical displacement is not exactly linear, it is close enough to a linear relationship that the damping force being simulated is still realistic.
Demonstration / application
Here a user is going through the churning motion while seeing and feeling the haptic hardware in action.
Results
Based on the team's initial tests, the butter churner felt very realistic and successful. Initially, the "cream" felt almost transparent and only the weight of the handle could be felt. After a few strokes, the team began feeling a little bit of resistance, and by the end of butter making process, it took significant effort to continue churning the butter. The butter making did not process on its own if it was not churned, and faster churning resulted in faster emulsification, as hoped. The churning time was found to be around twenty seconds if churned vigorously but not as fast as possible. This also lines up well the targeted time of 20-30 seconds per user. For a more realistic simulation, this time would have to be greatly increased to around 20-25 minutes.
Some issues noted by the team included that the motor driver chip heated up and the motor got noticeably loud under high loads. To remedy this, the peak power was slightly reduced.
Opinions at the Haptic fair were very positive. Some users reported that other fair-goers recommended that they try the butter churner. Users appreciated the scientific background behind the viscosity curve and all users noted that the viscosity increase was very noticeable. Some users noted the motor noise at high viscosity to be something to improve on.
The team at the Haptics Fair (05/31/2022)
Attach:ChurnerVid. A demonstration of the butter churner at the haptics
Future Work
Currently, our ICBINB Haptic Butter Churner only is able to simulate one variety of butter through a single s-curve for the dynamic damping coefficients. Future work could be done to not only fine tune the exact parameters used to calculate the damping coefficients experimentally, but also add many different varieties of cream being churned into butter as each type of cream exhibit a different physical damping curve. For example, it has been seen in literature that creams with longer ripening time correlate to higher overall viscosities at the end of the churning process as well as a steeper damping curve.
Acknowledgments
A huge thank you to Allison Okamura and the CHARM Lab for lending us the Maxon A-Max motors to use, and also the helpful teaching staff for ME327 for supporting our project idea from start to finish!
Files
Drawings, BOM, and code used to construct the Haptic Butter Churner.
Drawings
Handle Linkage connecting HapKit to churner handle
Modified HapKit handle with bolt cutout.
Handle Collar
Final BOM
Material | Description | Amount | Cost | Vendor |
---|---|---|---|---|
Hapkit | Arduino, base plate, handle | x1 | $0.00 | ME327 class |
Wood (2"x12") | Cabinet walls | x3 | $15.20 | Home Depot |
Plywood (12" x 12"x1/4") | Base, cap | x4 | $8.00 | PRL |
Plastic gasket | PLA, 3d printed | x2 | $0.00 | PRL |
Wood Screws | To secure all parts | many | $9.21 | Home Depot/PRL |
Angle Bracket | Support shelf | x4 | $15.36 | Home Depot |
Intermediate Link | PLA, 3d printed | x2 | $0.00 | PRL 3D-printed |
Wooden Dowel | 1'' Diameter | x1 | $5.07 | Home Depot |
Nuts | To secure bolts at link joints | x4 | $2.19 | Home Depot |
Bolts | To connect links together | x2 | $0.60 | Home Depot |
Washers | To space out bolts for connections | many | $0.99 | Home Depot |
Wood Glue | To secure walls and top | 1 bottle | $4.67 | Home Depot |
Maxon Motor | A-Max 304342 | x1 | $0.00 | Borrowed from CHARM Lab |
Total Expenses: $64.70
Code
Attach:ButterChurnerArduinoCode.zip
References
[1] Sagheb, S., Liu, F. W., Bahremand, A., Kidane, A., LiKamWa, R. (2019). Swish: A shifting-weight interface of simulated hydrodynamics for haptic perception of virtual fluid vessels. Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology, 751–761.
<https://doi.org/10.1145/3332165.3347870>
[2] Patrizia Buldo, Jacob J.K. Kirkensgaard, Lars Wiking (2013). Crystallization mechanisms in cream during ripening and initial butter churning. Journal of Dairy Science,Volume 96, Issue 11, Pages 6782-6791. <https://doi.org/10.3168/jds.2012-6066>
[3] G. Cirio, M. Marchal, M. A. Otaduy and A. Lécuyer, "Six-oof haptic interaction with fluids, solids, and their transitions," 2013 World Haptics Conference (WHC), 2013, pp. 157-162, doi: 10.1109/WHC.2013.6548401. <https://ieeexplore.ieee.org/abstract/document/6548401>
Appendix: Project Checkpoints
Checkpoint 1
Over the past week significant progress was made in the haptic butter churner design. A finalized design was created and a bill of materials was created in preparation of its assembly. A preliminary controller design was created. It was determined that the device would have primarily damping based resistance and little if any spring resistance. An exponentially increasing damping constant was created based on the paper about butter churning by Buldo et. al. Additionally, a variety of more powerful Maxon motors were acquired (courtesy of the CHARM lab), tested for stall torque, and a final motor was selected. This motor has a stall torque of 27.8 mNm based on a max current of 2 amps. Modifications to the capstan magnet holder and HapKit base were made to accommodate the larger motor as well.
However, the increased motor power still was not enough to drive a full size butter churn. It was decided that the butter churner should be scaled down to a one-hand operated device to match available motor power. Consequently, the original idea to house the device in a wooden barrel was abandoned in favor a small wood housing. This allowed for the use of plywood "shelves" to be used to constrain the churner handle to vertical movement instead of the more complex braces originally designed to fit in the round barrel. Because of the smaller scale, the crankshaft mechanism was redesigned to couple with existing Hapkit components, reducing the amount of new parts needed.
Another issue was that physical limiters on the device were needed to make sure the user doesn't break the device if they churn too quickly. To rectify this, laser cut plywood stoppers were designed to attach to the handle and physically stop the handle if the limits of the Hapkit range of motion were approached. The controller design was also modified to place a virtual walls near the device's range of motion as a haptic cue for the user to slow down and reverse direction.
Below is a sketch of our design. Base width is tentatively 12"x12" with other components proportionally scaled:
Here is the proposed Bill of Materials for our project build:
Material | Description | Amount | Vendor |
---|---|---|---|
Hapkit | Arduino, base plate, handle | x1 | ME327 class |
Motor | ~25Nmm stall torque | x1 | CHARM Lab |
Wood (2"x12") | Cabinet walls | x2 | Home Depot |
Plywood (12" x 12") | Base, cap | x2 | Home Depot/PRL |
Plywood (8" x 8") | Shelf | x1 | Home Depot |
Plywood | Wood rings, laser cut | x2 | PRL laser cut |
Rubber gasket | Rubber stops | x2 | Home Depot |
Wood Screws | To secure all parts | many | Home Depot/PRL |
Angle Bracket | Support shelf | x4 | Home Depot |
Intermediate Link | PLA, 3d printed | x1 | PRL 3D-printed |
Broom Handle | Ideally have square end on one side | x1 | Home Depot |
Nuts | To secure bolts at link joints | x4 | Home Depot |
Bolts | To connect links together | x2 | Home Depot |
Washers | To space out bolts for connections | many | Home Depot |
Wood Glue | To secure rubber gasket | x1 | Home Depot |
Checkpoint 2
This week, the haptic butter churner was fully assembled and prepped for the Haptics Fair. A hardwood plank was split into 3 walls and connected by angle brackets. Next, the modified HapKit with a stronger motor was attached and its handle replaced with a holed handle for connecting a bolt. The new handle was bolted to a pair of 3-D printed linkages that connected a wooden dowel. Laser cut sheets of duron were used as a top and base of the butter churner. A hole was cut into the top pieces, constraining the handle to only move vertically.
The completed churner and a short gif of it in action is shown below:
Some challenges faced were that the linkages connecting the HapKit to the dowel were originally very material heavy. Consequently, the printing time and cost became unreasonable. As a result, the linkages were redesigned from a squared off block to a "Z" shape. Material was also removed from the sides of the linkages away from the bolt areas, creating a bone shape that also lowered print time and cost.
On the software side, a damping curve was creating to mimic the increasing viscosity of churning butter. The original plan of using an exponential curve was modified to use an S- curve to reduce the strain on the motor and give the user a sense of "completing" the butter. The curve was implemented in Arduino, and a sampling process was implemented to ensure that the user is actually churning the butter and tune the viscosity increase to the amount the churning done.
An issue encountered with the code was dealing with the noise of sampling the user's position while also tracking the user well enough to determine their churning process. To fix this, a ticker was implemented, only sampling the user's position every 10 loops instead of every loop. Another issue coming from the electronics is that the motor's higher power draw makes HapKit board heat up very quickly. The team is working on a fix.