From my understanding, the metal needs to be ferrous to interact with the magnetic field (other than to generate an induced current, where it only needs to be a metal) to 'interrupt' (not really the right word) the magnetic field. You can do the experiment yourself just to see - grab 2 decently powerful magnets and arrange them with like poles facing each other so they repel, then drop a piece of plate between them and you will see both will stick to each side of the plate, even though without the plate they wouldn't get close to each other. Basically the magnetic fields are no longer interacting with each other and are effectively blocked by the metal. So the theory is a fully enclosed ferrous box would interrupt magnetic influence from any direction and shield your electronics. I haven't done the experiment myself but I am under the impression non-ferrous will not 'interrupt' the field in this manner. I really should try it myself just for curiosity's sake I guess...
Sux getting old, you forget so much hard learned knowledge.
Thanks all for your help. I'll be back...
Chuck you have to look at the up side. I figure my brain cells are finally down to a manageable number.
My aging aunt passed along her wisdom.... 'When you are finished using something; put it back. Do not put it down. '
I'm finding that she was right and it applies well to a metal machine shop.
This is meant to be constructive, to help you. Not laying $hit on your good work.
Look at this fragment of code...
case 'D':
num=0.00;
lcd.setCursor(16,1);lcd.print(" ");
lcd.setCursor(16,1);
break;
}
Degrees = 360/num; // <----- Division by ZERO!! for case 'D'
key = kpd.getKey();
}
return Degrees; //num;
}'
Doing this sort of thing on micros, in my experience, NEVER needs floating point arithmetic on such a basic operation like working stepper motors.
For 200 step per rev and 90:1 for gear gives (200 * 90) / 360 gives 50 steps per degrees.
Want to move 13.5 degrees (internally counting from 0 to 3600) gives STEPS = (135 * 50) / 10 = 675;
Want to move 13.4 degrees (internally counting from 0 to 3600) gives STEPS = (134 * 50) / 10 = 670;
Want to move 0.1 degrees (internally counting from 0 to 3600) gives STEPS = (1 * 50) / 10 = 5;
Always do the MULTIPLY FIRST, usually for better results.
Dynamically changing time delays in loops, so that it accelerates and decelerates smoothly will allow much higher speeds.
Once above the critical speed of the motor you can't just stop or start it instantly.
A stepper is torsionally loaded against a permanent magnet, like a spring, and once you yank on the spring too quickly you can loose steps because inertia wins.
https://www.google.com/search?q=ste...ast5zcAhXFmJQKHaPHDX4QsAQIPg&biw=1375&bih=751
Look at the manufacturers data sheets for motors.
Study this.. It might explain a few things
https://en.wikipedia.org/wiki/Stepper_motor
Enter your email address to join: