How to select Driver Boards?? - Design Considerations?

More
17 Oct 2018 00:27 #118914 by irakandjii
I was going to use the Parallel port to run my steppers, but after reading a lot of threads with divergent opinions I think I should abandon this design view.

I would like to get a current "October 2018", and state of the art, view of the hardware landscape.before I waste anymore cash.

I was on the following path with Steppers ...

  • Select motor
  1. Determine torque requirement (this is the primary engineering requirement)
  2. Assess desired speed (torque/speed curve from mfg, the one I used is attached. I am not sure this is fast enough.
  3. Determine constraints Voltage/Current
  4. Select Motor that will meet above while working with controller below. (This is an optimization there is no perfect answer)

  • Select Stepper Control board
    1. Determine Control board type (I chose dir/pul type, This might be a bad decision manual attached)
    2. Match Current and Voltage specs for motor
    3. Optimize ... the motor & controller for cost

  • Select Computer Interface board(s) (This is where I got stuck and started searching.)
    1. Match Board to the stepper control type
    2. Determine additional requirements
      1. Connection DB25 or Ethernet
      2. Number of axis
      3. Number of I/O ports
      4. Other features

  • (I thought I had settled on a 7i76E or 7i96, but have no idea on how to decide. Help would still be greatly appreciated,)



  • But .. THEN....I realized ... I might be on the wrong track all together..
    It seems from reading many threads while researching the MESA cards. That the developers have moved away from steppers completely.

    It makes sense to me that going forward I should follow their lead. There is, after-all, an incentive to maintain this gear. Would someone please stipulate what they are using? Perhaps we can follow suit?

    For example:

    What class / type of motor? I assume servos, but what are the key things to look for in making a purchase?
    I assume there are some important specifications, beyond just power (Voltage and Current). Please, what are they?

    Assuming it makes sense to go with servos ( I am constrained to a NEMA 23 form factor). What is needed upstream from the motor?. For example, is there an equivalent to the stepper control driver? A couple of end to end examples would be great!

    Can I maximize flexibility and choose something that can evolve with my needs?

    I have looked at the MESA boards and I am aware of FPGA technology (past life). But no idea where I should go next since firmware is a critical element in FPGA functionality and I dunno what to look for :blink: :blink: .

    I think a huge part of this is just getting some solid examples to inspire from and maybe a sticky for future folks embarking on this journey. A here is what you will need road-map.

    I will volunteer to write a sticky if I can get the knowledge to get the contents correct.

    This browser does not support PDFs. Please download the PDF to view it: Download PDF

    This browser does not support PDFs. Please download the PDF to view it: Download PDF

    Attachments:

    Please Log in or Create an account to join the conversation.

    More
    18 Oct 2018 14:33 #118997 by gmarconi2
    Good morning irakandjii

    I have a lot of things to learn, for now I have used stepper motors driven step dir I would summarize as follows:

    -Open circuit step by step drives, no one knows if they lose steps.
    -The maximum number of laps in relation to the pair is very low.
    -However, if you choose step motor correctly and you are satisfied with the low speed, they work well.
    -Inserting an encoder into the stepper motor only serves to detect error made and stop the machine.

    Linuxcnc, when using the parallel port the speed (frequency of the steps) is limited, and therefore considering using microstepping it becomes complicated (complicated because it will have to work very slowly).

    Now I'm doing a retrofit to a machining center 3 axes x axis A spindle with encoder and tool change, my choice was this:

    -I chose to drive the drivers step dir because there are many CNC controls that use this mode of piloting , my main choice will be
    linuxcnc but as I'm not prepared to configure HAL (however I'll try to learn)) if I should not be able to choose another CNC.
    -I have to drive 3 old Fanuc AC motors with incremental encoder, I bought 3 ARGON drivers and they work great.
    -The spindle is always a Fanuc AC and I drive it with a SIEMENS sinamics V20 inverter
    -For the time being, axis A is in standby
    -The tool change will move autonomously controlled, I will only need to change the tool, and the tool from linuxcnc, when the tool
    change is done, I will communicate it to linuxcnc that should resume working. (I think this can be done with linuxcnc but now I'm not
    capable.)
    -To generate the step-by-step signals, the home signals, the spindle with encoder, and to drive the tool change, I chose MESA 6i25 +
    7i76.

    Saluti Giampiero

    NB for the moment I talked about my choice then I will have to ask many things about the configuration of linuxcnc
    The following user(s) said Thank You: irakandjii

    Please Log in or Create an account to join the conversation.

    More
    18 Oct 2018 22:33 #119033 by andypugh
    LinuxCNC fully supports both steppers and servos. (including step-controlled servos and closed-loop steppers).

    There is no reason to use servos if your machine isn't of a size, weight, or speed to require them.

    Also, the choice is not just DB25 or Ethernet, there are also PCI and SPI options.

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 00:20 #119036 by irakandjii
    Thanks Andy. It is nice to hear the stuff is supported BUT...
    Are there any specifics documented anywhere? I have searched the documentation and the forums, but cannot find documentation other than for XP class machines.

    What do you use for example?

    The documentation I provided is for a closed loop stepper set-up looks like a reasonable compromise. But to use this I need to select a MESA card. I was considering a 7i96 or 7i96e but based on this forum it is unclear how well it is supported.

    I also saw references to LinuxCNC 2.8 for MESA cards, yet I cannot find 2.8 when I go to the downloads page. I must be missing something.

    BTW
    I use SPI in my micro controller work, I would never specify it for something like this.
    PCI is outdated and generally deprecated so I would not use that

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 00:39 #119038 by andypugh

    Thanks Andy. It is nice to hear the stuff is supported BUT...
    Are there any specifics documented anywhere? I have searched the documentation and the forums, but cannot find documentation other than for XP class machines.


    I am not really sure what question you are asking here ?


    What do you use for example?

    My last build (a couple of years ago) uses a couple of 1kW servo motors I found cheap, with resolver feedback, controlled by Mesa 8i20 drives connected to a 7i49 resolver card and a 7i84 for GPIO and a 7i24 PCI card for the FPGA.
    But the Mesa cards alone cost more than my entire first CNC machine, at that included a new lathe/mill !


    The documentation I provided is for a closed loop stepper set-up looks like a reasonable compromise.

    Closed-loop steppers are basically a high pole-count brushless motor, they can work very well.

    But to use this I need to select a MESA card. I was considering a 7i96 or 7i96e but based on this forum it is unclear how well it is supported
    I also saw references to LinuxCNC 2.8 for MESA cards, yet I cannot find 2.8 when I go to the downloads page. I must be missing something.


    "2.8" is shorthand for "the current "master" development version". It is available from buildbot.linuxcnc.org but it is in a constant state of flux...


    I use SPI in my micro controller work, I would never specify it for something like this.

    But it is the only real option with a Raspberry Pi.


    PCI is outdated and generally deprecated so I would not use that

    What would you use instead? I don't see any direct replacement.
    The following user(s) said Thank You: irakandjii

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 01:14 - 19 Oct 2018 01:19 #119045 by irakandjii
    Thanks Andy

    The first part was a request for a link to where I can find design information. I want to learn and make some purchase decisions. I have invested over 1k so far and I know I have more yet to spend. I just don't want to make any more mistakes.

    On PCI we might be talking about the same thing. When I reference DB25 I was talking about a MESA PCIe card with a DB25 connecting to a daughter card. I realized afterwards I was a bit vague.

    I am decision neutral on the Ethernet vs PCIe / DB25 approach. Though a LAN based connection has some advantages in the placement of the CPU. So if all else is equal that is the way I would go.

    Ah ok on the 2.8 build, I am using the GIT master for source. Is this buildbot master build the same or different?
    I used the instructions on the site to get the release from GIT, so now I am confused regarding the official release site.

    These buildbot files seem to only support precise. Am I reading that wrong? Or will it run on a stable preempt kernel?
    I need to use Bionic and have compiled the most recent Preempt-RT kernel. Which runs without error and passes the LinuxCNC test suite.

    BTW .. I would not use a raspi as a front end so it never occurred to me, I use a lot of them, but never for mission critical stuff. I might have used an Edison, but they are now deprecated. (sigh remembers all those now wasted hours with the real time core on that puppy)
    Last edit: 19 Oct 2018 01:19 by irakandjii. Reason: Spelling and grammer

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 01:36 #119047 by jmelson

    Thanks Andy. It is nice to hear the stuff is supported BUT...
    Are there any specifics documented anywhere?

    Another option is the Pico Systems (disclosure - my company) PWM controller for servos and the Universal Stepper Controller for anything that needs step and direction. It can run those in either open-loop or closed-loop mode. These are controlled by the parallel port as a communications channel to the device. Drivers are included in the LinuxCNC distribution.

    Jon

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 02:19 #119048 by curtisa

    BTW .. I would not use a raspi as a front end so it never occurred to me, I use a lot of them, but never for mission critical stuff.


    My understanding is that LinuxCNC will run on a RPi, but it's not capable of usable performance yet. At this stage it's more of an academic exercise to prove it can be done than an actual working solution. Other more knowledgeable folk may be able to correct my assumptions, but that's certainly the way it seems from the information obtainable here and elsewhere on the net.

    PCI is fairly mature technology, but I don't see any indication that it is an endangered species yet. Mesa cards and similar (even PCI parallel port cards) are still likely to be the go-to option here for years to come.

    Step/dir motor drivers are plentiful, capable and cheap. Your only real design decision here should be how to interface LinuxCNC with them.

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 09:21 - 19 Oct 2018 09:22 #119061 by andypugh

    The first part was a request for a link to where I can find design information.

    I think my problem is that I am not sure what you want help designing.


    On PCI we might be talking about the same thing. When I reference DB25 I was talking about a MESA PCIe card with a DB25 connecting to a daughter card.

    Both Pico and Mesa make very capable interface boards that use the parallel port as a communications bus. I assumed you were meaning one of these. (Pico USC and PPMC and the Mesa 7i43 and 7i90 I assumed you were talking about these, from the context.

    And then there is always the option of using the parallel port as GPIO, which is almost always the cheapest option, and can work very well if the machine does not require much GPIO.

    Ah ok on the 2.8 build, I am using the GIT master for source. Is this buildbot master build the same or different?
    I used the instructions on the site to get the release from GIT, so now I am confused regarding the official release site.

    The buildbot builds all the current versions, both 2.7 and master. master and "2.8" are the same thing.

    These buildbot files seem to only support precise. Am I reading that wrong?

    Yes, you are reading it wrong.
    buildbot.linuxcnc.org/
    Precise, Wheezy, Jessie, Stretch, Lucid are all built, and on a variety of platforms (including armhf)

    But the official release is 2.7.14 at the moment. This is available as a convenience on Debian Wheezy (RTAI) and Debian Stretch (preempt RT) but that is in no way meant to indicate that other distributions and platforms are not supported. If you want to use Bionic on an ARM using the Xenomai realtime then it ought to work, but you will need to compile it yourself.
    Last edit: 19 Oct 2018 09:22 by andypugh.

    Please Log in or Create an account to join the conversation.

    More
    19 Oct 2018 15:52 - 19 Oct 2018 15:53 #119078 by jmelson

    (Pico USC and PPMC


    Just to clarify for the future, Pico Systems makes THREE different controllers for motion control, that are all interfaced through the parallel port. The Universal Stepper Controller produces step and direction outputs, can optionally use encoder feedback on any or all 4 axes, and provides 16 digital inputs and 8 SSR outputs.

    The PWM controller is similar to the Stepper controller, but provides PWM outputs to drive digital-input servo amps. Pico Systems also makes servo amps for brush and brushless motors to go with this controller. See :
    pico-systems.com/osc2.5/catalog/index.php?cPath=3
    for more info on these products.

    Finally, the PPMC is a set of boards to interface to analog-input servo amps. You can plug additional boards into the motherboard to expand the number of inputs and outputs.

    Jon
    Last edit: 19 Oct 2018 15:53 by jmelson.

    Please Log in or Create an account to join the conversation.

    Moderators: PCWjmelson
    Time to create page: 0.112 seconds
    Powered by Kunena Forum