I am building a heat exchanger and looking to add something to stir 10 gallons of water in a stainless steel vessel with electromagnets. I don’t want to use a small motor and prop as I want something hidden and out of the way. The vessel will have a 6000 watt element in the bottom center and a Stainless steel coil 4-6” off the bottom to pass my secondary liquid through. I want to use a series of electromagnets in a circular pattern about 8” in diameter around the heating element on the bottom. I want to be able to cycle the electromagnets in order to pass a ball bearing in hopes that it will stir the water. I am a jack of all trades master of few and having problems with initial design and feasibility. I have seen on another Arduino forum that someone wanted to use 3 EM’s to turn a small prop for a fish tank, but I don’t have the space really to turn a small prop and or I don’t want to mount anything in the bottom inside of the vessel. I was just hoping to have something small and discrete that the vessel will sit on.
Initial problems:
-Building a strong small electromagnet – I have lots of stranded copper wire; hundreds of feet between 6-12 gauge. I was thinking about stripping out the strands and using the strands in them, but what about insulation or shielding do I dip the EM in resin leaving the end of the core exposed.
-I think I want to use DC, how best to accomplish a small strong EM? My understanding of these magnets has to do with amount of current passed through and how may coils or wraps around the iron core.
- I think an Arduino controller is the way to go, but I am not sure of which type or will it offer the best fit for my application. Also, thought about using the Arduino for control voltage on a bank of relays for higher current to get stronger magnets. I will only have about 1/8” Stainless steel between the EM and ball bearing.
-Can I cycle the electromagnet fast enough to effectively pass a ball bearing? And if so how to calculate how many I will need in relation to size of ball bearing and or path it needs to travel (spacing)?
-Am I limited to 11 electromagnets from digital output pins 2-13 of Arduino or can I write a program to create sub interfaces of some sort like in Networking(in hopes to add more EM’s)?
-Or can I wire two EM’s opposite of each other on the same output and fire both at the same time, having two ball bearings to create a more turbulent environment.
In the past I created a small stir plate out of a CPU fan and stir bar for a small flask and it works great, but I am limited here as I do not have a flat bottom or the center of the vessel available. I have a slight conically bottom shape vessel.
I have seen some examples and tried to assemble what I found, here is a basic wiring diagram for a small EM that Stefan Holodnick put together.
I somewhat understand what the Mosfet and the resistor are doing, but not 100% sure. I also want to change out the momentary push button for a push to make to kick off the program.
Also from the code I found on at http://arduino.cc/en/Tutorial/Blink
I was thinking my code would be something like this to loop and just allow the ball bearing to run in a circle. I know it takes time for the EM to energize and actually create a magnetic field, but I am not sure how long and guessed 1000 milliseconds would be enough.
int EM3 = 3;
int EM4 = 4;
int EM5 = 6;
int EM6 = 7;
int EM8 = 8;
int EM9 = 9;
int EM10 = 10;
int EM11 = 11;
int EM12 = 12;
int EM13 = 13;
void setup() {
pinMode(EM3, OUTPUT);
pinMode(EM4, OUTPUT);
pinMode(EM5, OUTPUT);
pinMode(EM6, OUTPUT);
pinMode(EM7, OUTPUT);
pinMode(EM8, OUTPUT);
pinMode(EM9, OUTPUT);
pinMode(EM10, OUTPUT);
pinMode(EM11, OUTPUT);
pinMode(EM12, OUTPUT);
pinMode(EM13, OUTPUT);
}
void loop() {
digitalWrite(EM3, HIGH);
delay(1000);
digitalWrite(EM3, LOW);
delay(10);
digitalWrite(EM4, HIGH);
delay(1000);
digitalWrite(EM4, LOW);
delay(10);
digitalWrite(EM5, HIGH);
delay(1000);
digitalWrite(EM5, LOW);
delay(10);
digitalWrite(EM6, HIGH);
delay(1000);
digitalWrite(EM6, LOW);
delay(10);
digitalWrite(EM7, HIGH);
delay(1000);
digitalWrite(EM7, LOW);
delay(10);
digitalWrite(EM8, HIGH);
delay(1000);
digitalWrite(EM8, LOW);
delay(10);
digitalWrite(EM9, HIGH);
delay(1000);
digitalWrite(EM9, LOW);
delay(10);
digitalWrite(EM10, HIGH);
delay(1000);
digitalWrite(EM10, LOW);
delay(10);
digitalWrite(EM11, HIGH);
delay(1000);
digitalWrite(EM11, LOW);
delay(10);
digitalWrite(EM12, HIGH);
delay(1000);
digitalWrite(EM12, LOW);
delay(10);
digitalWrite(EM13, HIGH);
delay(1000);
digitalWrite(EM13, LOW);
delay(10)
}
My thinking here is to give time for the circuitry to reenergize a new EM without possibly overloading something hence the delay(10). I don’t know if this is necessary or not. Anyway I know this is a lot, but I really like to tinker with this kind of stuff and if someone has any ideas please let me know. Much appreciated.