Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Motor wires de-soldering on Nameless AIO 412(T) #6

Closed
stylesuxx opened this issue Sep 17, 2019 · 69 comments

Comments

@stylesuxx
Copy link

@stylesuxx stylesuxx commented Sep 17, 2019

I came across a very strange issue - unfortunately not personally, but I have now heard from two people that the solder joints of the motors get so hot after flashing JESC that the motor wires de-solder. Re-flashing the original version of BLHELI_S does not seem to solve the issue.

One of those cases (and attempt of debugging) is documented in the comments here => https://brushlesswhoop.com/blheli_s-rpm-filter/ NLRC 412T, 1206 motors on 3S, BF4.1 RC1.

Another case I came across on Facebook just now - NLRC 412T, 1304 motors on 4S.

Interestingly enough I have no problems on my NLRC AIO 412 with 1103 motors on 2S, BF4,1 RC1.

I would like to help debugging, but I am not sure which information I can help out with.

@Ericarias84

This comment has been minimized.

Copy link

@Ericarias84 Ericarias84 commented Sep 17, 2019

I am the guy with the 1304 motors. Very odd issue. I am running this firmware on a bunch of other builds without issues (some AIO fcs). After I flashed the firmware, the motors initially armed but than I got some smoke from the board and it appears some of the escs burned out.

@etracer65

This comment has been minimized.

Copy link

@etracer65 etracer65 commented Sep 17, 2019

@stylesuxx

Re-flashing the original version of BLHELI_S does not seem to solve the issue.

That would seem to rule out the ESC firmware don't you think?

@Ericarias84

Sometimes motors or ESCs just fail.

Make sure you've set the motor_poles parameter in Betaflight correctly. Little tiny motors like that may not be the default 14 poles. If you don't have this set properly the RPM Filter won't work properly and it's possible that the motors will get hot. But it wouldn't cause a motor to smoke instantly.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 17, 2019

@etracer65 the first case was working before flashing JESC and would still overheat even after being reverted to it's original state (BF and BLHELI_S). The motor_poles were set correctly to 12.

Also the motors were not getting hot at all, it seems it was the FET's that got hot and thus de-soldered the motor wires from the flight-controller.

@etracer65

This comment has been minimized.

Copy link

@etracer65 etracer65 commented Sep 17, 2019

and would still overheat even after being reverted to it's original state (BF and BLHELI_S)

That's my point. This would rule out a firmware problem and point to a hardware problem.

Edit: Or possibly the wrong firmware file used in both cases. The BLHeli_s firmware defines important operating parameters (the numbers in the file name). If the wrong values are used it can damage the hardware. Also wouldn't be the first time a manufacture shipped an ESC with the wrong settings.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 17, 2019

OK, so you are saying it was just a coincidence that the problems started after flashing JESC?

Wrong firmware version was also my first guess but we double checked that afterwards.

Unfortunately I can only provide second hand information - just wanted to post here to make people aware of a potential problem with this constellation. Since it happened two times already, chances are that it might happen again.

Thanks for your input.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 18, 2019

So I just spoke to NamelessRC. One of their engineers looked into it and said that you should use ESC version P-H-90. Both boards come flashed with P-H-15.

So @etracer65 was right with his assumption that the manufacturer shipped the board with the wrong settings. Although I do not understand why this only became an issue once flashed with JESC and was not an issue from the beginning?

Find attached a screenshot of my conversation with NamelessRC on facebook.

nlrc_jesc

@Ericarias84

This comment has been minimized.

Copy link

@Ericarias84 Ericarias84 commented Sep 18, 2019

That is interesting. How did you and a few other people get it to work on your Nameless board? Which version do you have flashed?

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 18, 2019

From what I understand, only people with 2S got it working without issues. I flashed P-H-15 of JESC, it came with P-H-15 of BLHELI_S. As it seems I was just lucky with my 2S setup not to run into any problems.

