Hello Guest it is April 25, 2024, 08:09:57 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - HimyKabibble

Pages: « 1 2 3 4 5 6 7 8 9 10 »
31
General Mach Discussion / Using The Knee For Tool Length Comp....
« on: December 17, 2009, 01:11:53 AM »
    Today I finished the new wiring for the quill, and got limits working, so I now have a quill drive and a knee drive.  Tomorrow I want to implement the tool length comp using the knee.  Mach3 v3 doesn't really suport this, as G43/G49 are processed internally.  So, here's what makes sense to me as a temporary kludge until Mach3 v4 is ready:

Setup:
    1) Load tool table with length offsets - reference tool is longest tool of entire set, with length set to 0.000".  All other tools will have negative offsets.
    2) Setup fixture as follows:
          Load and select reference tool
          Set quill (Z axis) a reasonable distance down from top of travel (rapid/safeZ height + some pad at a minimum)
          Raise knee (A axis) until top of workpiece almost touches reference tool tip, and Zero A work offset DRO
          Lower quill to touch-off on workpiece and set Z work offset DRO

Usage:
    1) Use M143 in place of G43, M149 in place of G49, to enable/disable tool length offsets
    2) M143 will move knee up to current tool length offset.  i.e. - if tool length offset is -1.234", knee will move up to A1.234.
    3) M149 will move knee down to A0.000"

    Do you guys see any problems with this?  I can't see any reason this won't work, and it's dead-simple to implement.

Regards,
Ray L.

32
General Mach Discussion / A Simple VB Macro Pre-Processor
« on: December 13, 2009, 08:11:32 PM »
I suspect anyone who is used to programming in any modern language feels the same way I do about writing VB macros for Mach3 - It's about as much fun as a root canal with no anesthesia!  To make my own life easier until Mach3 v4 comes along, I tossed together a VERY rudimentary pre-processor for my VB scripts, that gives me the ability to use "include" files, and very rudimentary text macros.  This not only cuts down on the amount of typing I need to do, and greatly reduces the number of errors, but lets me follow at least a few of the more basic rules of good programming practice, like NOT using hard-coded numbers for things like OEM codes.  I can instead use meaningful names, which makes the code MUCH easier to write, read, and maintain.  These can be defined in a single place, and used in many places, so they're easy to change if necessary.

If others have any interest in using this (with NO guarantees of any support whatsoever....), I can pretty easily clean it up enough to make it easily usable.  It is written in Perl, which does require installing ActiveState Perl, which is a free download from www.activestate.com, and a total no-brainer to install.

Below is a trivial example of what it does.  First, the macro code as I actually write it:

''
'   X Axis Plus Edge Finder Macro
''

#filename M910.m1s
#include "Common.def"
#include "Probing.def"

''========================================================================================
''   Start of Macro Code
''========================================================================================

        ' Set the macro busy flag
        #IncrementMacroBusyFlag

        ' Call the primitive edge finder macro
        Code EdgeFindMacro & " P" & XAxis & " Q" & Plus
        
        ' Wait until it's done
        #WaitUntilSubMacrosDone

        ' Clear the macro busy flag
       #DecrementMacroBusyFlag

 
Here is the code that comes out of the pre-processor, ready to run in Mach3:

''========================================================================================
'  Created From: Mid_XPlusEdgeFind.m3m
'  Includes:
'       Common.def
'       Probing.def
''========================================================================================

''========================================================================================
''    Included Definitions:
''========================================================================================
Busy =                               1             ' Busy, for waiting for macros to complete
EdgeFindMacro =           "M900"     ' Edge finder - requires MacroParameter1DRO & MacroParameter2DRO
MacroBusySemaphoreDRO =  1108       ' Busy flag, used by macros.  Must be zeroed by top-level macros
Plus =                                1             ' Symbol for argument passing
XAxis =                              0             ' Symbol for argument passing
''========================================================================================

''
'   X Axis Plus Edge Finder Macro
''

'#filename M910.m1s
' #include "Common.def"
' #include "Probing.def"

''========================================================================================
''   Start of Macro Code
''========================================================================================

        ' Set the macro busy flag
        ' Macro:         #IncrementMacroBusyFlag
        BusyFlag = GetUserDRO(MacroBusySemaphoreDRO)
        SetUserDRO(MacroBusySemaphoreDRO, BusyFlag + 1)
        Sleep 100
        ' End Macro: #IncrementMacroBusyFlag

        ' Call the primitive edge finder macro
   Code EdgeFindMacro & " P" & XAxis & " Q" & Plus
        
        ' Wait until it's done
        ' Macro:         #WaitUntilSubMacrosDone
        ' Wait until it's done
        While GetUserDRO(MacroBusySemaphoreDRO) > BusyFlag
            Sleep 100
        Wend
        ' End Macro: #WaitUntilSubMacrosDone

        ' Clear the macro busy flag
        ' Macro:    #DecrementMacroBusyFlag
        BusyFlag = GetUserDRO(MacroBusySemaphoreDRO)
        SetUserDRO(MacroBusySemaphoreDRO, BusyFlag - 1)
        Sleep 100
        ' End Macro: #DecrementMacroBusyFlag

 
Notice that DRO, LED, macro numbers are pulled in from the included files (Common.def and Probing.def), so they don't need to be re-defined in every macro.  Simple text macros, like the DecrementMacroBusyFlag macro let you easily re-use small sections of tested code.

