Get the SoR Robotics Android App on Android Market for FREE. See this forum post for details.
0 Members and 1 Guest are viewing this topic.
I was thinking of using timer, however that would not ensure that final position was actually reached (maybe some steps were skipped because of the load).Another thought was shaft encoder, however that would have to be placed on the shaft very precisely so that it gives "tick" when shaft gets very close to it's "step complete" position.
And finally: the encoder will tell you the shaft has rotated but since the wheels may 'skid' it doesn't mean that the robot has actually moved.
how do I detect that stepper motor has finished the step?[/i]
I was thinking of using timer, however that would not ensure that final position was actually reached (maybe some steps were skipped because of the load).
Another thought was shaft encoder, however that would have to be placed on the shaft very precisely so that it gives "tick" when shaft gets very close to it's "step complete" position.
Read Microchip app note 1307 (around midway through).
A couple of well placed SMD hall switches might be used if they can be embedded within the windings, or a rotary Hall detector perhaps, but check that app note out before you try something radical
As far as I understand - it's not very helpful as in CNC coils are always energised.
What I am looking for is some sort of indication of when magnetic pole of the motor gets aligned with magnetic pole of the coil (if that make sense).
I'm not sure how should I embed SMD Hall switches (and what I would achieve by doing so), but it sounds like it's not for my ability just yet.Rotary Hall detector was one of my thoughts as well, I have dismissed it as it requires constant ADC pin sampling.
Another thought, wouldn't it be simpler to get motors that can easily deal with a bit more than expected loads and use only timer interrupt to advance steps?
Quote from: newInRobotics on February 06, 2012, 04:55:35 PMAs far as I understand - it's not very helpful as in CNC coils are always energised.Eh?How does the motors move then?
A hall switch should be placed in a position where the magnetic cams/teeth passes by, then you can read each full step it makes - half stepping and micro-steps cannot be resolved this way.
As I understand it, you want to use a controller more or less as a "dumb" stepper control (low level layer), where the PC tells it to go eg. 1234 steps CCW and then wait for it to get there and then signal back that it's ready for the next command - is that about right?
Would I have to put Hall switch inside stepper or would it be enough to have it on the case of the motor?