Re: [Emc-users] How to get the A axis to display properly

2013-03-19 Thread Steve Blackmore
On Mon, 18 Mar 2013 15:37:30 -0600, you wrote:

I would like to get the A axis to lock on to my rotary table center
line. I have upgraded to LinuxCNC/Axis 2.5.0 and the A axis is still
locked on to the X axis machine position, G53. The INI line I am using
is GEOMETRY =  AXYZ. When I set the part position to be on the center
line of the rotary table using G54 I thought that the A axis center
would also move to the G54 position. The A axis is locking on to the
new X axis position, example move, X axis plus 2 inches from the
machine position then G54 G92 X0, then A will rotate at around the new
X G54 position. But I can not get the A axis to lock on to the new Y,Z
G54 position. LinuxCNC/Axis can work properly as you can see form the
youtube video   http://www.youtube.com/watch?v=R1DCXe9t3UE . 

The rotary table in that video is on the C axis, not the A axis?

A is rotary around X axis
B is rotary around Y axis
C is rotary around Z axis

Steve Blackmore
--

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Fun with AC servos

2013-03-19 Thread andy pugh
I have been struggling a bit with my Y-axis servos.
The setup is a 1-cycle per turn resolver on a 6-pole AC brushless servo motor.
Commutation is in software, using the bldc component. The drives are
Mesa 8i20, which take digital rotor angle and current values.
Initially the axis was moving smoothly in one direction, but not the other.
http://youtu.be/_CsaPcHpmos
At Cradek's suggestion I wired up HAL to send a constant low current
command to the drives when either of two front panel buttons were
pressed to take PID issues out of the system.
This showed that the axis moved very slowly in one direction, and fast
in the other. It turned out that the jerkiness in the +Y direction was
bad PID tuning in the good direction, and the bad direction was
simply too sluggish to show any issues.

The hm2 resolver module supplies virtual encoder counts, 16777216
counts per rev. These connect to the bldc rawcounts pin with the
bldc set to a mode (Absolute encoder).
The assumption in the original HAL config was that motor zero
matched resolver zero. This seened not to be the case.
Depending on Resolver phasing and phase-naming there are 4 possible
zeros per cycle.
The 3-phase, 6-pole motor has 3 ways to be wired, for 9 possible motor
zeros per revolution. However, these are redundant, so there are
only really 3 possibilities to consider.

The bldc component has an encoder-offset parameter to compensate for
such issues.
By a process of trial and error I found that an encoder-offset of
240 made the axis run equally well in both directions.
After some re-tuning with this setting, the axis runs like:
http://youtu.be/haO5ZJq-Y3c

However, it runs the wrong direction, and I have so far not managed to
find a combination of bldc scale, axis scale and offset that reverses
the motion without runaway. (And, in fact, I might have welded a relay
in my DC PSU during the experiment)

Some calculation indicates that if the resolver zero is aligned to
_one_ of the motor zeros then I need to try multiples of 16777216 / 12
= 1398101. This vaguely matches the 240 I currently have, if that
ought to be 280.

Tonight I will experiment with these numbers to see if I can find an
encoder-offset that gives me equal torque in both directions in the
fixed-current mode, but which runs in the opposite direction.

This is all surprisingly baffling, and I am meant to understand this
stuff better than most. :-)

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

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Wesley Moore
- Original Message -
 From: Michael Haberler mai...@mah.priv.at
 To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net
 Sent: Monday, March 18, 2013 6:57:15 PM
 Subject: Re: [Emc-users] c/c++ interface
 
 Wesley,
 
 Am 18.03.2013 um 19:45 schrieb Wesley Moore:
 
  Hey guys,
  
  I've been playing with linuxcnc a bit and have it working on ubuntu
  12.04.  Using the python modules, I've created a bridge to
  interface with EPICS (Experimental Physics and Industrial Control
  System).  Basically a network interface that calls the
  corresponding linuxcnc functions.  This simple bridge would
  require that I re-code callbacks for every function I need access
  too, so this doesn't scale well.
 
 
 I am working on related issues - could you give some examples which
 functions you intend to use?
 
 - Michael

Brief background: EPICS is a basically a client-server framework for 
cross-platform distributed controls.  The server-side provides variables that 
clients can read/write too.  The variables can store data or act as triggers.

Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of 
principle.  But our goal is to build a hexapod that's fully integrated with our 
EPICS controls, that's where I come in.  One of my colleagues posted a design 
sim here:

https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAindex=1

In the end, the most used controls would likely be jog, jog speed, and homing.  
Most of the configuration would be considered experts only and setup ahead of 
time.

Wesley

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Eric H. Johnson
Wesley,

For those basic functions, could you just use linuxcncrsh (emcrsh prior to
version 2.5), see:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Linuxcncrsh

Regards,
Eric


Brief background: EPICS is a basically a client-server framework for
cross-platform distributed controls.  The server-side provides variables
that clients can read/write too.  The variables can store data or act as
triggers.

Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of
principle.  But our goal is to build a hexapod that's fully integrated with
our EPICS controls, that's where I come in.  One of my colleagues posted a
design sim here:

https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAin
dex=1

In the end, the most used controls would likely be jog, jog speed, and
homing.  Most of the configuration would be considered experts only and
setup ahead of time.




--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Wesley Moore
 Wesley,
 
 For those basic functions, could you just use linuxcncrsh (emcrsh
 prior to
 version 2.5), see:
 http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Linuxcncrsh
 
 Regards,
 Eric

Thanks Eric.  

I actually just started looking into that as an option.  In general, telnet is 
frowned upon for security reasons.  But I have other systems that use it and we 
tuck them behind firewalls, etc.  With this setup, the PC doesn't have to act 
as the server, only a remote device.  I'm gonna follow-up and test this out.  
I'm also interested in any ideas from Michael H.

