Friday, August 16, 2024

Inside a Linear Actuator

Linear actuators are getting easy to obtain and relatively cheap. The same cannot be said of linear servos. The two have a lot in common except for the ability to control the position precisely. The usual way the commercial servos do it is using a multi-turn potentiometer. I decided to take a different tack. And the best way to implement it is to take one apart and see how they can be engineered to provide servo operation.

The full sized linear actuators (500+ mm travel) I intend to use are expensive and I need six of them. A good approach would be to try it with smaller actuators (200m travel) and get some experience using them. The ones I opted for are shown below in retracted and extended state.


The actuators were bought off AliExpress at AU$53 for two including postage. The specs for them are below. There is second version with a bracket on the body of the plastic section. While I don't need a mounting bracket, it may be a convenient place to mount a control PCB.

Mechanical
Overall Length (Retracted)270 mm
Travel200 mm
(Also in 150 mm)
Cross section20 x 15 mm
Holes at each end (Diameter)4.2 mm
Load Capacity - No-Load Speed100N - 8 mm/s
(Also in 30N - 30 mm/s, 60N - 15 mm/s, 150N - 4 mm/s)
Electrical (Current values as measured)
Input Voltage12 V
Current (No Load)60 mA
Current (Stall)130 mA
Current (Stationary)20 mA

There is a sticker with the basic specs on the plastic body as you can see in the main pic. Peeling off the sticker is not necessary but there are five screws holding the body together.


Remove the screws and separate the two plastic halves and the internals can now be seen.


The two wires drive a very small motor. This has a set of 5 axles with 8 gears including the motor shaft and the final drive. The final gear drives a lead screw that moves the actuator. Linear actuators usually have limit switches that, when pressed, bring in a diode that lets the motor turn only in the opposite direction. Interestingly, this actuator, probably because of its small size, uses a flexible PCB shown below.


The diodes used to limit the rotation of the motor in a given direction can be seen along with RC filters to damp the switching noise. The flexible PCB extends the whole length of the actuator and there are brushes on the travelling rod that connect to tracks on the PCB. At each end, the tracks stop to bring the diode into the circuit, limiting any further travel. The brush and part of the lead screw along with the bearing holding it can be seen below.


The plan is to have a sensor that detects the rotation of one of the early gears in the gear train. The sensor will provide one pulse per rotation. Depending on the position of the gear in the gear train, the sensor should receive multiple pulses for each rotation of the final gear. A rotation of the final gear takes the actuator forward by one pitch of the screw. This is estimated to be 1 mm. This should give a resolution well in excess of 0.1 mm.

The method has one big drawback. It does not give you the absolute position, only the amount of travel. Coupled with the unknown position at startup, this can be a problem. However, with the application I have in mind, a complete retraction can be a part of the startup. This will initialise the position on startup to a known value and subsequent positions can be easily calculated.

There are a few ways the rotation of a gear can be sensed. Due to the small size of the test actuator, this process can actually be easier on the larger final actuator. Here are some options.

  • Hall effect sensor
    A small magnet can be glued on to one of the gears. A Hall effect sensor can detect this magnet and provide a pulse for each rotation.
  • Photo-reflective sensor
    A piece of dark felt can be glued on to a gear. It can then be detected by a photo-reflective sensor like the CNY70.
  • Photo-interrupter
    A photo-interrupter is a LED photo-diode combination opposite each other. It can detect the line of sight between them being blocked and uncovered. A small hole can be drilled in one of the gears and the photo-interrupter mounted to detect this hole.
  • Lead screw sensor
    A zebra strip can be mounted on the lead screw and detected by a photo-reflective sensor. Multiple pulses will be detected for a single rotation and this should provide a level of fine control.

So the internal gear train and other mechanisms have to be studied for possible sensor solutions.

One of the gears highlighted below in red has a large unused section between the larger gear on the axle and the where the next gear mates with it. The distance is about 3-4 mm. A piece of black felt can be glued in this portion that does not go all the way around. A photo-reflective sensor can be mounted near a cutout in the body, shown in green, to sense the rotation of this gear. This gear is just after the motor and should provide sufficient resolution.


One of the gears highlighted below in red is about 1 mm thick. It also has about 1 mm of gap on one side and more on the other. The gear train can be disassembled and a small hole drilled in this gear. A photo-interrupter can be mounted near this gear can sense the hole. This is towards the end of the gear train but should still provide enough resolution.


The gear set if mounted on to the motor with two screws.


The gear set itself is rivetted together. This makes any surgery like drilling holes in gears next to impossible. Even adding a band to be detected by an optical sensor can be a challenge. Note that the gear set will be different for the same actuator with different force/speed specs.


I might do a blog on the teardown of the larger actuator but here is a picture of the gear train inside it. The gear circled is a good candidate for a small piece of black felt glued on it. It is the second in a train of four gears. A hole in the aluminium housing can allow a photo-interrupter to sense the rotation of this gear.


No comments:

Post a Comment