ESP32 instead of Raspberry Pi for the controlling of the Zyklochron
The Raspberry Pi has become almost obsolete for me. It got too expensive and for many tasks it is completely oversized anyway. Since a few weeks I am now working with the ESP32, with the goal to replace the electronics of the Zyklochron. For controlling a clock the microcontroller is more than sufficient.
Now the new generation of the Zyklochron is ready. Besides the microcontroller, some other things have changed, which I would like to describe briefly here.
New larger acrylic rings
To make the clock look a bit more impressive, I ordered bigger acrylic rings. Again, they were quite expensive, but it was worth it. They now have a diameter of 35 centimeters. This should be the limit, since the clock now has to stand extremely horizontal to prevent the rings from tipping over.
New driver for the stepper motors
Until now, a ULN2803A NPN Darlington transistor array was responsible for driving the stepper motors. This allows at best a half step operation, which unfortunately is not to be overheard. In the new Zyklochron, the stepper motors are controlled by two TMC2208 drivers. These drivers allow up to 256 microsteps, which makes the stepper motors practically noiseless.
28BYJ-48 stepper motors converted to bipolar
By using the TMC2208 drivers, a small problem arises. The 28BYJ48 stepper motors are unipolar motors, but the TMC2208 can only drive bipolar motors. Fortunately there is a simple trick how to make a bipolar stepper motor out of the 28BYJ48. To do this, first open the cover by the cables. Unfortunately, I never managed to remove the cover without destroying it, but that doesn't bother me much. After that you have to cut the middle trace with a sharp knife. The red wire is thereby without function and can be cut off. Now the motor is modified.
ESP32 microcontroller
The main change is of course the ESP32. The complete circuit had to be developed from scratch for it. The result is a very compact design, which is much cheaper than the Raspberry Pi version. The microcontroller board is an ESP32-DevKitC V4 from Espressif, which is already available for less than 10 Euro. Also the software had to be developed new, because there is no Java compiler for the ESP32. The new controller is implemented in C using Espressif IoT Development.
After a few weeks of intensive learning, designing and developing, the new Zyklochron is now ready. I'm curious to see what other improvements I can come up with....