How to select Driver Boards?? - Design Considerations?
- irakandjii
- Offline
- New Member
- Posts: 16
- Thank you received: 1
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
- Determine torque requirement (this is the primary engineering requirement)
- Assess desired speed (torque/speed curve from mfg, the one I used is attached. I am not sure this is fast enough.
- Determine constraints Voltage/Current
- Select Motor that will meet above while working with controller below. (This is an optimization there is no perfect answer)
- Determine Control board type (I chose dir/pul type, This might be a bad decision manual attached)
- Match Current and Voltage specs for motor
- Optimize ... the motor & controller for cost
- Match Board to the stepper control type
- Determine additional requirements
- Connection DB25 or Ethernet
- Number of axis
- Number of I/O ports
- Other features
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 .
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.
Please Log in or Create an account to join the conversation.
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
Please Log in or Create an account to join the conversation.
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.
- irakandjii
- Offline
- New Member
- Posts: 16
- Thank you received: 1
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.
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 ?
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.What do you use for example?
But the Mesa cards alone cost more than my entire first CNC machine, at that included a new lathe/mill !
Closed-loop steppers are basically a high pole-count brushless motor, they can work very well.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.
"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...
But it is the only real option with a Raspberry Pi.I use SPI in my micro controller work, I would never specify it for something like this.
What would you use instead? I don't see any direct replacement.PCI is outdated and generally deprecated so I would not use that
Please Log in or Create an account to join the conversation.
- irakandjii
- Offline
- New Member
- Posts: 16
- Thank you received: 1
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)
Please Log in or Create an account to join the conversation.
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.Thanks Andy. It is nice to hear the stuff is supported BUT...
Are there any specifics documented anywhere?
Jon
Please Log in or Create an account to join the conversation.
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.
I think my problem is that I am not sure what you want help designing.The first part was a request for a link to where I can find design information.
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.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.
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.
The buildbot builds all the current versions, both 2.7 and master. master and "2.8" are the same thing.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.
Yes, you are reading it wrong.These buildbot files seem to only support precise. Am I reading that 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.
Please Log in or Create an account to join the conversation.
(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
Please Log in or Create an account to join the conversation.