I have heard from another guy, also running 2S but DSHOT600 that he was getting temp warnings in beta. This might be an indicator too, that it is running too hot even on 2S.

EDIT: I just flashed mine to P-H-90 and I can not feel a difference in flight with my 85mm whoop. BUT I now have longer flight times with my 300mAh 2S batteries.

@etracer65

This comment has been minimized.

Copy link

@etracer65 etracer65 commented Sep 19, 2019

@stylesuxx The page that's apparently related to you at: https://brushlesswhoop.com/namelessrc-nlrc-aio-412t-jesc/ is very misleading.

The only news here is that the manufacturer shipped the ESCs with the wrong firmware settings. The settings they supply were incorrect enough to cause physical damage to the ESCs. The deadtime is derived based on the electrical characteristics for the FETs based on the manufacturer design and datasheet. It is not something that would be set differently for different firmwares or something you would "tune". The manufacturer just screwed up. If I owned one of these ESCs I would be contacting the manufacturer for replacements even if they haven't failed yet because they're already likely damaged to some extent.

Is it possible that people flying with RPM filtering enabled using JESC might be working the ESC harder due to better flight characteristics? Sure. Could this put more stress on the already marginal ESC? Sure. But that's not the underlying cause. The incorrect deadtime is.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

Hey guys - great you got this issue sorted out. Not sure why the issue started when installing Jesc. Jesc uses the very same code as blhelis for managing pwm in 24khz pwm mode. The experimental 48khz mode has some differences but none that could cause this.

Beyond coincidence the only explanation I can come up with is that the manufacturer installed a firmware that was tagged as P-H-15 but was really a P-H-90. This would cause exactly the issues described here: it would work as purchased but Jesc would install the P-H-15 version and even after flashing back to blhelis you would now have a version that doesn’t work. Any update in blhelis configurator would have led to the same outcome in that case

Etracer is also right: it’s entirely possible that the esc went bad over time and just started to show symptoms by coincidence when Jesc was installed.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 19, 2019

@joelucid I was also suspecting that it might simply be tagged wrongly, but in the meantime NamelessRC replied and stated that no - they in fact do flash P-H-15 in the factory:
nl_statement

I now asked him why this would be necessary in their opinion. Is there any way I can (easily) dump the current firmware from the firmware to compare the hex files.

@etracer65 thank you for your feedback regarding my article. I now added a disclaimer that people should not flash different versions in attempts of "tuning" their quadcopters.

As you can see from the above screenshot the manufacturer states that P-H-15 is indeed the correct firmware that is flashed in the factory and that we should use P-H-90 if we want to use JESC. I also did ask him about his reasoning for this and that people here are of the opinion that a different deadtime for JESC makes no sense.

I also invited their engineer to join the discussion here.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

@Ericarias84, did you use the experimental 48khz mode or 24khz?

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

I found an issue that the experimental 48khz pwm mode scaled the dead time down in half. This needs to be done for any power related variables since the pwm runs twice as fast. But not for the dead time.

@Ericarias84, if you did in fact use the experimental 48khz pwm version that could explain the issue. This would also explain why some people don't have a problem (the ones on the stable 24khz pwm version) and others do (users of the 48khz pwm beta).

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

I pulled the 48khz beta for now until I have the time to address the issue.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

Just flew 10 packs through the fixed 48khz pwm Version and had no issues. Would anybody like to test this out in the nameless aio? I can provide a hex.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 19, 2019

@joelucid the first guy that contacted me, flashed JESC according to my screens - which show 24kHz (which is also the default selection).
Screenshot from 2019-09-19 13-19-27

I'd try it, but the Problem does not show on my 2S build anyways, so I am not of much help.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

@stylesuxx - ok. Well it still seems he's unsure so who knows. Many people are in the bigger is better dept - so maybe it was an unconscious choice. I've flown the 24khz version so much that I'm sure there's nothing similar in there.

@Ericarias84

