Hello Guest it is April 18, 2021, 11:22:52 PM

Author Topic: Z Axis Drift Problem...Losing Counts on a Servo System?  (Read 9184 times)

0 Members and 1 Guest are viewing this topic.

Re: Z Axis Drift Problem...Losing Counts on a Servo System?
« Reply #10 on: April 15, 2007, 11:57:49 PM »
Just to wrap things up, I pulled the daughter board and inserted the opto.  I also had to swap the common ground to common 5V on the drivers which was a small hassle.  The problem was solved!!!!

I still can't believe that there isn't disclaimer about this limitation.  I mean Gecko must know people use their drivers for CNC routers and I can't be the first customer that had this problem; so why not step up and say something?

Well thanks again.

Re: Z Axis Drift Problem...Losing Counts on a Servo System?
« Reply #11 on: April 16, 2007, 10:51:54 PM »
OK, I'll step up and say something.:-)

1) Application: The G901/902 was designed originally to fill our OEM customer needs that had legacy full-step and half-step controllers, proprietary and PLC mostly, yet wished to take advantage of the smoothess microstepping drives offer. The vast majority of these applications are point-to-point at best and are embedded in the machinery they control. The are not CNC applications and they certainly aren't constant velocity (CV) CNC applications. The G901/G902s met and still meet their needs to a tee.

2) The problem: People in the CNC community started using the G901/G902s in CNC CV applications and they are singularly unsuited for that purpose. The G901/G902s synthesize 1,2,5 or 10 pulses for every received step pulse. If full-step mode is selected, 10 synthesized pulses are sent to the base 10-microstep drive, it emulates a full-step drive and everything works wonderfully. The problem is the multiplier is not not psychic; it can issue the 10 synthesized pulses only after it has received an input step pulse. This can take 50mS to complete (10 pulses with a spacing of 5mS between each pulse). If the direction is changed during that 50mS, some pulses will be in the correct direction, the remainder will be in the wrong direction. The result is a 'drift' in the accumulated axis position during CNC CV motion. Non-CNC, non-CV applications have a dwell time after each motor move so this is of no consequence.

a 3) The solution: Design a 4-quadrant pulse multiplier. The G901/G902s use CD4000 and 74HC series logic and not a whole lot can be packed onto that board using that solution. Unfortunately a 4-quadrant multiplier requires a whole lot more logic. Enter the CPLD (complex logic programmable device). This is a tiny (5mm or 0.2" square IC) $1 part that packs the logic equivalent 200 or more 74HC ICs inside it. The G203V drive is our first foray in using CPLDs in a motor drive. It gave me the luxury of designing a perfect step motor drive when the amount of logic required is no obstacle. Having done so makes me wonder how I ever did without CPLDs.

I ran-off a quick 4-quadrant CPLD-based multiplier design prototype board. It uses the same position error accumulator our G320 servodrives use and they are certainly error-free. The design requirements for a 4-quadrant multiplier have a more than passing resemblance to what's required for a PID servo.  It will be a step pulse multiplier that cannot be spoofed by any CNC CV application.

The prototype board is much smaller (1.2" by 0.8" or 30mm by 20mm). I'm getting double-duty from it because it also will be a test vehicle for 0603 parts, QFN packaged CPLDs and new 6-mil  (0.15mm) design rules. That the multiplier will work as expected is a given; rather it will be a manufacturability test-bed for more compact circuitry. Circuit components will be more than 3 times smaller now (0603 vs 0805).

The test-bed part is important. If it works OK then circuit real-estate shrinks to 40% of present size and the 4-quadrant pulse multiplier circuit gets incorporated on a future G203V board at no increase in price. It will cost a little less than the G210 and far less than the G212 if you are familiar with our drives. The 4-quadrant multiplier will have a brief career as a G903 to service the 3,000-some G203Vs out there. It will have a longer career as a G904 to replace the G901/G902s.

Hope this long post helps explain why we are where we are and where we are headed. There are a lot of things afoot including the G320 which gets the 'CPLD treatment' late this summer.


Offline Chip

  • *
  •  2,055 2,055
  • Gainesville Florida USA
    • View Profile
Re: Z Axis Drift Problem...Losing Counts on a Servo System?
« Reply #12 on: April 17, 2007, 02:05:15 AM »
Hi, Mariss

Will increasing the step & direction pulse length in Mach3 help dampen this issue some, not sure of the actual max values, there seem to be 2 places this can be set, Motor Tuning and Ports & Pins, maybe up to or more than 15 us.

Just reading through some posts tonight, Have used your drives, stepper & servo, None with micro-step option though.

Thanks, Chip
« Last Edit: April 17, 2007, 02:07:12 AM by afn09556 »
Re: Z Axis Drift Problem...Losing Counts on a Servo System?
« Reply #13 on: April 17, 2007, 12:19:16 PM »
No. The step pulse width set in motor tuning is microseconds wide while the dwell time is 50 milliseconds, a time period 10,000 times longer.