Case Studies

Programming a Push-Pull Machine

What, you might ask, is a push-pull machine?

To a Birmingham-based major supplier of drive shafts to the world’s automotive industry, it is a machine used for pressing a shaft into a constant velocity (CV) joint – this is where the push comes in – then testing the integrity of the assembly by trying to pull it out again.

Drive shafts transmit torque from the differential outputs of a vehicle’s gearbox to its driven wheels, allowing them to move due to steering and suspension movement. They comprise a shaft having a CV joint at both ends to accommodate angular movement and a sliding joint at the inboard end to provide axial extension as the effective length of the shaft changes due to suspension travel. CV joints on front-wheel drives must transmit torque through a wide angle (typically up to 52 degrees) whereas for rear wheel drives operating angles are much lower. Assembly is a one-way operation which must be done right first time because the shaft is retained by a circlip which snaps into place as the parts come together and cannot be disassembled because the circlip is then inaccessible.

The Issue

The client’s in-house engineering team designed and built the machine for carrying out this critical function, including developing and flow-charting its complex sequence of operations in minute detail. However, when it came to programming the machine, they called on my expertise to make it work.

Constant velocity joint 3D-rendering of the internals of a simple CV joint

Constant velocity joint 3D-rendering of the internals of a simple CV joint

The operator loads the parts into the machine by hand. The CV joint sits loosely in tooling on the bottom slide, which locates it on centreline. Some CVJs have an ABS ring that is loosely located in the CVJ bell housing. The tooling is mounted on a load cell, to measure push (assembly) force that is limited to 18kN to protect the product. The shaft is held in tooling on the top slide, which locates it on centreline. The tooling is mounted on a load cell, to measure pull (disassembly) force to 18kN. The tooling incorporates both pneumatic and hydraulic clamping; when the operator loads the shaft into the tooling, a sensor detects the part, which automatically engages the pneumatic clamp, to hold the shaft lightly until the operator clears the light guards when the hydraulic clamp grips the shaft firmly.

The first operation is to raise the bottom slide until the CVJ housing comes up against the datum face and the motor stalls, at which point a measurement of travel is taken, to ensure the correct housing has been loaded, then backs off a preset distance. If there is an ABS ring in the housing, the PLC monitors the assembly force required to press it into position. If the force is within tolerance the cycle continues; if not, the cycle is aborted and an error message displayed on the HMI. Next, the shaft is pressed into the CV joint. As it enters the joint, the shaft is gently oscillated to ensure the splines on the shaft engage in the mating splined collar on the CVJ. The slide advances at a preset speed as the splines engage and the circlip on the shaft snaps into a mating groove in the CVJ, at which point the shaft cannot go any further. The assembly force (up to 15kN) is measured. If it is within tolerance the cycle continues; if it is exceeded before the circlip snaps into the circlip groove, or the shaft travels too far indicating that no circlip has been fitted to the shaft, the cycle is aborted.

The next operation is to attempt to pull the shaft back out of the CVJ, to test the integrity of the assembly, which is done by reversing the servomotor driving the top slide. If the assembly is sound, the motor stalls as the CVJ housing comes up against the datum face, but it is programmed to stop driving when the load exceeds the assembly force by 3kN.

The final operation is to push the shaft into the CVJ a second time to a maximum force of 18kN, which confirms that the assembly is good, after which the slides return to their ‘home’ positions and the operator unloads the drive shaft assembly.

During assembly, the actual speed and torque of the servo motors driving the top and bottom slides are recorded on a PC at 10millisecond intervals and stored in a file which can be analysed and displayed in graphical form using Microsoft Excel. This information tells the process engineer a lot about the actual assembly operation and is archived for quality audit purposes. The PLC includes a calibration procedure that allows the push and pull forces to be measured against a range of motor torques from 10 to 100%, even though maximum assembly force of 18kN occurs at about 60% of peak motor torque. The resultant calibration curves are stored in the PLC and used for setting torque values applied during the process.

The client gave me full responsibility for:

  • Programming the Siemens S7 PLC which controls machine operation, including a calibration routine that ensures precise load application
  • Programming the two Lenze 9300-series intelligent servo drives which apply the push and pull loads
  • Programming the Siemens TP270 touch-screen HMI (human-machine interface)
  • Developing the PROFIBUS communications between PLC, HMI, drives and I/O
  • Developing a PC-based software package for acquisition, storage and presentation of load and speed data from the assembly operation
  • Implementing CANbus links between the PC and the Lenze servo drives for the acquisition of motor torque (load α torque) and speed data
  • Commissioning the machine in the client’s Birmingham factory and making it work to the customer’s complete satisfaction

Programming a push-pull machine

The machine comprises a substantial fabricated steel column having two slides (top and bottom) which move vertically on guide rails, and a datum plate fixed to the column between the slides. The slides are driven by geared brushless servomotors via ballscrews. The motors have integral failsafe brakes, to prevent the slides running down under gravity when motor power is removed.