This comment has been minimized.

Copy link

@Ericarias84 Ericarias84 commented Sep 19, 2019

I also used 24 when I flashed.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

Well - that brings us back to the hypothesis that P-H-15 might not be a suitable fw for the esc. 24khz pwm mode has been flown on hundreds of quads without this issue. It does seem to be hw specific then.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 19, 2019

@joelucid OK - so which options do we have to confirm this hypothesis?

  • Dump the initial firmware from the ESC and compare to the P-H-15 HEX - I assume this is not easily possible?
  • Someone with a known working 3S setup without JESC has to re-flash the ESC's with BLHELI_S P-H-15. If his setup is still working as before we can assume that indeed this version is flashed in the factory. If not, we know they flashed the wrong version. If it is still working the next step would be to flash JESC of the same version and confirm that it fries the ESC's.

Any other - possibly non destructive options? Maybe I should try and measure the temperature of the FET's on the bench with 2S @ 20% throttle: let the motors spin for 20s, measure the temp of the FET's with JESC, flash BLHELI_S and re-do the measurement. Not sure how accurate the measurement would be - what do you think?

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 19, 2019

Maybe I should try and measure the temperature of the FET's on the bench with 2S @ 20% throttle: let the motors spin for 20s, measure the temp of the FET's with JESC, flash BLHELI_S and re-do the measurement. Not sure how accurate the measurement would be - what do you think?

Yeah that's a good idea. You don't even need to connect motors. The dead time prevents the upper and lower side FETs to short the power supply while switching - so it's independent of any external load. This makes it very easy to spot: no load, just a bit of throttle in the motors tab. If the dead time setting is ok the fets should not get warm. If the fets get warm you should have enough time to pull the motor back to zero to prevent any damage.

If it kills the ESC on 3s it should be enough for the ESCs to get warm on 2s. You can then also check if there's any difference if you use P-H-90.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 19, 2019

All measurements at 1150 throttle.

Variant Temp in Celsius
BF 4.1, BLEHLI_S - STOCK 42
BF 4.1, BLHELI_S - flashed P-H-15 42
BF 4.1, BLHELI_S - flashed P-H-90 40
BF 4.1 JESC - P-H-15 (without telemetry flashed) 42
BF 4.1 JESC - P-H-90 (without telemetry flashed) 40
BF 4.1 JESC - P-H-15 (with telemetry flashed) 40
BF 4.1 JESC - P-H-90 (with telemetry flashed) 40
BF 4.1 JESC - P-H-15 (with telemetry flashed & RPM filtering enabled) 65 almost instantly - did not reach 1150 throttle
BF 4.1 JESC - P-H-90 (with telemetry flashed & RPM filtering enabled) 42

I tripple checked all the measurements.

RPM filtering enabled are those settings:

# set looptime to 4k to have enough computational time
set gyro_sync_denom = 2
set pid_process_denom = 1

# Start with dshot 300 which is most robust
set motor_pwm_protocol=DSHOT300

# basic settings required to enable rpm filtering:
set dshot_bidir=on

# enable debugging for noise assessment
set debug_mode=gyro_scaled

# reconfigure dynamic notch filter to focus on narrow frame resonances
# since motor noise will already be eliminated by the rpm filter.
set dyn_notch_range = medium
set dyn_notch_width_percent = 0
set dyn_notch_q = 250
@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 20, 2019

@stylesuxx sounds like a plan! There's probably not much of a need to test BF 4.0 though.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 20, 2019

@joelucid Yes, I thought that too, that's why I only tested with BF 4.1 in different constellations - I edited my initial post already btw.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 20, 2019

Sorry didn’t see you already had results. Well this certainly is very fascinating. I’ll try to reproduce. Thanks for testing!

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 20, 2019

So far I can't reproduce this with my debug escs. Anybody know how to get a hold of a Nameless AIO 412(T) in Germany?

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 20, 2019

