Showing posts with label RC Servos. Show all posts
Showing posts with label RC Servos. Show all posts

Wednesday, 22 January 2025

Market Review of Small Brushless Servos

Market Review of Small Brushless Servos

Servos employing brushless motors won't fail from a brush failure. 
So servos with brushless motors should be inherently be more reliable and last longer than servos with brushed motors.

Brushless servos tend to be larger high-torque servos when compared with servos with brushed motors.
They also tend to be completely digital devices and in most cases may be programmed to change some of their attributes, using simple USB programmers.
I sourced five different brushless servos from China to review and test. They were all the smallest brushless servos available in their range. They were all standard sized servos, with approximate dimensions of 40mm long and 20mm wide.

The desirable characteristics of a steering servo for a small long duration sailing drone:
  • low idle current
  • low operating current
  • high torque is not important
  • fast response is not important
The programmable servos could be altered to reduce their current draw, and hence reduce the torque they can apply. The primary attribute affecting torque and current draw is the maximum duty cycle.

My preferred servo at the time of writing is the Yipin X10.

Hitec HS-425BB - Brushed Servo - for comparison

Summary: This is a good standard brushed motor servo. Voyager sailing drones have sailed many miles with these servos and similar ones in the Hitec range.

Landed Price: AUD $25
Idle current:     9mA
Specified Torque: 4kg
Programmable: No
Spline:    24T
mass:    43g

Current measurements after optimum programming for reduce power consumption:
All testing performed at 5Vdc.
Idle current:     16mA
Step current:    1000mA
Sweep current: 100mA



9imod Brushless 20kg 

Summary: This is good value for money brushless motor servo.
It is only slightly more expensive than brushed motor servo.

Landed Price: AUD $33
Specified Torque: 20kg
Programmable: Yes
Spline:    25T
Mass:    72g
web:
GXservo-v1.rar - ServoDebugger.exe, older version of software, but does work on  my Windows machines.
GXservo-v3.rar - newer version, but crashes out on my Windows computers.

Current measurements after optimum programming for reduce power consumption with adequate torque of around 1kg.cm:
All testing performed at 5Vdc.
Idle current:     12mA
Step current:    360mA
Sweep current: 200mA








DS Power DS-B008-C  24kg

Summary: It sounds very smooth and quiet. Build quality is good.
But it not programmable, ands that means that it can't be optimised for a role.

Landed Price: AUD $49
Specified Torque: 24kg
Programmable: No
Spline:    25T
mass:    66g

Current measurements as supplied (programming is not an option):
All testing performed at 5Vdc.
Idle current:     40mA
Step current:    2000mA
Sweep current: 290mA







Yipin X10 

Summary: This is my favorite brushless servo.
Possibly the best quality servo of those surveyed. The Yipin Servo uses the same PCB as the 9imod servo, but the build quality seems to be better.
They both can be programmed using the same programmer and software.
The Yipin servo comes with spare gears and pins.

Landed Price: AUD $81
Specified Torque: 10kg
Programmable: Yes
Spline:    25T
mass:    72g
web:
GXservo-v1.rar - ServoDebugger.exe, older version of software, but does work on  my Windows machines.
GXservo-v3.rar - newer version, but crashes out on my Windows computers.

Current measurements after optimum programming for reduce power consumption with adequate torque of around 1kg.cm:
All testing performed at 5Vdc.
Idle current:     12mA
Step current:    450mA
Sweep current: 200mA











AGFC A73BHLW

Summary: This servo includes feedback in the form a 4th connection wire.
It is simply a direct connection to the potentiometer wiper pin. 
This could be done on almost any servo without cost.

Landed Price: AUD $165
Specified Torque: 40kg
Programmable: Yes
Spline:    25T
mass:    79g

Programming software:     AGF-SPV3 USB programming card
                                           https://agfrc.com/index.php?id=2581

