Emco Compact 5 interface with linuxcnc (painless)

More
11 Jul 2013 20:34 #36556 by skunkworks
we managed to get a few of these compact 5 pc from a local school. As most of you I started searching the internet for info on the lathe. I found this artical

www.maxton.com/ebay/emco/EMCO...to%20Mach3.pdf

from the digital machinist mag that explained how to remove the octal latch from the interface board, switching the board to step/dir and setting up mach. I did a search for the 74ls374 chip discussed in the artical. It looked like I could use linuxcnc to send the clock signal to the board. So after some figuring and searching I found figured out the printer port pins..

x step pin 2
x dir pin 3
z step pin 4
z dir pin 5
index pin 12
estop pin 11
100 ppr sensor pin 10
74ls374 enable pin 14
74ls374 clock pin 1

So I hacked together a hal file that used the 'reset' function of the printer port driver to send a clock every base period to latch the 74ls374 chip. After not remembering to set switch 1 to on on the emco interface board (sets the interface to step/dir) and scratching my I got linuxcnc communicating. The performance was not stellar. The article above talks about setting your max velocity to 19ipm. This is what I was seeing. Just pretty poor performance. Sounded crappy. Now it could be that I didn't have the timing perfect but read on.. (according to the article above - the original software did around 30ipm)

When I forgot to set switch 1 on the emco interface board - I had decided (by twiddling bits on the printer port with linuxcnc) that the default setup must have been phase drive. The original software controlled the 4 phases of the stepper drives/motors. I didn't have much to lose so I modified the linuxcnc hal file to do 4 phase drive for each axis and set switch on on the emco board back to 'off'.

HAL Component Descriptions

So pins 2-5 ran one stepper and pins 6-9 ran the other.

the stepgen in linuxcnc will do a bunch of wave forms - I was interested in - 5 through 10. (4 phase patterns)

I started with pattern 9. This is Unipolar Half Step
-This acted the same as the step/dir I started with. 19ipm max and sounded crappy.

Next I tried pattern 10. This was a long shot as it is Bipolar Half Step
-I don't think it worked at all - or at least it was way worse..

Then I tried pattern 5. Unipolar Full Step (one winding on)
-I had to half the steps per inch obviously - but it acted the same as the above. around 19ipm and sounded bad.

finally I tried patten 6. Unipolar Full Step (two windings on)
-Wow. This sounded nice. We started pushing it and it started sounding rough at around 40ipm. (didn't seem to be losing steps but I think I might be just fine with 35ipm max)
We still have to up the acceleration as that could be pushed a bit also. this is around .0005 per step - very usable.

Very happy.

Now we need to get the index and 100ppl setup in linuxcnc and I will take some videos (threading and such). with this performance initially - I don't know if I will change the drives/steppers until they fail...

one last thing I would like to try is putting the interface back into step/dir mode and from what I have read - you can put it into full step mode.

So - Again - this is without modifying the emco electronics in any way. Setting up linuxcnc to output the 'clock' to latch the chip.

when I get the encoder setup within linuxcnc - I will post the hal/ini files here.

Since yesterday - we have theading and also have been running it around 45ipm...

sam

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

More
11 Jul 2013 20:38 #36557 by skunkworks

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

More
12 Jul 2013 00:24 #36573 by BigJohnT
Very nice Sam!

JT

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

More
12 Jul 2013 02:49 #36581 by skunkworks

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

More
12 Jul 2013 09:12 #36584 by skunkworks
quick threading video.. (yes - not the correct cutter - and the exit move is a bit shallow.. but shows the spindle sync is right on...)



sam

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

More
12 Jul 2013 23:17 #36605 by skunkworks

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

More
15 Jul 2013 06:41 #36650 by skunkworks
5/8 11 threads in plastic



sam

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

More
19 Jul 2013 09:37 #36792 by skunkworks
last video - I swear! ;)


and on a more serious note..

So - as far as I can tell - the original control did 1/2 stepping up to about 19ipm - then full stepping from there to 30ipm. Now the lathe runs fine on full stepping from 0 to 40 (maybe 45)ipm. Half stepping only works well up to 20ipm-ish. (stalls above that)

But why stop there..

I started thinking about if linuxcnc could do that.... (without coding anything)

A couple advantages of halfstepping..
1 higher resolution 0.000273403/step vs 0.000546806 per step
2 reduced resonance.. (I have not run into this with full stepping on the lathe)

Then at normal cutting speeds - < 16ipm you get a higher resolution.

So why not have 2 stepgens running. One that half steps (type 9) with input scale of 3657.6073152 and the other full stepping (type 6) with a scale of 1828.8036576 (lathe calculation - metric screws)
Then switch between the two stepgens at a specific feed (I picked 16ipm with a hysteresis of 1ipm)
All I can say is - HAL IS AWESOME
I setup a Lut5 with Jeff E's help (thanks jeff!) that switches the printer port between the 2 stepgens.
A offset componant was used between the 2 stepgens to better align the phasing. (not tweeked 100% yet) but we jogged it around - could not tell that it was switching between the 2 stepgens and it always came back to 0.
there is a bit more than that.. (ddt for calculating the axis velocity, abs of that, comp w/hystorisis, and stuff I have forgotten already.)


And here is a halscope capture. Left side is halfstepping - right side is full stepping. The trigger is the velocity threshold.
www.electronicsam.com/images/emco/Screenshot.png

I think the offset could be tweaked more scientifically to maybe get rid of the blip. But as it is running the 4 phases directly - it didn't seem to effect the motion.

here is the initial configs.

www.electronicsam.com/images/emco/linuxc...full-half_step_test/

again - jmk and everyone that has worked on hal - Very very awesome work!

sam

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

More
20 Jul 2013 00:28 #36811 by BigJohnT
The last part is sweet when you screw the nut on. Was that your first attempt at 5/8-11 threads on the Emco?

JT

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

More
20 Jul 2013 03:11 #36812 by skunkworks
heh - I don't know - that was dad playing with the lathe. I think he went in a bit too deep... but it worked :)

sam

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

Moderators: cncbasher
Time to create page: 0.092 seconds
Powered by Kunena Forum