How does the Pico Sys. Step/Dir generation work?

  • Chaoskreator
  • Chaoskreator's Avatar Topic Author
  • Visitor
  • Visitor
21 Jan 2015 15:29 #55232 by Chaoskreator
Hello,

I am about to build a CNC mill out of a conventional mill from the 80s.
For the Trinamic stepper driver boards I want to use, I need the classic step and direction signals.
I have already set up a PC and did the latency test. The latency for the 25 µs is up to 40 µs. Not really good, because I want to use microstepping. OK, I could try to improve this value but then I noticed the Pico Systems Universal Stepper Controller.

Does anybody know how the fast output signals with up to 300000 Pulses per second are generated?

I suppose, there are sent datagrams with timestamps to the Pico board and the Pico board itself generates the fast outputs.
Is it really like this?
When not, how does it work? I'd like to understand a system before I buy it.

Thanks in advance!

Greets from Germany,
Chaoskreator

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

More
21 Jan 2015 22:53 #55239 by Todd Zuercher
I can't say as I know for sure how Pico does it, but most hardware step generators for Linuxcnc work by being told how fast to make the pulses, then the hardware step generator sends the step count back to Linuxcnc much like a servo sends the encoder count. Then via a PID loop Linuxcnc decides how fast to go and when to stop.

In this way a poorly configured hardware step generator can actually behave like a poorly tuned servo system. In fact I even managed to make a software stepping, linuxcnc setup do this once by accident on the first machine I tried to set up (don't ask).

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

More
22 Jan 2015 01:31 #55244 by jmelson

Hello,

I am about to build a CNC mill out of a conventional mill from the 80s.
For the Trinamic stepper driver boards I want to use, I need the classic step and direction signals.
I have already set up a PC and did the latency test. The latency for the 25 µs is up to 40 µs. Not really good, because I want to use microstepping. OK, I could try to improve this value but then I noticed the Pico Systems Universal Stepper Controller.

Does anybody know how the fast output signals with up to 300000 Pulses per second are generated?

I suppose, there are sent datagrams with timestamps to the Pico board and the Pico board itself generates the fast outputs.
Is it really like this?

Chaoskreator

Yes, the computer uses the parallel port as a communications port, where it can address various registers
and read/write values. The board has a step pulse generator that can go from 0.6 steps/second to
5 MHz. The granularity of steps is such that even at 300K steps/second, it is only about 0.3%.

Since the USC board has a different clock than the computer, there would be a gradual disparity
between them, so the board counts the step pulses issued. This also allows you to use
encoders, if you wish, to verify actual position.

So, the PC doesn't actually know anything about individual steps. it works just like
a servo, read position, calculate velocity with PID and send new velocity to step
generator.

Jon

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

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