Re: [Emc-users] Way to control 6 axis robot, jerk limitation. Araisrobo?

2013-11-11 Thread Marius Alksnys
You where right about path. It ran from /usr/bin/linuxcnc because I used 
sudo for starting linuxcnc, but not for configuring environment.

Now I tried to run the right one, but:

LINUXCNC - master-2013.08.18 ARAIS ROBOT TECHNOLOGY
Machine configuration directory is '/home/cnc/araisrobo/configs/sim/axis'
Machine configuration file is 'axis_mm.ini'
Starting LinuxCNC...
io started
halcmd loadusr io started
motmod: dlopen: /home/cnc/araisrobo/rtlib/motmod.so: cannot open shared 
object file: No such file or directory
core_sim.hal:7: /home/cnc/araisrobo/bin/rtapi_app exited without 
becoming ready
core_sim.hal:7: insmod failed, returned -1
Shutting down and cleaning up LinuxCNC...

I think I have to solve motmod.so problem. But don't know how.
Maybe you could connect remotely? I would appreciate your help.. You can 
suggest program to use. You can contact me using email or google hangout 
- I will respond quickly, I am online.




--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen

2013-11-11 Thread andy pugh
On 11 November 2013 06:19, Hugh Wylie hwy...@mweb.co.za wrote:

 Under this configuration, maximum step rate is limited to approximately
 250Hz, while without 5i23 pwmgen invocation the 4 stepgens perform as
 expected (with good step rate headroom).

That's rather odd.
Is it the same with (for example) SVST8_4? This might require headers swapping.

Can you enable raw mode and see if the driver it writing the correct
step rates to 0x2000, 0x2004, 0x2008?
(The addresses come from this file:
http://git.linuxcnc.org/gitweb?p=hostmot2-firmware.git;a=blob;f=regmap;h=b3a2a77c27de0c71278dc910992efeddd7deb577;hb=HEAD
)

These steps will help to determine if the problem is in the driver
code or the FPGA code.

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Index-enable pin question

2013-11-11 Thread Viesturs Lācis
Hello!

I am trying to help a guy that has retrofitted a lathe to LinuxCNC.
He has 5i25 + 7i77 cards and 2.5.0 version installed.

The problem is that I cannot figure out, how to get threading to work. G76
command will bring the tool along X to proper thread depth and then stop.
It seems to me that it is waiting for a signal on
motion.spindle-index-enable.
That pin is connected to encoder.00.index-enable pin, I checked - there is
index pulse coming from encoder every spindle revolution, but I do not see
any pulses in Halscope on index-enable pin.
I tried playing with index-mask and index-mask-invert parameters, but no
success.
This page does not seem helpful, explaining all the details on how to set
it up:
http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_enable

I see that reference no:2 at the bottom, but I was not able to find any
explanation in manual.

I would appreciate, if somebody could share some link, where it is
explained, how exactly spindle index-enable pin is treated in lathe config.

-- 
Viesturs
--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread andy pugh
On 11 November 2013 11:35, Viesturs Lācis viesturs.la...@gmail.com wrote:

 The problem is that I cannot figure out, how to get threading to work. G76
 command will bring the tool along X to proper thread depth and then stop.
 It seems to me that it is waiting for a signal on
 motion.spindle-index-enable.

Maybe, maybe not :-)

The common reasons for going to the start of the thread and then not
proceding is a problem with motion.spindle-revs not be hooked up.
(revs means revolutions, not revolutions per minute)
If this pin is actually connected then it maybe that it is counting in
the wrong direction. it needs to count up for normal spindle rotation.
(and it needs to count up at 1 unit per revolution)

The spindle-enable reference you found it something completely different.
This is probably the reference you need:
http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_synchronized_motion_a_id_sec_spindle_synchronized_motion_a
-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread Kip Shaffer
I can't answer your question directly, but last night I was working to do
the same thing and got it to work!

I did notice the same behavior, moving to the proper X and never starting.
 For me the problem was that I was using both phases A and B, and that the
encoder was counting down, not up.  Reversing A and B fixed the problem.

Maybe this will help you too.

-Kip


