[Emc-users] Threading on a mill with fourth axis
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
Re: [Emc-users] c/c++ interface
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=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=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
Re: [Emc-users] c/c++ interface
On Tue, Mar 19, 2013 at 9:23 AM, Wesley Moore 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=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=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
> > One of my colleagues posted a design sim here: > > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=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] Fun with AC servos
On 19 March 2013 14:35, Eric Keller 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
On 19 March 2013 13:23, Wesley Moore wrote: > One of my colleagues posted a design sim here: > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=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
On Tue, Mar 19, 2013 at 9:09 AM, andy pugh 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
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] c/c++ interface
> 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
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=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&in 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
- Original Message - > From: "Michael Haberler" > To: "Enhanced Machine Controller (EMC)" > 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=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=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
[Emc-users] Fun with AC servos
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] How to get the A axis to display properly
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