Thursday, August 16, 2012

TBs TechNuggets 13 - Inside the PF L-Motor and SV-Motor

Some of you might remember I had an ocean experience with my 9398, 4x4 Crawler...
More precisely, it happened 24 days ago.

While I was planning to open and show you the new PF motors, I also realized that likely the motors would be running under a silent corrosive process, so I wanted to give it some time for the elements to take effect...
If you remember the motors were exposed to sea water and an environment with fine grains of sand which penetrated everywhere. Despite the motors were after carefully dried, they were not stored under any special conditions like in a recipient with silica or rice to absorb moisture.
The motors were not really submerged neither exposed in these conditions for a long period of time (they were in fact very briefly), but they are also not water resistant (or watertight) and salted water is not properly the best thing to have in contact with metallic and electronic elements.

Nevertheless, all the motors were still working today!
Now that my holidays have finished and I've again some time for blogging, let's see what's inside and what happened...


PF L-Motor

The characteristics of this motor has been widely dissected already. You can find the official electrical characteristics from LEGO Power Functions Element Specs webpage, or the detailed Philo measurements here.

With almost the same output speed (390 rpm) as the PF M-motor, it delivers almost as twice the torque (18 N.cm), at the expense of a current consumption (stalled or no-load) in nearly the same proportion.

The overall motor body size is 4x3x7 modules. More precisely (3+0,5+0,5)x3x7, if we realize the central body is protruding half stud from the mounting holes, both sides in one direction. It means in most common cases it will need an available space with 5x3x7 modules, to fit in.
It is also a significant evolution from the M-motor in terms of mounting possibilities. With some additional mounting pinholes in the motor head and now also in the rear side (14 pinholes in total), it became a lot more complex in terms of physical design to avoid the use of even more complex and expensive molds. This is particularly noticeable on the motor head which has several slits, for the Technic pins to snap in and lock without remaining in compression, which is not functional and unacceptable by the official LEGO Technic design rules. Such slits also allow the DBG head element to be produced in one single part.
Wonder why it was not used the same connectivity solution for the PF M-motor, by the time it was released. It just would need 1L extra length... IMO this is a serious candidate for a design revision, as the bottom side only hollow studs connectivity, is not much effective for a motor dealing with significant torque and vibrations - besides the four face mount pinholes in motor's head.



Next step was was of course to open the motor... which I tried to do without causing major damages, by compressing the head sides and pushing the rear part sideways, this way trying to avoid to cut the 4 latches. Unlike what I've experienced with the M-motors in the past, this one was not glued but I ended damaging the latches anyways.

The images below show the inner parts and we can take several conclusions from them.
  • The L-motor uses an electrical motor with the same form factor of one used in the M-motor, but a bit larger (not a surprise of course, given the extra power).
  • As anticipated it uses exactly the same planetary gear reduction with two stages (Rt=43, St=11, 24:1 total reduction) as the M-motor (read this former TBs post, for a more comprehensive explanation on PF planetary reductions). Most of the planetary reduction elements are virtually the same although they have a slightly different finish and show different LEGO element numbers.
  • The natural elements have not been friendly with this motor... It is definitely not watertight and exhibits already some signs of corrosion.
  • Even some fine grains of sand can be found in several parts inside the encapsulation...
Definitely we all should take serious the LEGO recommendation on this not being a toy to be played outdoors! And even more on sandy and wet environments, of course...



From the picture bellow we can also observe how identical the inner reduction stages from M and L motors are.

Planetary gear reduction stages from M (top row) and L (bottom row) PF motors.


PF SV-Motor

The PF Servo motor as a less conventional form factor, which is something natural if we think about servos. It fits into a 5x3x7 modules space and also offers a versatile set of connectivity possibilities with its multiple pinhole connections (also 14 pinholes in total, the same as in the new PF L-motor besides the different distribution and geometry of the encapsulation). The output is present in the lower protruding part which has the particularity to allow the connection of two shafts in the same hub. One to the front side and another one to the rear. Although they are not independent, naturally.



There was no other way to open this motor then cutting the four latches in the sides with a X-Acto knife. Although the casing parts were also not glued in this motor and then they were easy to open.
When opening the casing, one can immediately see several gears which makes it look like other hobby servos at the first sight. Although I’ve never seen a planetary reduction in any of those. This is to say the PF Servo has also a two stage planetary gear reduction attached in front of its internal electrical motor. It has the same overall 24:1 reduction ratio (although in a smaller set) which should only influence how fast the motor switches between the servo positions.
Interestingly some of the internal gear axes are metallic. Probably due to the forces involved close to the output.
The inner gears on the head block are designed so that you can't assemble them in a wrong way, which would jeopardize the output zero setting. This if you were supposed to open the motor of course. Anyway it should ease the production process and avoid assembling errors.
Besides there is no reference number printed in the electrical motor used, it looks exactly the same model as used in the older PF-M motor, which comes without surprise for the space where it needs to fit.

Probably because the servo was less exposed in the Crawler chassis, notice this motor doesn’t show any evidence of corrosion due to the contact with the sea water.
Neither I found any sign of sand grains inside it.



Below some photos of the electronics that control the motor movements. Notice the front PCB with the metallic contacts (14) disposed into an half circle that provides feedback to the control circuitry about the output actual position. It corresponds to the ±90 degrees output shaft variation and to the 7 positions allowed to each direction by the PF RC protocol.
I wonder why there is not a central contact to help determining the absolute center (zero) and why the third contact in each direction from the center is quite larger, suggesting some non-linearity which we do not observe in the output movement.
Let’s not complicate it now, but I much look into this, in further detail… (edit: see the encoder hypothesis meanwhile left on the comments)



