Oops, sent to soon, and forgot the list.
In addition to the responses below, I meant to add: I don't think what I'm
seeing is overshoot by the PID loop, at least not entirely, because when I'm
not jogging it, it only twiddles the direction output. The step output is
steady without pulses. If it were hunting, I'd imagine it would be issuing
steps as well as direction changes. Check out the other video:
> On Apr 5, 2018, at 01:21 , Bas de Bruijn <b...@basdebruijn.com> wrote:
> On 5 Apr 2018, at 09:50, Rick Mann <rm...@latencyzero.com> wrote:
>> After help from Bas (thank you), I got MachineKit working on a Beaglebone
>> Black and driving a ClearPath stepper. Here's a video:
> That's a hefty stepper.
They're really nice servo motors from Teknic. The one in the video is
<https://www.teknic.com/model-info/CPM-SDSK-3421S-RLS/>. The ones I'm using on
my CNC router are a bit smaller.
>> I notice on the oscilloscope (but not visible in the video above) that the
>> step direction output changes when I stop jogging and the servo slows down
>> from the jog speed it was going at.
>> Can anyone tell me why it does this? Is it in an effort to "apply the
>> brakes" to the moving stepper? This is not necessary with the ClearPath
>> servo, which will faithfully the number of steps commanded at the commanded
>> speed (within limits, of course).
> This looks like "hunting" from the Pru stepgen. A solution for this is to
> drive the stepgen in velocity mode, and add a PID loop. Have a search thru
> the google group posts about this phenomenon.
> This configuration can be an example on how to do this.
The ClearPath servos have drivers, encoders, and PID loops all contained on the
motor. There is no position feedback from them (only a configurable fault
signal). For this reason, I don't think MachineKit should implement any kind of
PID loop, right? There's no feedback for it to use. It should just generate
pulses for the desired velocity profile and position, and trust the servo to
get there (if it can't, it will assert the fault signal).
In the pru-stepper.hal, there are these lines:
# position command and feedback
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => [PRUCONF](DRIVER).stepgen.01.position-cmd
net motor.01.pos-fb <= [PRUCONF](DRIVER).stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb
I'm guessing "fb" is feedback. Maybe I can remove those to make it open-loop?
> One thing to check are the specs of your driver regarding the timing of the
> step and direction signals.
> dirsetup dirhold steplen and stepspace.
I did check these already. Step and dir hold minimum is 1 µs. The only other
minimum time specified is the time between direction change and step, specified
as 25 ns. Is that "dirsetup?"
> These should be at least (but longer would be preferable) as long as the
> specs from your driver.
>> For reference, the HAL file <https://pastebin.com/cMTUiW7u>, and the .ini
>> file <https://pastebin.com/eBLxpUh4>. Note I've only adjusted the pin
>> addresses for axis 0 in the HAL, and the path to the PRU binary in the .ini.
>> It's the same as the pru-stepper otherwise.
>> website: http://www.machinekit.io blog: http://blog.machinekit.io github:
>> You received this message because you are subscribed to the Google Groups
>> "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to machinekit+unsubscr...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/machinekit.
>> For more options, visit https://groups.google.com/d/optout.
> website: http://www.machinekit.io blog: http://blog.machinekit.io github:
> You received this message because you are subscribed to the Google Groups
> "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to machinekit+unsubscr...@googlegroups.com.
> Visit this group at https://groups.google.com/group/machinekit.
> For more options, visit https://groups.google.com/d/optout.
website: http://www.machinekit.io blog: http://blog.machinekit.io github:
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.