@joelucid I'll send you mine - I am from AT. Message me: stylesuxx@gmail.com
But I would like to have it back if at all possible.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 20, 2019

I have prepared one test we could still try: could you flash the Telemetry hex called Test version (internal use only) using jesc configurator? I've disabled actually sending telemetry but this still works with the inverted dshot protocol. That way we can eliminate that as factor.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Sep 20, 2019

@joelucid stays at 40C with this telemetry hex.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Sep 20, 2019

One more idea: go back to the normal Telemetry hex but set your loop time to 1k.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 16, 2019

So far I only tested 2s. No response from nameless on FB thus far.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Ok - new insights: tried blhelis 16.7 P-H-15 on 3s and the fets get too hot to touch immediately when applying power.

I also asked around and @conuthead provided this input:

@joe Lucid Is that a passive design? ( no gate driver) . If it is the circuit I think it is .. it uses p channel upper fets and is super slow to turn off. I use the _90 dead time.

Looking at the board it does indeed look like there are no gate drivers:

Image from iOS (2)

Finally nameless answered this morning and said they wouldn't share the FET specs. They also gave this advice:
image

Which kind of sounds like not any P-H-15 fw will do - it has to be the one they preinstalled. I probed further but they went silent.

Unless I hear anything else from nameless I think anybody updating their FW on this esc should use P-H-90 as they recommend for jesc. And that includes updates to BLHeli_S FW.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Here's the top of the board. It has 3 transistors per esc. That makes it likely this design (https://www.rcgroups.com/forums/showthread.php?2898397-Another-strange-BlHeli_S-1-3s-DIY-esc) which is the one that requires a dead-time of 90.

Maybe there is an incentive to make ESCs appear to switch faster than they actually can for marketing purposes.

Image from iOS (4)

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 17, 2019

Great detective work - thank you. Interestingly enough they do not post ESC timings anywhere on their product pages. But them telling us not to upgrade BLHEL_S at all really sounds strange.

I guess our only way to find out the truth would be dumping the ESC FW from a new board and compare that to a known P-H-15. I guess that's not worth anyone's time, better get the info out to only use the P-H-90 FW no matter with BLHELI_S or JESC.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Yeah - if this sort of thing happens more often I would need to implement some kind of checksumming of the installed fw to avoid upgrading mistagged versions. But so far it’s just this one. Getting the word out would be good. I’ll add it to the install instructions. Maybe you could update your readership as well. I’ll keep the board for a couple of days in case anything comes back from nameless if that’s ok with you.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 17, 2019

Will do - I will update this article with your new findings. Sure, keep it another week or two.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

I have a fresh board where I didn't do anything with the ESC yet so could make a dump if someone can explain how to.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

@RadianceNL which platform do you run jesc-configurator on? I could make a version that extracts the firmware.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

Windows 10

Just realized that I did change the motor direction of one of the ESC but on the firmware that came from the factory.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Ok, please download https://jflight.net/downloads/JESC-Configurator_win64_1.2.4.zip.

Start the jesc configurator, connect to esc and say "Read Settings". It'll take a lot longer than usual. When done save debug log and post here, please.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

Log.txt
There you go. :-) Didn't take that long so hopes it's oke.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

I'm sorry, @RadianceNL, I have to ask you to run it once again. Every other page is missing including just the one with the timing. https://jflight.net/downloads/JESC-Configurator_win64_1.2.4b.zip is the fixed version.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

Log_2.txt
No problem at all!

Something that comes to my mind, I have to plug the battery to get the correct readings correct? I plug a 3s 450mah, wait for the start up tones to complete and then read the settings.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Thanks @RadianceNL. And now --- drum-roll --- the results. The board comes with a firmware that uses a dead-time of 120. That dead-time isn't even available among the standard blheli_s hex files. That's probably why they have a different tag in there.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

I'm glad I could help a bit so no problem.
I scrolled through the log a bit but that's all Abra Kadabra to me.