On Mon, Nov 11, 2013 at 6:35 AM, Viesturs Lācis viesturs.la...@gmail.comwrote:

 Hello!

 I am trying to help a guy that has retrofitted a lathe to LinuxCNC.
 He has 5i25 + 7i77 cards and 2.5.0 version installed.

 The problem is that I cannot figure out, how to get threading to work. G76
 command will bring the tool along X to proper thread depth and then stop.
 It seems to me that it is waiting for a signal on
 motion.spindle-index-enable.
 That pin is connected to encoder.00.index-enable pin, I checked - there is
 index pulse coming from encoder every spindle revolution, but I do not see
 any pulses in Halscope on index-enable pin.
 I tried playing with index-mask and index-mask-invert parameters, but no
 success.
 This page does not seem helpful, explaining all the details on how to set
 it up:
 http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_enable

 I see that reference no:2 at the bottom, but I was not able to find any
 explanation in manual.

 I would appreciate, if somebody could share some link, where it is
 explained, how exactly spindle index-enable pin is treated in lathe config.

 --
 Viesturs

 --
 November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore
 techniques for threading, error checking, porting, and tuning. Get the most
 from the latest Intel processors and coprocessors. See abstracts and
 register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread andy pugh
On 11 November 2013 12:40, Kip Shaffer k...@shafferhouse.org wrote:

  For me the problem was that I was using both phases A and B, and that the
 encoder was counting down, not up.  Reversing A and B fixed the problem.

I have had the same problem. Making the encoder scale negative is an
easier fix than rewiring.

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Way to control 6 axis robot, jerk limitation. Araisrobo?

2013-11-11 Thread Gene Heskett
On Monday 11 November 2013 08:11:03 Marius Alksnys did opine:

 You where right about path. It ran from /usr/bin/linuxcnc because I used
 sudo for starting linuxcnc, but not for configuring environment.

Sudo to root is not required to run linuxcnc.  If the ~/linuxcnc/configs 
tree, and the ~/linuxcnc/nc_files tree are installed in your home 
directory, and you own everything there, it should and does run just fine 
as you.
 
 Now I tried to run the right one, but:
 
 LINUXCNC - master-2013.08.18 ARAIS ROBOT TECHNOLOGY
 Machine configuration directory is
 '/home/cnc/araisrobo/configs/sim/axis' Machine configuration file is
 'axis_mm.ini'
 Starting LinuxCNC...
 io started
 halcmd loadusr io started
 motmod: dlopen: /home/cnc/araisrobo/rtlib/motmod.so: cannot open shared
 object file: No such file or directory
 core_sim.hal:7: /home/cnc/araisrobo/bin/rtapi_app exited without
 becoming ready
 core_sim.hal:7: insmod failed, returned -1
 Shutting down and cleaning up LinuxCNC...
 
 I think I have to solve motmod.so problem. But don't know how.
 Maybe you could connect remotely? I would appreciate your help.. You can
 suggest program to use. You can contact me using email or google hangout
 - I will respond quickly, I am online.

I am lost. Neither of my systems, both running the current build of 2.5.3, 
have a locateable rtlib, nor a locateable motmod.so.  And they're 
running fine.

I'm running everything with steppers and pwm controlled spindles. And the 
only time I have to use sudo is to administer one of the package managers.  
So I'll bow out and let the real experts opine on this.

 
 
 
 
 -- November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore techniques for threading, error checking, porting, and tuning.
 Get the most from the latest Intel processors and coprocessors. See
 abstracts and register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.cl
 ktrk ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)

Nothing is so firmly believed as that which we least know.
-- Michel de Montaigne
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
 law-abiding citizens.

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread Gene Heskett
On Monday 11 November 2013 08:35:30 Viesturs Lācis did opine:

 Hello!
 
 I am trying to help a guy that has retrofitted a lathe to LinuxCNC.
 He has 5i25 + 7i77 cards and 2.5.0 version installed.
 
 The problem is that I cannot figure out, how to get threading to work.
 G76 command will bring the tool along X to proper thread depth and then
 stop. It seems to me that it is waiting for a signal on
 motion.spindle-index-enable.
 That pin is connected to encoder.00.index-enable pin, I checked - there
 is index pulse coming from encoder every spindle revolution, but I do
 not see any pulses in Halscope on index-enable pin.
 I tried playing with index-mask and index-mask-invert parameters, but no
 success.
 This page does not seem helpful, explaining all the details on how to
 set it up:
 http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_enable
 
 I see that reference no:2 at the bottom, but I was not able to find any
 explanation in manual.
 
 I would appreciate, if somebody could share some link, where it is
 explained, how exactly spindle index-enable pin is treated in lathe
 config.

