Step/Dir or Analog?
- andypugh
- Offline
- Moderator
- Posts: 23559
- Thank you received: 4858
What hardware from mesa will be suitable for this case ?
Have a look at the 5i25 / 7i77 combination.
store.mesanet.com/index.php?route=produc...83_84&product_id=214
(you may have to look at the individual boards for specs)
Please Log in or Create an account to join the conversation.
- DaBit
- Offline
- Platinum Member
- Posts: 446
- Thank you received: 35
If you do want LinuxCNC to close the positioning loop, you can use a 5i25/6i25 + 7i77 and feed analog velocity signals to the drives. If you prefer step/dir and want the encoder info back to LinuxCNC I think it is possible with a 7i76 and an encoder expansion board such as the 7i85. But that is beyond my knowledge.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23559
- Thank you received: 4858
When your servo amplifiers can do step+dir, I suppose they can also close the position loop in the drive? In that case I would use those servos as 'super-sized steppers' and not bother with feeding the motor encoder signals back to LinuxCNC.
There is actually something to be said for using step/dir as just another way to control motor velocity (exactly analogous to +/- 10V control). The point is that the LinuxCNC PID controller can see further into the future than the drive PID controller, and the LinuxCNC PID controller is both more "tweakable" and more "watchable". You can see exactly what it is doing, and you can do more to it (including varying the gains according to other things).
One (potentially) useful advantage is that LinuxCNC broadcasts both position and velocity requests to HAL, so you can do a lot of control with feed-forward rather than feedback.
Please Log in or Create an account to join the conversation.
- vre
- Offline
- Platinum Member
- Posts: 529
- Thank you received: 16
My servos (made in china) have the following control modes
① 转矩模式(内部或外部) Torque mode (internal or external)
② 速度模式(内部或外部) speed mode (internal or external)
③ 位置模式(内部或外部) Position mode (internal or external)
④ 位置/速度模式Position/velocity mode
⑤位置/转矩模式 Position/torque mode
⑥速度/转矩模式Speed/torque mode
They accept both signals step/dir and analog -10V +10v
I want the loop close to linuxcnc.
That is the best method for driving them step/dir or analogue -10v +10v ?
Also in cost which method costs less step/dir or analog 10v ?
Knows anyone a shop in europe to buy mesa hardware ?
thanks.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23559
- Thank you received: 4858
I don't think that it really matters, though I don't personally _like_ step-dir.That is the best method for driving them step/dir or analogue -10v +10v ?
Also in cost which method costs less step/dir or analog 10v ?
Knows anyone a shop in europe to buy mesa hardware ?.
eusurplus.com/index.php?route=product/category&path=63
www.duzi.cz/shop_cnc/index.php?main_page...c371131422788cde0bb4
Please Log in or Create an account to join the conversation.
- DaBit
- Offline
- Platinum Member
- Posts: 446
- Thank you received: 35
There is actually something to be said for using step/dir as just another way to control motor velocity (exactly analogous to +/- 10V control). The point is that the LinuxCNC PID controller can see further into the future than the drive PID controller
That's why I personally don't like using step/dir to position servos. When LinuxCNC is accelerating the drive has to figure that out and then do it, so it is always one step behind. However, there is nothing wrong with using step/dir to signal a velocity or torque to the drive, especially not if the pulsetrain is high frequency and the step generator resolution is good.
On the other hand: if drive+motor was sold as a set the drive probably knows a thing or two about the motor it is driving and has the control algorithm matched. It probably takes an experienced loop tuner to surpass what's already in the drive.
and the LinuxCNC PID controller is both more "tweakable" and more "watchable". You can see exactly what it is doing, and you can do more to it (including varying the gains according to other things).
Is there some more information about tuning with parameter-dependant gains somewhere? Positioning on my servos is quick and accurate (thanks to FF1/FF2, indeed), but disturbance rejection is slower than I would like.
want the loop close to linuxcnc.
That is the best method for driving them step/dir or analogue -10v +10v ?
Also in cost which method costs less step/dir or analog 10v ?
In terms of real life 'quality of control' I don't think analog and step/dir differ much.
Regarding cost: I think analog is cheaper since you would only need a single 7i77 daughterboard coupled to one of the AnythingIO FPGA cards. If you need step/dir also you would need more hardware. If you do it by the book at least.
(you can have step/dir with only a 7i77 also; I am using that. With the right configuration step/dir is available on the second Mesa 5i25/6i25 DB25 connector, but you would have to do the breakout from the sub-D to the drives yourself, or buy a 7i76 or similar)
Knows anyone a shop in europe to buy mesa hardware ?
thanks.
I ordered at eusurplus twice, and got a quick response and delivery. Got no response to emails at all from duzi.cz
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23559
- Thank you received: 4858
Is there some more information about tuning with parameter-dependant gains somewhere?
Not that I have seen, but it is one use of the "lincurve" hal component.
One use might be to have the gains be different for up and down on the knee of a moving-knee mill.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5009
- Thank you received: 1443
On possible advantage this type of step/dir velocity mode setup, may handle disturbance rejection better than an ordinary analog velocity mode drive, since the drives them selves behave more like are actually receiving position commands (hopefully using steps equal to the encoder resolution). It works quite nicely on a machine I have set up this way. This way the drives faster loops do the heavy lifting, but your still taking advantage of Linuxcnc's FF1/2.
(these are the opinions of an amateur who may not really know what he's talking about)
Please Log in or Create an account to join the conversation.
- crisiacuf
- Offline
- Junior Member
- Posts: 24
- Thank you received: 0
I have two joints on my Y axis and linear glass scales on each joint. It seems that the best solution is to use velocity control using MESA 7i77.
How exactly did you configure the .hal to use the two joints as a single axis?
I see you are using the index for homing, but how did you paired the two joints?
I am a beginner so please be more specific if you can!
Please Log in or Create an account to join the conversation.
- vre
- Offline
- Platinum Member
- Posts: 529
- Thank you received: 16
Can i use my own custom breakout board with 5i25 ?
I have seen that 5i25 sold with 7i76 or 7i77 firmware preloaded ... exists firmware that can i use it with my custom made breakout board ?
5i25 has 34 I/O i think that 34 I/O are enough for me but can i use it with generic firmware ?
If i want more I/O is more cheap to buy another 5i25 than a 7i76/7
Daughter boards 7i76/7 have more I/O than 34 which have 5i25.. is this done with multiplexing ?
FPGAs are synthesized from a code written in hardware description language such as vhdl/verilog
can i compile vhdl firmware sources if exist in xilinx ise and synthesize the fpga again without the 7i76/7 option ?
Also 5i25 can output 500khz step/dir and read 500khz quadrature encoders (10000ppr(4 x 2500)@3000rpm) alone without daughter cards?
Firmware modules are provided for hardware step generation, quadrature encoder counting, PWM generation, digital I/O, Smart Serial remote I/O, BISS, SSI, SPI, UART interfaces and more. Configurations are available that are compatible with common breakout cards and multi axis step motor drives like the Gecko G540. All motion control firmware is open source and easily modified to support new functions or different mixes of functions.
There are currently six 5I25 compatible breakout cards available from Mesa, the 7I74 through 7I78 and 7I85. The 7I76 is a step/dir oriented breakout with 5 axis of buffered step/dir outputs, one spindle encoder input, one isolated 0-10V analog spindle speed plus isolated direction and enable outputs, one RS-422 expansion port, 32 isolated 5-32V inputs and 16 isolated 5-32V 300 mA outputs. The 7I77 is a analog servo interface with 6 encoder inputs, 6 analog +-10V outputs, one RS-422 expansion port, 32 isolated 5-32V inputs, and 16 isolated 5-32V 300 mA outputs. The 5I25 supports two breakout cards so for example a 10 Axis step/dir configuration or 12 axis analog servo configuration is possible with a single 5I25 and two Mesa breakout cards.
Please Log in or Create an account to join the conversation.