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

Everything looks good.  Except I notice that your A,B, and C Galil axes have the default PID values.  Are you running analog servos with +-10v command signals?  If so, I bet you are going to have to do some tuning!  But the spindle config looks good.  

In the Galil terminal, what voltage dos the command OFD=5 produce on the MOCMDD with reference to GND?  


A lot of Mach videos here:
And the main Mach doc is here:

Galil docs are here:  Get both the Command Reference and the User's Manual for your controller.  Read the user's manual first.  Top to bottom.  Then read it again.  LOL!  I'm not going to sugar coat it...  It is going to be painful!  :)  But I have found that with most technical docs, a person just doesn't start putting it all together until the second time through.  At least that is the way I am.  Chapters 3, 5, and 6 are the most applicable though.  So maybe read it once through and then re-read those chapters.


Ok, so I got the spindle working kinda... I get 0-10v out of my 4th axis (MOCMDW) the problem is the voltage is negative. Can I just hook the in reverse?

???  Not sure why you are seeing this.  What happens if you go to the Galil terminal and enter the command "OFD=5" ?

Again, make sure that KP, KI, and KD are set to 0.  Issue "KPD=0;KID=0;KDD=0" in the Galil terminal.  Then try the OFD=5 command again. 

Turn on logging in the Galil plugin config.  There is a check box to enables it.  Then re-start Mach and then directly close it.  It will produce a GalilDebug.txt file in the plugins directory.  At the top of this file, there will be a listing of the current Galil settings.  This might prove useful to see if there are any commands burned into the controller's NVRAM that could cause this.

Also how do I link buttons to commands in mach3? For instance: I have a green and yellow button, I'd like the to run cycle start and feed hold. How would I go about doing that?

You would typically wire them to inputs on your Galil and then map that input in "ports and pins"  Then you may need to write a Mach 3 Brian that looks at that input and operates an OEM button code.  There is a good video tutorial on Brains in the Mach documentation web links.  Once the mapping is done in ports and pins, it is all pretty much standard Mach from there on out for this task.


Proportional (P), Integral (I), Derivative (D).  These are the main terms that describe how the servo loop operates.  They have everything to do with how a servo system operates.  Galil lets you "tune" these values with KP, KI, and KD commands.  OF is the Galil voltage offset command.  OF0 will be 0 volts offset while OF9 will be 9 volts offset.  And anything in between.  This is command that we use on the Galil to basically use the axis as an analog output.  But...  KP, KI, and KD need to be set to 0, otherwise they may change the base voltage of the output!  

The Galil is a very complex and flexible motion controller.  A good bit of knowledge about Galil controllers is pretty much a prerequisite to using one with Mach effectively.  We cannot possibly put all of that into the plugin docs.  If you know how to operate a Galil outside of the Mach environment, then setting up the plugin via the plugin docs is pretty straight forward.  However, if you don't have a good handle on the Galils, it can be challenging (to say the least).

The good news is that the Galil documentation is pretty good.  And they have a nice forum on their website with lots of answers.  Also, the application notes are an invaluable resource when it comes to connecting the Galils and wiring up ICMs.  

There are 3 things that anyone needs to know a good deal about when using the Mach/Galil combination:

1.  Servo theory and operation.  This means getting to know your servo/drive combination pretty well too, as they are all a little bit different.
2.  General Galil concepts and operation.  This includes wiring the ICMs up to the servo drive, inputting the servo tuning parameters,and BN (burning) them to the Galil's NVRAM.  Making the servos move with only the Galil terminal is a good first step.  
3.  Mach.  Mach started off life as a system that drove stepper drives from the parallel port.  This paradigm is most noticeable in the "Ports and Pins" configuration dialog.  Later on, the concept of external motion controllers came to life.  But these external motion controllers pretty much don't resemble a parallel port at all.  So there has always been this sort of square peg/round hole type thing going on.  So the way we implement an external controller is by providing "virtual ports and pins" via the plugin.  That is why we have a pin map in the Galil plugin documentation.  So you just installed Mach and have fired it up, right?  Is all of this immediately apparent?  Unfortunately, No.  

None of this comes fast and easy.  I can't tell you how many nights, days, and weekends I have spent pouring over the Mach and Galil docs.  And I'm still learning every day!

But it is all worth it.  The Mach/Galil combination is poetry in motion.


In the plugin config dialog, you map S to the desired Galil axis.  Then select "Single Ended 0-10" check box. You would then wire your VFD 0-10v input to the MOCMDx (where x is the axis you chose) terminal and then tie your VFD ground to any GND terminal on the Galil ICM.  You can also wire the VFD on/off signal to the AMPENAx circuit of the Galil ICM.  You will also need to map and wire output to control the direction of the VFD.

It is important that the PID values (KP, KI, and KD) for the Galil spindle axis be set to 0 and burned to the controller if you are not running with encoder feedback.  When in this mode, the plugin controls the speed of the motor with the OF command.  You will see these commands being sent down in the debug log file if you turn on logging.

Do not check the "Spindle uses encoder" check box unless your VFD can accept a +-10v command like a servo drive does.  Even if your VFD provides encoder feedback.

That is it, in a nut shell.


Galil / Re: Galil plugin sends TM 1000 but I need TM 125?
« on: March 31, 2014, 12:32:21 PM »
We depend on the sample period that is defined by TM1000.  The plugins makes calculations based on this default and thus there is no workaround.  :(

The TM1000 is sent by the plugin to make sure that TM is what we need it to be.


You don't use ports and pins for the servos or encoders on the Galil.  They are handled in the Galil plugin.  This is because their function is known.  Meaning there is a specific place to wire them up on the Galil ICM and we can make a direct correlation as to what they do.  However, we don't know what input or output you want to use for what.  So the ports and pins tab is a way of letting you, the user, map that functionality the way you wish. 


Galil / Re: axis ports and pins settings
« on: March 19, 2014, 07:16:24 PM »
Yes, do not define the set and dir pins.  Put them all at port 0.


Galil / Re: axis ports and pins settings
« on: March 18, 2014, 12:51:05 PM »

A simple move in the Smart Term terminal will be

DPA=0 'define 0
ACA=3000  'Set accel
DCA=3000  'Set decel
PAA=10000 ' Position Absolute to 10000
BGA ' Start motion.

The step and direction signals are not use on the Galil.  A position is sent to the Galil plugin from Mach and the Galil sould do all of the step/dir stuff to the motor drivers.



The resistors are internal to the ICM.

Wilde Racing,

Either type of switch is fine.  Just if you go mechanical, then you want a good one.  Not some cheap crap that bounces.

As to the relay to run a relay, I do that a lot.  I used solid state relays to drive the coils of mechanical relays.  It may be overkill but if you are not sure how much current the coils require, then it is a safe way to handle it.