Do you have this in the .hal file?
setpencoder.0.index-enable  true

I have two odd lines in my .hal file, without which some of axis won't run:

# required by axis
net dumbsig motion.spindle-speed-out
net spindle-velocitymotion.spindle-speed-in
# note, these are signal names both with a source but no loads specified.

net spindle-index   encoder.0.index-enable  
motion.spindle-index-enable pid.0.index-enable

And:
# get spindle encoder outputs
net A-phase encoder.0.phase-A   
parport.0.pin-12-in
net B-phase encoder.0.phase-B   
parport.0.pin-15-in
net Z-index encoder.0.phase-Z   
parport.0.pin-13-in

Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)

Ernest asks Frank how long he has been working for the company.
Ever since they threatened to fire me.
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
 law-abiding citizens.

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] gcmc - v1.2.0

2013-11-11 Thread Bertho Stultiens
Hi All,

A new release, 1.2.0, has been made for the G-code meta compiler.
Changes include:
-  and  operators on scalars, vectors and vector-lists
- full axis support for XYZ, ABC and UVW
- fixed arcs to output valid IJK values and correct XYZ coordinates
(thanks Tony for spotting the problem)
- slight performance improvement using value structure caching reducing
malloc/free overhead.

You can get the tar-ball and a windows executable at:
  http://www.vagrearg.org/content/gcmc

The online documentation has been updated to include a functional
description of the shift operators and additionally a description how
undefined values are handles in calculations.

-- 
Greetings Bertho

(disclaimers are disclaimed)

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen

2013-11-11 Thread Peter C. Wallace
On Mon, 11 Nov 2013, Hugh Wylie wrote:

 Date: Mon, 11 Nov 2013 08:19:36 +0200
 From: Hugh Wylie hwy...@mweb.co.za
 Reply-To: Enhanced Machine Controller (EMC)
 emc-users@lists.sourceforge.net
 To: emc-users@lists.sourceforge.net
 Subject: [Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen
 
 Four stepgens and one pwmgen are invoked in a  LinuxCNC 2.5.2 environment as
 follows, resulting in step rate limitation on all four joints:



 loadrt hm2_pci config=firmware=hm2/5i23/SVST4_8.BIT num_encoders=0
 num_pwmgens=1 num_3pwmgens=0 num_stepgens=4



 Under this configuration, maximum step rate is limited to approximately
 250Hz, while without 5i23 pwmgen invocation the 4 stepgens perform as
 expected (with good step rate headroom).



What symptom do you have?

Do you have the per axis Stepgen maxaccel set to 1.25 times the
the per axis machine acceleration limits?

If this is not done you may get following errors


 Having confirmed that this limitation is independent of host motherboard but
 identical on two Mesa 5i23 adapters tested, and independent of pwmgen
 frequency between 400Hz and 20kHz, it is expected that this is a firmware
 rather than performance constraint of the FPGA on the 5i23 adapter. The ini
 file is unchanged between configs with or without 5i23 pwmgen.


I doubt that this is any kind of FPGA performance constraint (the 5I23 
stepgens are capable of 12 MHZ step rates) And while stepgens mixed with 
PWMgens is not terribly common, its used in a lot of step/dir systems with 
analog controlled spindles.





 What steps are needed to overcome this constraint?







 --
 November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models. Explore
 techniques for threading, error checking, porting, and tuning. Get the most
 from the latest Intel processors and coprocessors. See abstracts and register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
()_() signature to help him gain world domination.


--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread Viesturs Lācis
2013/11/11 andy pugh bodge...@gmail.com

 On 11 November 2013 11:35, Viesturs Lācis viesturs.la...@gmail.com
 wrote:

  The problem is that I cannot figure out, how to get threading to work.
 G76
  command will bring the tool along X to proper thread depth and then stop.
  It seems to me that it is waiting for a signal on
  motion.spindle-index-enable.

 Maybe, maybe not :-)

 The common reasons for going to the start of the thread and then not
 proceding is a problem with motion.spindle-revs not be hooked up.
 (revs means revolutions, not revolutions per minute)