So, any interest?

33
General Mach Discussion / A Simple But Useful Probing Trick
« on: December 12, 2009, 10:20:52 PM »
I just finished cobbling my probing macros to implement a two-pass approach - I first do a "high-speed" pass to find the edge quickly, then back up a short distance, and do a second "low-speed" pass to locate it very accurately.  This completes the overal probing operation more quickly, and with a better result.  I'm doing the "high-speed" at 10 IPM, and the "low-speed" at 1 IPM, and getting +/-0.0001" repeatability!  With a flexible probe, I hope to be able to increase the high-speed feed rate considerably.

Regards,
Ray L.

34
Yesterday, I spent some time doing some cleanup and improvement on my suite of probing macros. Today I thought "I'll just wander up to the shop, and spend a
few minutes testing them out on the machine!" After all, how hard could it be??  Well, today Mach3 is apparently not disposed to paying any attention whatsoever
to the PROBE input. The hardware is all working just fine, but nothing I do will get Mach3 to recognize that the PROBE input is changing state. Even
defining the PROBE input as Emulated doesn't work! I've tried two different versions of Mach3 (020, and 032), and neither one works. 020, of course, has
been working just fine for most of the last year, but no more.

What the hell is going on? Can this be yet another XML glitch?

Regards,
Ray L.


35
General Mach Discussion / Hard Limits and Soft Limits
« on: December 10, 2009, 05:49:28 PM »
Now that my quill drive is up and running, and after putting it off for FAR too long, I'm finally going to start putting limit switches on my knee mill.  But I'm not entirely clear on exactly how to set them up.  On the quill in particular, I want to preserve as much usable travel as possible (since there's only 5-1/8" to begin with) between limits.  So, my question is, how are limits normally setup?  I can see a couple of different ways to do it:

1) Setup hardware limits so they trigger somewhere inside the "hard" limits, allowing perhaps 1/4" or so for a "safe" zone?

2) Setup hardware limits to they trigger *just* short of the "hard" limits, then use soft limits to create a "safe" zone.

I'm assuming the safe zone should, ideally, be just long enough to allow the axis to coast to a stop from a full rapid before hitting the hard stop.

Are there other options?  How are limits normally setup and used?

Regards,
Ray L.

36
I *finally* got off my lazy butt and built a quill drive for my BP clone, after doing X, Y and the knee about 18 months ago.  It uses the same servo motor as the other three axes, driving through a 2:1 GT2 belt drive turning a 20mm diameter, 5mm pitch ballscrew.  Before doing any tuning of the servo (and it's WAY off right now), it's already capable of over 200 IPM, and showing WELL under 0.0005" backlash.

Videos here: http://tinyurl.com/yazgvnv

Regards,
Ray

37
General Mach Discussion / Whose Fault Is ThIs?
« on: November 29, 2009, 08:51:05 PM »
Today I ran into a new problem....  I started using ramping to start cuts - this typically means a 3-axis helical move.  But, on some of them, my Z axis servo is faulting!  If I run the offending lines in isolation, they NEVER fault, even when run repeatedly.  Also, if I reduce the X/Y acceleration to what the Z axis is set to, the problem also goes away.  I've been using this machine for over a year, and NEVER had a servo fault, except when I accidentally ran an axis into a hard stop.  I've also verified the supply voltage is holding well, never dropping more than about 1.5V from its nominal value.  I'm suspecting perhaps Mach3 or the SS is not respecting the MUCH lower acceleration setting for the Z axis when entering the 3-axis moves, as the fault occurs almost instantly, before the Z axis has moved hardly at all.

How do I find and fix the cause of this so I can get back to work??

Regards,
Ray L.

38
General Mach Discussion / Stupid Questions re: Touch Probe Alignment
« on: November 15, 2009, 12:49:41 PM »
I'm thinking about building a touch probe - the kind with the three little arms, and ball-bearing contacts.  I've been using a rigid probe, but Mach keeps randomly screwing up, and about every 3 months breaks it off.

So, the question is, how does one go about aligning the probe tip to the spindle centerline?  I want to use this for machine setup, so it needs to be very accurate.  Seems to me it must be a huge PITA to get it precisely aligned and centered, I assume by using three screws to tilt the PCB, or similar arrangement.

Regards,
Ray L.

39
General Mach Discussion / Axis Drive Design Helper Spreadsheet
« on: October 27, 2009, 11:07:34 AM »
Below is a spreadsheet I've created to help with drive design.  It supports both steppers and servos, allowing you to enter component parameters (motor voltage/current/inductance, drive reduction components, screw type, etc.) and it calculates such things as optimum supply voltage for steppers, overall reduction ratio, step size, steps/unit, axis thrust, required step rates, etc.

At this point, I can't guarantee it's 100% complete or correct, but it is to the best of my knowledge.  If you find any problems, or see anything that should be added, please let me know.

Regards,
Ray L.

Updated spreadsheet 10/27/2009 12:15 PST to correct errors in metric conversion, and thrust calculations.

40
General Mach Discussion / Anyone here installed an Anilam Quill Drive?
« on: October 20, 2009, 08:37:09 PM »
I'm trying to get some information on how the Anilam quill drive installs.  If you have one, or you've ever installed one, please speak up!

Regards,
Ray L.

Pages: « 1 2 3 4 5 6 7 8 9 10 »