Re: [Emc-users] NGC highlighting in Vim
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?
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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)
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
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
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
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.
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.
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
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
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
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
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
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