I need help, Magnetic Stirrer Project from scratch!

Hi,
I am trying to build a magnetic stirrer.I started to the project 2 weeks ago and have made progress on the magnetic stirrer project and it is almost ready. I am sharing the photos of my progress and simple Arduino code that I tried to start motor, (https://we.tl/t-YvxSq3FNpA) . I designed a small wire winding system, used 0.50mm non grain oriented electrical steel sheet, 0.45 mm enameled copper wire and 24 awg cables. Motor consist of 6 coils each length is 20mm and diameter of the washers are 15mm. I also attached leaf shaped sheets which oriented inward. I do not know they are necessary but schematic of stirrers that I viewed on the internet, have these ones. I guess its for arranging the movement of magnetic stirrer bar. I really wonder your opinion for that. Also each coil has 546 turns(13 layersx42 turns in each layer). After I finished my set up, i feed one of phases with 10 volts and each phase draw 0.5 Amp. When I put stirrer bar on the plate, opposite sides get oriented. Besides that, I decided to change 24 awg cables with 16 awg. Finally, I bought a 40Amp ESC module and tested it with Arduino. But stirrer bar just vibrates and stops after few seconds. I checked the motor connections again and again but everything seems fine. I tested the system with a bldc drone motor, it works. But when i connect the stirrer, I get this result; (https://we.tl/t-2FTc3GXeIR). Then i connect 12volts 40 amp psu, but result was same. Can I learn your thoughts about the problem?
Thanks!

/*
        Arduino Brushless Motor Control
     by Dejan, https://howtomechatronics.com
*/
#include <Servo.h>
Servo ESC;     // create servo object to control the ESC
int potValue;  // value from the analog pin
void setup() {
  // Attach the ESC on pin 9
  ESC.attach(9,1000,2000); // (pin, min pulse width, max pulse width in microseconds) 
}
void loop() {
  potValue = analogRead(A0);   // reads the value of the potentiometer (value between 0 and 1023)
  potValue = map(potValue, 0, 1023, 0, 180);   // scale it to use it with the servo library (value between 0 and 180)
  ESC.write(potValue);    // Send the signal to the ESC
}

You might want to replace the whole arduino+extras with a simple switch.

I changed the motor type to stepper motor rather than bldc. Now i can control with stepper driver but it get very hot. I don't know really, should I decrease number of turns of the wire in each coil. Also İ decide to use smaller stepper driver because of voltage and max current limit. Any idea?

Wrong problem for the prosed solution. Use a brushed DC motor. Or better: use just a rotating magnetic field and a magnetic stirer - at least that’s what the labs use :slight_smile:

global1:
I changed the motor type to stepper motor rather than bldc. Now i can control with stepper driver but it get very hot. I don't know really, should I decrease number of turns of the wire in each coil. Also İ decide to use smaller stepper driver because of voltage and max current limit. Any idea?

Please study the design of stepper motors! They stop under power! So at least one set of coils is always under power, unless you use a stepper controller that can be disabled via a control pin.

Paul

Unfriendly links for those photos. Don't make people have to bodge about turning off cookie preferences when they could be helping you.