Closing the Loop: Actuator Load Capacity

The final component in my design loop-closing exercise concerns the load lifting capacity of my desk. My previous torque and power analysis had suggested that I would be able to lift the desktop with 20 kg of live load placed on top, and be able to comfortably do so at a rate of 150 mm/min without running out of power (using a 12 V, 1 A wall wart). However, in my testing, I had found that I could only lift up to 12 kg of live load before stalling the motors. This stalling behavior persisted even when I reduced the speed and tried out a power supply capable of supplying up to 5 A at 12 V, suggesting that the system is torque-limited rather than current-limited.

High-uncertainty parameters

Even though a desk that is capable of lifting 12 kg is perfectly usable, I sought to understand which part of my modelling went wrong so I can explain this discrepancy and learn from it for future designs. I am fairly certain I have the correct model form, so the error is likely to be in parameters that I have estimated. After reviewing my detailed engineering spreadsheet, I homed in on two high-uncertainty parameters that I thought could account for this discrepancy:

  • Coefficient of friction between leadscrew and leadnut
  • Coefficient of friction between teflon slider pads and interior surfaces of the boxway

These numbers were estimated from typical values from datasheets and other resources on the Internet, as I did not have time to carry out bench-level tests to accurately determine these coefficients. I am interested to determine how far off my initial estimates had to be in order to provide the observed performance.

Single-parameter sweeping

I had recently learned to use the Solver tool in Microsoft Excel (in a Sloan class) to run quick optimization routines, and decided to put this newly acquired skill to use here. Adding on to my detailed engineering spreadsheet (download here), I ran three scenarios to determine the effect of estimation errors of each parameter on desk performance.

I duplicated the underlying model relating input parameters to the key output variable — total life load lifting capacity and placed them into new worksheets. For the single-parameter variation scenarios, I set the coefficient of interest (either leadnut or slider pads) as a variable and ran a non-linear optimization program to drive lifting capacity to the observed value (12 kg live load = 118 N, 45 N dead load, 162 N total). In these two scenarios, I held the other coefficient of friction constant. These scenarios are in the “ls-friction-sweep” and “slider-friction-sweep” sheets in the spreadsheet. My optimization models indicate that, all else being constant, the desk would perform as observed if:

  • leadscrew coefficient of friction = 0.43 (initial estimate = 0.25); OR,
  • slider pad coefficient of friction = 0.54 (initial estimate = 0.2).

Both of these values are rather high — much higher than I expect them to be and out of the typical ranges reported by most sources. This analysis suggests that it is unlikely that I was wrong on only one of these parameters — I would have to be too far off to produce observe results. It is more likely that I was wrong on both of the parameters, but to lesser degrees in each one.

“Minimum-deviation” parameter sweep

Operating under the assumption that I was “equally wrong” on each parameter (i.e., spreading my total error evenly across the two parameters), I ran a scenario to arrive at the observed lifting capacity while driving the sum of squared adjustments to the two parameters to a minimum. Under these constraints, I found that the following parameter values would produce observed performance:

  • leadscrew coefficient of friction = 0.37 (initial estimate = 0.25); AND,
  • slider pad coefficient of friction = 0.28 (initial estimate = 0.2)

These values are much more plausible. It is important to note that this analysis by no means produces the actual realized parameter values. It is just an indirect form of a sensitivity analysis to show whether it is reasonable for me to observe the lifting capacity I did despite being “in the ballpark” with my estimated parameters.

Conclusion and lessons learnt

I think the clear conclusion here is that I did not have a sufficiently large design factor of safety built into my system to accommodate the high uncertainty in input parameters. While working on a project for another course (analyzing how safety factors can be used to compensate for uncertainty in material properties), I came to realize the importance of matching the degree of conservatism to the level of a priori knowledge one has about the system. More uncertainty required more conservatism to give acceptable probabilities of success.

A second lesson I learned is that simple “sensitivity analyses” like these optimization routines, or even more elaborate ones that are easy to write in MATLAB or other similar environments, are useful tools to have early in the design process. This is a fitting final lesson for this project:

Deterministic design is great for getting into the ballpark of a feasible design, but incorporating simple statistical/probabilistic analyses locally at the early design stage helps you account for some of the uncertainty and can help you converge more rapidly.

Project Wrap-up

With the class demo and functional testing concluded, the design and build process for my adjustable standing desk is just about concluded. This project (and the class) was a great learning experience for me, not in the sense of fundamental engineering principles or even how to model structures — I think most people who have gone through a typical undergraduate engineering course sequence knows all of that.

Instead, my biggest takeaway from this class is the importance of sticking to the deterministic design process. I think for many people who like to build stuff (that’s why we became engineers, right?), it is more enjoyable to be mucking around in the shop doing the hands-on work instead of plugging away at spreadsheets working out equations. Throughout the design process for this desk, I have often found myself tempted to size some component simply based on gut feeling instead of making the effort to go through the analytical modelling process. This kind of instinctive design is fine — it’s how humans got along for centuries before all the analytical models came about, but it is a deplorable way to do engineering. It is the professional duty of the engineer to draw on the full extent of her knowledge to produce the best design possible using the minimal amount of resources, moving fast and iterating (and breaking things) is fine, but iterating on prototypes is much more expensive than doing the math properly and getting as close as possible the first time round. Iterative design has its place (e.g. when models don’t exist or are too complex to solve expediently), but one must be careful not to use it as a crutch against analytical laziness.

