Follow up on Digital CR Servo Board ESCs

All things antweight

Moderators: petec, administrator, BeligerAnt

Post Reply
MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Tue May 07, 2019 2:07 pm

So, further to earlier discussion under the thread 'Pre modded servo boards for ESCs', I did some more testing over the weekend. Not as much as I would have liked (weather was OK so had no excuse not to be repainting window frames :( ) but enough to spark my interest. As per that other thread, idea was to test use of the tiny speed controllers taken out of servos which were designed with a) continuous rotation, and b) digital control instead of variable resistors.
In theory, such controllers should be suitable for use as single-channel reversible ESCs with no further tinkering. I had two such controllers to test, taken from the Dorman RC servos suggested by Ant Ipodean and the FT90R from Feetech (former are ~£1.50 each from AliExpress when bought in ten packs, latter are around £3.00). Both are pretty small boards, though the Dorman's (top of each pic) are smaller:
Image
Image

The Feetech has the motor soldered directly to the board, hence the odd shape and large solder-through holes.
Image

After careful retesting I basically got the same results noted previously, i.e. the Feetech boards behaved perfectly (clear dead-band with 0v and full voltage at stick limits) while the Dormans showed around 0.5v in 'neutral' and didn't provide full voltage to the motors. These results were the same regardless whether I had a motor connected to the output or just the digital multimeter, so I don't think it could have been a back-resistance issue. Testing with just a motor, the Dormans caused a slow rotation (10-15 rpm) in neutral and were noticeably slower than the Feetechs at full throttle. No idea why I'm getting such different results from Mike with the Dormans boards - possible I'm doing something wrong or maybe I just got a duff batch. If there's anyone for whom the slight size and cost advantages are crucial then it's certainly worth persevering with them but personally I'm going to forget about the Dorman servos for the moment and stick with the Feetechs.

So... on with my efforts to bodge together a "Poor Man's Nano" or PMN as I'm now calling it. Goal is to have a reasonably consistent little package, as cheap, small and light as possible - but also reliable and easy to drive. I noticed with these controllers there is a slight delay switching from forward to reverse but we're talking less than half a second - so don;t think it will impair driveability in real world situations. Other than that, responsiveness seems excellent, with a proper proportional response as you move the stick gradually through its range.

First step, disassembling all the servos was strangely satisfying. They're generally very well put together and dismantle cleanly:
Image

Removing the boards was pretty easy too - just hold the motor in a mini vice, melt solder on one side while gently bending the other way. All boards came off cleanly. Image
Then just cleaned out the old solder using a simple solder pump (very easy with through-soldered holes if you hold the iron on one side of the board and the pump on the other).

So - that's the ESCs sorted, now just needed receivers. In ideal world, I'd stick with the OrangeRx R614XN as they're the smallest DSM-compatible PWM options I've ever found - only they're a bit pricey at around £10 each and currently unavailable. Second best option, which I've come to rely on most of the time, is the Redcon CM421 4-ch Rx from BangGood. These are cheap (just bought a batch of 10 for £4.90 each), rated up to 10v (so no need for a BEC or voltage limiter when used with 2S LiPO) and pretty compact - except for the row of pins at one end. Futaba connectors are no good if you're after a really compact package (I'd rather have nice holes for through-soldering) - so they had to go. Having tried this a few times now, I find the best option is to slide/cut off the plastic 'comb'-like widget that holds the pins together, then clamp the board in a vice and desolder the pins one by one. It's then easy to clean out the holes using the solder-sucker (again - heating the solder from one side of the hole and sucking from the other). Takes me about 20 mins to complete. Here's how they look before and after pruning:
Image

It's then a case of carefully trimming the ESC leads down to length and stripping the ends (with such short leads be very careful not to pull the whole insulation sleeve off, like I did a couple of times!) and soldering them onto the back of the Rx board, along with any other required leads. In my case that's the power supply (red & black) throttle-channel signal pin (white) and bind pin (grey - this needs shorting to GND to initiate binding), plus blue & yellow for the motor leads. I used 24AWG silicone insulated wire throughout:
Image

After a quick test, then wrapped the individual ESCs in heat-shrink, folded everything into place and wrapped it all up in clear heat shrink (so I can still see the Rx LED).
Image
Image

Resultant package is about 31x17x9mm and weighs 5.5g (including wires). So... not quite as dinky as a real Nano but small enough and cost less than £12 to make - so it's good enough for me! Incidentally, that tiny plug & header in the photo is a JST-SH 2-pin micro connector (1mm pitch) which I'm experimenting with for binding - plan is to have a header with the pins shorted so I can just slide that on to put it in bind mode. Weighs next to nothing and less likely than a tiny slide switch to engage accidentally.

Managed to put together two PMN units in one afternoon and both worked a treat.
Image

