Thursday 13 April 2017

Grappling with the config

I'll be spending many hours in front of the machine, as I try to figure out how the various config parameters work. Even if the manual were in comprehensible English, there are many parameters that interact and although it may have seemed obvious / intuitive to the guy(s) who defined the functions, as a user you will only find out by trial and error.

So for instance, if your servo motor drives in the wrong direction, there are several ways to fix it. You could go into the motor and swap a couple of encoder wires over - and the motor connections too. But that would be fiddly and would also result in that particular encoder not being interchangeable with the others. So it would be cleaner to reverse the direction of the axis in the controller setup.

That's easy enough to do but when you change the direction of the axis, does that change the direction of the homing operation? And does it change the sense of the "forward" and reverse" feeds? Well as you'd expect, it's not unambiguous. Sure enough, my Y axis was arse about face, so I was able to spend an hour or so experimenting, whether I liked to or not.

Homing is also a whole episode in its own right. It seems to interact with the soft limits and the machine coordinates. I think(!) I have an idea how it works now, after spending another hour or more experimenting.

I'm sure I've missed something but when you get the controller to home an axis, it zeros the machine coordinates and then moves to the offset you set up as "home offset". But you can't then move back past the home offset. So might think that after homing at the very far extent of the table it would be handy to automatically move the table back to somewhere near the middle. Indeed it might but afterwards you can't move the table anywhere between that middle position and the home switch - it says that the soft limits would be exceeded. So the "home offset" should be only a small distance (~10mm perhaps) so that you are clear of the switch. Then rapid away manually to where your work is located. I'm sure that a seasoned operator would know this - but I'm not one of them.

Also, if you define the axis direction as negative because your motor defaults to the opposite direction, the homing directions become inverted. So my "go towards the home switch" speed is now negative on the Y axis whereas it remains positive on the X axis.

I managed to get the X axis driver to trip out during lengthy fast jogging. If this error were due to overcurrent it would require the drives to be powered off and on. Other faults such as following error, overtemp or encoder can be cleared without cycling the power to the servo drivers/ However, the servo alarm lines still need to be wired into the controller so it knows the offending axis has stopped, along with the "alarm clear" output from the controller to the drives.

Once the drive alarm lines are connected up, the controller stops when a drive alarm occurs. It also alarms when the controller is alive but the drives not yet powered up. I found that the fault can be cleared from the controller, so it's clearly a follow error. The controller is asking for the axis to move quicker than the motor and drive can manage. After a configurable follow error (number of steps), a fault is generated. It's possible to tell that the axis is unable to keep up with the demand when the table continues to move for a short while after lifting off the jog button.

There are 2 authorised bottle necks, so assuming that there is nothing dodgy going on such as noise or crap driver design, hopefully the problem is one of these:
  • The controller pulse frequency might be exceeding the maximum capability of the driver. But the spec for the servo drive claims 400kHz bandwidth. With 1000PPR encoder and 5mm leadscrew, that would be good for 24,000 rpm, or 120 m/min ie 2 m/s, so that's unlikely to be the issue.
  • Or the motor itself can not move fast enough to keep up with the demand. The voltage constant for the MT30R4-46 motors is 46V/1000rpm. I have a temporarily low DC bus voltage of around 46V (or conveniently close), so trying to get the motor to run above 1000rpm will lead to disappointment. I find that 4000mm/s seems achievable but 5000mm/s causes follow errors. This makes sense - allowing for voltage drops in the wiring, drives and machine windings, it shouldn't be possible to get to the 5000mm/s (ie 1000rpm) level. The good news is that when I run the system from 240V rather than 110, I should be able to double the axis speeds - if that were actually useful.
I'd love to wire up the VFD now but first I should finish off the limit and home switch wiring for the Z axis, then set the configs. The slight complication is that I want to home the Z axis at the top of travel (quill retracted) so that I don't find the quill emerging to full extent every time I home the Z axis. With a work piece / vise etc on the table below it might be a problem.

The "diagnostics" pages are handy for checking out the switch wiring. To get into these, you press the "parameter" button twice. Note that the input status shows if the input is activated, not the actual logical level of the digital input. So changing the input from a normally open (high until activated) to a normally closed (low until activated) does not change the display value from a high to a low. The displayed value will be "0" until the input goes to its active state at which point the display value changes to "1", regardless of the actual voltage at the input.



No comments:

Post a Comment

Final assembly and test of the spindle nose adaptor - RESULT!!

After the recent distraction caused by the 3D scanner, resurrecting the 3D printer and buggering about with the throttle bodies for my Honda...