587,773 active members*
3,367 visitors online*
Register for free
Login
IndustryArena Forum > CNC Electronics > PIC Programing / Design > Higher number of microsteps with LiniStepper?
Results 1 to 11 of 11
  1. #1
    Join Date
    Feb 2006
    Posts
    198

    Smile Higher number of microsteps with LiniStepper?

    I am using the linistepper for a telescope CNC project. I need as many microsteps as the PIC on the linistepper will allow. Any tips on how to reprogram the PIC for a higher microstep count than the 1/18th that comes stock?

    -Jim

  2. #2
    Join Date
    Feb 2007
    Posts
    532
    The effective resolution is effectively set by the 1N4148 + resistor network on rb4-7.

    You'd have to change this circuit to get a higher resolution, and as it happens you'd probably need a different PIC to get higher resolution as well, as the 16F84 is out of pins in that circuit...

  3. #3
    Join Date
    Feb 2006
    Posts
    198
    I don't think the effective resolution is set by the resistor network for the higher microsteps count. It seems that is done inside the PIC using software. James Newton claims on the linistepper site that it is rather trivial to do it. I just don't know how.

    -Jim

  4. #4
    Join Date
    Feb 2007
    Posts
    532
    Hmmmmmmmmmmmm, (Looks at circuit again, while scratching head)

    OK... I get what he's saying in the 'how it works' section of the linistepper pages

    3 levels of current / 6 microsteps (1200 steps/rev) is what he gets from the resistor network alone, and he's modulating the three outputs using some sort of PWM to get that up to 18 microsteps or 3600 steps/rev.... Veddy Interesting.

    I'm going to assume that for a telescope you don't need high speed movement? If you don't need to do high-speed travel you can probably do this with a far less complex circuit than the linistepper.

    What rotational speed are you looking for? I feel a software challenge coming on. (Like I need _another_ project!)

  5. #5
    Join Date
    Feb 2007
    Posts
    532
    Had a bit more of a think about this...

    Theoretically you should be able to generate fairly accurate microstepping up to any resolution you wanted at low speed using just PWM outputs from the pic into a single resistor/capacitor integrator, with a similar output stage to the linistepper.

    I'm sure I've read threads on here (or maybe elsewhere) about the limitations of doing this though, which are mainly around top-end speed and torque... ie: the faster you want to go the less effective it would be.

    Looking at the spec for the hardware PWM modules in the PIC16F876 I reckon you could probably do 32 microsteps accurately at up to about 5khz.. Which equates to 6400/12800 steps per rev, but only 1.28 or 2.56 revs/second which is not very fast for CNC usage. With a bit of fiddling you could probably transition to full steps and get faster speed, but that would require some experimentation, and my bench is already covered in another project that is half-finished!

  6. #6
    Join Date
    May 2005
    Posts
    1397
    The easy way to get a smoother motion is to bump up the value of the current smoothing capacitors C5 and C6. Much larger values (exactly how large depends on a lot of factors, so it's a try and see thing) will result in a smoother transition from each PWM microstep to the next. Doing this reduces your top speed, so you have to be aware of that. If you use the caps to limit the change in current to the point that your motor is getting a totally smooth transition from one step to the next at your normal operating speed, then it can't possible move any faster than that or the cap will smooth out the faster steps into... well... not steps.

    Another way to smooth things out is by adding physical mass to the shaft. Again, at some point, you loose the ability to move that as quickly as you might like.

    Recoding the PIC is also possible, but not easy unless you are a top end PIC programmer. If you do it, please honor the open source status of the driver and share your code.

    Hope that helps, let us know your results.

  7. #7
    Join Date
    Feb 2007
    Posts
    532
    Hi James.

    I've not built any linisteppers, but It's a very clever design. It's on my list of things to play with when I get some time, but I keep on getting other projects leaping into the 'queue' as it were.

    re: speed. I think the real question is how fast a stepper has to go for the application, with that figure in hand you could make all sorts of rash suggestions! .

    Cheers, Chris H.

  8. #8
    Join Date
    Apr 2007
    Posts
    1955
    Hi - on a somewhat related question - I am currently soldering up some linistepper kits (thank you, they are nice) for use with a motor with the following specs

    - 6 - 7 mH
    - approx 3 amps max current (room for growth)
    - about 900 oz in when fully powered
    - rotor inertia - approx 0.04 oz - in / s2
    - For use with a direct drive rack and pinion
    - 1/16th micro step mode
    - RPM = 0 - 50 rpm, with 0 - 10 common

    Now for the question.

    I have read some posts about more common bipolar driver setups having "resonance" when run at low speeds. From what I understand about the linistepper drivers being more of a "linear mode" approach, it seems like they should be relatively smoother. Is that more or less right ?

    I am not an EE and have really no scope capability, but suppose I double the capacitance of the (above discussed ) caps - is that enough to make a difference - or is it more like 10 x to make a real change ?

    Thanks

    Harry

  9. #9
    The ultimate limit for microstep smoothness is the motor itself. There are two factors involved here:

    1) Accuracy. Most step motor data sheets list a +/-5% non-accumulative tolerance. Think of this as a cyclic "wobble" in the motor's motion over the span of one revolution. It limits the motor's ultimate accuracy to +/-0.09 degrees or 1/2,000 of a revolution.

    2) Linearity. 1 full step (1.8 degrees mechanical) is equivalent to 90 degrees electrical. Mathematically, the ideal waveform for the motor's current is sine and cosine. When a motor is microstepped at 10 microsteps per full step, an ideal motor would move exactly 0.18 degrees for every 9 degrees change in sine-cosine.

    Motors are not ideal. They have some non-linearity (curvature) to what should be a straight line relationship between mechanical angle and electrical angle. The best motors we have tested show a +/-2% non-linearity over the span of 1 full step which would put the maximum possible smoothness limit at 25 microsteps.

    Mariss

  10. #10
    Join Date
    Apr 2007
    Posts
    1955
    Hi Mariss - Thank you very much for that information.

  11. #11
    Join Date
    Mar 2005
    Posts
    523
    to increase the smoothness and increase the steps per telescope movement
    perhaps a 1:10 (or so) ratio toothed pully on the system would be the best choice.
    this would put less strain on the motor and be good for stargazing via a video camera.
    the motor could then handle the extra weight of the camera.

Similar Threads

  1. How to ask for a higher wage
    By MBG in forum Community Club House
    Replies: 14
    Last Post: 02-25-2008, 09:25 PM
  2. Higher Spindle RPM?
    By keen in forum Tormach Personal CNC Mill
    Replies: 10
    Last Post: 08-07-2007, 03:59 PM
  3. How to tune the linistepper for higher current?
    By Niggo in forum Open Source Controller Boards
    Replies: 10
    Last Post: 09-22-2006, 07:52 PM
  4. Changing Microsteps
    By rweatherly in forum Xylotex
    Replies: 5
    Last Post: 10-04-2005, 04:22 PM
  5. Capacitor at higher voltage?
    By DAB_Design in forum Gecko Drives
    Replies: 5
    Last Post: 12-18-2004, 11:46 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •