hw stepper card, linuxcnc, top view?!

More
14 Jun 2016 02:05 #75954 by arhi
if someone can point me to a top level explanation how these hw steppers work .. some high level block diagram or something ... I'm scrounging the Internet for hours without results .. I found some info about modbus but can't find much info about how mesa works .. the way I'd probably design it top level would be to "communicate" between linuxcnc and the external device (eth, usb, pci, pci-e device) sending "instructions" and not sending "steps". Probably "stepping" the device that's showing up as registers that translate to IO is easiest but that would be just a big IO expander, not a "hardware stepping"... are mesa cards these io expanders or actually do something in hw? I'm unable to find info .. also I'm thinking about how linuxcnc (if i understand correctly its HAL that speaks with the externals) talks to this external devices, what the basic "packet" is? is it "step, step, step..." or "take pinX, step 328 steps at 12.7456 kHz"?

I'm designing a machine where I'm needing 1 preferably 5MHz stepping (lasers, mirrors...), I can make some hw stepping done from fpga but need to send it info what to do, now if I do my own g-code player it's rather simple but I'd like to take advantage of linuxcnc being tried and tested and ease of gui adaptation :D .. so .. looking to buy / make an external stepper ..

mesa prices are interesting but I can't find a proper explanation how they work, which ones of them work properly with linuxcnc, what their real specifications/capabilities are ..

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

More
14 Jun 2016 10:33 #75975 by BigJohnT
The 5i25 + 7i76 is a PCI combination for steppers. The 6i25 + 7i76 is for a PCIe slot and the 7i92H is an Ethernet solution.

They are basically all the same capability wise. The PCI/PCIE cards allow somewhat faster servo update rates (to 8 KHz or so vs about 4 Khz max for Ethernet).

JT

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

More
14 Jun 2016 10:44 #75978 by arhi
that's what I was looking at initially (pci-e solution) but then started to wonder how that actually work :D ... as if the ETH solution works the same as PCI-E solution (only bit slower) then the linuxCNC is sending "commands" to the mesa .. and from that I can conclude that linuxCNC can send that to device of my making too .. and I can probably make something more customized for my needs (probably won't as these mesa cards are so cheap but I'm still intrigued how it works) ...

Now, I have to keep asking questions as it looks like my searching capabilities go lower every year :( ... I'm planing to control stepers (and servos with dedicated drivers so for the linuxcnc they behave just like a steppers, as no feedback go back to linuxcnc) .. 6 of them + maybe 1 or 2 servos directly from linuxcnc .. 7I76-6I25 is the way to go? or maybe another daughter?

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

More
14 Jun 2016 10:53 #75980 by BigJohnT
You can have 2 7i76 cards on a 6i25 but if you have servos the better solution is the 7i77 and use the encoder feedback.

JT

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

More
14 Jun 2016 11:06 #75983 by arhi
can I have on single 6i25 one 7i76 and one 7i77 ?

how good 7i77 are with steppers?

I'm mostly running steppers and servo's with dedicated controlers (so input for servo is enable/direction/step just as for stepper) .. but I'm thinking of maybe using 2 additional servos for the base of the machine .. I'm not using those attm, it's basically a long shot, but would be cool to know if I could do it ...

also, I'd like to add a separate high precision encoder to one of the existing motors and only monitor position by linuxcnc, the encoder would go on lathe spindle, it's 3 phase fr controlled from 0-10V input ... idea for start is to just know the position and maybe later even control that 0-10V from the mesa ...

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

More
14 Jun 2016 11:22 #75988 by BigJohnT
Yes the 5i25 can have a 7i76 on one port and a 7i77 on the other port. The 7i77 is great with servos. Both daughter cards have a spindle encoder input so you can rigid tap and thread.

JT
mesaus.com

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

More
14 Jun 2016 11:31 #75989 by arhi
perfect!!! thanks a bunch ...

one more question if you don't mind :D

I just opened this box I dedicated for that work and I see I have both free pci-e and pci slots .. the 20e difference between pcie and pci version makes no difference to me so moneywize it's irrelevant .. but any difference between 6i25 and 5i25 except for interface towards computer (pci vs pci-e)? any latency difference between pci and pci-e with linuxcnc?

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

More
14 Jun 2016 11:32 #75990 by andypugh

if someone can point me to a top level explanation how these hw steppers work


They work rather a lot like how the software stepper works.
The software stepper has a function "update-freq" which runs in the servo thread at (typically) 1kHz. Then there is a "make-pulses" function that runs in the base-thread which does almost no calculations, it just makes pulses at the frequency commanded by "update-freq"

The "update-freq" function looks at the current motor position (total step count, rather than any real feedback) and calculates how many steps are needed to get to the commanded position by the end of the next servo period.

The Mesa cards work in almost exactly the same way. The Hostmot2 driver receives position commands from LinuxCNC every servo-cycle, then this is converted into a step frequency by the hostmot2 stepper driver code running on the PC
The required step rate is passed to a register on the FPGA using whatever interface and low-level driver is in use.
Then the FPGA code makes steps at the desired rate.
The following user(s) said Thank You: BigJohnT, arhi

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

More
14 Jun 2016 11:35 #75993 by andypugh

any latency difference between pci and pci-e with linuxcnc?


None that matters in the context of overall system latency.

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

More
14 Jun 2016 11:42 #75994 by arhi
perfect, many thanks for confirming ... so I can have 1 THz stepping if I want (can execute on the hw step generator) and I communicate to step generator ever "servo period".. great .. so in theory I can use usb/ethernet/uart.. too to make the hw stepper as long as I can achieve the "data exchange" every "servo period"... nice :D thanks!! off to read some source :D

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

Time to create page: 0.099 seconds
Powered by Kunena Forum