LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Homing operation of CMC (Cleveland Motion Controls) Servomate SM1.

This unit was used in many Hurco Knee mills and some Bridgeports, it may also have been used in very early Haas mills. It is an analog +10v, 0v, -10v type DC brush servo control utilizing tach feedback for velocity as well as encoder position. X/Y axis each used a single prox switch in center tripped by dogs at each end of travel

An extensive manual for the Servomate SM1 can be found here: http://www.skullworks.net/include/Servomate-AO-73187.pdf file is 14.9mb
Note that page sizes may appear small this is due to the D size prints of the schematics and other details at the bottom of the file. (just zoom in and its clear.)

Homing as incorporated on a Hurco KM3 knee mill.

The Hurco Ultimax II used a single button to start a homing cycle. Each axis was homed and zeroed before the next axis homed.

Homing started with Z axis doing a rapid move to the + limit switch then backing off to find the index pulse. Next the same happens for X or Y axis until all 3 axis are zeroed. (Note that homing direction and order are in a hidden BIOS file of the Hurco controller not in the Servomate itself.) (Changing these settings determined which direction the table would home to however the coordinates would be the same as it would add the stated travel limits if needed.)


1) The Servomate wires the limit switches via opto into each axis such that when you hit a limit switch further movement in that direction is disabled in the servo amp itself, but you are able to back off the limit under power.
2) When homing the servo runs at speed towards the limit. Once tripped the motor current appears to be dumped into a breaking resistor and servo halts in less than a half turn.
3) During program execution machine uses internal soft limits, with the hard limits as a backup.
4) Possible timing issues may not allow EMC to catch the index pulse or at the right time.
5) Cutoff of amp when limit is triggered could also cause an F-error.

Please Note the following information is outdated

The question has come up several times on the EMC IRC about a method where the Servomate could play well with EMC. At this time there are no new answers, but this has been posted for consideration I believe there must be a way.

A possible homing plan:

1. On a homing command for a axis, machine feeds at 'HOME_SEARCH_VEL' until limit switch halts movement.
2. Next reverse feed at 'HOME_LATCH_VEL' until index is located.
3. Stop on Index and set 'HOME_OFFSET' and 'HOME' for that axis. ( both values 0 )

	a) Limit switches would be short of hard limit stops.
	b) Initial homing velocity should be set low to verify servo braking speed.
	c) 'HOME_IGNORE_LIMITS' may not be needed except to keep EMC happy.

Update: Cradek & Alex_Joni pointed out that with the machine hardware config as the new [Index Only] homing method which is in head/trunk and will be part of the EMC2 v2.2 release should work just fine. This method requires the operator to manual jog the machine axis to line up witness lines for each axis prior to executing the home command. Once homing is started the machine will move in the direction defined until the first index pulse is detected. Total motion to home is less than 1 full revolution of the encoder.

I intend to add a list of which machines used this servoamp/controller.

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited July 7, 2012 12:43 pm by Archivist (diff)
Published under a Creative Commons License