Gallery, Projects and General > Project Logs
Mill Electrotrickery Part 1 - Stepping out with Arduino
<< < (4/7) > >>
John Stevenson:
Sorry Rod, microstepping doesn't work like this.

Does in theory but as soon as you loose a signal it looses position and the motor jumps to the nearest step magnetically.

Or something along these lines.
RodW:

--- Quote from: John Stevenson on May 29, 2013, 05:05:18 PM ---Sorry Rod, microstepping doesn't work like this.

Does in theory but as soon as you loose a signal it looses position and the motor jumps to the nearest step magnetically.

Or something along these lines.

--- End quote ---

I think you have explained why a commercial product I saw has a Hall effect sensor added to the rotary table to set the home position.  More food for thought! You can also get 1024 step rotary position shaft sensors for about $45 from Sparkfun which could sense this movement if it had power :)
kwackers:
The main reason microstepping exists is to drive the motors smoothly by effectively generating out of phase sine waves (think 3 phase motor - but with only two phases...)
If you try to use the microstepping to give you resolution you'll be disappointed, along with losing position as John mentions the reality is that the positional accuracy of the micro steps is poor and it also varies depending on load. Full or half steps however pretty much lock mechanically to a fixed position so are fairly accurate and less load dependent.

With regards linear positioning, I've had a few goes at it but always get beaten by feature creep... I start with a simple power feed and before you know it I'm planning ahead for a whole range of stuff from tapers to screwcutting to profiles (along with the necessary two axis drive). At this point I always figure that Mach 3 can do this sort of thing better and computers are cheap...

RodW:
Thanks for all of the help guys. I can see I need to run up the new stepper controller I have. It does not appear to have a way to turn off microstepping from the specs.

I am coming at this from a zero base so have a lot to take in so your help is appreciated.

Spent the evening trying code something and finally discovered that my old favourite sprintf() does not support  "%f" in format strings and I have to use dtostrf() instead. Then found that "value" is perfectly OK to use as a variable name but p->value generates an error in dtostrf! Don't you love programming!  :doh:

Anyway, I have a clearer idea of data structures I will need. I want to create a NULL terminated linked list of fields that are displayed on one screen so you can navigate between them. I have had a couple of very busy days so have not felt like doing much in the evenings but at least some progress is happening.

raynerd:

--- Quote from: kwackers on May 30, 2013, 04:01:05 AM ---The main reason microstepping exists is to drive the motors smoothly by effectively generating out of phase sine waves (think 3 phase motor - but with only two phases...)
If you try to use the microstepping to give you resolution you'll be disappointed, along with losing position as John mentions the reality is that the positional accuracy of the micro steps is poor and it also varies depending on load. Full or half steps however pretty much lock mechanically to a fixed position so are fairly accurate and less load dependent.

With regards linear positioning, I've had a few goes at it but always get beaten by feature creep... I start with a simple power feed and before you know it I'm planning ahead for a whole range of stuff from tapers to screwcutting to profiles (along with the necessary two axis drive). At this point I always figure that Mach 3 can do this sort of thing better and computers are cheap...

--- End quote ---

True, comps are cheap but Mach3 isn't and I find it more convenient to have a dedicated controller unit in a small box than a PC and monitor! I am sure people would be well interested if you released something like this without 101 features. I'd love to see some mikroC code!!

;-)

Chris
Navigation
Message Index
Next page
Previous page

Go to full version