Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: Excitron on December 08, 2011, 02:13:55 PM

Title: wrong activelow
Post by: Excitron on December 08, 2011, 02:13:55 PM
I verified that the activelow and activehigh are reversed in the manual, and in Mach3 (latest and 3 years ago versions).  Running W2000, kernel speed is either 25k or 35K, mostly higher values don't work.

Background:  Standard true ActiveLow means the line is normally high, then a step is activated when going low.  Mach3 manual and Motor Pins are the opposite.  Best performance and noise immunity occurs when using true ActiveLow (line is normally high), then the cable has +5v noise margin all the way down to +.8v or sometimes .6v.  If one uses true ActiveHigh, then the cable is sitting at around .2v to .5v, depending on the driver, it can never be lower than .2v.  Thus true ActiveHigh only has about .4v noise margin, and often spurious noise on cables longer than 3 feet can easily generate false or missing steps (even if cable is shielded), that's why true ActiveLow is used throughout the electronics industry.

Until we made X & Y Motor Pins active high, the motors moved 40% or 63%, and other values caused different physical movements.  We also noticed that when we selected ActiveLow, the physical distance traveled depended on the acceleration and velocity values.  Travel was consistent, but always wrong.  Then making the X & Y Motor Pins active high (right situation but wrong description according to Mach3) fixed the wrong movement--now 1" = 1".

I note that the Z axis had the opposite effect from X & Y.  Z axis only works well if ActiveLow is selected.  When Z has ActiveHigh, the travel was exactly half.  so we tape a large warning on our mills--select ActiveLow for X & Y, select ActiveHigh for Z.

It is possible that these Mach3 software issues are only due to our values, but we actually tried a full range of values for distance, velocity, accel.  Mach3 should never have a different travel distance just by changing the acceleration or velocity values.  We came across this activelow/high issue 6 years ago on another machine, made it work, and imachined thousands of parts.  I now wanted to write this help all.  I can imagine many Mach3 users just giving up.
Title: Re: wrong activelow
Post by: Excitron on December 09, 2011, 11:50:37 AM
well, today Mach3 is back to not traveling the correct distance on X; Y & Z are fine.  The only single thing I did was increase acceleration from 2 to 3, then putting it back to 2 now does not work.  No value of feedrate works.  So exactly the same values on everything worked fine, now doesn't.  X now travels 40% of expected.  tried many different values of acceleration and velocity.  Strange that Y works ok, when it did not before.  I can make Z not travel the correct distance by simply changing velocity or acceleration.  Z is consistent on making it travel the correct distance, whereas X and Y are extremely inconsistent, even when having the same values for V and A.

Mach3 crashes/hangups when "Saving Settings" under Configuration.

I tried changing the kernel from 25K to 35K, no change.  changed to 60K and now it will not load, have to reboot the PC every time just by trying to start Mach3.  I suspect uninstalling and reinstalling will allow Mach3 to run again.  Moral of the story is keep the kernel speed low.  I have to put Mach3 aside, just cannot get it to travel correct distance.  installed/uninstalled countless times, yes I reboot each time.  I have disabled every windows component, except for about 8 that are necessary.
Title: Re: wrong activelow
Post by: HimyKabibble on December 09, 2011, 12:46:50 PM
You are almost certainly not meeting the Step/Dir timing requirements of your motor drivers.  You need to understand what it requires, and make the Mach3 timing meet them  This may require finding an oscilloscope so you can see what the actual timing looks like.  I doubt you'll do any better with any other controller software.

As far as "active low",  most motor drivers actually step on the rising edge of the step pulse, so each pulse will consist of first a high-to-low transition, then a low-to-high transition.  Setting Mach3 to "active low" will do this.  Any transition on the Dir line must typically occur AHEAD of the low-to-high transition on Step, though not all drivers require this, and will allow both to transition at the same time.

You also need to make sure your pulse width is adequate.  Many break-out boards, particularly with optical isolators, will severely distort the Step pulses, or even filter them out entirely, at even fairly moderate step rates.

Whatever your problem is, I can pretty much guarantee is is NOT software - it is either hardware, or configuration.

Regards,
Ray L.