It is connected to hm2_5i25.0.encoder.00.position


 If this pin is actually connected then it maybe that it is counting in
 the wrong direction. it needs to count up for normal spindle rotation.
 (and it needs to count up at 1 unit per revolution)


It is counting up.

The spindle-enable reference you found it something completely different.
 This is probably the reference you need:

 http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_synchronized_motion_a_id_sec_spindle_synchronized_motion_a


Sorry for the mistake, yes, I already was looking at 6.1 section.

Is there anything I should know about index-enable being IO pin, not plain
IN or OUT?

-- 
Viesturs
--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Index-enable pin question

2013-11-11 Thread andy pugh
On 11 November 2013 16:43, Viesturs Lācis viesturs.la...@gmail.com wrote:

 Is there anything I should know about index-enable being IO pin, not plain
 IN or OUT?

No, other that it can only be connected to another IO pin.

It's easy enough to test. I think that you can even sets the signal
without halcmd complaining
Then watch the value in halmeter, it should go false then the index
passes the sensor.

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] (no subject)Rotary problems

2013-11-11 Thread aaron moore
Thanks for all your help on this one. As a result I have improved performace a 
bit and maybe a more powerful z stepper driver will make it even better.
Thanks again
Aaron
- Original Message -
From: Gene Heskett
Sent: 11/10/13 02:58 PM
To: emc-users@lists.sourceforge.net
Subject: Re: [Emc-users] (no subject)Rotary problems

On Sunday 10 November 2013 09:38:22 andy pugh did opine:  As I appear to have 
been ignored...   The problem probably is linked to the limited lookahead, 
but if you  only notice it when the rotary is involved, then it may be that 
the  rotary acceleration is much too low.  It is acceleration that limits how 
fast a particular segment is  allowed to run, and the lowest-accel axis will 
dominate.   Angular axis acceleration numbers are relatively enormous as a  
consequence of the units. Tens of thousands of degrees/s/s I didn't go that 
extreme, but I am likely too low too, I was considering that the table has no 
inertia since its geared down 90 times, and was more concerned with the added 
mass of the all steel couplings I had made, which probably weigh about the same 
as the 425 motor's armature, and are about the same diameter. Some day I should 
make a new motor mount, sized 2 shorter, and using one of the alu flex 
couplings which would be ounces lighter. I bought a pag of them 
 on fleabay when I started on the lathe. But I would also insert ball thrust 
washers for worm end play which I do not now have. That made a large difference 
in how much movement power actually got to the XY tables. Using those, hidden 
in the bearing hubs on the xy tables, with factorylike 20 tpi 10mm acme screws, 
a stalled spindle will break off a 1/4 solid carbide end mill, ditto if it 
plugs up cutting dead soft alu. I need more spindle revs and horsepower, about 
10x more, badly. 200 watt motor, 2500 revs wide open, sucks. Its a toy. Cheers, 
Gene -- There are four boxes to be used in defense of liberty: soap, ballot, 
jury, and ammo. Please use in that order. -Ed Howdershelt (Author) It is 
indeed desirable to be well descended, but the glory belongs to our ancestors. 
-- Plutarch A pen in the hand of this president is far more dangerous than 200 
million guns in the hands of law-abiding citizens. 
-- 
November 
 Webinars for C, C++, Fortran Developers Accelerate application performance 
with scalable programming models. Explore techniques for threading, error 
checking, porting, and tuning. Get the most from the latest Intel processors 
and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk 
___ Emc-users mailing list 
Emc-users@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/emc-users



Re-Form Furniture
Aaron Moore 
Conileigh
Skinners Bottom
Redruth
Cornwall
TR16 5DY

Tel: 01209 890084
Mob: 07805686188
Email:aaronmo...@linuxmail.org
Web: www.re-formfurniture.co.uk
--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] (no subject)Rotary problems

2013-11-11 Thread Gene Heskett
On Monday 11 November 2013 12:35:44 aaron moore did opine:

 Thanks for all your help on this one. As a result I have improved
 performace a bit and maybe a more powerful z stepper driver will make
 it even better. Thanks again
 Aaron

Gah!  Can't you train that GMX Web Mailer to do quotes better?  First off, 
its throwing away all line feeds.  No one but me now knows where Andy's 
message ends and my reply begins.  Thats not good netiquet.  Worse than 
GoogleGroups even except they triple space everything after throwing away 
all the original line breaks.

