Re: [Emc-users] NGC highlighting in Vim

2008-06-02 Thread ben lipkowitz
On Sun, 1 Jun 2008, Gary Fixler wrote:

 2) NGC is different for every program that uses it. Everyone has their own
 implementation it would seem. I tried loading some of my EMC2 into a 3D
 visualizer for NGC, and it failed on just about everything. Reading NGC from
 other programs looks like an alien language to me. Right now I'm presuming
 EMC2's version of RS274/NGC, but I've really wanted to point that out in the
 syntax. E.g. right now I have this in the syntax file header:

Actually, it's RS274 that's different for every manufacturer. RS274-NGC 
was an effort by NIST to clear up all the incompatibilities by saying, 
look, here's how it should work, dammit and EMC was the reference 
implementation that came out of that. So, RS274-NGC is only one specific 
dialect. But it's the right one :)

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] How to set certain AXIS settings to defaults?

2008-03-20 Thread ben lipkowitz
On Wed, 19 Mar 2008, Gary Fixler wrote:

 The ini file should be IPS, whereas EMC's sliders show IPM. That's why I 
 was getting in the 1300s in EMC for my DEFAULT_VELOCITY = 22. That 
 doesn't explain why it's 1312 in EMC (22 * 60 = 1320), but at least it's 
 close, and I can set more realistic values now. Awesome.

This granularity is probably from the fixed number of pixels in the slider 
widget.

 Also, are any values NOT in the default install? I seem to recall in my
 travels finding some variables that weren't anywhere in my config file. It
 makes me wonder what cool features I might be missing. Maybe there's a list
 I haven't found yet?

http://linuxcnc.org/docs/html/config_ini_config.html
The ini file is supposed to be described completely here^^, however 
sometimes people forget to write documentation. Did I just hear you 
volunteering? :)

 delete /usr/share/axis/images/axis.ngc or set the environment variable
 AXIS_OPEN_FILE to the ngc you want to open as default

 It doesn't seem to be respecting my environment variable here, even if I
 immediately run '$ emc' after setting it in the same shell. I haven't tried
 the file delete trick yet, but am glad to know where it resides now. Thanks.

just tested this and it works:
export AXIS_OPEN_FILE=/home/fenn/sandbox/cxf_splash.py
emc

 I'm considering giving back eventually (when I know enough) by writing 
 up very simple explanations for simple folk like me, who feel a bit 
 overwhelmed in the beginning.

When you're ready: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BasicSteps

 I'm thinking now that a lot of my troubles, and strange occurrences in this
 particular area have been me incorrectly assuming that the conf settings are
 supposed to be in IPM (or forgetting that I read otherwise, as now it does
 sound familiar). I guess IPS just doesn't make sense to me, and as such I
 wouldn't presume it, because my mill has trouble moving just 1IPS. What's
 the use counting in floating points 1? :)

I agree. The configuration file should allow you to specify in furlongs 
per fortnight if you so desire, but the .ini file format makes this 
impossible, or at least not worth the extra complexity.

 Step 1 for me now is to figure out what ground loops, and capacitive
 couplings are!



 I don't think I can afford any more stepper drivers. I have
 Sherline's only offering, and it was $600. Being a total newbie, and having
 decided I liked, and could afford their 5400 CNC package

I'm not sure how you managed to acquire a sherline CNC for $600 as the 
base price is $2450 (which seems high to me). I would expect the factory 
setup to not hiss, catch fire, electrocute you, etc. You should call them 
and find out what the problem might be.

 How do people normally add things like contact stops, and probes? Are these
 part of better driver systems? I've also wondered if there was anything that
 could be done in-line. For example, the Sherline box would plug into another
 box, which would then plug into the serial port. That box could insert codes
 into the stream for the missing features above. This is probably an insane
 notion, and might quickly overflow any buffers it encounters along the way
 with too much data.

This doesn't work, because rs-232 is not fast enough, and has 
unpredictable latencies, and needs special drivers for the device on the 
end of the cable. There are similar problems with most other networking 
technologies. This doesn't mean it's impossible, but it starts to diverge 
quickly from what EMC is really all about, a PC based machine control. 
(edit: i probably misunderstood you here. sherline uses a parport 
connector and simple logic signals, no codes or buffers or data)

There are several interface cards you can add to the PCI bus, although for 
most people the parallel port connection they drive the steppers with has 
enough spare I/O for some switches and spindle control. You could tap into 
the parport line before it goes to the sherline driver card/box.

interface cards:
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EMC2_Supported_Hardware

 If other drivers do all of this cool extra stuff, maybe I should just
 upgrade, and sell the Sherline box to someone who will undoubtedly then show
 up in here at some point, with all of my same problems, and I can instruct
 him to sell the box, and get something better. The circle of life continues.

Some fancy motion control systems can cost up to 10 times (or more) what 
you paid for the whole system, and are overkill for this application. 
However, you can probably improve what you have if you learn a little bit. 
Maybe another sherline user can chime in here?

 I'm excited that a run-from-line is even in the works! It was one of the
 features I've already wished for, several times. I've taken to jotting down
 a sensible number from the scrolling lines, killing out, and then deleting
 everything before that line, and saving out as a new, partial file from
 which to complete things. I imagine 

Re: [Emc-users] home-mad CNC machine project.

2008-03-16 Thread ben lipkowitz
On Sat, 15 Mar 2008, [EMAIL PROTECTED] wrote:

 The second thought is EMC2 related.  The linear scales, while very
 accurate in themselves have not proven to be very good for use with EMC2
 control.  The problem has to do with backlash in the drive components. 
 Our backlash compensation counts encoder pulses to find the other edge of
 the lash whenever the direction reverses.  Since the linear scale is
 connected on the work piece side of the lash EMC will not see pulses
 until the lash has been taken up.  Even small amounts of lash will cause
 a well controlled servo system to hunt and overshoot.  We've talked about
 using a motor driven encoder connected to one PID loop in our software to
 handle this lash problem and another PID connected to the linear scale to
 handle final positioning.  I don't know that any real tests of such a
 system have been reported.

Done and done. See 
http://jmkasunich.com/cgi-bin/blosxom/shoptask/wichita-trip-02-20-08.html

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] IMAGE-TO-GCODE PCB

2008-03-13 Thread ben lipkowitz
   http://unpy.net/cgi-bin/viewcvs.cgi/eagle/ulp/

Does it work for KICAD files?

 No.  That program is only for the eagle circuit board program from
 cadsoft.de.

GCAM http://gcam.js.cx/ claims to import and cut along rs274x gerber 
files, which kicad can export. Additionally, it's Free and runs on linux!
Please let us know if this works out for you.

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Spindle Index

2008-03-11 Thread ben lipkowitz
 If you make a disk, the number of slots per revolution will be limited 
 to something like 30kHz/3k RPM = 10
 Note the common thinko here:  3k RPM is not the same as 3k RPS.

 3kRPM = 50 RPS, so if you assume 30 kcounts/sec, you have 3 Hz / 50
 = 600 counts/rev to play with.

 *%$# it, I've been doing this all day. Thanks for correcting me.
 Someone might have taken it as being correct. Question everything
 seems to be good advise. Plus, writing out your units in equations.

