Hello Guest it is September 23, 2019, 12:15:20 AM

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 - smurph

801
Galil / Galil plugin version 4.6 available.
« on: January 08, 2014, 05:54:30 PM »
There is a new Galil plugin available on the plugin download section of http://www.machsupport.com.

Two plugins...  One for Smart Term and one that will work with Galil Tools (and possibly Galil Suite) PCI drivers and Ethernet controllers.  Pick the one you want.  You don't want both plugins in the plugin directory at the same time! 

Steve

802
Galil / Re: Galil Connector
« on: December 10, 2013, 05:47:33 PM »
Yes, exactly like that.

Drive enable is a function of the Mach enables.  I believe you can stagger the enable delay in Mach 3, but I do not know how.  You may want to pose that question in the General section.

Steve

803
Galil / Re: Ethernet communication drops with RealTek card
« on: December 10, 2013, 01:48:39 PM »
I have seen a fair amount of computers come with these RealTek Ethernet controllers on-board.  And another issue with them is that the transmit buffers are woefully inadequate for streaming data TO something.  They work fine when the PC is streaming data FROM something, like a video from the web, etc...  But streaming data to the Galil was problematic.  So you have to go fiddling with the Ethernet card driver settings.  Find the transmit buffers and max them out.  Then it seems to work fine.

Steve

804
Galil / Re: Galil Connector
« on: December 10, 2013, 01:38:44 PM »
Ilia, you can limit the output voltage with the TL command.  I use it on my Matsuura because the amplifiers actually take a -6 to +6 voltage range.  Galil is VERY handy when running obscure stuff.  :)

Steve

805
Galil / Re: Galil Connector
« on: December 10, 2013, 12:40:16 AM »
Nice!  Thanks Ilia!

Steve

806
Galil / Re: Mitsubishi J2S-40A and Galil DMC-2183 with ICM-20105
« on: December 02, 2013, 02:19:48 PM »
The DMC-2260 is a good controller.  It has 100 Mb Ethernet and can probably do 2ms in LI mode pretty well.  Tweaking the VA, VD, and VT params via the plugin will smooth things out even more.  I have never tried the position control (step/dir) input servo drives, as there is really no reason to use a Galil with them.  So for your machine, I would suggest 200w analog command servos.  A bit overkill, but you can soften them up with the PID parameters.  You will most likely want to drive the screw with a reduction belt drive to the servo.  No direct drive as often used with steppers.  Most servos will do 3K RPM so gear reduction is the norm. The more encoder counts per unit you can get is going to help all things out.  The Galil will handle 50,000 counts per inch easily.  So use 5:1/4:1 reduction or so on the servo to the screw and then calc in the screw pitch to get in the 30,000 to 50,000 counts per inch ball park, assuming 1024 counts per rev or more encoders on the servos.  Adjust accordingly for metric.

I like the little Yaskawa SDG/A servo drives and the matching SGM motors.  Bullet proof.  And you can find them pretty cheap on eBay.  SDGA-02BS is the 100v (110v mains) drive and the SDGA-02AS is the 200v (220v mains) drive.  The motors have to match the drive voltage.  For smaller 100 watt system, SDGA-01BS or SDGA-01AS.  Big thing here is getting the cables control cables with the drives.  Or at least the stubs.  Otherwise, you will have to order some expensive cables!

The 200 watt motors are not much bigger than NEMA 23 steppers.  The 100 watt motors are even smaller.

Tuning the servo system is a royal pain.  But once done, it is well worth it, IMHO.  Quiet and smooth.  Less stress while operating the machine.  The sound is rather nice on the ears.

Be careful though...  Once you go servo, you never go back!  :)

807
Galil / Re: Galil + Mach3 slowly losing position
« on: December 02, 2013, 03:13:40 AM »
I guess it is possible.  But I was talking about noise sources such as switch mode power supplies or VFDs that use switching transistors.  They are terrible!  

Try this test that will take Mach and the Galil plugin out of the equation.

What happens in the Galil terminal if you do this:
1.  ACX=5000 ' set accel to something your machine can deal with.  5000 is just a number I thought up.
2.  DCX=5000 ' set deccel to something your machine can deal with.
3.  SHX  'servo here to turn on drive.
4.  DPX=0 ' set the X axis encoder count to zero.
5.  PAX=10000  'move the X axis pos 10000 counts (or something that makes you machine move about an inch or two)
6.  PAX=0 ' Move X back to pos 0.

Do you get back to 0?  If not, PID or mechanical.  

Also, the motor should hold position at zero after the last test step.  If it does not, then there is something really wrong somewhere.  It should really not ever creep after SH has been issued.  If you try and turn the screw by hand, the servo should fight you and try to keep the encoder at zero.  This is really a good test because you will see if you PID values are good.  If it fights back and tries to return to zero and it just never makes it back after you let your hand off, there is a sign that the PID values need tweaking.  It should go back to 0 and stay there.  It may dither back and forth a couple of counts, but not much!