Tested using 2S LiPO and one motor per controller. Left it running full speed for 5 mins - no noticeable overheating issues. Obviously, this kind of bench testing is no substitute for the real thing, so plan is to make a quick & easy 4WD antweight and let my son thrash it around our test arena for a while. If it survives him an his little friends, it should survive anything.


Cheers,
Stuart
Stuart (Anthony's dad)

User avatar
MarkR
Posts: 212
Joined: Mon Dec 18, 2017 12:46 pm
Location: Reading Hackspace
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MarkR » Tue May 07, 2019 2:57 pm

That is very interesting.

Did you, by any chance, get a part number from the 8-pin chip on the blue ESC board above? The Dorman servo board? Is that the only active part on the board, or is there a small transistor too?

Mark
Robot: Betsie - RaspberryPi controlled flipper bot with gyro stablisation - too clever for her own good?

Kyro
Posts: 217
Joined: Fri Jan 18, 2019 12:36 am

Re: Follow up on Digital CR Servo Board ESCs

Post by Kyro » Tue May 07, 2019 3:29 pm

looks to me to be 2 8 pin chips on the blue pcb... one either side... and both look to be blank from the pictures...
Team Rocket Robotics
Esper(4wd flipper)
Mantis (2wd grab 'n' lift)
Dominus (4wd SPINNAAAAAH)
Remembering Rex (antweight cassuis)

Sometimes, i wake up grumpy... other times i just let her sleep in...

MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Tue May 07, 2019 3:40 pm

Hi Mark,

There are two 8-pin DIP chips on that board - one on either side.
On the side where the leads are soldered there's one marked 'FZMOS-5X 20160720'. Pins 5 and 8 are soldered to the motor leads.
The 8-pin DIP on the other side is absolutely unmarked - checked under microscope and there's nothing visible on the package. Can't see where the tracks lead either.

Other than that, there's a 662x regulator and a few tiny smd resistors or capacitors.
Stuart (Anthony's dad)

User avatar
MarkR
Posts: 212
Joined: Mon Dec 18, 2017 12:46 pm
Location: Reading Hackspace
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MarkR » Tue May 07, 2019 4:08 pm

Ok, I didn't realise there were two chips.

Probably one is a cheapo no-info Chinese Microcontroller, the other is a motor driver, similar to the MX612. Actually the MX612 has pins 5,8 connected to the motor.

Don't run it off more than 10V, it's outside of its spec.

I actually bought some MX612s, but I haven't even opened the packet as the rz7899 is more better* in every way.

* A technical term

---

It is very surprising to me that the manufacturers of servos haven't yet come up with a single chip which will provide motor driver and do the digital electronics in one package. Or maybe they have, but not in that servo.
Robot: Betsie - RaspberryPi controlled flipper bot with gyro stablisation - too clever for her own good?

User avatar
LimaHotel
Posts: 165
Joined: Fri Mar 16, 2018 10:30 am
Location: W. Devon

Re: Follow up on Digital CR Servo Board ESCs

Post by LimaHotel » Tue May 07, 2019 4:58 pm

I can't find the FT90R on Feetech? I've found some on AliExpress at £4 each, but on Feetech, I can only find the FS90R. Where did you get yours from?
Jiggy Sawdust (Grabber)
Jammin' Good with Weird and Flippy (Rear-hinged Flipper)
The Pushbot from Mars (4wd Pushbot)

Key Grip (Retired)

MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Tue May 07, 2019 9:45 pm

Hi LimaHotel,

Got mine from AliExpress, here;
https://www.aliexpress.com/item/10-Piec ... 44958.html

Postage seems to have gone up since I ordered
Stuart (Anthony's dad)

User avatar
LimaHotel
Posts: 165
Joined: Fri Mar 16, 2018 10:30 am
Location: W. Devon

Re: Follow up on Digital CR Servo Board ESCs

Post by LimaHotel » Tue May 07, 2019 11:27 pm

That's... Not bad. I'll see how the ones I've got play (though I fear I may have the same results as you) and may well order some of those to try out!
Jiggy Sawdust (Grabber)
Jammin' Good with Weird and Flippy (Rear-hinged Flipper)
The Pushbot from Mars (4wd Pushbot)

Key Grip (Retired)

MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Wed May 08, 2019 8:49 am

For the hard-core chip spotters among you...
With the aid of a stereomicroscope and careful side-lighting, I managed to decipher the almost invisible writing on the two chips mounted on the Feetech controller board.

The microcontroller is a 20-pin quad-flat package marked 3AQ20

The other chip, is a motor driver - 10-pin DIP marked A1096
This is an AMtek Motor Driver IC - data sheet (most of which went straight over my head :o ) is here www.amtek-semi.com/...V0.../filename:74 ... e80a11.pdf

Any thoughts on the quality/durability of these components?
Stuart (Anthony's dad)

User avatar
MarkR
Posts: 212
Joined: Mon Dec 18, 2017 12:46 pm
Location: Reading Hackspace
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MarkR » Wed May 08, 2019 9:01 am

Good detective work.

The AM1096 is a very interesting chip because it's a motor driver with built-in voltage regulator, so it saves them components on the board, the LDO voltage regulator presumably supplies the microcontroller, which makes it a "true" 2-chip solution which can handle a wide range of voltage inputs (max 11v according to datasheet)

They still need a micro to translate servo pulses into the pwm signals for the h-bridge, even though it's continuous rotation so uses no feedback. I would imagine they use the same micro with an adc to do the position-based servos.
Robot: Betsie - RaspberryPi controlled flipper bot with gyro stablisation - too clever for her own good?

Kyro
Posts: 217
Joined: Fri Jan 18, 2019 12:36 am

Re: Follow up on Digital CR Servo Board ESCs

Post by Kyro » Wed May 08, 2019 10:00 am

so which component is responsible for the dead band?

something that could be easily switched to make the servo read 0v at neutral? or is it the programming inside one of the chip's?

i ask as i am waiting for an order of cheap 360° servo's for use as esc's and if i have a few that give some movement at neutral which be can't fixed with trim (4wd with 2 esc's per channel) what potential fixes are there?

i have ordered 10 of which i only really need 4 good ones however i may end up using more further down the line if i have decent enough success.
Team Rocket Robotics
Esper(4wd flipper)
Mantis (2wd grab 'n' lift)
Dominus (4wd SPINNAAAAAH)
Remembering Rex (antweight cassuis)

Sometimes, i wake up grumpy... other times i just let her sleep in...

User avatar
MarkR
Posts: 212
Joined: Mon Dec 18, 2017 12:46 pm
Location: Reading Hackspace
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MarkR » Wed May 08, 2019 10:09 am

All the dead-band logic is inside the MCU, so good luck tuning it.

These tiny little MCUs have their own free-running oscillator which goes at whatever speed it feels like. So the MCU might be nominally clocked at 1 Mhz, but in practice it's 1 Mhz +- 10% or maybe worse than that.

So the firmware might be coded to give a dead band at exactly 1500us which is 100us wide, but that could vary significantly because the clock isn't accurate.

The real problem is that if you got several of these servos (or reused their controllers) and wire them in parallel on the same controller channel, there's no guarantee that those MCUs clocks are running at precisely the same speed, so their dead band might not be in the same place, which means a 4wd robot cannot be made totally still, its front and rear motor won't have the dead band in the same spot. You can't change the tx trims independently, unless you put them in different channels (maybe that's ok with a 4+ channel receiver and sufficiently clever tx).

Controllers which have a clock crystal can run at precisely the right speed. This is an improvement.

Radios need to use an accurate crystal anyway to get the correct radio frequency, so they will always output accurate pulses; all the modern types are digital over-the-air so they don't depend on any timing of the radio signal or tx.

Also, S-Bus or i-bus wire protocols are fully digital so they don't depend on exact timing to find the dead band; every device should behave identically.
Robot: Betsie - RaspberryPi controlled flipper bot with gyro stablisation - too clever for her own good?

MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Sun May 12, 2019 10:30 am

Since bench tests are no substitute for the real driving experience, yesterday I knocked up a rough and ready test bot, based on a simple 4wd pusher, to see how the Feetech servo board-based ESC would perform.

Image
Image

Suffice to say, I’m delighted with the results. Response definitely feels more ‘proportional’ than either the DasMikro or generic 2S/3s 5A Dual ESCs that I have been using until now. Even with my lousy driving skills it’s possible to do slower, more precise manoeuvres, rather than just the abrupt jumps from stationary to flat out, though the acceleration is still there if you need it. Here’s a quick demo on my (rather dusty) workbench:
https://youtu.be/ZYtiQEpDRak

Also tried running continuously (wheels off the ground) at full speed for 3 minutes- no appreciable increase in temperature of the controller.

So in conclusion- Feetech FT90R board based Poor Man’s Nano is likely to be the basis for all my builds going forward (except where I need 3S). Costs about £12 to make , weighs about 5g - and drives better than anything I’ve been able to get my hands on before.
Stuart (Anthony's dad)

MySolderIsOlder
Posts: 74
Joined: Mon Jul 30, 2018 1:22 pm
Location: Kent
Contact:

Re: Follow up on Digital CR Servo Board ESCs

Post by MySolderIsOlder » Sun May 12, 2019 10:33 am

Ps.
Obviously no onboard mixing so here are the mix settings I used on the Spektrum;

Image
Image
Stuart (Anthony's dad)

Post Reply