Or you could use the GNU 'units' program which is available for windows [1]
or any linux distribution, [2] like so:
$ units 30kHz/3krpm 1/rev
 * 600

 I would think 50 slots per revolution would be plenty, making 200
 quadrature counts per revolution, so with the correction, we go from
 being on the edge to being well within limits (10 kHz (?)). For Penance,
 I should build an encoder and test it. Let's see, a 3 disk is ~ 9 in
 circumference, 9/50 = .180 slot width, piece of cake. Although, I seem
 to remember someone has a bright yellow lathe with a disk like this.

It also works in reverse:
$ units 3krpm*50*4/rev kHz
 * 10
Now, isn't that handy?
   -fenn

[1]: http://gnuwin32.sourceforge.net/packages/units.htm
[2]: 'apt-get install units' or http://ftp.gnu.org/gnu/units/units-1.87.tar.gz

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Serial Encoders

2008-03-10 Thread ben lipkowitz
On Mon, 10 Mar 2008, John Kasunich wrote:
 
 Kirk Wallace wrote:
 I am looking into adding a knob for setting spindle speed manually. This
 serial encoder is close to what I am looking for:

 http://www.usdigital.com/products/a2/

 but is over-kill and way too expensive. Does anyone have a link to an 8
 or 10 bit serial (SPI like) absolute encoder? I checked Digikey but
 didn't find anything. Other options are to use a potentiometer and
 serial ADC or PWM to serial, but an inexpensive single unit would be
 better. Thanks.

 I would not recommend absolute encoders (or pots with A/Ds, which are
 also absolute).

 Think about something like feed override, where the is a slider on the
 GUI as well as a physical knob.  If you turn the knob, EMC will adjust
 the position of the slider to match.  But if you move the GUI slider, it
 is impossible to turn the knob to match.

 If you use an incremental encoder with no scale, then it can coexist
 nicely with the GUI slider (or with other physical controls - for
 example you could have a knob at the machine control, and another knob
 located on the far side of a large machine table.

 Another example would be on-off controls like spindle or coolant.  If
 you use a toggle switch, you can have only one.  If you use start and
 stop buttons, you can have as many of each as you want.

 This concept of using incremental controls is a fundamental principle
 adopted by NIST when they were designing EMC.  Think long and hard about
 the implications before you switch to absolute controls.

 Regards,

 John Kasunich

I agree wholeheartedly with John. However if you do need an inexpensive 
absolute encoder, austria microsystems makes an interesting magnetic 
sensor with 8-12 bit precision for under $20:
http://www.austriamicrosystems.com/03products/20_rotary_encoders.htm
They have the magnets too.

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Hardware suggestions for EMC

2008-03-06 Thread ben lipkowitz
Marcin,

I found your Factor E project very interesting and hope to contribute.

For the control, you might wish to investigate the use of a thin client 
which is a diskless, lightweight computer intended mainly for web surfing.

I've been playing around with the Netier XL1000; see:
http://fennetic.net/machines/netier
which sells on ebay for $30 shipped. (sometimes for much less.) It's an 
AMD K2 processor clocked at 200-400MHz depending on whether the heatsink 
has a fan or not. Also the RAM is limited at 32MB stock but it's 
expandable (2 slots) with low-profile DIMM's. These have a 44-pin 2mm 
spacing IDE connector (read: weird) which I've used to successfully boot 
from a compact flash drive. A better solution is to PXE boot over the 
network and run the whole thing via a laptop connected to the ethernet 
port with a crossover cable or hub. Then you can run AXIS remotely on 
whatever laptop you have. Think of it more like a printer than a game 
console.

The advantages: it's small, has a parallel port,  has no moving parts,
has a PCI/ISA riser slot (i think that's what the brown connector is for)

The Netier achieved 50,000ns max latency over the course of several days 
with X11 turned off; the latency goes up to ~1ms if you move a window 
around. So, 50,000ns = 10kHz max step rate -- 2kHz realistic step rate. 
Won't run a high-speed high-resolution stepper system, but since yours is 
low resolution it should be good enough anyway. Average latency is more 
like 15,000ns so you could bump it up a notch if you can tolerate the 
occasional glitch.

Steppers are gross by the way, especially with inexpensive drive 
electronics. Have you investigated homebrew servo motors at all?

Some other things to consider:
* case should have filtered air and be well sealed to prevent metal dust 
and chips from entering

* get a sealed keyboard such as the silicone roll-up variety

* I have a pile of XL1000's, and I could send you a couple

   -fenn

On Wed, 5 Mar 2008, Marcin Jakubowski wrote:

 Dear Group,

 It appears that it's best for me not to attempt EMC with a laptap. I'll 
 dry a desktop.

 I would like to compose my own desktop EMC PC to run the acetylene torch 
 that I am working on.

 Can someone suggest a set of proven components to make this work? I'm 
 looking for a good price, and it does not necessarily have to be top 
 performance. I need only as much computer power as will provide 
 effective EMC operation of 3-4 stepper motors for my torch table.

 Please let me know recommendations:

 0. Case
 1. Motherboard
 2. CPU
 3. Memory
 4. Hard drive
 5. Disc drive
 6. Flat panel screen

 other?

 Thanks,
 Marcin



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] OT: Soldering DAC Boards

2008-02-29 Thread ben lipkowitz
On Thu, 28 Feb 2008, Kirk Wallace wrote:
 
 I am getting ready to assemble my DAC boards (SMT, 8-pin SOIC's). Does
 anyone have a favorite lead free solder and paste? Thanks.

Are you going to use the toaster oven or perhaps the skillet method?
http://www.sparkfun.com/commerce/present.php?p=Reflow%20Skillet

I've never used it, but I hear lead-free solder is quite a pain. Here's a 
relatively inexpensive tube of solder paste, if you dont need much:
http://circuitspecialists.com/prod.itml/icOid/8802

apparently they've sold out of the leaded version. too bad.

while you're there, get some pliers:
http://www.circuitspecialists.com/prod.itml/icOid/7219
http://www.circuitspecialists.com/prod.itml/icOid/7214
http://www.circuitspecialists.com/prod.itml/icOid/7215
(or use the promotional special if you end up over $50)


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] tool length compensation

2008-02-29 Thread ben lipkowitz
On Fri, 29 Feb 2008, Chris Radek wrote:
   On Fri, Feb 29, 2008 at 04:04:51PM -0600, Chris Radek wrote:

 The actual difference with the 5 axis kinematics machine is that you
 should specify [TRAJ]TLO_IS_ALONG_W=1.  Then when you use G43 H_ or
 G43.1 K___, the length offset, no matter whether it comes from the
 tool table (G43) or gcode (G43.1), is applied to the W axis.  The only
 thing your cam needs to do is move the W axis (G0 W0) so the length
 offset gets applied.

 I wanted to add this for non-5-axis folks:

 This new option of TLO along W doesn't need special kinematics or 5
 axis machinery or anything else special.  If you have a CNC knee on
 your knee mill, and you call it W, you could just as easily use it for
 tool length compensation.  This would give you full quill travel no
 matter the length of the tool.  Very neat.

Now you've got me confused a bit. I thought that UVW were cartesian 
vectors parallel/orthogonal to the tool orientation vector. For example, 
if your tool axis is parallel to the Z vector then W would also be 
parallel to Z. But if the tool tip is rotated in A then W would be rotated 
in A as well. So what gives? Is W simply a reference to a joint when using 
a trivial kinematics machine? If so, then does the behavior change 
dramatically when we add a trunion table to our knee mill? Will the real W 
please stand up!

warning: the following may contain ostentatious pedantry not suitable 
for miners, spoken-word poets, politicians, and other heathen peoples

I propose that we use the term vector to refer to a mathematical entity 
defining a space, (as in basis vector), joint for constrained moving 
physical assemblies, and axis as a straight line along which some 
physical object travels or rotates about. This allows a space defined by 
X, Y and Z vectors, but one can also have a physical joint named the Z 
axis if there is a linear joint that is always parallel to the Z vector. 
If there are two linear joints always parallel to the Z vector then it 
doesn't make sense to call one of them the Z axis and not the other one. 
You cannot have a rotary table named the C axis if the location of the 
center of rotation changes, for example if you have moved the tool tip, or 
if you define the origin to be in a location that is not centered on the 
axis of the rotary table, which is pretty much always.  The part program 
MUST specify whether it represents vector coordinates (g91z1 means move 
the tool tip? perpendicular to the work plane) or joint coordinates (g91z1 
means retract the quill) and right now RS274NGC doesn't specify which, at 
least from my understanding.

How does one get a herd of cats to speak the same language? I'd appreciate 
feedback on this, since we tend to take for granted that the person on the 
receiving end understands what we mean. Sometimes their definitions are a 
little different and one can appear to them to be saying something 
different than what we actually meant.

We have all these words available from our mathematical heritage, but 
someone in the early days of EMC decided that Joint and Axis were the only 
words to use. This hasn't been working so well in actuality, since most 
people aren't aware of this idealized usage of the terms; they already 
have meaning (different meanings!) in similar contexts outside of the EMC 
project. But in addition to that, the words have been used imprecisely 
throughout EMC's code and documentation. So now there is a mess, and we 
have to clean up not just the code but our thoughts as well.

work harder, work smarter, and do the right thing!
(in order of increasing importance)

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Joypad Example

2008-02-23 Thread ben lipkowitz
On Fri, 22 Feb 2008, Kirk Wallace wrote:
 Another bit I don't understand:

/* STEP 3: allocate shared memory for joystick data */
js_data = (hal_js_t *) hal_malloc(sizeof(hal_js_t));
if (js_data == 0) {
   printf( ERROR: hal_malloc() failed\n);
   hal_exit(comp_id);
   return -1;
}

 hal_js_t is a defined variable type.
 sizeof(hal_js_t) is the memory size of this type.
 hal_malloc(sizeof(hal_js_t)) returns the memory location of this
 variable.
 I don't understand what (hal_js_t *) does. hal_js_t is a type so it is
 similar to (int *)?

hal_malloc returns a (void *) pointer; this would presumably make 
subsequent code complain about pointer mismatches, and the compiler 
wouldn't know where to look in the data structure for variables like 
(js_data-axis[n]). the (hal_js_t *) casts the returned pointer to the 
correct pointer type.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] hal pid - how it works

