Fake encoder index for simulation
08 Jun 2023 21:32 #273218
by drummond
Replied by drummond on topic Fake encoder index for simulation
I got around to trying this, with little hope for success because I'm currently running the lathe spindle with a stepper motor in velocity mode and I wasn't sure how I might integrate stepperspindle.
I'm using 2.8.4 on an RPI4 with 7C81
It was an interesting exercise getting Halcompile to work, but I learned that raspbian responds to a right click on a file with a menu that includes "copy path(s)", click on that and you can paste the complete path into a terminal.
Once I had the comp file compiled and installed, I added the HAL entries as originally shown along with the amendments suggested by GaryLa
I loaded linuxcnc from a terminal (it's easier to find errors this way) it didn't finish loading but:
./turner.hal:207: Pin 'stepperspindle.0.revs' does not exist
line 207 read: net spindle-pos stepperspindle.0.revs motion.spindle.0.revs
commenting it out resulted in linuxcnc loading without error.
a look at halshow pins under stepperspindle then 0 showed no pin with that name, but there was a very similar stepperspindle.0.spindle-revs and subbing this in resulted in that error going away, but
./turner.hal:207: Pin 'motion.spindle.0.revs' does not exist
Rinse and repeat finds we just need spindle.0.revs without the 'motion'
Now it loads without error.
Does it work, well that's a story for another day
I'm using 2.8.4 on an RPI4 with 7C81
It was an interesting exercise getting Halcompile to work, but I learned that raspbian responds to a right click on a file with a menu that includes "copy path(s)", click on that and you can paste the complete path into a terminal.
Once I had the comp file compiled and installed, I added the HAL entries as originally shown along with the amendments suggested by GaryLa
I loaded linuxcnc from a terminal (it's easier to find errors this way) it didn't finish loading but:
./turner.hal:207: Pin 'stepperspindle.0.revs' does not exist
line 207 read: net spindle-pos stepperspindle.0.revs motion.spindle.0.revs
commenting it out resulted in linuxcnc loading without error.
a look at halshow pins under stepperspindle then 0 showed no pin with that name, but there was a very similar stepperspindle.0.spindle-revs and subbing this in resulted in that error going away, but
./turner.hal:207: Pin 'motion.spindle.0.revs' does not exist
Rinse and repeat finds we just need spindle.0.revs without the 'motion'
Now it loads without error.
Does it work, well that's a story for another day
Please Log in or Create an account to join the conversation.
08 Jun 2023 22:24 - 09 Jun 2023 14:34 #273220
by PCW
Replied by PCW on topic Fake encoder index for simulation
Note that you can use index with step/dir driven spindles
with LinuxCNC 2.9 and Mesa cards with the correct firmware.
This allows spindle synchronized moves without an encoder,
though an index input is still required.
with LinuxCNC 2.9 and Mesa cards with the correct firmware.
This allows spindle synchronized moves without an encoder,
though an index input is still required.
Last edit: 09 Jun 2023 14:34 by PCW. Reason: clarify
Please Log in or Create an account to join the conversation.
09 Jun 2023 13:08 #273237
by andypugh
Replied by andypugh on topic Fake encoder index for simulation
Sorry, that was an error on my part, I typoed the older pin name by accident (now fixed in the original post)./turner.hal:207: Pin 'motion.spindle.0.revs' does not exist
Please Log in or Create an account to join the conversation.
09 Jun 2023 21:17 #273251
by drummond
Replied by drummond on topic Fake encoder index for simulation
When I look at HAL configuration there are four pins associated with Stepperspindle: index-enable, rawcounts, spindle-revs, time.
I'm running the lathe motor with the following in the ini file:
MOTOR_SCALE 3200 // stepper takes 3200 steps per revolution
STEP_SCALE 1600 // lathe spindle has a 2:1 relationship with the motor, stepper revolves once, lathe spindle revolves twice.
I wondered how this might gel with:
setp stepperspindle.0.steps-per-rev 1600
Which went in HAL file per the original instructions, it seems correct- but how could I be so lucky?
Got the motor running and watched the first 3 pins.
Results:
index-enable=nothing
rawcounts=count is going but with a minus sign in front of it
spindle-revs=count is going but with a minus sign in front of it
I can "correct" the minus on spindle revs by changing the HAL entry to:
setp stepperspindle.0.steps-per-rev -1600, which feels wrong somehow because the originals in the ini file are both positive and produce counterclockwise rotation with M4
rawcounts seems less trivial to fix
from the comp file:
.......signed steps-per-rev = 100 "stepper steps per rev / per index";
If that means what I think it means it will produce indexes far more frequently than I was expecting?
I'm running the lathe motor with the following in the ini file:
MOTOR_SCALE 3200 // stepper takes 3200 steps per revolution
STEP_SCALE 1600 // lathe spindle has a 2:1 relationship with the motor, stepper revolves once, lathe spindle revolves twice.
I wondered how this might gel with:
setp stepperspindle.0.steps-per-rev 1600
Which went in HAL file per the original instructions, it seems correct- but how could I be so lucky?
Got the motor running and watched the first 3 pins.
Results:
index-enable=nothing
rawcounts=count is going but with a minus sign in front of it
spindle-revs=count is going but with a minus sign in front of it
I can "correct" the minus on spindle revs by changing the HAL entry to:
setp stepperspindle.0.steps-per-rev -1600, which feels wrong somehow because the originals in the ini file are both positive and produce counterclockwise rotation with M4
rawcounts seems less trivial to fix
from the comp file:
.......signed steps-per-rev = 100 "stepper steps per rev / per index";
If that means what I think it means it will produce indexes far more frequently than I was expecting?
Please Log in or Create an account to join the conversation.
10 Jun 2023 11:06 #273266
by andypugh
Replied by andypugh on topic Fake encoder index for simulation
Negative scales are not unusual to reverse specific functions.
Counts being negative is not a problem for the fake index comp.
But I suspect that you might have a misconfiguration if M4 is normal rotation unless this is a back-tool lathe.
Looking down the spindle towards the tailstock, M3 should be clockwise and count up.
Counts being negative is not a problem for the fake index comp.
But I suspect that you might have a misconfiguration if M4 is normal rotation unless this is a back-tool lathe.
Looking down the spindle towards the tailstock, M3 should be clockwise and count up.
Please Log in or Create an account to join the conversation.
10 Jun 2023 16:16 #273273
by drummond
Replied by drummond on topic Fake encoder index for simulation
Well, that was a typo combined with an interruption leading to an incomplete message being sent (!) Sorry about that
What it should have read is: "the originals in the ini file are NOW both positive and produce counterclockwise motion with M3, to correct this I have to set them both back to negative
I could never get to watch the index changing by watching it on HAL configuration even with a spindle speed of 1 rpm (stepper running at 0.5 rpm)
I tried a simple g33 routine "in air" and everything seems to work, spindle synchronized motion without an encoder. Thank you.
What it should have read is: "the originals in the ini file are NOW both positive and produce counterclockwise motion with M3, to correct this I have to set them both back to negative
I could never get to watch the index changing by watching it on HAL configuration even with a spindle speed of 1 rpm (stepper running at 0.5 rpm)
I tried a simple g33 routine "in air" and everything seems to work, spindle synchronized motion without an encoder. Thank you.
Please Log in or Create an account to join the conversation.
Time to create page: 0.072 seconds