But conclusion to this? Run 90 like Nameless RC suggested in the first place? Or are you going to make a 120 version like they did and should I wait for that?

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 17, 2019

Just run 90 that should be fine for now. I’ve contacted them again - hopefully we can come to a joint solution.

@RadianceNL

This comment has been minimized.

Copy link

@RadianceNL RadianceNL commented Oct 17, 2019

Just did and did some test hoovers inside the house and all works fine on a 3s 450mah lipo. Probably won't be able to fly it till Tuesday because the weather will stay crap until then.

Thanks for your time and effort looking into this!

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 17, 2019

OK, I don't know what to say - would be interested in a statement by NamelessRC.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 18, 2019

Ok - did get some sign of life from namelessrc:
image

That's it. I'm speechlessrc.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 18, 2019

Hmm, maybe there is a language barrier? I was thinking about contacting Bob Roogie (KebabFPV) since he was involved in board layout, maybe he can get some more information - pretty sure he is also interested in shedding some light on this situation.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 18, 2019

@stylesuxx The dead time in the tag is a two digit number, so more than 99 can't be used. I guess then they just went back to 15 in the tag for that reason. I've been trying to find out why they went beyond 90. The design gets slower the higher the battery voltage is since the voltage at the pfet gate needs to be pulled down from a higher level. Maybe they needed it for 4s.

Here's some advice on how to improve the board:
image

Really the best solution I can come up with ATM is to use P-H-90 instead of their mistagged version. Better to struggle a bit with 4s than to fry immediately once an update of blhelis or jesc is installed. I told them as much. If Bob has a better chance of getting through I'm all for involving him.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 18, 2019

I told Bob about this thread, lets see if he chimes in here.

Sounds like a good reason for higher dead time - still I wish they would have been open about it - at least tag it with some value that indicates that there is something off.

I guess before RPM filtering was a thing chances were slim for anyone to update BLHELI_S on one of those AIO boards...

If the resistor is the weak link - is it an option that on the fried boards it would be enough to swap that resistor to get them working again, or is the chance too high, that something else blew too?

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 18, 2019

If the resistor is the weak link - is it an option that on the fried boards it would be enough to swap that resistor to get them working again, or is the chance too high, that something else blew too?

Nah - it's weak in the sense that its heat dissipation limits how low the resistance can be. And the lower the resistance the faster the switching. So larger component allows better heat dissipation allows lower resistance allows shorter dead-time.

But if the board needs 90-120 and you use 15 it will fry the escs rather quickly. Of course in some cases like the original poster you might just need to flash P-H-90 and be good again. That's if the FETs have not been fried yet.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Oct 18, 2019

Here's the big fat warning I added to the JEsc Install Instructions:
image

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 18, 2019

I see, thanks for the explanation. And the big fat warning is a great idea. Thanks for all that time you put into this issue.

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 19, 2019

I had a chat with Bob on Facebook:

1
2
3

As it seems, he has a bit more information and apparently nameless is working on a new board...

@semtleggun

This comment has been minimized.

Copy link

@semtleggun semtleggun commented Oct 20, 2019

hi
i used nameless aio 412T
but only flashed ph-15 with jesc configurator
i tried over time but not flashed ph-90
only p-h-15

Is there something I'm trying to do?

i recover original bhleli_s 16.7
how do i?

@stylesuxx

This comment has been minimized.

Copy link
Author

@stylesuxx stylesuxx commented Oct 20, 2019

@semtleggun there is a checkbox you have to check before the configurator allows you to flash a different version from the one currently flashed.

@joelucid

This comment has been minimized.

Copy link
Collaborator

@joelucid joelucid commented Nov 14, 2019

I've released jesc-configurator 1.2.6 which detects the dead-time of a blhelis fw from the code instead of the layout tag. So this problem should now be fixed for jesc users. Would appreciate if someone could verify the fix.

@joelucid joelucid closed this Nov 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.