2008-02-18 Thread ben lipkowitz
On Mon, 18 Feb 2008, Klemen Dovrtel wrote:
 
 I am looking at hal pid component in hal documentation
 and i don't understand how pid component for servo
 motors driving actually works. There is only command
 input to hal pid component (beside the feedback
 input). How is then the constant motor speed (or
 acceleration or synchronization with others motors)
 achieved. If you input the desired location (command
 input) to pid component the motor speed and
 acceleration will be set according to set pid
 parameters and will not be constant. Is desired path
 cut to small portions and fed to pid input in suitable
 time steps - if so, how is smooth movement of motor
 achieved in this case?

 Regards
 Klemen

PID is only useful for controlling one physical quantity, such as a single 
motor's position. Although there is a single 'module' containing all of 
the different PID channels, they are completely separate from a control 
standpoint. Each servo cycle (defined by the length of the servo thread 
period) each PID controller reads the commanded value and feedback value, 
and updates its output based on the gain constants.

You can think of P as a spring attached to the desired location, I is like 
a regulated gas cylinder with a restricted orifice, and D is somewhat like 
a damper. Together these components can produce fast movement to the 
desired point without oscillation. On top of this layer of control, the 
motion module tells PID to move in a cubic curve (position vs time) so 
that the discrete commanded movement is close to what is physically 
realizable. In conjunction with the kinematics module, the motion module 
also handles synchronized movement.

Typical values for a servo cycle are around 0.1-1 milliseconds, so the 
amount of divergence in a cycle between the curved path created by a set 
of joints in a non-trivial kinematic configuration and the ideal straight 
line will be small, and will be corrected for in the next cycle. This is 
like approximating a curve with small line segments, but in reverse.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Fw: Request for Fonts

2008-02-14 Thread ben lipkowitz
Inspired by Jim's example I decided to make a python script that converts 
cxf to g-code on the fly:

http://fennetic.net/pub/irc/cxf2g.py

http://fennetic.net/pub/irc/cxf2g.png

It uses g2 and g3 for arcs. The interface is non-existent right now; just 
edit the script and open it with AXIS.

   -fenn

On Thu, 14 Feb 2008, [EMAIL PROTECTED] wrote:
 
 I converted normal.cxf to normal.ngc

 I chose to make the arcs using a series of line segments (G1) using 5
 degree units vs using the G3
 command.

 Here is a link to the file.

 http://wiki.linuxcnc.org/uploads/normal.ngc

 I will convert the rest of the fonts tonight.

 Jim Combs - Lexington, Ky

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Fw: Request for Fonts

2008-02-14 Thread ben lipkowitz
On Thu, 14 Feb 2008, Gene Heskett wrote:

 What program saves in .cxf format, Ben?

qcad comes with several .cxf fonts:
http://packages.ubuntu.com/cgi-bin/search_contents.pl?searchmode=filelistword=qcadversion=gutsyarch=i386

i dont know how they were made originally. there should be more 
information on the qcad yahoo group about the history of the project.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] UK suppliers of stepper motors and drive electronics

