If you have been following this blog for a while, you might remember our 2014 Advent window, for which we created an animated landscape in shadow play. This year, we created a new animated Advent window, but based on a different principle: a drawing with UV on a phosphorescent surface, with the help of an embryonic robotic plotter.
Yoctopuce modules currently available do not enable us to implement a true plotter: there is no stepper motor controller in our assortment. It is actually to validate this ongoing development that we decided to implement this somewhat ambitious project, to make sure that the electronics we have designed can be used for full-sized projects. This Advent window is therefore our giant test bench.
We'd better tell you from the start that there remains quite some software development work before this new module makes it to our shop. However, from the electronics standpoint, tests are conclusive.
Here is the result:
A few explanations
The system works with three stepper motor controllers, working for this project independently from one another.
- The first motor controls horizontal movement through two large belt driven linear guides (2m70 long), one just above the window, the other one below it.
- The second motor drives vertical movement, through a belt driven linear guide (80cm long) fixed perpendicularly to the two horizontal guides.
- The remaining motor drives a wheel where about ten different images are cut out. These images are used as masks to draw on photosensitive paint (glow paint).
Behind the mask wheel, we put a quasi-UV light source, made of a hundred of leds. It can be turned on and off at will, through the auxiliary output of one of the stepper motor controller, so that it can illuminate the photosensitive surface through the selected mask.
System setup
The Yoctopuce modules are connected via a YoctoHub-Ethernet because the driving computer is not close enough to the installation. On top of the stepper motor controllers, we added a Yocto-Knob and a Yocto-Color-V2 so that passers-by can turn the animation on by pressing a light button. Here are a few pictures of the installation:
Everything is driven by a C# software that sends the target position to each motor, waits for the movement to end, then switches on and off the UV lamp. As it's a rather heavy mechanism, the motor controllers automatically compute the acceleration and deceleration ramps, as it isn't possible to get the motors to the desired speed at once.
The good news is that, as it is, it works rather well. Our stepper motor controller can properly drive all the motors that we tried, in micro-stepping and with current regulation. It supports a power supply up to 45V.
So why isn't this new device on sale right now ? Because for now, axis are independent and movements are not linked to one another: we go back to the idle state between each movement. By linking the movements without stopping, we could gain a lot in speed and above all reduce the mechanic stress on the machine. But to do so, we would need to perform a two-dimensional planning of the movements and compute a very precise curve to replace the sharp corner between every consecutives trajectories, depending on the selected tolerances and taking into account mechanical constraints. This requires additional maths and above all a very precise synchronization of the axes.
UV drawing on glow paint, without curved lines
What's next?
We plan to add In the next few months the support for multidimensional movement planning. The motor controllers are by the way equipped with Picoflex connectors in this perspective, allowing us to chain them one after the other, and they can synchronize their clocks very precisely in order to run perfectly synchronous sequences. We also intend to support the automatic execution of non-linear trajectories, avoiding any sudden variation of the acceleration and without going back to a full stop when changing directions.
So please be patient... and Merry Christmas !