After MO (motor off), the servo loop is disabled and the motor can creep if there is a bias on the analog command input of the servo drive.  In this case, you can adjust the voltage bias with OF (offset) to get a no creep setting.  Use BN to burn the OF value to the controller.  

Oh, and it goes without saying but I will say it anyway...  Be careful!  :)

Steve

808
Galil / Re: Galil + Mach3 slowly losing position
« on: December 01, 2013, 07:02:22 PM »
At best, it sounds like your PID may need a bit of tweaking.  IF there are no mechanical issues.  

The encoder is on the motor, right?  Well what if the shaft is slipping in the gear/coupler a bit?  That will lead to a table/position mismatch.  So the first thing I would do is verify the mechanical parts.  I took apart a machine (not a mill, but a second op special purpose machine) from work that was having position problems that no one seemed to be able to find.  Every time they started the machine up, they would have to change an offset value in the program to make it work.  They just accepted it as that was the way it is and dealt with it.  Eventually, they decommissioned the machine and I bought it for scrap price.  I wanted the servos and ball screws for my mill project at home.  As I took the machine apart, I found the problem.  Way deep inside the guts in a location that was very inaccessible, there was a shaft coupler that was designed to be used with a key way.  Well...  someone neglected to put the key in!  So all that was holding the shaft was the friction of the coupler.  It would slip just a bit every now and then and this caused the offset issue.  It was insidious because just looking at the shaft coupler, you would never find it.  Lesson learned!

Your rounding "lip" problem smells distinctly like the stench of mechanical problems.  :(  It is very possible to slip in only one direction.  I would advise taking the X axis apart and looking at everything.  Just turning things by hand measuring might not immediately show where the problem lies.  

If all is well mechanically, tighten up the PID so that commanding the servo to a position makes it hit the numbers.  If you get into a situation where you say G01 X1 and your encoders don't read 1.0000 (assuming your encoder resolution will actually let you read to the tenth), then you need a bit more gain (or less dampening) in the PID.  This sounds like the problem you described in your first paragraph.  If you find yourself over shooting, then you need more dampening/less gain.  There is also sticktion.  If the gain and dampening are generally good but on very slow moves to the target you find yourself not hitting the numbers, you may want to throw just a tiny bit of KI in there.  Be careful with adding too much I because it will cause the system to get unstable!  Your KP and KD parameters need to be pretty much on target before you go messing with KI.

Also, check for noise issues.  This might make the encoder "count" even if it is not moving!  It is best if the encoder signals are differential and not single ended.  And it is also best if the encoder cables are not run along a path that take them near any noise sources.  VFDs, power supplies, etc...

Steve

809
Galil / Re: Mitsubishi J2S-40A and Galil DMC-2183 with ICM-20105
« on: December 01, 2013, 06:12:29 PM »
I just showed a sample of the output stream, not the whole stream.  The IT command is used for independent axis moves.  VT is used on vector moves on earlier controllers.  For later Accelera controllers, VT has been removed and IT provides the smoothing for both independent and vector moves.   That particular data stream came from a 2173 controller.  VT is correct for it.  This VT/IT parameter is a setting in the plugin.  You can make the machine act how you want with it.  The PID filters and VT/IT will smooth things out, or not.  Your choice.  I prefer to just run the profile as output by Mach.  It's granular enough as to not make huge "stair steps".  And besides, steppers use it all of the time.  That is the output you get out of Mach.  Mach sends data points, way points, dot plots, whatever you want to call them.  They describe the movement.  Mach does not send down CR, PR, or PA like information.  In the Galil plugin, we take the incremental way point information from Mach and stuff them into a LI command (or CD command for contour mode).

As for your pictures, you will never get the first curve as output from Mach (input to the controller).  There are no points to describe the spline!  There is a time period between each point in the dot plot and this is a parameter that is settable by the plugin.  This will determine the granularity of the system.  If I tell Mach that I want way points on 1ms intervals, then the resulting dot plot is going to be really smooth to begin with.  No smoothing required.  Conversely, if I told Mach to output 32ms interval way point, then the dot plot it is going to be a lot rougher.  A low granular system will benefit most from smoothing functions.  However, it can't be as accurate.  

With the smoothing functions, it may be possible to get the machine to move like the fist curve picture.  But again, the points in each picture are the same!  The data points simply do not adequately describe the curve in the first picture.  If that plot is say 4ms between the points, then decreasing the time interval to 1ms is going to describe the curve with 4 times the data points and result in smoother motion.

This has nothing to do with closing the motion loop.  It has everything to do with what kind of input the controller gets from Mach.  If the controller is in LI mode, sending more LI commands with data points for the same move will yield a smoother profile.  Generally, sending LI commands that represent 4ms of movement is sufficient.  You get nice round circles with that.  At least to the point where you really can't measure the faceting that all non linear moves have.  8ms is ok, but depending on the feed speed, faceting may be more than desired.

LI mode will "interpolate" between the points.  How it does that depends on the other settings (IT or VT and VD/VA).  Meaning, you can let the Galil motion profiler have some influence, if desired.  Those VT, VD, VA values in that stream sample effectively turn the Galil profiler off.  It is possible to smooth things too much and lose accuracy.  It is also possible to "tune" the system to get awesome results.  Leaving the default plugin parameters as they are yield very acceptable results.  But tweaking them may yield better results depending on your machine.

CD mode will follow the dot plot precisely with no smoothing between the points.  Accuracy is stellar.  This is basically position over time, or PT.  Like a stepper system.  No "tuning" required (PID still needs to be tuned though!).  This is the mode I would specify if the controller can do it and you have a fairly granular system as far as counts/unit and time interval is concerned and you don't want to play oscilloscope for hours on end searching for the "perfect" tune.  I have run this mode on a highly rigid motion system (gear drive instead of belt on my Matsuura) with 2ms time slices and 12700 counts/inch and it is just plain awesome.

Which mode you use is up to the controller you have and/or your preference.  

There is a new position and velocity over time (PVT) mode on the Accelera controllers that I will leverage for Mach4.

All of this is entirely dependent on the machine as a whole system.  If you have a wet noodle sloppy motion system, you are not going to have good results no matter what features of the Galil you use.  

If you still don't get it, then I would suggest getting a Galil and trying it out.  The Galil is a high quality motion controller.  The Acceleras are insanely fast (22MHz encoder inputs) which allows for insanely granular counts per unit on the encoders and still get high traverse speeds.  In my opinion, pair a Galil with a good machine and Mach and NOTHING will be better.  And it is the only motion controller that allows mixing of servos and steppers that I know of.

Steve

810
Galil / Re: Mitsubishi J2S-40A and Galil DMC-2183 with ICM-20105
« on: November 29, 2013, 10:58:57 PM »
No, we don't use the Galil CR command.  Mach plans the trajectory for the circle and sends it down via LI or CD commands, depending on what the user has chosen to use in the Galil plugin (Linear Interpolation or Contour mode).  Whether it is a straight line with a single axis or a circle with multiple axes, it does not matter.  The same thing is happening.  The Galil gets the trajectory data from Mach and then the Galil is in charge of following it.  No matter what plans the trajectory, it NEVER gets planned more than once.  NEVER.  I don't know of any machine controller on the planet that does this.  Fanuc, Fidia, EMC, etc...  Why would they?  The trajectory is computed and then it has to be followed.  If the machine cannot follow the trajectory and it has to have the trajectory re-planned, that is a bit like having the tail wag the dog.  That is one messed up dog!  :)