2008-02-13 Thread ben lipkowitz
On Wed, 13 Feb 2008, Dave Engvall wrote:

 EMC can do PID just fine.  It's steppers that can't.  Steppers lose 
 torque as the speed increases.  There is no way around this, it's 
 just the physics of the motor.

 PID loop will attempt to correct for a lagging motor by requesting 
 more effort from the motor.

 When did this become the *only* option PID had, more torque and
 overspeed?


 rant on:

 Because that is the definition of PID.

 You are not going to like this answer: but if you insist on using 
 steppers in the performance zone that they are not engineered for then 
 write a stepper-only module that lowers velocity when following error 
 starts to increase.

I'd just like to point out that EMC2 can theoretically do this already 
with the 'adaptive feed' input. An increase in following error would 
reduce the feed requested by the motion module. This will oscillate 
without a lot of tedious tuning, or an analytical understanding of the 
control dynamics. Also, the traditional step/direction interface leaves 
much to be desired. If you do decide to write your thesis on it after all, 
please cite me as a reference :)

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Request for Fonts

2008-02-12 Thread ben lipkowitz
On Tue, 12 Feb 2008, wp wrote:

 John personally that font is such a piece of crap I wouldn't want it 
 anyway.as for copyright.. I have no idea and that thought never 
 crossed my mind. I think that there are much better and openly 
 available fonts other than in BobCad I can not get that font to 
 open even with a .FNT file reader. Wayne

There are several attractive single line fonts packaged with the Qcad 
program, in /usr/share/qcad/fonts however they are in a strange format 
that appears to be unique to qcad. The format looks easily 
reverse-engineerable since it's just arcs and lines, or you could save the 
text as .dxf and convert to g-code that way.

   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Speed issue with EMC

2008-02-10 Thread ben lipkowitz
Hi Rob,
The computer is plenty fast enough. This is a physics problem, something 
like possibility #3.

If my memory serves correctly, EMC will try to make every little corner to 
within 0.001mm unless you tell it not to. Try adding this to the top of 
the program:
G64 P0.01

This tells EMC it's allowed to round off the corners a little bit. P is 
the tolerance value, though it might actually be out of spec by twice the 
P value, since long stretches of tiny segments get glommed together if 
they move out of line by less than P.

   -fenn

On Fri, 8 Feb 2008, Rob Jansen wrote:

 My machine is set to to amax. speed of 4800 mm/min (~ 190 inch/min) and
 an acceleration of 9600 mm/min.
 But somehow, during milling I reach only speeds of up to 600 mm/min when
 doing small steps in the program.

 The thing is controlled with an older PC I still had standing in a
 corner - don't know the exact specs but it is a 1.4 GHz AMD / 786 MB
 SDRAM and a simple VGA card using stepper motor control through the
 printer port.

 The G-code is created using DeskProto an contains a lot of small steps
 like this:

  F2000.0 G1 Y26. Z-7.6255
  F2000.0 G1 Y26. Z-7.5962
  F2000.0 G1 Y26.5556 Z-7.5686
  F2000.0 G1 Y26.7778 Z-7.5429
 I see three possible causes for the low speed reached during milling
 this (larger steps are going faster):

   1. the PC is too slow (there is a fairly high CPU load of about 80%
   2. the G-code is not optimal: all the F2000.0 G1 sequences are not
  needed and just take up valuable time
   3. EMC is deaccelerating after each step before proceeding with the
  next one.

 Is anyone using DeskProto with these kinds of speeds ?
 and what kind of PC and/or DeskProto settings are you using ?

 What is the best thing to try first: create a simple C-program to
 optimize the G-code or should I just go to the shop for a new PC?
 Any suggestions on processor type and/or memory, what is the speed
 difference between Core2 Duo and Quad or the newer AMD cores?

 I am new to EMC so any help in configuring and building a decent system
 is appreciated.

 Regards,

Rob

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Turning Polygons on Lathe

2008-02-09 Thread ben lipkowitz
 http://www.youtube.com/watch?v=oGq-9NNmr3ofeature=related

 I notice thay didn't show the cutting tool clearly.  I would
 have liked to see that.

Here is an animation that shows the process:
http://video.google.com/videoplay?docid=-7831550688320827327

The cutting tooth actually traces out an elliptical path, but it's so 
close to a straight line that it doesn't matter for most applications. The 
larger the cutter radius relative to the polygon, the straighter it will 
be. The number of sides is the product of the gear ratio and the number of 
teeth on the cutter.

here's some more info from the same people:
http://www.remsales.com/pages_blocks_v3_exp/images/links/POLYGON_MILLING_[Read-Only].pdf

enjoy!
   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] DRO scales and EMC2

2008-01-08 Thread ben lipkowitz
for the rest of you, i think kirk is talking about this:
http://www.hobbycnc.hu/CNC/Otletek/Otletek.htm

anyone speak hungarian?

On Tue, 8 Jan 2008, Kirk Wallace wrote:
 It would be interesting to find the least invasive ways to eliminate the
 backlash. I don't know what it's called, but I have seen a system that
 utilizes matching sections of a leadscrew as caged rollers arranged
 around the circumference of the leadscrew, similar to a planetary gear.
 Two caged assemblies in tension would take up the backlash. I like this
 design because it looks like it could be made by most home shops at
 reasonable cost. I tend to like solutions that trade time and talent for
 cash.

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Spindle speed control with cnc4pc board

2007-12-25 Thread ben lipkowitz
I would feel confident printing 256 lines on a 2 inch diameter encoder, 
with my 600 dpi HP laserjet 1018, but I haven't tried it out with a sensor 
yet. At 512 lines, the spacing between lines starts to look uneven.

A 7 inch disc with 1024 lines looks pretty good.

Kinko's has 1200 dpi laser printers...

Here is a sample output for anyone who has trouble running the python 
program: (60mm dia 256 lines)
http://fennetic.net/pub/irc/encoder.pdf

I'd be happy to run any set of parameters, just ask.