We don't normally top post as you did above, but usually reply by mixing 
our replies into the conversation.  As I'm doing here.

 - Original Message -
 From: Gene Heskett
 Sent: 11/10/13 02:58 PM
 To: emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] (no subject)Rotary problems
 
 On Sunday 10 November 2013 09:38:22 andy pugh did opine:  As I appear
 to have been ignored...   The problem probably is linked to the
 limited lookahead, but if you  only notice it when the rotary is
 involved, then it may be that the  rotary acceleration is much too
 low.  It is acceleration that limits how fast a particular segment is
  allowed to run, and the lowest-accel axis will dominate.   Angular
 axis acceleration numbers are relatively enormous as a  consequence of
 the units. Tens of thousands of degrees/s/s I didn't go that extreme,
 but I am likely too low too, I was considering that the table has no
 inertia since its geared down 90 times, and was more concerned with the
 added mass of the all steel couplings I had made, which probably weigh
 about the same as the 425 motor's armature, and are about the same
 diameter. Some day I should make a new motor mount, sized 2 shorter,
 and using one of the alu flex couplings which would be ounces lighter.
 I bought a pag of them on fleabay when I started on the lathe. But I
 would also insert ball thrust washers for worm end play which I do not
 now have. That made a large difference in how much movement power
 actually got to the XY tables. Using those, hidden in the bearing hubs
 on the xy tables, with factorylike 20 tpi 10mm acme screws, a stalled
 spindle will break off a 1/4 solid carbide end mill, ditto if it plugs
 up cutting dead soft alu. I need more spindle revs and horsepower,
 about 10x more, badly. 200 watt motor, 2500 revs wide open, sucks. Its
 a toy. Cheers, Gene -- There are four boxes to be used in defense of
 liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed
 Howdershelt (Author) It is indeed desirable to be well descended, but
 the glory belongs to our ancestors. -- Plutarch A pen in the hand of
 this president is far more dangerous than 200 million guns in the hands
 of law-abiding citizens.

Now, because it stripped all line breaks, it has also broken any signature 
detection.  Normally, the \n-- \n that WAS after the Cheers, Gene above 
is the quoting mechanisms stopper so we don't endlessly repeat signatures 
in a long conversation.  Please try a different email agent, maybe 
thunbderbird?
 ---
 --- November Webinars for C, C++, Fortran Developers Accelerate
 application performance with scalable programming models. Explore
 techniques for threading, error checking, porting, and tuning. Get the
 most from the latest Intel processors and coprocessors. See abstracts
 and register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.cl
 ktrk ___ Emc-users mailing
 list Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
 
 
 
 Re-Form Furniture
 Aaron Moore
 Conileigh
 Skinners Bottom
 Redruth
 Cornwall
 TR16 5DY
 
 Tel: 01209 890084
 Mob: 07805686188
 Email:aaronmo...@linuxmail.org
 Web: www.re-formfurniture.co.uk
 
 -- November Webinars for C, C++, Fortran Developers
 Accelerate application performance with scalable programming models.
 Explore techniques for threading, error checking, porting, and tuning.
 Get the most from the latest Intel processors and coprocessors. See
 abstracts and register
 http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.cl
 ktrk ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)

audiophile, n:
Someone who listens to the equipment instead of the music.
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
 law-abiding citizens.

--
November Webinars for C, C++, Fortran Developers

[Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen

2013-11-11 Thread Hugh Wylie
 Four stepgens and one pwmgen are invoked in a  LinuxCNC 2.5.2 environment
as

 follows, resulting in step rate limitation on all four joints:

 

 

 

 loadrt hm2_pci config=firmware=hm2/5i23/SVST4_8.BIT num_encoders=0

 num_pwmgens=1 num_3pwmgens=0 num_stepgens=4

 

 

 

 Under this configuration, maximum step rate is limited to approximately

 250Hz, while without 5i23 pwmgen invocation the 4 stepgens perform as

 expected (with good step rate headroom).

 

 

 

What symptom do you have?

 

For example, irrespective of alternate commands G1 x50 Fr / G1 x0 Fr, where
100 = r = 2500, the joint accelerates smoothly to a maximum feedrate
somewhere in the range of 170 - to be more precise, the reported step pulse
interval of ~4ms (~250Hz), and eventually decelerates to the required end
position.

 

Varying steplen and stepspace have no effect (within reasonable bounds, of
course - the pulse width is observed to reflect ini parameter value). The
cap on joint step rate accordingly manifests in large to very large
following errors, depending on the value of 's' - you will see that
min_ferror is set to 50!

 

Do you have the per axis Stepgen maxaccel set to 1.25 times the

the per axis machine acceleration limits?

 

As the attached ini file shows, stepgen_maxaccel is generally set to 4/3 of
maxaccel (ratio lower in case of Z axis), but setting these to a 5/4 ratio
has no impact.

 

If this is not done you may get following errors

 

 

 Having confirmed that this limitation is independent of host motherboard
but

 identical on two Mesa 5i23 adapters tested, and independent of pwmgen

 frequency between 400Hz and 20kHz, it is expected that this is a firmware

 rather than performance constraint of the FPGA on the 5i23 adapter. The
ini

 file is unchanged between configs with or without 5i23 pwmgen.

 

 

I doubt that this is any kind of FPGA performance constraint (the 5I23 

stepgens are capable of 12 MHZ step rates) And while stepgens mixed with 

PWMgens is not terribly common, its used in a lot of step/dir systems with 

analog controlled spindles.

 

This is exactly the application of the pwmgen, to avoid s/w pwmgen dither /
speed resolution limitation.

 

Since I agree that FPGA performance cannot be the issue here, I will pursue
the recommendation of Andy Pugh to trace driver parameters - after checking
the docs for raw mode invocation!

 

 



pwm-test.ini
Description: Binary data


pwm-test.hal
Description: Binary data
--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen

2013-11-11 Thread Peter C. Wallace
On Mon, 11 Nov 2013, Hugh Wylie wrote:

 What symptom do you have?



 For example, irrespective of alternate commands G1 x50 Fr / G1 x0 Fr, where
 100 = r = 2500, the joint accelerates smoothly to a maximum feedrate
 somewhere in the range of 170 - to be more precise, the reported step pulse
 interval of ~4ms (~250Hz), and eventually decelerates to the required end
 position.



 Varying steplen and stepspace have no effect (within reasonable bounds, of
 course - the pulse width is observed to reflect ini parameter value). The
 cap on joint step rate accordingly manifests in large to very large
 following errors, depending on the value of 's' - you will see that
 min_ferror is set to 50!




What is your servo thread latency?


I've seen pathological stepgen behaviour with poor servo thread latency


Peter Wallace
Mesa Electronics

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Mesa 5i23 step rate limitation with concurrent pwmgen

2013-11-11 Thread Hugh Wylie
 Under this configuration, maximum step rate is limited to 

 approximately 250Hz, while without 5i23 pwmgen invocation the 4 

 stepgens perform as expected (with good step rate headroom).

 

That's rather odd.

Is it the same with (for example) SVST8_4? This might require headers
swapping.

 

Can you enable raw mode and see if the driver it writing the correct step
rates to 0x2000, 0x2004, 0x2008?

(The addresses come from this file:

http://git.linuxcnc.org/gitweb?p=hostmot2-firmware.git;a=blob;f=regmap;h=b3a
2a77c27de0c71278dc910992efeddd7deb577;hb=HEAD

)

 

These steps will help to determine if the problem is in the driver code or
the FPGA code.

 

Gents, my apologies for wasting your time.

 

When I began peeking HAL config I found that hm2_5i23 parameters were not as
defined in the ini file, and by poking maxvel and maxaccel quickly confirmed
there is not a problem on the 5i23, nor with driver parameter passing.

 

Let's just say I don't recall overriding parameter passing between ini and
hal configs by presetting fixed values for maxvel and maxaccel in the hal
file!

 

All now working as expected.

 

--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] gcmc - v1.1.1

2013-11-11 Thread alan
On 09/11/2013 20:22, Bertho Stultiens wrote:
 On 11/09/2013 07:40 PM, alan wrote:
 I also think this is a good idea.
 To test it I have quickly rewritten my g-code wheels program see
 attached file.
 It currently works only for paths cut in XY plane using XY movements. I
 cannot check this but  the axis path plot look ok.
 Nice pattern. I'll include it, but may alter the formulation of the code
 a bit (see below).

 I am really excited that the grammar performs this well :-)


 My setup is a rotary system so I need to convert all cartesian XYZ
 movements into polar R theta depth movements where rotation is around
 the Z axis.  Instead of move emitting g1 X?? Y?? Z?? I need to emit g1
 x?? C?? Z?? . I am not sure how to do this. I havent looked yet in
 detail at the source code . I would appreciate any help / suggestions
 you have for creating a polar version of the goto and move functions.
 The current gcmc version uses a 6-axis system XYZABC in the vectors to
 move/goto calls. Arcs only use XYZ.

 However, there is a bug that fails the output at the moment because the
 ABC axes are converted to mm and not to degrees. A fix is in git (and
 pushed to gitorious).

 To move in a XZC axis system, you have vectors that look like:
 vec = [x, -, z, -, -, c];

 An additional fix is in the pipeline which includes a 9-axis system
 XYZABCUVW, where XYZ and UVW are distance based and ABC angular based
 (also pushed to gitorious).



 A few comments on the code.
 You write:
function CreateWheel(r,s,p) {
  local w;
  w = [r,s,p];
  return w;
}

 It could be simply written as (faster at runtime):
function CreateWheel(r,s,p)
{
  return [r,s,p];
}


 FWIW, you do not need the function as such... You call it with explicit
 addressing as:
wheels = {};
wheels[0] = CreateWheel(10,1,0);
wheels[1] = CreateWheel(5,7,0);
wheels[2] = CreateWheel(3.333,-17,90);

 I would have written:
wheels = {};
wheels += { CreateWheel(10,1,0) };
wheels += { CreateWheel(5,7,0) };
wheels += { CreateWheel(3.333,-17,90) };
 or
wheels = { [10, 1, 0], [5, 7, 0], [3.333, -17, 90] };
 Both alternatives have the advantage that you do not need to keep track
 of the indices yourself. However, the latter may be more difficult to
 understand. There are more ways to come to the same result.

Thanks Bertho,

I did originally write both parts as per your changes. But kept getting 
a compilation error. I cannot remember what the message was and it was 
probably because of something else. So made those changes and it all 
seemed to work . I probably inadvertantly fixed the real problem but not 
having written C in such a long time I am not sure what was wrong.

 Something not documented correctly (or not extensively enough) is the
 conversions of sin() arguments and to_XXX() functions. You do explicit
 radians conversion in CalcPoint() using to_rad().

 If you have defined the angles from the start, then the conversions will
 be implicit in the grammar:
 wheels = { [10, 1, 0deg], [5, 7, 0deg], [3.333, -17, 90deg] };
 ...and...
 CutPath(wheels, 0deg, 0.01deg, 360deg, cuttingdepth, svec);

 The sin(), cos() and tan() functions will internally convert from
 degrees to radians before calling the underlying system sin/cos/tan
 function.
Didnt know about that thanks for the information

Finally a comment about angles. I found when generating gcode in my own 
windows based program that I had to be careful with angles greater than 
360. (This was before wrapped axes havent tried wrapped axes so dont 
know what will happen) . If I generated a path with multiple turns 
around the origin (easy to do with the wheels patterns), so that for 
example the polar coordinates (radius, angle,depth) of successive points 
was say (10,360,-1) then (12,10,-1) then (15,40,-1) in the same 
direction which for my setup is anticlockwise. Linuxcnc would get to 360 
then do a clockwise move back to 10 ploughing a nice big path through 
the work and spoiling the pattern. So I have to generate positions 
(10,360,-1) (12,370,-1),(15,400,-1) to keep rotating in the same 
direction.  So I keep a note of how many times the cutter crosses the x 
axis in an anticlockwise direction (the winding number) and use this to 
calculate the angle. If the cutter has a retrograde move and crosses the 
x in a clockwise direction I reduce this winding number.

I mention this because generating polar coordinates is not quite so 
straightforward as cartesians. So even using your example below

vec = [x, -, z, -, -, c];

There has to be some pre-processing. Can this be accomodated by your meta 
compiler? Just thinking about your explicit angle conversions mentioned above.

Anyway keep up the good work, How far do you intend to take this structs? 
classes?
Alan



--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable 

Re: [Emc-users] Way to control 6 axis robot, jerk limitation. Araisrobo?

2013-11-11 Thread Marius Alksnys
Thank you all, especially Yishin, who helped me remotely. He had to call 
make clean and everything started to work (without sudo of course)

Marius


--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] gcmc - v1.1.1

2013-11-11 Thread Bertho Stultiens
On 11/11/2013 09:50 PM, alan wrote:
 I did originally write both parts as per your changes. But kept getting 
 a compilation error. I cannot remember what the message was and it was 
 probably because of something else. So made those changes and it all 
 seemed to work . I probably inadvertantly fixed the real problem but not 
 having written C in such a long time I am not sure what was wrong.

Yes, the error was probably hitting the mm/deg conversion bug. That
should be fixed in version 1.2.0, which I released earlier today.

I am happy to fix any bugs you encounter as long as I get an example
that triggers it.

Anyone who is not versed in C may prefer not to delve into the code and
I am just as happy to receive examples, comments and suggestions. My
background is EE/CS, so my strengths are more in the computer stuff than
the mechanics.


 The sin(), cos() and tan() functions will internally convert from
 degrees to radians before calling the underlying system sin/cos/tan
 function.
 Didnt know about that thanks for the information

Yeah, the automatic conversion of units was one of my original design
parameters of the language. I have had so many problems and stupid
errors when doing it manually that I considered it to be a requirement.


 Finally a comment about angles. I found when generating gcode in my own 
 windows based program that I had to be careful with angles greater than 
 360. (This was before wrapped axes havent tried wrapped axes so dont 
 know what will happen) . If I generated a path with multiple turns 
 around the origin (easy to do with the wheels patterns), so that for 
 example the polar coordinates (radius, angle,depth) of successive points 
 was say (10,360,-1) then (12,10,-1) then (15,40,-1) in the same 
 direction which for my setup is anticlockwise. Linuxcnc would get to 360 
 then do a clockwise move back to 10 ploughing a nice big path through 
 the work and spoiling the pattern. So I have to generate positions 
 (10,360,-1) (12,370,-1),(15,400,-1) to keep rotating in the same 
 direction.  So I keep a note of how many times the cutter crosses the x 
 axis in an anticlockwise direction (the winding number) and use this to 
 calculate the angle. If the cutter has a retrograde move and crosses the 
 x in a clockwise direction I reduce this winding number.

I do not use any modulo or other alteration in the coordinates, polar or
Cartesian (expect for unit conversion and relative output option). You
are absolutely right that 361 degrees and -1 degree are not the same in
terms of machining as it encodes directional information. Also, as you
correctly comment, 0, 360 and 720 degrees are distinct separate
positions, considering the winding of the axis.

I actually do not know how LinuxCNC handles this because I never /used/
a mill with a rotational axis, but my guess is that it does not do some
modulo or other stupid stuff...

I had some consideration about the angular axes, but decided quite early
on that the user-program had to decide the actual magnitude and not some
mathematical idea of modulo calculus.


 I mention this because generating polar coordinates is not quite so
 straightforward as cartesians. So even using your example below
 vec = [x, -, z, -, -, c];

I agree. Polar coordinate systems are much harder to use than Cartesian.
Especially because there is no general agreement on where which
rotational axis is mounted. Some may be on the mill's spindle (robotic
finger-joints), while others are part of the X or Y axis.

I have been pondering some generalizations, but have not come to any
result that could be used.

However, the example is still reasonably easy to handle. The trick lies
in the use of undef values in the vectors. The rules for undef are
such that simple operations have predictable result.

With the addition of shifts ( and ) in the new 1.2.0 it should even
be easier to handle coordinate subsets.

But still, you need to keep track while writing the program.


 There has to be some pre-processing. Can this be accomodated by your
 meta compiler? Just thinking about your explicit angle conversions
 mentioned above.

I have no plans of doing pre-processing at this moment. I do have some
considerations of defining values on the command-line, which then can be
used in the program. But I have not yet decided how to handle that.

You can always use the C-pre-processor as a front-end, which is a
text-substitution processor.

Anyway, if you have some ideas for pre-processing, let me know and we'll
debate the issue.


 Anyway keep up the good work, How far do you intend to take this
 structs? classes?

I'll take gcmc as far as is necessary for replacing manual gcode
programming. The sky is the limit :-)

Classes... no plans at all. It is not an Object Oriented mill I try to
control. There would be some few cases where it /might/ be useful, but
my intuition tells me that the complexity of OO is a bad fit for a mill
or a lathe.

Structs, that is another case. I have been