Enough of the philosophical musings for now. Here is a fun video I made by placing my camera on my rising desktop. It showcases the Hobby Shop’s quaint collection of mallets and hammers.

Adjustable Standing Desk: Vertical Panning Shot from Shien Yang Lee on Vimeo.

Next steps

While the precision design aspect of my desk is more or less complete at this point. There are few improvements I need to take care of before I can fairly call it a complete and usable desk. Over the coming weeks, I plan to clean up the wiring by burying it in slots along the columns and permanently attaching my control board to the desk. Then I plan to install limit switches and tilt sensors on the desk to allow it to self-home and to catch error conditions should the axes go out of sync or the desk threatens to tip itself over by descending onto a component below the desktop. Once these are in place, I think the desk will have the basic usability and safety features needed to be a functioning product. The final step would be to do a final sand-down of the surface and finish the wood.

Closing the Loop: Motion Repeatability Test

The next test I carried out on my desk was a motion repeatability test. For this test, I loaded the desktop with 20 lbs. of dead weight to simulate motion under a typical loading configuration. I then indicated the tip of the desktop to track the vertical motion of this point while I ran the desktop up and down.

Motion repeatability test setup

To stay safely within the 1″ measurement range of the indicator, I restricted the desktop motion to back-and-forth moves of 5 mm and 10 mm. The desktop reliably repeated to within 0.001″ (0.025 mm) on each move. From the footage I got of the tests, the actual positional uncertainty is likely less (in the tenths-of-thousandths). This is consistent with my expectations, given the step size of the stepper motors and the lead on my leadscrews. For the 200 steps/rev. motors and the 2 mm pitch leadscrews, I expected the positional “float” to be within a single step, i.e. 2/200 = 0.01 mm. This is approximately 0.0005″, which is consistent with the test results.

After doing these tests and filming the videos, I realized I could have done the test across a much wider range of motion simply by allowing the desktop to come off of contact with the probe for part of the move. I don’t expect the results of this test to differ significantly, since the error motions due to actuation is almost entirely due to this within-step float in the motors (unless the motors skip steps somewhere along a longer move). I may repeat this test if I have time next week.

The following two videos show the test in action:

Adjustable Standing Desk: Motion Repeatability Test 1 (Camera on desktop) from Shien Yang Lee on Vimeo.

Adjustable Standing Desk: Motion Repeatability Test 2 (Static camera perspective) from Shien Yang Lee on Vimeo.

Closing the Loop: Stiffness Test

Adjustable Standing Desk: Static Stiffness Test 1 (Bottom of travel) from Shien Yang Lee on Vimeo.

Adjustable Standing Desk: Static Stiffness Test 2 (Top of travel) from Shien Yang Lee on Vimeo.

The first test I did to close the loop on my design process is a static load test to determine the stiffness of my desk. I took differential measurements at the very edge of my desktop with a dial indicator while adding and removing dead weights (10 lbs. nominal). In addition to the two large weights you see me placing and removing in the videos, there is also a small 2.5-lb. plate that I kept on the edge of the desk throughout the test (out of shot). This is intended as a small preload to take up any geometric errors (i.e. slop) and give me a good structural stiffness reading.

I carried out two stiffness tests with the desktop at the two extremes of its travel. The results of my stiffness tests are summarized in this spreadsheet. In summary, my error budget overestimated the stiffness at both positions (by 57% at the bottom of the travel and 34% at the top of the travel). I think there are a number of reasons for this:

  • My coarse estimates for contact stiffnesses (both linear and rotational) at bearings and joints were significantly overoptimistic. One issue with designing structures in wood is that these numbers are not well-documented in the literature. The anisotropicity of wood also makes it much more complicated to calculate these values analytically. In future, I am likely to resort to quick first-order FE simulations to get better estimates for these contact stiffnesses early in the design process.
  • The aggregate material properties I used are likely to have significant uncertainty due to natural variation in biological materials. But I think this is a minor contributor to error in this instance because the clear beech I used is probably quite uniform.
  • In my error budget, I treated most members as pure Euler beams for simplicity. In hindsight, this probably contributed significantly to the prediction error for deflections due to flexing of my boxways/columns, since they have such heavy cross-sections. The fact that there is a much bigger deviation from predictions when the desktop is at the bottom of its range of motion (57% vs. 34%) supports this hypothesis — shear deformations become more influential as the beam spans shorten.

Despite the significant deviation from predicted stiffness values, going through the error budgeting process and using first-order analytical models in the design process has put me in the ballpark of where I need to be. Had I relied on “intuition” or the famed “hackathon approach” to size components, I would have made a few members significantly smaller… Even considering possible modelling errors, deterministic models are invaluable in quickly getting into the neighborhood of the optimal solution.