On Tue, 25 Dec 2007, Kirk Wallace wrote:

 A while back, I tried printing an encoder with my CAD program. I didn't
 get very good results. My laser printer's resolution, which is great for
 printing documents, was lousy for encoders. What resolution and how
 small a disk is possible with your method? Although, I suppose for a
 spindle, a larger size and lower resolution is more appropriate. I am
 still looking into a magnetic encoder for clean but oily environments.

 On Tue, 2007-12-25 at 06:19 +, ben lipkowitz wrote:
 On Mon, 24 Dec 2007, Geert De Pecker wrote:

 To do threading on the lathe is the end goal. I'm still in the
 development phase for the encoder bit. Want to make it myself
 (see part of drawing at http://users.skynet.be/gedp/FILES/index.html).

 Geert,
There are some .ps files floating around that can be used to print your
 own optical encoders, and since postscript is a programming language they
 are relatively easily modified to do weird stuff such as in
 http://fennetic.net/pub/irc/encoder-panelized.ps

 however i find postscript can be hard to understand sometimes, so i
 rewrote it in python:
 http://fennetic.net/pub/irc/draw_encoder.py

 hope this proves useful to someone
-fenn


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Spindle speed control with cnc4pc board

2007-12-24 Thread ben lipkowitz
On Mon, 24 Dec 2007, Geert De Pecker wrote:

 To do threading on the lathe is the end goal. I'm still in the
 development phase for the encoder bit. Want to make it myself
 (see part of drawing at http://users.skynet.be/gedp/FILES/index.html).

Geert,
   There are some .ps files floating around that can be used to print your 
own optical encoders, and since postscript is a programming language they 
are relatively easily modified to do weird stuff such as in
http://fennetic.net/pub/irc/encoder-panelized.ps

however i find postscript can be hard to understand sometimes, so i 
rewrote it in python:
http://fennetic.net/pub/irc/draw_encoder.py

hope this proves useful to someone
   -fenn

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Pivot mill

2007-12-05 Thread ben lipkowitz
On Wed, 5 Dec 2007, Roland Jollivet wrote:

 I would not use gears to drive the arms, but feedscrews, forming a triangle,
 much like a mechanical shovel. I did not draw that all in as it was getting
 real late.

once you start making triangles out of feedscrews, the madness sets in...
http://en.wikipedia.org/wiki/Stewart_platform


-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] new 5 axis simulation

2007-11-14 Thread ben lipkowitz
at build time, stuff in src/emc/usr_intf/axis/scripts/ gets copied to bin/ 
stripped of its .py extension and made executable. this is done in the 
Makefile, and for some odd reason each script has its own entry there. so, 
add 5axisbridgegui to the Makefile, or just rename the binary, or make a 
symbolic link to the actual script so you dont have to 'recompile' every 
time you change it.

   -fenn

On Wed, 14 Nov 2007, Stuart Stevenson wrote:
 
 Gentlemen,
 I tried to copy the files to new file names so I could modify them.

 I changed the call in the ini file - from 5axis_sim.hal to 5axisbridge_sim.hal
 I copied the file 5axis_sim.hal to 5axisbridge_sim.hal

 I changed the call in the hal file - from 5axisgui to 5axisbridgegui
 I copied the file 5axisgui.py to 5axisbridgegui.py
 I changed the permissions for the .py file to 755

 This is the feedback I get:

 EMC2 - pre-2.3 CVS HEAD
 Machine configuration directory is '/home/stustev/emc2-trunk/configs/5axis'
 Machine configuration file is '5axis.ini'
 Starting EMC2...
 5axisbridge_sim.hal:108: execv(5axisbridgegui) failed
 5axisbridge_sim.hal:108: 5axisbridgegui exited without becoming ready
 Shutting down and cleaning up EMC2...
 Cleanup done
 EMC terminated with an error.  You can find more information in the log files
/home/stustev/emc_debug.txt
 and
/home/stustev/emc_print.txt
 as well as in the output of the shell command 'dmesg' and in the terminal

 what am I missing?
 thanks
 Stuart


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] new kinematics

2007-11-04 Thread ben lipkowitz
On Sat, 3 Nov 2007, Stuart Stevenson wrote:

 Gentlemen,
I have been exploring a program called Xrefactory. Xrefactory is
 supposed to build a display of the project's data flow. I have been in
 contact with the company that sells Xrefactory. They told me they will
 download the EMC2 project and run their program to see how to make
 Xrefactory work with it. I am sure it will be trivial for them. It is
 not trivial for me.
Has anyone used a program like this? If you have, what is it?

doxygen can draw flowcharts by using graphviz. there used to be 
instructions for how to do it but now i can't find them. there is a file 
src/doxconfig if you want to play around with it. generally, i think it is 
a waste of time. the taglist plugin for vim is convenient if you use 
vim, and superficially similar to xrefactory. and then there are 
heavyweight IDE's like kdevelop that show code structure in a GUI fashion. 
you can get a better idea of the overall structure of the code by looking 
at http://www.linuxcnc.org/docs/EMC2_Developer_Manual.pdf and 
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EMC_Components which were 
actually written by a human and thus can impart real understanding as to 
what the code was intended to do. (rather than what it actually does!)


I want to contribute to the EMC project but I want it to be in a
 logical fashion. I am not a C/C++/Python/TCL/TK programmer, hence the
 need for a tool to show me the data/variable flow. I am an NC
 programmer and machine tool owner/operator/user. I have ideas for
 Enhancing the EMC project. I want to be able to implement my ideas
 in a manner that doesn't conflict or detract from the current state of
 the project.

Most of the kinematics code is in C, and the part you need to write can be 
fairly simple as far as code structure. It is mostly trigonometry. You 
should copy scarakins.c and make it fit your machine, cut out pieces you 
dont need, and document it until you understand everything. Even this 
hard-coded example can be useful for others. Only once you have it working 
and know what needs to be done should you start planning a generalized 
kinematics framework, if you still have the desire to do so. C macros are 
tricky since they are not really part of the language.

While you're at it, I think the addition of tool length compensation to 
kinematics would be very useful; then we could simply specify the position 
and rotation of the tool tip to be in the g-code file. This would require 
adding some code to grab the current tool length from 
emcStatus-task.toolOffset.tran.{xyz} in addition to the regular x y z a b 
c axis variables, and add it to the last coordinate system, which is D5 
and D6 in the SCARA example. I think this may have been what the original 
EMC designers intended, thus the weirdness with tool change position in 
the rs274 spec.

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Off Topic, Broaching

2007-10-30 Thread ben lipkowitz
On Mon, 29 Oct 2007, Kirk Wallace wrote:

 I actually prefer not having keyways and going with set screws on 
 countersinks. Anyone have thoughts on this? Thanks.


One trick I came up with is to use a shorter than normal set-screw, and 
put a cylindrical piece of brass or plastic that matches the internal 
diameter of the setscrew threads into the screw hole underneath the 
set-screw. The screw pushes on the cylindrical 'key' allowing use of 
shafts with key slots, and will still shear off the way a key would, but 
probably at a lower torque. You could use a fatter set-screw to get the 
key width up and mill flats on it if you were so inclined...

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Dual Screens

2007-10-20 Thread ben lipkowitz
You need to use the Xinerama extension to X for multiple combined displays.
http://en.wikipedia.org/wiki/Xinerama
http://tldp.org/HOWTO/Xinerama-HOWTO/index.html - XF86Config is xorg.conf

you can definitely restart X with `sudo killall X`

otherwise it looks like you have the right idea.


On Sat, 20 Oct 2007, Kirk Wallace wrote:

 Logging out or Control/Alt Backspace is supposed to reset X, but I found 
 the only reliable way to invoke the latest xorg.conf settings was to 
 reboot.

 One unexpected feature I have noticed is that you can't drag a window
 from one screen to the other. You need to open the application in the
 screen you want to use. So to have EMC running in the main screen and
 Halscope in the other, I had to open Terminal in screen two and invoke
 halscope from the terminal. I haven't done much beyond this and I am
 wondering how much of EMC can be displayed on the other screen.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Threading Hickups

2007-10-18 Thread ben lipkowitz
if there is a ground loop somewhere in your setup, it won't conduct any 
current unless it's ... a loop! so when you disconnect the sensor, it 
breaks the circuit; no current is induced in the wires by stray magnetic 
fields, and you dont see any voltage.

