Shop OBEX P1 Docs P2 Docs Learn Events
Controlling 200 stepper motors — Parallax Forums

Controlling 200 stepper motors

mlfranzmlfranz Posts: 5
edited 2006-10-19 23:20 in General Discussion
Has anyone made, or know of a controller or controller system that can control 200+ small stepper motors? Schematics would be a great asset to me as well. If you don't know, but might know someone who does, please don't hesitate to let me know.

Thanks

Post Edited (mlfranz) : 10/19/2006 1:47:06 AM GMT

Comments

  • pjvpjv Posts: 1,903
    edited 2006-10-19 02:54
    Hi Mlfranz;

    That would be a network of SXes.

    Depending on the stepper configuration, you could drive 5 steppers with an SX28 and 8 steppers with an SX48.

    Simpy use another pin as serial communications between a master SX and all the slave SXes.

    Cheers,

    Peter (pjv)
  • GadgetmanGadgetman Posts: 2,436
    edited 2006-10-19 07:41
    What kind of speed are we talking about?

    And how accurate do you want it?

    And what kind of steppers?
    (Bi or Unipolar)

    There's a new protoboard with a Propeller in development by Parallax
    (3 x 4", estimated $15 each, populated with Propeller and EEPROM) which may be adapted for use...
    Maybe overkill, but...

    But that one should have all the capacity needed for a lot of steppers.
    It should be able to control up to 7 steppers with 4pin interfaces, and still have a few pins left over, or if you add a couple of 3-to-8 decoder and buffers the outputs, a whole lot of motors...
    (Serial-in-parallell-out shift registers may also work)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Don't visit my new website...
  • mlfranzmlfranz Posts: 5
    edited 2006-10-19 16:22
    They need to be as fast and accurate as possible. They also need to controlled individually (I think everyone has assumed that so far, but I just wanted to clarify).

    Thanks,

    Mark
  • Mike GreenMike Green Posts: 23,101
    edited 2006-10-19 16:38
    A lot depends on the size of the motors and the amount of current to be switched. With larger motors, you'd really want to use a commercial controller probably like the 2 channel one that Parallax sells. I haven't seen any that are addressable although that doesn't mean they're not out there. You'd need some way to have individual serial channels become addressable and using a processor to aggregate them makes the most sense. The SX is cheaply available now and could certainly control several motors per protoboard, limited mostly by the number of serial channels it could handle. The Propeller (once the protoboard comes out) would be even better since it could handle many more depending on the details of the connections.

    If these are small unipolar motors, you could drive them directly from an SX or Propeller using HEXFET or other drivers. Are these motors grouped physically in clusters? What's the cluster size?
  • mlfranzmlfranz Posts: 5
    edited 2006-10-19 16:49
    Physically these motors are small and placed in a grid very close together as components of linear actuators.

    Thanks,

    Mark

    Post Edited (mlfranz) : 10/19/2006 5:01:31 PM GMT
  • GadgetmanGadgetman Posts: 2,436
    edited 2006-10-19 21:30
    If you want absolute accuracy, you probably want to let the microcontroller generate the bit-patterns for each step, and just use a Driver of some sort (ULN200x or FETs), not a serially controlled chip/controller.

    In a grid?
    Does this mean that they will be co-operating, or will they be running individually?
    could we have some more details?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Don't visit my new website...
  • Mike GreenMike Green Posts: 23,101
    edited 2006-10-19 22:41
    You might be able to use 74HC595's and ULN2803's to extend a Propeller's pinout and drive several motors from one set of pins. If they don't have to step too quickly, you could get 4 to 8 motors on a set of 4 pins with the Propeller having realistically 6 to 7 sets available. The Propeller's fast enough to do all kinds of decoding / ramping / coordinating / etc. You could also do this with an SX-48, but the programming would be a lot harder for this amount of functionality. Since the Propeller's got 8 separate processors, 6 of them could each run a line of 74HC595's using the exact same code while the 7th could handle the serial line decoding and distribution of information to the other processors. The 8th would do the actual asynchronous serial·I/O so that the serial bitstream could be uninterrupted. You could have a 7th line 74HC595's and do the decoding piecemeal during the spare moments while waiting for the next mid-bittime to come along, but it'd have to be done in assembly language and the coding, while not too hard, is more awkward.

    This would give you control of about 40 to 50 motors per Propeller and they could all sit on the same serial half-duplex serial line.

    Other alternatives for communication could include clocked synchronous which would require 3 lines, I2C which would require 2 lines.

    Along those lines, you could also use I2C serial I/O expanders like the MCP23016 along with FET drivers or Darlington drivers for the motors.· These would provide 16 bits per device with, I think, 8 devices per pair of I/O pins on the Propeller.· They run at a raw bitrate of 400kHz, but there's a bit of overhead.· Maybe you could get an update every 0.5-1ms.· That would be 4-8ms per set of 8 devices (32 motors?).· Each set of pins could run simultaneously (with a bit of programming work) and you could probably handle 12 sets of 8 devices per Propeller.

    Post Edited (Mike Green) : 10/19/2006 10:53:36 PM GMT
  • mlfranzmlfranz Posts: 5
    edited 2006-10-19 23:20
    The motors will be running individually.

    Thanks,

    Mark

    Post Edited (mlfranz) : 10/24/2006 12:36:52 AM GMT
Sign In or Register to comment.