Friday, June 04, 2021

Triaxial Tourbillons

Some History And Background

I've written in the past about 3D printing tourbillons. These are, in essence, the timing core of certain clock and watch mechanisms. They regulate the rate of the overall mechanism by means of an arrangement of a spring, an escapement wheel and a shaped piece called a fork. You can think of a clock as consisting of a power source (like a weight or mainspring) and a gear train which provides the right ratio between the movement of the hour, minute and seconds hands. The tourbillon alternately locks and then releases the entire mechanism so that the timing of this gear train is regulated. It requires precision, to get the timing right, and strength, as it has to slam into place to halt the whole mechanism and then hold back the power source until it is time for the next tick

As such, 3D printing from plastic doesn't seem like a good design choice. Plastic deforms (bad for holding back the mechanism), is springy (bad for exact timing) and is weak (bad for resisting the forces when it has to halt the mechanism). Nevertheless, there have been some remarkable successes in printed designs for clockwork mechanisms based on tourbillons. Here are some examples:

  • Mechanical watch by TheGoofy (design, video), driven by a plastic spring.
  • Clockwerk deep space tourbillon (design, video), driven by a weight.
  • NOP21's Gyrotourbillon (design, video), driven by a metal spring.
  • Cabestan triaxial design by mcmaven (designvideo), driven by a stepper motor.
  • Astronomia triaxial tourbillon, based on a watch design by Jacob and Co. This has been through multiple versions:
    • the original design by A26 (design, video). It used a weight as a power source.
    • mcmaven's improved version (design, video), also using a weight.
    • a variant in which the overall motion and the tourbillon are driven mechanically with a weight as the power source, but the timepiece is replaced by an off-the-shelf quartz clock (design, video).
    • a further modification in which the weight is replaced by a pair of stepper motors (design, video 1, video 2). This is called the Triaxial Motorized design, and it's what I'll mostly be talking about here.

There are more on Thingiverse and other 3D printing sites, plus a few on YouTube for which the designers have not released the build files or charge for them.

I have tried building several of these, with varying degrees of success. I never got TheGoofy's watch to work, and didn't have much success with the Clockwerk design. In both cases, I tried these when I had a printer that is less good than my current one (Prusa MK3S) and when I had less understanding of how to debug the mechanisms. Over time, the designers have also provided better documentation. mcmaven's assembly notes are good and with the most recent design, the stepper driven Astronomia, go into a lot of detail about the assembly process and problems to watch out for.

Here are videos of some of the my past builds:
The second of these took a lot of weight to run. What you can't see on the videos is that there is a bag containing two heavy iron wedges. The weight was so heavy that it was quite scary attaching it, and it pretty quickly distorted the mechanism, magnifying any imbalances or misalignments in the assembly.

The use of stepper motors as a power source is interesting. Stepper motors can apply a lot of torque and then hold the mechanism in place when they are halted. However, it's also weird to have them as well as a tourbillon, as there are now two separate elements which regulate the timing: the step period, and the period of the tourbillon. Bad things happen when the periods are not equal. If the stepper tries to advance the mechanism while the tourbillon is blocking it, then something is going to give. Usually this means a gear somewhere jumping forward. It could also break weaker components. If the stepper is running slower than the tourbillon, when the tourbillon releases there won't be a need dollop of energy ready for it, and it may not have enough momentum to drive the escape wheel and fork to the next tick.

A Build Of The Triaxial Motorized Tourbillon
After a long break from printing mechanical devices, I decided to have a go at the Triaxial Motorized Tourbillon. Here are some videos and photos, including a few at intermediate stages.




I'll come back to that weird little circuit board in a moment.

The tourbillon running:

The core at normal speed and slowed down:



There is no battery in the clock mechanism in these videos, which is why the hands don't move.

In previous builds, I used whatever filaments I had in stock, but this time I chose ones which were a bit more pleasing aesthetically. mcmaven took some trouble in this latest design to emphasize the appearance, for example in the shape of the carrier and the "jewels" which cap parts of the mechanism. The filaments I picked included silver, gold and bronze Geeetech silk PLA, and white Mika3D PLA. For the base, globes and clock face I used Sunhokey rainbow PETG. The rainbow filament is just filament which is dyed with different colors along its length. I had used it before when printing PPE faceshield frames and enjoyed using it. I was lucky with the transitions, so that where there are cut-out letters and numbers on the base on clock face, the color that shows through is different from the surface color. It's a little hard to see, but here is an example:


I also used a little orange Prusa PETG for the base bottom.

(I'm going to refer to a few specific parts in the following. If you care about the details and want to understand what I am referring to, look at the PDF in mcmaven's design under "Thing files".)

I made a number of changes to the design. Some of these were to make fitting parts together a little easier when the tolerances were tight. In a couple of cases, I took large parts and split them up, so I could divide up the printing time, and also to reduce the need for support. An example is the base bridge which conveniently can be split into two parts. A few of the original parts are designed to be printed in pieces and then glued together. In some cases, I modified them so that I could insert a 1mm pin to keep the parts aligned while the glue set. For example, the globes each have three pins aligning the halves, and similarly for the two halves of the carrier shaft. Speaking of the globes, I replaced the original sun and moon globes with a smooth sphere and a faceted one, made using a UV sphere and an icosphere in blender. Both were printed with rainbow filament, though I happened to hit a rather boring part of the roll and so the colors are not very striking.

The electronics in the original design uses a rotary encoder to adjust the speed, with the push button pausing the steppers. As several others have found, there seems to be a bug which means it can never be unpaused. I've started at the code for some time and it's not apparent to me why other than one slighly suspicious call to the stepper library. I also found reading the rotary encoder to be flaky even with debouncing, and so I replaced it with three microswitches (faster, slower, pause) mounted on a small piece of stripboard. This entailed rewriting the code to control it. Otherwise, I am using the same as the original: an Arduino Uno, and two 28BYJ-48 steppers attached to ULN2003 driver boards.

Here's a more or less complete list of the parts I modified or gave special treatment to:
  • Escape wheel: needed special slicer configuration to set the perimeter width to 0.35mm. Otherwise the PrusaSlicer discards part of the model.
  • Fork frame back: slightly changed the dimensions of the hex "plugs" so they fit more easily into the fork frame.
  • 40T fork frame gear: added a MR52 bearing
  • Crown gear: dispensed with the bearing spacer and instead added set screws for the bearings. . More on this and the 40T gear below.
  • Base Gear 2: split into two parts.
  • Base Frame 2: split into two parts.
  • Carrier shaft: added 1mm pins for aligning the halves and scaled by 0.98.
  • Stepper pinions: slightly scaled the interior hole so it fits more easily on the stepper shaft, after breaking them several times.
  • Counter weight and cover: added screws to hold them together. Slightly scaled down the length so it fits in the crown gear more easily.
  • 8T gear: scaled the interior hole for a closer fit.
  • Base bottom: added a rim to get extra depth for the wiring. This would have been better as a change to the base, but by then I had already printed it.
  • Globe shafts: merged the half models and then split them perpendicular to the axis. This gives a nicer appearance in the printed result. Used a 1mm pin to align the parts.
  • Globes: I replaced these.
  • T Frame Middle B: slightly reduced the size of the top cylindrical element. See below.
  • Fork: made the fork pin slightly thinner. See below.
Several other parts needed sanding or filing. In general I found most of the fit to be too tight rather than too loose. This was quite widespread (see the scaling on the carrier shaft in the list above, for example), and I wonder if either slicer settings or my printer's calibration made the parts slightly larger than mcmaven's. I have the same model of printer as mcmaven, and only changed the settings that he specifies as needing non-default values. Perhaps the climate or variations in the filament diameter make a difference.

I'm not intending to publish a remix for the modified parts on Thingiverse as it's such a pain to use these days, but if anyone reading this wants them, please leave a comment.

One other minor note. The steppers are specified as drawing 240mA, and the USB chip on the Arduino Uno is supposed to have a limit of 500mA, with most people recommending you don't draw more than 400mA. I didn't see any problems, but it could be pushing the limits. As an experiment I used an external power source and took the stepper power from the Vin pin on the Uno. I couldn't see any difference in this other than the steppers getting hotter and a bit louder.

Making it run
The biggest issue is getting it to run reliably. The tourbillon in isolation ran fine right off when I drove the escape wheel by hand. I tested everything else by assembling it with just the 8T gear from the tourbillion omitted so as to temporarily disable the escapement. There were a few minor problems, such as some elephant's footing on the carrier globe gears causing friction against the carrier, but nothing serious.

After reinstating the 8T gear and so connecting everything together, two problems were immediately apparent, both resulting in the mechanism skipping. First, the 40T fork frame gear skewed out of position, and secondly the 608 bearing in the crown gear slipped so that the 40T gear's teeth only partly engaged with the crown gear. As mcmaven notes in his documentation, the 40T gear is one of the most critical pieces to print and assemble accurately. It takes a lot of force and will try to skew out of position. I found it helped to redesign it so that it has a MR52 bearing in it instead of mounting it directly on a 2mm shaft. This is a component which perhaps scales poorly from the original watch design, where it is subjected to much smaller forces and the bearing or shaft is made from a more rigid material. To solve the problem with the 608 bearings in the crown gear, I replaced the glued-on 22x19x2 spacer with set screws, similar to those used elsewhere in the design.

I played around with various speeds for the stepper. Too low and the movement of the balance wheel was so weak that it would stall. Usually it would restart by itself, but sometimes it needed a nudge. With the stepper speed set higher, the balance wheel swung nicely, but occasionally the mechanism would slip. I assume that what was happening is that they drive from the steppers and the timing of the escape/fork/balance combination were just enough out of step that the tourbillon would halt the mechanism but the steppers would force it on. I recall mcmaven noting a similar problem with one of his other designs, which he solved by replacing the gear drive with a rubber band.

It's possible to approach this more scientifically. The analysis in a comment thread for a make establishes that 2400 beats should be equal in duration to 9178 steps.  Using a sound recorder and running the tourbillon by hand, I measured the time between beats as 0.32 seconds on average, for a balance wheel with two M2.5x6 screws. This gives 0.0837 seconds per step of the motors. In the stepper library, the time between each step is 60/steps per rev/speed. The steps per rev is set to 32 (not actually the true steps per revolution: it's only used in time between steps calculation), giving a speed of 22.4. In fact these will be slightly out as the stepper library does not account for overhead both within its own code and in calling code. But even it that overhead was an extra 1ms, it would only change the speed by about 0.2. As the speed is an integer, the default value of 22 seems about right here.
(Side note: I later reprinted the spring and balance wheel, and ended up needing a faster speed, 30 or 31. However, the logic here still holds.)

Having said all this, the point of a tourbillon is to average out variations in timing caused by different orientations, so the idea of measuring the beat time and picking the exact stepper speed for it doesn't quite make sense. This goes back to the observation I made earlier that the presence of both stepper and tourbillon means there are two source of timing in the system, and that may result in problems.

The model sometimes ran for 10 minutes or more without any problems, and I also had occasions when it would run for less than a minute before stalling or skipping. After a while, things seemed to be getting worse. A very close inspection at various orientations showed two problems: the 40T gear was just interfering with the cylindrical top of T Frame Middle B, and sometimes the pin of the fork would just interfere with the balance wheel. The second of these was not initially an issue, but at one point I decided to reprint the spring as it was deforming, and in changing it I broke the balance wheel and so needed to reprint it as well. The new balance wheel was a fractionally different fit to the previous one and so interfered with the fork when the original one had not.

To help with these problems, I modified the models, to make the top of T Frame Middle B a bit smaller, and to make the fork pin thinner. After these changes, it ran quite well; not as perfectly as mcmaven's or jdirgo's, but quite successfully all the same. Here's a timelapse:




What next?
I enjoyed making this, and was glad to getting it working with moderate reliability in the end. If I spent longer (or was more generally ept to begin with), I could probably make it smoother and run longer. I'm not all that interested in it a functional clock. I have plenty of these already, and I am not sure that I want to share my life, or at least my room, with something that goes tick all the time. But it's entertaining and soothing to watch it run.

The design is an improvement over the previous variants both in the engineering and the aesthetics, and something I might do with it is use it as a base for kinetic sculptures. What I have in mind is to remove both the clock face and the tourbillon and replace them with other elements, perhaps something along the lines of David Roy's designs or Peter Verhaart's.

Like it? Leave me a comment!


2 comments:

Martinu said...

I'm just starting out building a Triaxial Motorized Tourbillon based on McMaven's Thingiverse plans and found your comments here really enlightening. Could you please let me have the files for the parts that you updated as they all seemed sensible and worthwhile changes and might save me going around the same loops that you did.
Many thanks,
Martin

Moosteron said...

Martinu, I just sent you an email.