Current measurements after optimum programming for reduce power consumption with adequate torque of around 1kg.cm:
All testing performed at 5Vdc.
Idle current:     34mA
Step current:    390mA
Sweep current: 90mA












Sunday, 22 September 2024

Servo Endurance and Failure

 Servo Endurance and Failure


The main steering servo that has been used in Voyager 2 has been the Hitec HS-322HD.
Several of these servos have been used in the life of the Voyager 2.
The original steering servo used in lake conditions, from 2016 was being retired in late 2019, prior to commencing ocean voyages, and stored away for possible use in less critical projects.


Hitec HS-322HD






A few years later in January 2023 this servo tested for its endurance by exercising without load until it failed.
It completed around 4 million movements before failure.

The failure occurred in the brushes of the DC motor .

The image below shows two motors from HS-322HD servos where the brushes had failed.
In both cases the filed brushes lead to a failure of FET drivers in the H-Bridge.
The brush housing on the left is from the motor tested to failure without load, to 4 million operations.
The one on the right failed at sea, leading to the stranding of the Voyager near Cape Schank in April 2024.




Failed DC Motor Brushes



Servo Driver board showing burnt-out FET drivers.


The steering servo on board Voyager for the 6th voyage in Bass Strait, failed in April 2024.
It failed after an estimated 280,000 operations. This is well short of the anticipated 4 million operations from the previous no load endurance testing.

The plan moving forward is to investigate the availability and suitability of servos that utilize brushless motors.

The Hitec HS-322HD has a torque rating of 3kg at 1cm.
The smallest brushless servo seems be rated at 10kg at 1cm.



Saturday, 21 September 2024

100 days on a Beach - 6th Bass Strait Voyage

100 days on a Beach and a broken leg - 6th Bass Strait Voyage 

The 6th voyage on Bass strait for Voyager 2.7, commenced from Torquay Fishermen's Beach at around 4:45pm April 17th  2024.
Conditions were good.

Pre-launch at Torquay Fishermen's Beach 


But, the next day after around 28 hours sailing, Voyager appeared to suddenly deviate from course and drift to coast under the influence of the South-Westerly  wind, and eventually washed up in an isolated cove near Cape Schank, Victoria.

Track reported by the Satellite tracking showing the apparent time of failure.


The coast near Cape Schank is difficult to access so recovery will be difficult.
The coast line is mostly cliffs around 30metres high. It is mostly private rural residential land or farm land.

I attempted to gain access by following a gully down to the coast, but during the hike, I fell and broke my leg. This put me out of action for around 10 weeks.


Coast near Cape Schanck where Voyage come ashore.



The Satellite locator beacon continued to function for several weeks until the batteries finally ran down. the last signal was received at 9pm 22/5/2024, after 35 days. 

While recovering from my broken leg, I formed plans to recover Voyager by water, using my kayak.
The nearest practical location to commence the recovery trip was from Flinders Ocean Beach. This beach had easy access by car, and is protected by offshore reefs.
This would result in a journey 4 miles WSW toward Cape Schank, to the location of  Voyager.


Planned recovery journey in a kayak from Flinders Ocean Beach.




Then on 6th July 2024, after 80 days, a friend flew his light aircraft over the location of Voyager, took photographs, that showed the boat was still in the cove.
It is visible in the image below as the white dot on the beach above the high water mark.


View of Voyager from the air.


I planned my recovery trip using the kayak. I practiced paddling an equivalent distance in the Yarra River near to home to ensure that I could complete the journey in Bass Strait.
I needed calm conditions in Bass Strait, with out too much wind or swell, and not too much rain.
I made two trips to launch location, 1.5 hours drive away, but did not proceed because I was not happy about the conditions. 
The third time the conditions were good to proceed, and on 30th July 2024 at around 10am I started paddling.
The trip in the kayak was around 2 hours, and timed for low tide at the destination.

Voyager was found high up on the pebble beach as expected.
The beach consisted of wave washed rocks around 6 inches across. it was difficult to walk on.