However this answers already one previous question regarding whether this servo zero may tend to have a drift over time. It won't because of its physical position control/feedback encoder. It may eventually happen with too much use is to have the contacts wear out making it useless, but I don't see it happening easily. 

Feel free to drop any questions if you still have them. I'll answer if I can.

22 comments:

AVCampos said...

On the paragraph about the conclusions taken from seeing the inner L-motor parts, I think you mean "M-motor", not "L-motor", and the tool you used to slice the servo open is called an X-Acto knife. ;)

Anyway, cool report on both internals and damages by water and foreign substances! It should be a warning against enthusiastic entrepreneurs who tend to take LEGO elements a bit too far.

But, upon seeing the motors' guts, I got a disappointment: the servo's position sensor uses metallic "whiskers" rubbing on PCB contacts instead of optical components (like on the NXT servo and the RCX rotation sensor). With time, the "whiskers" and contacts will wear out and make the servo more and more unreliable. I wonder if it was because of cost or space requirements that this solution was adopted...

Paul Bort said...

The larger contacts in the outer ring correspond to breaks in the inner ring, suggesting that they are used together to encode the position.

If you count the gaps in the rings, there are a total of fifteen; one center and seven to each side. The first, middle and last gap are 90° apart. I wouldn't be at all surprised to find that it uses a single conductive wiper to bridge the two rings, then determines the position of the servo based on which pads are shorted together.

Fernando Correia said...

@AVCampos
Corrections done. Thanks!


@Paul Bort
Good point!

santi said...

Given the weird shape of the servo, it seems like they put a lot of effort into designing it. Otherwise it would just look like a regular PF motor. It'd be interesting (maybe for a next interview) to get some intuition as to why did they design the servo with this shape!

Fernando Correia said...

@AVCampos

The NXT servo doesn't provide absolute control (which can only be achieved with "complex" SW methods). It provides relative and speed control.
That may be the reason for the "hardwired" approach from the PF servo, once the absolute control is a mandatory requirement!?

Fernando Correia said...

For the case you're interested, I've been updating the text of this post, here and there. ;)

TJZshokunin said...

Did you put them back together? and did they still work?

Fernando Correia said...

@TJZshokunin

Yes, they still work!
Although the casings are not as tight as before anymore. Of course I can always glue them, but will leave them as they're for now.

TJZshokunin said...

Nice!

TJZshokunin said...

I saw an idea of using hot glue to seal your motors, but wouldn't water get in around the output connecter?

Fernando Correia said...

@TJZshokunin

Yes, it might work for the area around the power cable, but definitely not around the output shaft. Also the head facing pinholes have direct access the the motor interior and it would be difficult to seal this area without obstructing the pinholes.

I see some possibilities if we first open the motor, but there will be always one way through the planetary reduction module.
The flux would get reduced anyways.

JTZshokunin said...

I don't think I'll try it.

Fernando Correia said...

LOL

AVCampos said...

@Fernando: hmm, yes, I didn't remember about that kind of encoders being unable to measure absolute positions. And, evenifthere was additionally a central switch for the servo to know it reached zero, it still wouldn't know which way to turn to reach it.

A solution would be to use an absolute encoder, but that would bring up again the size/cost problem.

Tristan said...

Would you be able to get the part ID of U2 (The writing on the top of the chip). I am interested to know if they used a software or hardware solution for position control.

Even if you can get a few characters, that would probably help.

Fernando Correia said...

@Tristan

Had to remove the red mark and it reads

S132
PHF6
1486

Does it make any sense?
Didn't find any PIC with such reference.
Only references to genes... :P

Fernando Correia said...

Neither an FPGA. :/

Can it be a custom ASIC?

Tristan said...

With a bit of searching and guessing:
It is a STMicroelectronics 8-bit Micro-controller

Trying to find the actual data sheet for it.

This means that it uses software to convert the control signals to positions.


Fernando Correia said...

Great! :)

Tristan said...

And probably a close relation to this part here:

http://pdf1.alldatasheet.com/datasheet-pdf/view/236431/STMICROELECTRONICS/STM8S103XX.html

Kwon8429 said...

I opened L motor too, I have a video too!

I don't know how to open servo I will try it!

Kwon8429 said...

I have opened that too!

anyway nice!

Related Posts Plugin for WordPress, Blogger...



© 2007-2014 TechnicBRICKs
TechnicBRICKs contents may be sporadically updated, if the authors finds further relevant info about a certain post, or content/spell mistakes. Hence please don't be surprised if you find few changes at later visits, relative to a previous read.

TechnicBRICKs often shows other peoples' creations and/or images. We always try to credit the author(s) and link to their main publishing website, and if possible with their name in real life.
Since this is not always possible, we request that if you find something here that is yours or from someone you know, you leave a comment on the respective post and claim the authorship.

TechnicBRICKs is optimized for Firefox 16.0 and 1600x1200 resolution displays or wider.

LEGO® is a trademark of The LEGO Group of companies which does not sponsor, authorize or endorse this blog.
LEGO, the LEGO logo, the Brick and Knob configurations, the Minifigure and MINDSTORMS, are registered trademarks of The LEGO Group.
Original LEGO images are copyrighted by The LEGO Group and are used here in accordance with their fair play policy.
You can visit the official LEGO® website at www.LEGO.com.