Using Mesa Stepgen as spindle but M4 / reverse / ccw does nothing

More
3 years 7 months ago #267754 by snakeoil
I'm not 100% sure what I'm doing with HAL so I apologize! This is probably a simple problem but I'm not sure I understand the plumbing of it.

The UI button for "spindle on" (and MDI M3) works as expected.

M4 however (and the reverse button in the UI) does nothing. Code keeps running but spindle is paused, doesn't move. The manual "reverse spindle" button sort of just makes the UI flash/glitch for a second. And sometimes after some GCode execution the reverse button will be grayed out / disabled altogether.

Here's the relevant part where the spindle is set up. It's driving a simple NEMA 23 open loop stepper.
Code:
#******************* # SPINDLE - STEPGEN 04 ROTARY AXIS #******************* setp hm2_7i76e.0.stepgen.04.dirsetup [SPINDLE_0]DIRSETUP setp hm2_7i76e.0.stepgen.04.dirhold [SPINDLE_0]DIRHOLD setp hm2_7i76e.0.stepgen.04.steplen [SPINDLE_0]STEPLEN setp hm2_7i76e.0.stepgen.04.stepspace [SPINDLE_0]STEPSPACE setp hm2_7i76e.0.stepgen.04.position-scale [SPINDLE_0]STEP_SCALE setp hm2_7i76e.0.stepgen.04.step_type 0 setp hm2_7i76e.0.stepgen.04.control-type 1 setp hm2_7i76e.0.stepgen.04.maxaccel [SPINDLE_0]MAX_ACCELERATION setp hm2_7i76e.0.stepgen.04.maxvel [SPINDLE_0]MAX_VELOCITY net spindle-enable => hm2_7i76e.0.stepgen.04.enable net spindle-vel-cmd-rpm => hm2_7i76e.0.stepgen.04.velocity-cmd net spindle-vel-fb-rpm <= hm2_7i76e.0.stepgen.04.velocity-fb net spindle-enable => spindle.0.on # ---setup spindle control signals--- net spindle-vel-cmd-rps <= spindle.0.speed-out-rps net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs net spindle-vel-cmd-rpm <= spindle.0.speed-out net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs net spindle-enable <= spindle.0.on net spindle-cw <= spindle.0.forward net spindle-ccw <= spindle.0.reverse net spindle-brake <= spindle.0.brake net spindle-revs => spindle.0.revs net spindle-at-speed => spindle.0.at-speed net spindle-vel-fb-rps => spindle.0.speed-in net spindle-index-enable <=> spindle.0.index-enable # ---Setup spindle at speed signals--- sets spindle-at-speed true
 

Please Log in to join the conversation.

More
3 years 7 months ago #267756 by snakeoil
My first thought after posting this and re-reading the man pages is it's going to be a simple net like this...
Code:
net spindle-ccw => stepgen.04.dir

So that the "forward" output bit from the "spindle" "component" is sent to the "dir" bit of the relevant stepgen "component" – is that language right maybe?

But that could be off-by-one... maybe it should be sending the "reverse" bit instead. I'm away from the machine until tomorrow.

Edit: But... then if it's really that simple, wouldn't M4 still be running the spindle, just in the wrong direction? Currently M4 is stopping it entirely.

Please Log in to join the conversation.

More
3 years 7 months ago #267782 by andypugh
Is the dir output of the mesa card wired to the dir output of the stepper?

If you use halmeter or halshow to look at the pin values you should see hm2_7i76e.0.stepgen.04.velocity-cmd go negative for reverse rotation.

If it does, then the hardware dir pin should change state.

Please Log in to join the conversation.

More
3 years 7 months ago #267803 by snakeoil
That's a good question and where I'm confused. I cannot find any dir output (or input) pins in the docs. There are only these velocity floats which seem to go negative:
Code:
spindle.0.spindle-rpm (float out)

From  linuxcnc.org/docs/2.9/html/man/man9/spindle.9.html

And then as for output from the MESA stepper this:
Code:
hm2_7i76e.0.stepgen.04.velocity-fb (float output)

From linuxcnc.org/docs/2.9/html/man/man9/hostmot2.9.html

What I've been using up to now is essentially just copypasta from old forums posts, which I am trying to reverse engineer. The params that have been working so far aren't in the docs so I'm basically just guessing what to net to what.

Also for anyone reading this the little arrows => don't mean anything and the most of the syntax examples are like `net signal source destination destination` but then the config file generators seem to use the syntax `net signal [optional arrow] [autodetected-in-or-out]`

 

Please Log in to join the conversation.

More
3 years 7 months ago #267805 by snakeoil
So using that original config Halshow says:

M3
Code:
positive value for stepgen.04.velocity-cmd true for spindle-cw false for spindle-ccw true for spindle-enable

M4
Code:
0 for stepgen.04.velocity-cmd false for spindle-cw false for spindle-ccw false for spindle-enable

The full .hal file is attached to original post. That does work but only M3/forward.

Please Log in to join the conversation.

More
3 years 7 months ago #267806 by andypugh
Which LinuxCNC version?

Does your INI have a spindle section with a minimum spindle speed in it?

linuxcnc.org/docs/2.9/html/config/ini-co...:ini:sec:spindle-num

(This section has no effect in versions 2.8 and earlier)

Please Log in to join the conversation.

More
3 years 7 months ago #267807 by andypugh
And are you using M4 S1000 (or whatever) rather than just a plain M4?

Please Log in to join the conversation.

More
3 years 7 months ago #267812 by robertspark

Please Log in to join the conversation.

More
3 years 6 months ago #268224 by Mike Connelly
I've just recently run into the same thing and have a thread going here -
forum.linuxcnc.org/49-basic-configuratio...t-no-reverse?start=0

No answers yet, but PCW said he thinks it's something to do with the halui because he's not having M4 problems on a setup that doesn't have halui.

Have you made any progress?

Please Log in to join the conversation.

More
3 years 6 months ago #268230 by Mike Connelly
The docs state that if MAX_REVERSE_VELOCITY and MIN_REVERSE_VELOCITY aren't defined they will default to MAX_VELOCITY and MIN_VELOCITY respectively. This doesn't appear to be true, because after I defined those _REVERSE_ values my M4 came to life. The spindle is still turning the wrong direction, but at least it's responding!

Thanks!

Please Log in to join the conversation.

Time to create page: 0.108 seconds
Powered by Kunena Forum