Voyager was found in good condition, considering it had been on the rocky beach for over 100 days by now.
The electronic housing was intact, and the electronics were in good condition.
 

She had been on the beach for 100 days, or 3 1/2 months.


Voyager 2.7 as found after 100 days


Voyager was strapped on to the kayak, and I headed home as quickly as possible, retracing the 4 miles back to Flinders Ocean Beach, another 2 hours.


After recovery, heading home.



What caused the failure ?

At first I thought the failure was due to a mechanical problem with the Wing Sail. 
The Tail section was completely missing, including the stainless steel screws, leaving clean 2mm threaded holes in the carbon fibre tail booms.

The electronics appeared to be in good. 
I powered up the electronics while preparing to rebuild and relaunch Voyager.
But I was surprised to find the main steering servo was not operating, despite appearing to be in good condition.

The servo was disassembled and revealed an obviously burnt-out FET driver transistor.
This is one of the four FET driver transistors that form the H-bridge DC motor driver.

Steering Servo showing the burnt FET Motor Driver.


Further disassembly revealed that the brushes on the DC servo motor had failed.
The brushes each consist of around 4 fingers of brass or bronze.
The image below shows one of the fingers has been displaced and was on the wrong side of the commutator.
This would have shorted-out the motor causing the failure of the FET driver transistor.


Servo Motor with failed brush


I had previously studied the log files on the SD Card, but had not looked carefully at the current consumption.

After reviewing the current consumption, the time of failure of the servo become clear, and is shown in the image below.
the servo failed at around 80,000 seconds into the voyage, or around 22 hours.

Plot of Current versus time showing failure near 80,000seconds.


The failure time was reviewed against the track taken by Voyager, and is shown in the image below.
More detailed review of the logs around this time showed, the vessel lost steerage and its heading appeared uncontrolled from the time onwards. 
It was quite a coincidence that the wind was running almost directly down the desired course.
This continued for around 4 hours, until the wind changed direction and blew the vessel toward land.


Actual steering servo failure time 


The servo had failed prematurely. 
It was a Hitec HS-322HD.
Previous servo endurance testing had yielded around 4 million operations before failure, due to the failure of  the motor brushes.
This servo failed at around 280,000 operations. well below expectations.
Typical servo usage seems to be around 50,000 movements per day.

Servos will be covered in more detail in a future article.
The plan is to investigate brushless servos that should have a much greater lifespan.

Thursday, 17 October 2019

Magnetic Coupling Version 2 - new Magnet Layout

Magnetic Coupling - New Improved Design

What's the optimum layout for the magnets in the magnetic coupling for allowing a servo to operate through waterproof barrier. ?

After some prototyping and testing, I think I have a reasonable solution.


The main performance attributes of a magnetic coupling are:
  • Ambiguity; and 
  • Holding Torque.
Holding torque can be maximised by having many magnets or many poles; increasing the strength of the magnets and reducing the distance between the coupling disks across the waterproof barrier.

Ambiguity refers to whether the coupling has multiple detent points. That is, can the external disk be forced into other stable positions, other than the intended position.
The problem of ambiguity can be reduced by reducing the number of poles.

A servo operating a rudder does not need to travel more than 180 degrees.
This means that ambiguity will be eliminated if there are two detent positions per 360 degrees (with one being eliminated by a 180 degree restriction).
This can be achieved with a 4 pole magnet layout, as shown in the following image.
4-Pole Magnet Layout, with neighbouring magnets sharing the same orientation. This is my preferred layout.

Tests were performed on a variation of the layout of magnets shown above, where the neighbouring magnets were setup with opposite orientation. The aim was to see if there was any measurable difference in performance.

4-Pole Magnet Layout, with neighbouring magnets having opposite orientation. Holding torque reduced by 15%.
The method of comparing holding torque of different magnet configurations was to use a simple spring scale.
The spring scale was pulled gently, while observing the maximum load before the coupling yields (or breaks free).
This provides relative values for comparing maximum torque values for different magnet arrangements. These are not actual torque values of course.

