Hello Guest it is May 11, 2021, 12:33:05 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.

Messages - Highspeed1964

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 »
Yay!  Great to make progress.  I know the joy as I went through much of this not long ago.  Being that it's all still fresh in my mind is a big part of what helped me remember enough to pay it forward.

Switch debounce is definitely the next step to getting the stops to back off the switches now that we have things reacting the correct way on the movements.  That should clear it up to get you backing off the switches.

But go enjoy an evening on the town and revel in the current accomplishment first.  We'll be here when you get back... :)


Good point, Dave.  I had thought about that too but couldn't find where it was configured.  Thanks for adding that.  I'm assuming that for the limit and home switches that would be the Debounce Interval and not the Index Debounce?


General Mach Discussion / Re: Different speed in material and above
« on: September 14, 2016, 03:35:39 AM »
G0 and G1 are modal commands, meaning that once set it is the active mode until a different modal command is set.  As an example:

G0 X0 Y0 Z0
G1 Z-0.5 F50
X4 Y5 F600
X3 Y7

In this rather basic program, the machine is set to rapid movements (G0) and positions the tool at zero for all axes, then moves (still at rapid movement) the X Axis to 1 followed by a movement of the Y axis to 2.  (These two moves can be combined into one line and the tool would then traverse at a diagonal line from 0,0 to 1,2 rather than a straight move along the X axis and a seperate move on the Y axis.  Next, a cutting move (G1) is made on the Z axis to -0.5 at a feed rate of 50 followed two cutting moves (still in G1 mode) at a feed rate of 600 to various points on the X and Y axis.  These last two moves are diagonal moves since the X and Y values are on the same line and the feed rate (F600) is set until changed by a different F word so both of the last two moves are made at a feed rate of 600.

In Motor Tuning, adjust the Velocity to the speed at which your machine is capable of running RELIABLY.  This velocity is what is used for G0 moves.  You'll also need to adjust acceleration accordingly to get smooth starts/stops as well as keeping it high enough so that corners don't become rounded.

As shown above, G1 moves are made at a speed determined by a feed rate command.  This can be set with F followed by a number or you can manually set it through the feed rate controls on the Mach 3 screen.  However, if you set it through the screen controls it can be altered by the program if an F command is encountered.  But again, to really summarize:

G0 - Rapid move at the velocity set in Motor Tuning
G1 - Cutting move at the currently set (via program or screen) feed rate.

Hope that makes sense.


On the Config Menu, there is a selection called Home/Limits.  This opens a window similar to the Ports and Pins configuration window.  Withing the Home/Limits window there is a column labeled Home Neg (although it will probably only show Home N... since the column is to narrow to see the whole title).  This column will show either a red "X" (home in the positive direction) or a green Check Mark (home in the negative direction).  If I understand your table configuration properly, you'll want a green check in the row for both the X axis and the Y axis.

But another consideration comes to mind as well - when you try to move the axes with the jogging keys (arrow keys by default) are they moving in the correct direction?  (i.e. right arrow should move the X axis in the positive directions and the up arrow should move the Y axis in the positive direction - opposite directions for the left and down arrows.)  If not, you'll need to reverse the Dir LowActive column for the respective axis in the Motor Outputs tab of the Ports and Pins configuration screen.  Make sure the axes are moving in the correct direction first before messing around with the Home direction setting.

As for the Z axis not moving away enough to clear the switch, that may be normal.  It is looking for the switch to become inactive (open in your case) and that usually happens before the stop completely moves away from the switch activation lever.  Check the diagnostics page to make sure the Z home light is not lit after the homing operation for that axis.  (At the end of the Ref All Home operation, all lights for home and limit should be off for all axes.)

I remember the Apple IIe.  I never had one (I was a commodore VIC 20 guy around that time - I was in the military at my first duty station) but my neighbor had one.  My first computer experiences was with a Radio Shack TRS-80 that my High School had for computer classes and I did some programming in Basic.  I also took a COBOL class my senior year.  That was a load of fun! (NOT)  We would hand write our code on coding sheets which were then sent to the Data Entry class to be typed onto IBM Punch Cards.  These card decks were then sent to the local college to be processed on their IBM mainframe computer system and then returned for us to see the results of our coding efforts.  This process usually took 3 - 5 days.  So in the meantime, we're working on our next projects so when we finally see the results (occasionally with errors in the program) we would already be a couple of lessons or so down the road.  But if there were errors, we would have to fix them and run through the whole process all over again because often times these programs would become subroutines of later programs and we would combine the card decks of all the component routines into one deck (ususally with additional cards for variable assignments) and run it again at the college.  You can imagine the challenge that process posed but it definitely taught us to be very meticulous in our coding phase so that we didn't have as many errors although sometimes it was the keypunch operators (students) that made a mistake.

Anyway, thanks for the trip down memory lane there.  I'm sure we'll have you running your machine soon.



General Mach Discussion / Re: Different speed in material and above
« on: September 13, 2016, 06:46:29 PM »
Yes!  G0 and G1.  G0 runs at the maximum configured motor speed and would be used when the tool is above the material.  Then G1 is used for the cutting moves and can be programmed for a different speed with the "F" word parameter.  That is actually what these two commands were designed for.  G0 for rapid moves and G1 for cutting moves.

Hope that makes sense.

Stephen "Highspeed" Kruse

Actually, I need to amend the above information.  The Z-Axis will probably be homing in the positive direction so it should be set up as:

Z++: 13
Z - -: 10
Z Home: 13


Ah, ok.   So what you have is a switch for each "upper" limit (x, y, z in the positive direction) all wired together and a dual home/limit switch on the lower end (axis moving in the negative direction) for a shared limit/home switch on each individual axis.  So what I believe you would want to do is set the ports and pins configuration to:

X++: 10
X - -: 11
X Home: 11
Y++: 10
Y - -: 12
Y Home: 12
Z++: 10
Z - -: 13
Z Home: 13

Remember, there are two limits - one for each direction - that must be accounted for.  Usually, a shared switch arrangement would have the two limit switches wired together and connected to the respective axis input pin (i.e. 11 for X, 12 for Y and 13 for Z) and then putting all three signals on Ports and Pins to the same pin number.  So your pins would be 11, 11, 11, 12, 12, 12, 13, 13, 13.  However, the way you have it should work, you just need to change the pin assignments as I listed above.

And yes, the Y axis moving in the wrong direction is what is triggering the Reset button flashing and halting on you.  A limit switch that is shared with the home signal (as is the case with your lower limit) will be ignored in a homing operation but if it is not shared like you have for the + limit, that will not be ignored.  The Y axis moving in the wrong direction will trigger the limit in this arrangement.  We need to get that axis (and possibly the X axis since we haven't yet gotten that far) moving in the correct direction for homing.  So what you'll need to do is go to Config | Home Limits and set the Home Negative opposite of what it is currently set to for each axis that is homing in the wrong direction.  Since your Y axis is moving in the wrong direction, that one definitely needs to be changed.  (i.e. if it has a red "X" change it to a green Check Mark and vice-versa.)

Try that and let me know how it goes.

(As for the "Novel" length discussion, I've seen much longer War and Peace discussions on this board.  That's just the nature of troubleshooting so don't feel like this is unique!)  ;D


So firstly, the .XML file is in your Mach3 directory.  It will have the name of the profile you use to start up Mach3.  To post the file, if you can get it to your Mac, then you can attach it if you click "Reply" (the "Quick Reply" will not work for this) and then "Additional Options" under the text block in that window.  The will be a button to "Choose File" there that you can then use to attach it to the message.

Secondly, I appreciate the clarification on your switch indications on the diags screen.  So on the Y axis, is the home switch positioned closer in than the limit switch?  Somehow, it seems like the home is getting ignored and the axis continues until the limit is hit.  You _could_ run your machine without referencing home but this is not recommended since it puts your machine in a state where it doesn't know the true Machine Coordinates and other functions rely on knowing the correlation between MC (Machine Coordinates) and WC (Workpiece Coordinates).  We'll get this figured out hopefully and you wouldn't need to worry about these issues.

If possible, could you somehow get a diagram of the switch layout on your machine posted as well as the .XML file?  That may help us figure it out better.


Highspeed, thank you for your help.

>If movement is not complete (i.e. GetOEMLed(825) is false)
>it will loop while the movement continues.
Yeah, you are right.
I've changed my program as you'd pointed out.
However, e.g., the touched X-axis coordinate should be stored at #2000.
But Mach3 often fail it.

When you say "often" do you mean that it sometimes DOES work?

Also, that motion card is a combination motion controller and breakout board.  The difference between a breakout board and a motion controller are many but the basics are that a breakout board simply splits the signals out from a 25-pin connector to individual circuits - usually with isolation circuits helping protect your computer from erroneous voltage from feeding back through the parallel port.  A motion controller does so much more including off-loading of the CPU intensive translation of the Mach3 commands to the actual signals sent out on the 25-pin input port and can have a couple of different types of input connectors - the most common being USB and Ethernet.

As Gerry said, motion controllers vary greatly in implementation of the actual functions.  Although many recommend against the Chinese types, I have a UC100 motion controller that plugs into a standard breakout board via a 25-pin connector and it works quite well.  The challenge is that I'm not sure if there is a Mach4 plugin available for that controller so if I ever decide to upgrade to Mach4 I may not be able to use the UC100.  So I'd be starting from square one on the design.

I bring this information to the discussion so that you do not end up buying a breakout board that does not have a motion controller to replace one that is a combo unit like the WiXHC one you have.  You'd then probably need to buy a motion controller as well if you do not have a parallel port setup on your computer.  MCs are the way to go at this point anyway as parallel ports are becoming a scarce technology.

Let us know how things progress for you.


Not sure how that wiring would work out with the limits on the E-Stop.  My machine has a each axis with the limit switches (and no separate home switch) wired to the respective pin for each axis.  I've wired my switches in series on the NC contact with an active HIGH setting for safety (a broken wire or loose connection would also trigger a limit stop) and pins assigned as 11 11 11 12 12 12 13 13 13.  This way the machine knows which axis triggered the limit.  You could possibly use the setup you have since it sounds like you have a separate home switch, but that may be what's causing your Y limit to trigger a stop.

However, in a homing condition you'd expect it to trigger the home switch before reaching the limit so this should work out fine.  Have you checked the home switches on the diagnostic screen to make sure they are working as well?  I'd suspect that is where your final trouble might be.  I can look at your port and pins configuration if you post the XML file, but if it's mechanical this wouldn't be of much help.

Let me know what you see when you trigger the home switch for each axis on that diags page.

Stephen "Highspeed" Kruse

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