Here is a sample of what we are sending to the Galil (A lathe in this case).  The moves are incremental and it is using Linear Interpolation in this example.  Mach plans the LI data points.  The BG S command tells the Galil to start executing the trajectory:

LM AC
VT 1.000
VD 30000000
VA 30000000
LI -170,,-57<11206
LI -341,,-114<22470
LI -204,,-68<13438
LI -1,,-1<88
BG S  
LE

If the movement is complete and the table is not at the correct position, then the PID parameters need to be looked at.  The real-time component in a servo motion system is used to look at the incoming position data and adjust the servo drive command inputs (via the PID filter) to maintain an acceptable following error.  The target positions and target velocities have not changed.  If the following error is too great, then the PID loop may specify more voltage on the command inputs of the drive.  (Stepping on the gas).  If it gets too aggressive, then the PID loop may specify less voltage on the command inputs of the drive.  (Stepping on the brakes).  

The car/driver analogy fits very well.  Say you plan your route to get to the hardware store.  This route includes a lot of starts and stops and some curves.  This route planning is what Mach does.  Accel to slew, slew (Speed limit), and decel to stop.  Turn right, accel to slew, slew, and decel to stop, etc...  You, as the driver of the car, are responsible for following the route.  You are the motion controller!  If you accell too much, you may get a speeding ticket.  Also, if you fail to decel, you make get a ticket for failing to stop.  You manage all of this by looking at the speedometer and visual judgements (encoders) and adjusting how much gas or brakes (PID loop) it takes to command the car.  This is the real-time component.  What happens if you hit the brakes too much and you don't reach the stop sign at the intersection?  Do you re-plan your route?  No.  Because the route has not changed.  The road has not gotten any longer and the target stop sign hasn't moved.  You just failed to command the car correctly.  In this case you need to go back to driving school (update your PID values).  :)

With the Mach/Galil combo, Mach is the HMI, G code interpreter, and trajectory planner.  The Galil controls the motion to follow that trajectory.  That system will make beautiful parts with high accuracy and repeatability if the machine hardware is up to it.  In fact, it puts the original YASNAC controller on my Matsuura mill to shame.

Steve