Measuring Relative Holding Torque using a Spring Scale.


This is part of the ongoing development of a low cost autonomous oceangoing sailing drones, utilising a self-trimming wingsail. This is the Voyager series of sailing drones.

Monday, 5 August 2019

Waterproofing a Standard Servo

Waterproofing a Standard Servo (well, splash proofing it at least)

The post describes a process I used to protect a standard servo against water.
The servo was a Hitec 919, but most servo use the same basic construction 
The main entry points for water below the mounting flange are protected by a spray coating.
The splined shaft is protected using grease on the inside of the casing and an O-Ring on the outside.

Details of the steps follow.

Step 1.
Partially disassemble the servo by removing the 4 screws from the bottom, and remove the top and bottom casings.


Step 2.
Slide out the Motor and PCB assembly.
Apply a Conformal Coating to the PCB to improve its resistance to water.
I didn't spay it directly, because I wanted to avoid any moving parts, but rather sprayed a few millilitres into a small container, and applied it to the PCB using a wooden ice cream stick.

Step 3.
Apply grease to the bearing area just below the splines.


Step 4.
Reassemble the servo.

Step 5.
Add an O-ring  (1mm by 4mm) to splines.

Step 6.
Use a file on the bottom of the servo arm splines, to increase the gap between the top of the servo housing and the servo arm.
The gap needs to be increased so there is enough room for the O-Ring when the Servo Arm is screwed down, without it being too tight ,and causing undue friction.


Step 7.
Apply a protective spray coating lower part of the servo below the mounting flange.
I used masking tape and Red Plasti Dip.

Unfortunately, I forgot to take a photo before installing the servo back into the Wingsail, and this photo is not good.



Sunday, 29 May 2016

Servo Endurance - Test Results

Hextronik HXT900

Two model HXT900 servos were tested. Both failed at approximately 40,000 cycles.
The component that failed was the potentiometer, which developed dead spots.
The Servo could continue to be used if the operating region was changed to a different position on the potentiometer.

The image below shows the potentiometer removed from one of the failed servos, showing the worn area. This potentiometer has two wipers.
Hextronik HXT900
HXT900 Potentiometer showing Wear

 

Arduino Servo Endurance Tester

How long do RC servos last ?

The RC servo manufacturers don't seem to publish any information about the operational life span of their servos. The life span of a servo will be influenced by the amount of loading, both static and dynamic. But there'is a fundamental limit which is the number of cycles with no load.
It seems that the quality of feedback potentiometer, rather than the drive train or motor is the limiting factor for the maximum number of cycles an RC servo can perform.

This is a design for a very simple RC Servo exerciser to cycle a servo 20 degrees either side of neutral about once per second. It includes an I2C LCD 2 line by 16 character display to display a count of cycles.
Servo Test Rig showing Arduino Nano, I2C LCD and Test Servo

The code for the Arduino is provided below:


#include "LiquidCrystal_I2C.h"
#include <Wire.h>
#include <Servo.h>

Servo myservo; // create servo object to control a servo
int pos = 0; // variable to store the servo position

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

long CycleCounter = 0;
int BasePosition = 90;

void setup()
{
 
// attach the servo on pin 9 to the servo object
  myservo.attach(9);

  // initialize the LCD
  lcd.begin();

  // Turn on the blacklight
  lcd.backlight();
  lcd.clear();
}

 void loop()
{
 
myservo.write(BasePosition); // tell servo to go to Base Position
  delay(400);
 

  myservo.write(BasePosition+20); // move + 20 degrees
  delay(300);

  myservo.write(BasePosition-20); // move - 20 degrees
  delay(300);

  CycleCounter++;
  lcd.setCursor(0, 0);
  lcd.print(CycleCounter);
}
 



The YouTube clip below shows the test rig in operation with an initial test using a low cost servo. It lasted for about 40,000 cycles before failure. I'll discuss the results of servo tests in another post.