if the noise were 'coming from the sensor' then you should see the noise 
with it hooked up in a different place, such as on a lab bench.

if your differential driver has *really* sensitive inputs, i suppose you 
could be picking up stray electric fields. this could easily be fixed with 
a pull-up resistor. but this wouldn't explain the noise going away when 
the encoder sensor is disconnected.


On Wed, 17 Oct 2007, Kirk Wallace wrote:

 When I was getting index pulses without an encoder disk installed, I
 decided to disconnect the index connections to see when the noise
 stopped. The noise stopped as soon as I disconnected the encoder sensor.
 So either the noise is coming from the sensor, or having the sensor
 connected promotes the noise. I am going to have to give this some
 thought in order to plan the next move.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Generating stick-font toolpaths?

2007-10-18 Thread ben lipkowitz
you could try autotrace with the -centerline option. it wouldn't give you 
the z-depth for different widths with a conical cutter, but it might look 
ok anyway.

On Thu, 18 Oct 2007, Patrick Ferrick wrote:
 I was wondering if anyone could suggest some open-source software for
 generating toolpaths for making signs.

 Apparently the preferred kind of font is called a stick font or
 single stroke font and I have found that there are quite a few
 commercial packages that do this.  We have been using QCAD's CAMExpert
 demo version (the full version of which is very reasonably priced) but
 both provide only one such font.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Halscope Settings

2007-10-14 Thread ben lipkowitz
By default halscope saves a hidden file .scope.cfg in the current 
directory. The next time you run halscope from that directory it loads the 
settings (well most of them at least) from that file.

  On Sun, 14 Oct 2007, Kirk Wallace wrote:

 Is there a way to save Halscope channel settings and reload them later?

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Robocrane

2007-10-02 Thread ben lipkowitz
Andrew,

A tripod would not work at all for milling since it is not constrained 
rotationally. It would just flop around. In fact, the robo-crane was not 
too stable either. Adding more weight to the platform would help. It could 
mill styrofoam and had a hard time with wood. However, a real hexapod with 
solid struts is extremely rigid and one was used for ultra-precise milling 
of calibration fixtures at NIST.

Fortunately for you, the NIST robocrane actually used EMC to control it. 
The genhexkins kinematics module does the transforms from cartesian 
coordinates to motor positions. All you have to do (famous last words) is 
edit core_sim_6.hal so that lines like 'linksp Xpos = 
axis.0.motor-pos-fb' point to the real motor/pid loop instead. Look at 
other non-sim configs for inspiration. (and RTFM)

There are no computer visualizations of a hexapod in emc yet, but I'd like 
to write one. It should be easy enough using the vismach.py framework 
already in place as an example.

John Storrs posted some non-visual simulation code on his excellent 
website laboratory for micro enterprise which i have archived here: 
http://fenn.dyndns.org/pub/www.i-way.co.uk/~storrs/lme/hexapod-1.1.html

You should read the rest of that website if you haven't already.

Best of luck
   -fenn

On Tue, 2 Oct 2007, [EMAIL PROTECTED] wrote:
 Dear Kirk and all:

 Thank you for supplying me with relevant information.  I think that Alex
 Joni's toy would give me needed information
 to implement a step in the right direction. I wonder if a tripod made more
 robust could do milling and routing.

 Best regards,

 Andrew

 - Original Message -
 From: Kirk Wallace [EMAIL PROTECTED]
 To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net
 Sent: Tuesday, October 02, 2007 3:30 PM
 Subject: Re: [Emc-users] Robocrane


 Hello Andrew,

 I just looked at the NIST site. The Robocrane is quite a complex
 project. I suspect that EMC should be able to serve as the foundation
 for your project since you can plug in your own kinematics and EMC is
 highly configurable hardware interface wise. I suspect the Robocrane is
 a step further in the hexapod evolution, so you should maybe study a
 search on hexapod at linuxcnc.org. Check these:

 http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Alex_Joni's_Toy
 http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Koppi's_Toy
 http://cvs.linuxcnc.org/lxr/source/configs/hexapod-sim/

 Be prepared to create your own C code.

 If you haven't already done so, you might want to study the basics by
 getting a demo CD working:

 http://www.linuxcnc.org/content/view/21/4/lang,en/

 Then interface an encoder to your parallel port using the etch-servo
 configuration (in Sample Configurations, study etch.ini and etch.hal for
 connection information) and a NetMOS parallel port card (lspci -v will
 come in handy).

 Then maybe drive a stepper or DC servo motor like this setup:

 http://emergent.unpy.net/projects/01142347802

 I found a good motor and encoder in a junk Epson C-80 printer (sure
 hated to see that printer go).

 Good luck. I'll try to help, if I can. Others here are better at the
 nitty-gritty stuff.

 Kirk Wallace
 
 On Mon, 2007-10-01 at 16:29 -0400, [EMAIL PROTECTED] wrote:
 Dear enc-users:

 Hello my name is Andrew I am new to this list.  I want to make a cable
 robot milling machine similar to the
 NIST 1meter robocrane milling machine.  Any help would be appreciated.
 If this list is not relevant
 to obtain this kind of information, please direct me to where I can
 obtain it.  I am starting from scratch.
 I want to obtain all relevant information before I start.  Are there
 any simulations software that can be run on
 a PC.

 Thank you for your help,

 Andrew



 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


 --
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.5.488 / Virus Database: 269.13.39/1044 - Release Date:
 10/2/2007 11:10 AM
 .


 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.

Re: [Emc-users] waterjets (was: linear motors with EMC)

2007-09-29 Thread ben lipkowitz
On Sat, 29 Sep 2007, John Laessig wrote:
 waterjets etc etc linear motors and so on

A major obstacle in the way of using EMC for waterjets is slowing down the 
cut in the corners to allow the jet to straighten out. Do you have a CAM 
program of some sort that does this already?

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Surfacing Druid

2007-09-27 Thread ben lipkowitz
On Fri, 28 Sep 2007, Michel Gouget wrote:
 The source and binaries of the Druid are available at
 http://www.gouget.org/druids , along with explanations and screenshots.

hello Michel,

i downloaded your program to try it out, since it looks pretty.

some things that were not immediately obvious when building the program:
you must compile fltk-1.1.7 with configure --enable-localjpeg 
--enable-localpng --enable-localzlib

you must use an emc2.1 branch that has been built, not just the source

some suggestions:
use sensible default values for spindle, roughing %, z safe/retract
for example, 2000rpm, 50%, z0+5mm

calculate feed from spindle speed and chipload

it's not clear what Z finish is supposed to mean. maybe finish pass depth 
would be better

some bugs:

machining time is wrong. it says 26' 27 for my test program, but it took 
less than 6 minutes to run the program. 
( http://fenn.dyndns.org/pub/irc/test.dsurf )

clicking 'down arrow' in spindle rpm goes to 999 instead of 0 or 
negative

tool diameters are not saved in stand-alone mode. maybe the numbered tools 
should be grayed out in stand-alone mode? it shouldn't start on tool 0 at 
least

libnml.so isn't getting linked in for some reason.
ldd dsurf: libnml.so = not found

libnml.so does indeed exist:
-rwxr-xr-x 1 fenn fenn 962635 2007-09-27 21:06 /pub/emc/emc2.1/lib/libnml.so

this is what 'make' does:
g++  -o dsurf dsurf.o dsurf1.o dsurf2.o dsurf3.o f_dsurf1.o tabwdesc.o 
dsurf1_png.o dsurf_html.o dr_help_view.o dremc.o ../tinyxml/tinyxml.o 
../tinyxml/tinyxmlerror.o ../tinyxml/tinyxmlparser.o ../tinyxml/tinystr.o 
../utils/drutils.o ../utils/mg_png_image.o /usr/local/lib/libfltk.a 
/usr/local/lib/libfltk_images.a /usr/local/lib/libfltk_jpeg.a 
/usr/local/lib/libfltk_png.a /usr/local/lib/libfltk_z.a 
/pub/emc/emc2.1/lib/libemc.a /pub/emc/emc2.1/lib/libnml.so 
-L/usr/X11R6/lib -lXpm -lX11

ideas anyone?

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Masterwood Speedy 207 and EMC2

2007-09-27 Thread ben lipkowitz
 Subject: [Emc-users] Masterwood Speedy 207 and EMC2
 
 We are trying to adapt this machine to EMC2. Does anyone have experience 
 in this area? Is anyone familiar with this machine and the language it 
 speaks?

emc2 is designed to turn the motors, read limit switches, and that sort of 
thing. if you want to just send a part program to the machine, you dont 
need emc to do that. a serial port and hyperterm would do it i guess.

  -fenn

 James


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Physical Wiring of the Parallel Port

2007-09-03 Thread ben lipkowitz
 I'm trying to grasp the physical wiring connections I need from the 
 parallel port to the 5 1/4 floppy stepper controller. No problem on the 
 power it will be from a PC power supply so I have both 5v and 12v.

 On the parallel port side if I use the standard_pinout.hal the line

 linksp Xstep = parport.0.pin-03-out

 Does that refer to the register bit D3 (Data bit 3)on the parallel port?

unfortunately the pinout diagram doesnt show correctly in the html docs, 
but if you look in the user manual pdf 
http://linuxcnc.org/docs/EMC2_User_Manual.pdf
  on page 76 you can see how the hal pins relate to the physical pinout. 
pin-03 is the third pin from the left when looking at the connector, but 
you should use your multimeter to make sure.

 If that is the case do I connect as follows

 Signal pin 5 (D3) on the parallel port to pin 18 Step on the edge 
 connector of the floppy controller and Ground return pin 20 (for D3) on 
 the parallel port to pin 19 Ground (for Step) on the edge connector of 
 the floppy controller.

yes, and you will probably also need a 10k resistor connecting the Step 
pin to +5V because parports can't actively drive the pins high

 The rotation is initiated on the trailing edge of the Step pulse.

 So I need to pull down the signal to make the stepper step with EMC so I 
 need to change the line

 linksp Xstep = parport.0.pin-03-out
 to
 linksp Xstep = parport.0.pin-03-out-invert 1

no, this is wrong. parport.*-invert is a parameter, not a pin, so you 
can't link to it. you'd have to do setp parport.0.pin-03-out-invert TRUE 
which changes the way the pin functions. but, there's not really any point 
to worrying about the polarity of the step pin anyway, since it will go 
through a full pulse every two BASE_PERIODs.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] synchronized axes.

2007-08-26 Thread ben lipkowitz
 option 3) differentiate the output from above with ddt and feed it to 
 the needle spindle as a velocity command. might be slightly less 
 accurate than 2 but you won't need to do silly hacks to prevent 
 counter overflow.

 3A) differentiate the X and Y positions _before_ the hypot, then send
 the X and Y velocities to the hypot.  The hypot is the vector velocity,
 which is the required spindle velocity (scaled as needed).

 Other than that, I agree that 3 is the way to go.

I just noticed that there's a HAL parameter that does this already: 
motion.current-vel

maybe it should be a pin instead

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] synchronized axes.

2007-08-24 Thread ben lipkowitz
Dave Engvall wrote:

 Think long arm sewing machine for quilting. The rotational axes are the 
 needle and the bobbin.  The tracking give constant stitch length.

 Two are X and Y and the other pair need to track (rotationally) with in 
 a few degrees or better. Rotational speeds are from zero to 1800 rpm for 
 one axis and either 1:1 or 2:1 for the other. The speed of rotation and 
 the vectorized X and Y velocity need to track each other.

you could do it a few different ways

option 1) write a kinematics module and treat the needle/bobbin as 
rotational axes within emc

option 2) use the hypot component to calculate distance traveled by x and 
y and feed that to your needle axis as a position command

option 3) differentiate the output from above with ddt and feed it to the 
needle spindle as a velocity command. might be slightly less accurate 
than 2 but you won't need to do silly hacks to prevent counter overflow.

option 4) synchronized motion like for lathe threading. this would be 
better if your needle is not very responsive compared to X and Y, but 
harder to write g-code for. (?) for example you couldn't do any arcs. 
however you could easily turn the spindle off and move around without 
stitching anything. options 23 would require using an M-code to 
disconnect the spindle from x-y motion. also the K parameter to G33 allows 
you to easily change the stitch length right in your g-code.

 There are two modes of motion. (1) is driven by an operator moving the 
 carriage(s) in X and Y and (2) X and Y will be under G-code control.

this should work fine using teleop mode under option 1 or just regular 
jogging under 234.



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] How Fast Are Pythons

2007-08-23 Thread ben lipkowitz
This really sounds like a perfect job for classicladder. If you arent 
interested in learning ladder logic, then writing a custom hal component 
might be easier, since you seem comfortable with C. I think the issue here 
is that your script is not running realtime, and so the timing is off.

As you can see, sleep isn't always real accurate:

$ firefox; time sleep 0.1
real0m0.313s

A C or python program would have the same problem:
#include unistd.h
int main(){ usleep(10); }

$time ./test
real0m0.151s

import time
time.sleep(0.1)

$time python test.py
real0m0.140s

you could also try running your script with a higher priority. (renice) 
btw you are actually having a problem right? or are you just informing us 
of what you did?

   --fenn

 My first pass on getting my lathe turret working went okay. It turns out
 that shell scripts are way too slow for what I was trying to do.

 The plan was to, using an M101 script, energize the rotator solenoid,
 which raises the turret table and starts it rotating. I then monitor the
 four bit binary position input for a match between the requested tool
 position and the current tool position. As soon as a match occurs, I
 activate the stop dog solenoid, wait for the table to settle, deactivate
 the rotator solenoid, wait for the table to descend and lock, and
 finally deactivate the stop solenoid. On most of the steps, the table
 would rotate two or more positions before an action took place.

 So, I went back to my pre-feedback plan. I setup the script to only
 rotate the table one position - rotate, sleep .1, stop, sleep .1,
 de-rotate, sleep .1, de-stop, check for match, repeat till done or
 tender. It actually works pretty well.

 The problem is that scripts are interpreted or compiled while the
 program executes. Python is the same way, I believe, so it would have
 the same speed issues?

 I may convert my script to C and then call the C program from an M101
 script.

 Kirk Wallace


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Foam cutting configuration

