Many years ago while watching YouTube videos about chemistry, I became intrigued by the magnetic stirrers many of them use in their experiments. This device is helpful in chemistry because it allows to stir liquids for a long period of time, while some models also keep the liquid heated.
The way a commercial magnetic stirrer works, is by rotating a magnet beneath a plate using a DC motor, the plate may or may not have a heating element. But it is this dc motor that introduces a certain level of noise. Then I decided to build my own using coils instead of DC motor, so that the stirring happens silently.
My first version was built using 150mH inductors, and achieved a decent stirring speed. The principle of operation is very simple, position 6 coils in a circle, and then activate then in pairs, each pair of coils in the opposite side of the circle, when one is activated as having a positive magnetic field, the other coil, in the opposite side is having a negative magnetic field, the magnetic bar reorients itself to follow the created magnetic field, then the coil pairs are activated in a sequence so that the magnetic bar spins. The main problem was that the magnetic bar needed to speed up gradually, and then if for some reason the magnetic bar loses synchronization with the coils, then it needed to start the speeding up process all over again from a low speed, and this had to be done manually, and at that time I haven't figured out a way to automatically detect a loss in synchronization.
Fast forward several years, I got a 3D printer, and then I decided to make more polished version of the stirrer. First, I focused in using real electromagnets instead of using inductors, because inductors are not precisely the best choice to generate magnetic fields. I built a prototype using a P20/15 suction electromagnets, available on AliExpress. They worked really well, however they still make a bit of noise, I don't know where that noise came from, the electromagnet looks sturdy in its construction, but somehow it manages to generate a noise, defeating the whole purpose of building a silent magnetic stirrer. Then I tried to build another prototype using handmade electromagnets, it ended up being somewhat weak in its stirring capabilities, and I thought that it was too much of a hassle to construct the electromagnets by hand in case I wanted to run a production batch of stirrers. And the issue of synchronization loss was still unresolved.
For that reason I decided to go back to inductors, although not ideal as electromagnets, they worked well in the past and were the cheaper option, costing about less than $0.2 each.
I tried to solve the issue of synchronization loss by looking at the step response of the coils when they are switched off, there is a little bit of ringing that could be the telltale sign of an out of synch magnetic bar, but I found no difference in the step response when the magnetic bar was in synch and when not. Then I came across the SS49E hall sensor, and I thought to put one just under the magnetic bar to see whether I could pick up any difference between the synch/no synch cases.
Long story short, below are the results. In yellow the amplified signal from the hall sensor. In blue, a signal from the microcontroller activating one of the coil phases.
Not only the SS49E hall sensor is capable of detecting a synchronization loss, it is also capable of detecting the absence of the magnetic bar. By carefully selecting a coil phase that is perpendicular to the hall sensor polarization axis, and sampling the hall sensor output at the start and the end if such phase, we can notice that when the magnetic bar is in synch, the slope is always positive, when there is no bar it is near zero, and when it is out of synch the slope is, in average, slightly negative.
Then I implemented an algorithm that detects both a missing bar and a loss of synchronization, and automatically restarted the speeding up of the magnetic bar in such cases. I initially used 200mH inductors, they performed not bad, but I felt they were lacking in power, then I used 100mH inductors, and I was able to reach around 1800rpm, but the synchronization loss happened often after a while, because the inductors heated up, and lose a bit of inductance. I found 1650rpm to be a stable rotation speed for the magnetic bar. Surprisingly, despite the final prototype being made out of PLA plastic, it does conduct a bit of heat from the inductors to the liquid being stirred. I found that the test tube reached a temperature of 48C after 1 hour of operation, which is an unexpected benefit of the design.
Comments