Wesley

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Eric H. Johnson
Wesley,

The protocol itself was never intended to be secure, but you can tunnel over
SSH to achieve that.

Regards,
Eric


Thanks Eric.  

I actually just started looking into that as an option.  In general, telnet
is frowned upon for security reasons.  But I have other systems that use it
and we tuck them behind firewalls, etc.  With this setup, the PC doesn't
have to act as the server, only a remote device.  I'm gonna follow-up and
test this out.  I'm also interested in any ideas from Michael H.


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Fun with AC servos

2013-03-19 Thread Eric Keller
On Tue, Mar 19, 2013 at 9:09 AM, andy pugh bodge...@gmail.com wrote:

 I have been struggling a bit with my Y-axis servos.
 The setup is a 1-cycle per turn resolver on a 6-pole AC brushless servo
 motor.

Andy,
What are you using to read the resolvers?
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread andy pugh
On 19 March 2013 13:23, Wesley Moore wmo...@jlab.org wrote:

  One of my colleagues posted a design sim here:
 https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAindex=1

That's pretty neat. It looks like genhexkins isn't general enough for
your design, though.
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/emc/kinematics/genhexkins.h;h=dce1a59e04b624b9a60693878750830074b161c1;hb=HEAD
As that seems to assume that the strut ends are fixed in space.

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

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Fun with AC servos

2013-03-19 Thread andy pugh
On 19 March 2013 14:35, Eric Keller eekel...@psu.edu wrote:

 What are you using to read the resolvers?

Mesa 7i49

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

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Wesley Moore

   One of my colleagues posted a design sim here:
  https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAindex=1
 
 That's pretty neat. It looks like genhexkins isn't general enough for
 your design, though.
 http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/emc/kinematics/genhexkins.h;h=dce1a59e04b624b9a60693878750830074b161c1;hb=HEAD
 As that seems to assume that the strut ends are fixed in space.

The design or the genhexkins?

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Przemek Klosowski
On Tue, Mar 19, 2013 at 9:23 AM, Wesley Moore wmo...@jlab.org wrote:

 Brief background: EPICS is a basically a client-server framework for 
 cross-platform distributed controls.  The server-side provides variables that 
 clients can read/write too.  The variables can store data or act as triggers.

We used EPICS around here (we're your relative neighbors from
NIST/NCNR in Gaithersburg MD)

 Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of 
 principle.  But our goal is to build a hexapod that's fully integrated with 
 our EPICS controls, that's where I come in.  One of my colleagues posted a 
 design sim here:

 https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAindex=1


hmm, 0.6/step, assuming 200 steps/rev is .012 inch/thread, or
83tpi. This is an ambitious lead screw---and also, don't forget about
the backlash. Typically backlash is in the few mil range, so it seems
that it seriously eats into your desired accuracy. You may need to
look into ballscrews and microstepping for this kind of accuracy.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] c/c++ interface

2013-03-19 Thread Michael Haberler
Wesley,

Am 19.03.2013 um 14:23 schrieb Wesley Moore:

 Brief background: EPICS is a basically a client-server framework for 
 cross-platform distributed controls.  The server-side provides variables that 
 clients can read/write too.  The variables can store data or act as triggers.

I had never heard of that; but I'll look at it more closely, there could be 
some interesting ideas in it. Some of the communication patterns sound very 
much what I have in mind (the future vehicle will be based on zeroMQ and 
protobuf encoded messages; with the option to carry NML as well for the 
migration period).

So this will the command  control layer I assume?

 Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of 
 principle.  But our goal is to build a hexapod that's fully integrated with 
 our EPICS controls, that's where I come in.  One of my colleagues posted a 
 design sim here:
 
 https://www.youtube.com/watch?v=8nSfLRaEPEElist=UU7zkQp-M-_i3c498p9MGWmAindex=1
 
 In the end, the most used controls would likely be jog, jog speed, and 
 homing.  Most of the configuration would be considered experts only and setup 
 ahead of time.

Note that due to history LinuxCNC sports two parallel methods of accessing and 
modifying state in the actual machine, with different API's - NML commands, and 
the HAL API; one a bit networked, the other not. Maybe you want to get a feel 
what these do, and let me know which ones match better what you need? for 
simple moves you might get away without NML altogether. HAL will remain in its 
current form but get a networked API on top for generalized command in/status 
out interfaces; NML I intend to completely replace eventually. It is unlikely 
this happens this year though, so dont rely on it.

If you would want to try a scripted approach to say jogging, or controlled 
moves, I suggest you explore the linuxcnc Python module; if needed, run it over 
SSH: http://www.linuxcnc.org/docs/html/common/python-interface.html


Could you point me to a simple example in EPICS how that is currently done 
_within_ that framework? 

I would assume that interfaces to other 'real world' systems as well, any 
examples for such interfaces?

regards

Michael


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Threading on a mill with fourth axis

2013-03-19 Thread Igor Chudov
I have a vertical mill with a fourth axis A.

My buddy wants me to write a subroutine that would let me mill  thread on
round parts, that are held in the fourth axis, and the thread would be
milled using a 60 degree chamfer end mill, rotating the part around the A
axis.

I have some questions about the odds and ends of this.

1. I would like to be able to say to the machine, in G code, that wherever
we are on the A axis, call it zero degrees position. In other words, I
want to change the coordinate system in G code for one A axis only. How do
I do it.

2. Is that correct that feedrate F in a G1 statement that changes both X,
as well as A, only refers to the change of X? I can live with that, I just
want to know.
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users