2007-08-22 Thread ben lipkowitz

 The first couple of cuts I was using a chord length of about 100mm,
 meaning that my g-code statements around the leading edge where about
 0.1mm apart or less, which caused the feedrate to slow down for some
 reason, which caused too much heat to build up in the leading edge.

If you use G64 P0.1 the trajectory planner *should* automatically blend 
out the unnecessary segments and give you full speed over the entire shape.

 I am using 20ga nichrome-80 wire (about 2.5 Ohms/ft) and found so far
 that using about 2.2 amps of current and a feedrate of about 150mm/min
 gave pretty good results.

Thanks for the data. Stuff like this can save others lots of time.

 I am using standard hardware store threaded rod, with the standard
 coupler nuts.  Any idea what the best way to lubricate them is?  I
 bought some lithium grease, but have not applied it yet.

You might try running a die over the threads to knock off the high spots. 
Also, you can make pretty serviceable plastic nuts with a tap and some 
cutting boards. You can even make anti-backlash nuts with this method. 
Brass works well too. High-moly EP extreme pressure grease (lithium 
grease with molybdenum sulfide added) is the best for metal-metal contact. 
Lithium should work well for plastic/metal but I think no grease would be 
the best, since its kinda messy. Most binding problems are caused by 
misalignment anyway.

 Next thing to do is to charactarize the kerf width and try some tapered
 sections.

I've heard that the kerf can be higher on the top side of a tapered cut 
since heat rises. This might confuse your measurements.

HTH
   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Macro Language

2007-08-16 Thread ben lipkowitz
On Wed, 15 Aug 2007, Sven Mueller wrote:

sssnap!
 Also, as I mentioned in my previous mail, it's not clear how you need to
 wire the probe in hal: which input triggers the G38.2 to stop and
 print the position? I couldn't find that mentioned in the docs.

motion.probe-input
see http://www.linuxcnc.org/docs/html/config/emc2hal/index.html

 Finally: I'm not necessarily talking about scripting in the place where
 currently Gcode is executed.

Me either! I don't think gcode would play well with a more free-form 
language because of its weird syntax requirements. I think of g-code as 
more of a data format than a programming language. Whether it's human 
readable or not is irrelevant to the computer, and that's partly why we 
ended up with such an unreadable mess. Mostly my call for a macro 
language was because I couldn't read any g-code programs with lots of 
numeric variables.

 Well documented script (perl, lua, ruby, python) language bindings to 
 the movement and IO parts of emc2 would work just as well for me.

Definitely - the less wheel-reinventing the better. Getting a real 
full-featured programming language is a nice side effect!  I started 
thinking about how best to write a Python API for EMC. Didn't get very 
far, but I think the general idea is sound. In short, I'd rather have the 
script actually running the machine than just spitting out g-code to feed 
the g-code parser.

Please take a look here and add your comments: 
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?PythonBindings

 Actually, what I would like to see is some relatively optimized version
 of surface scanning implemented with a GUI (perhaps in tkEMC or one of
 the other GUIs?). Since the existing GUIs already allow manual
 movements, I would think that all I would like to see (enter a position
 directly or by doing a manual movement, multiple scan passes with
 differently sized probe tips,...) should be possible using the same
 techniques currently used in the GUIs. Though I'm relatively good at C
 programming as well as Perl programming, I don't know how to build an
 interface between the two or how to use tcl.

i hacked together a probing gui for weyland a while ago based on 
gridprobe.ngc available here: 
http://fenn.dyndns.org/pub/emc/probebuddy.tgz

it's certainly not the most robust code ever.. my first attempt at tcl. i 
wonder if i should check it into cvs.

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Just a Thought

2007-08-14 Thread ben lipkowitz
 These posts bring to mind two long running thoughts, one directly
 related to EMC and one not quite so related.

I want to make sure people are aware that these _are_ two distinct ideas 
and that one is not reliant on the other. I think it would be a bad idea 
for the two to be directly associated as there will eventually be 
conflicts of interest between the two entities. This doesn't mean that 
they can't help each other out when it is mutually advantageous.

#1:
 an entity so that we can accept and use contributions to the central 
 benefit of the project -- contributions of code, cash, or whatever.

I think the board should decide if they want to form a fund/foundation or 
non-profit corporation, since they will be doing all of the work. (?) It 
is a fair amount of paperwork. The major goal here is to obtain a tax 
status for the EMC project - the board already serves the other functions.
I dont think that distribution of money and hardware will be so very 
contentious as long as it is made clear from the start 1) whether said 
equipment is on loan from EMC and 2) whether a programmer is being paid 
to accomplish a specific task, with a bounty system for example. A bounty 
system would be useful for end-users in its own right.


and entity #2:
 a web mediated [decentralized] manufacturing business

This is huge, and whoever gets there first is going to stay the default 
for a long time, for better or worse. This is due to network effects 
which you can read about here: http://en.wikipedia.org/wiki/Network_effect

There is an amazing series of articles which vividly describe what I 
imagine as an ideal open distributed manufacturing community, and the 
steps it would take to get such a thing running. If you are interested in 
this sort of thing you should read them too: 
http://www.freesoftwaremagazine.com/articles/free_matter_economy 
http://www.freesoftwaremagazine.com/articles/free_matter_economy_2 ... 
http://www.freesoftwaremagazine.com/articles/free_matter_economy_7

The biggest roadblock in this endeavor will probably be software 
compatibility. In order for our network to be useful to outsiders we 
have to be able to read the drawings they send to us.

I spent a few weeks getting a feel for the feasibility of writing 
translation libraries for STEP/ISO-10303, the official CAD/CIM/everything 
exchange format. Unfortunately it seems that the perverse incentives 
inherent in the standards creation process make it extremely hard to read 
the documentation.

I mean it's really hard to actually read it, once you've paid the $15k or 
so to actually get the documents. (You can get an idea by looking at the 
draft standards.) This is done so the people who wrote the standards get 
to keep their jobs as the people who read and explain the standards to you 
in plain english. There are some open source projects available such as 
NIST's expresso and express-engine which make it more like reverse 
engineering rather than reading legalese, and this should appeal to 
software developers.


Maybe this should be moved into its own thread.

   -fenn

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Just a Thought

2007-08-14 Thread ben lipkowitz
 We tried to make a map where the users could place a pin at
 their location, I don't know what has happened to it.

 what ever has happened to the map ( google map if I remember right )
 that even had pic's of users equipment ?

the map is here:
http://www.frappr.com/emc2

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users