sim- / tgy

tgy -- Open Source Firmware for ATmega-based Brushless ESCs
http://0x.ca/tgy/
686 stars 388 forks source link

Turnigy Multistar 30A #52

Open Floyer007 opened 10 years ago

Floyer007 commented 10 years ago

I'd flashed the Turnigy Multistar 30A (http://hobbyking.com/hobbyking/store/__25365__Turnigy_Multistar_30_Amp_Multi_rotor_Brushless_ESC_2_4S.html) with kda.hex and it's getting very hot after a few seconds. One of my ESC burned down and after it my Motor, too.

I'd tried different versions since 2012 and they all have the same problem.

Thank you for fixing this issue.

JimKuhn commented 10 years ago

This seems rather serious. There are a number of posts regarding this issue. Of course, I went and flashed mine before seeing there were problems. Now I'm afraid to fly until either this is resolved, or I have to order new ESCs :-(

http://www.rcgroups.com/forums/showthread.php?t=1762953&page=3#post27472839 http://www.rcgroups.com/forums/showthread.php?t=2188024 http://fritzw.com/2014/07/02/turnigy-multistar-30amp-simonk-overheating-like-on-fire/

Floyer007 commented 10 years ago

Maybe there is a fuse-Bit Problem or something like this.

To specify the Issue: If I'm connecting the Motor with a flashed ESC and let it free-wheeled at lowest throttel, the ESC is getting hand-warm after approx. 30sec. With more throttle, it's getting more then hand-warm.

With a mounted prop, the Motor needs a lot ore current and the ESC is getting boiling hot. It's okay with an stabilized current-source (okay means, that the ESC doesn't burn after 1 minute testing). Unfortunately I'd tested one ESC directly with my Lipo and one phase burned down after approx. 40sec. with medium throttle. I'd got a sudden Motor stop, it wobbled around and released magic smoke. (*I'd tested the motor today and it's still okay hopefully. Maybe only some plastic smoked)

If you need more informations, please ask, so I can help you.

JimKuhn commented 10 years ago

Okay, I can confirm that I have this exact problem. I ran on low throttle (on the ground) and the Multistar 30A SBEC ESC got noticeably warm in less than 30 seconds. The others (3 * Multistar 30A OPTO) were still icy cool. I flashed all of them with the latest kda.hex yesterday.

Another data point... since flashing, the ESC in question tries to drive the motor even when the only power is from the flight board via USB. This is new behaviour, and very suspicious.

Goodplayervivian commented 10 years ago

Hi,Floyer007 I am a player not for a long time ,I also got the same problem in my ESC,but now I solve this problem from my friend,he advise this ESC have two version,the old one and the new one ,so there are also have two software,these two version ESC need match the different software version.I guess maybe you brought the new ESC but flashed with the old software.I brought three new ESC and flashed with the new software,this ESC boasting high efficiency,all N-channel design,I am very like it .Here I uploading the two version ESC and the software ,hope this can help all of you.

JimKuhn commented 10 years ago

@Goodplayervivian, where would I find the updated code? There are no recent commits here, you have no repositories, and none of the forks seem relevant.

Swerh commented 10 years ago

I also use this ESC, I think you flashed a wrong software and get this problem, pls try to download the correct files and select the right version file to flash, wish you will be success! http://www.divshare.com/download/25795440-a95

Goodplayervivian commented 10 years ago

I also solve this problem by flashing the software, here I upload the two different version ESC with two different files,hope this can help your guys http://www.mediafire.com/download/njog23wt8o5ree7/Turnigy+Multistar30A.zip

JimKuhn commented 9 years ago

@Goodplayervivian, thanks for the file. I won't get a chance to reflash until tomorrow at the earliest.

How did you generate the modified firmware? What options?

What would be really useful is if you could actually document the code differences from the existing kda.inc, and/or issue a pull request to get them in here. There seem to be a lot of people burning up these ESCs for no good reason, if the solution is already understood.

thehurley3 commented 9 years ago

@Goodplayervivian what changes did you make for them to work? could you create a pull request?

@JimKuhn do you know what git commit started this overheating, so I can clone it and roll back the changes(I really need the firmware, the official one that shipped with it is horrible. I cant fly with it as the motors won't spin at the right speeds so the quad twirls on the ground and rips it's props. I know its the official firmware as I swapped out everything with spares. I also tested the esc with different motors and the same problem).

JimKuhn commented 9 years ago

@thehurley3 I have no idea what commit started the problem. I was using the stock firmware (successfully). Upon flashing with SimonK, 3 of the ESCs (OPTO) seem fine, the 4th (SBEC) does heat up dramatically.

@Goodplayervivian I definitely have the old version of the ESC (if the pictures you enclosed are accurate). Flashing with your enclosed Old.hex does not seem to fix the problem, the ESC is blistering hot in short order...

thehurley3 commented 9 years ago

@JimKuhn Thanks

khudson commented 9 years ago

This is a refresh rate problem. The multistar ESCs are using a p-channel FET that has a really high turn-off time according to the datasheet. What that means is that the body diode in the FET is still conducting current when PWM is turned on. The easy way to fix this is to reduce the PWM rate to 8kHz, which will allow the body diode in the FET to turn off between each cycle of commutation.

I've made an edit to the code that seems to fix the problem. The downside is that the PWM rate is now into the audible range, which is kind of annoying. But at least your aircraft won't catch on fire now - they're nice and cool to the touch after extended full-throttle operation, even without any airflow over them.

Either way it's a simple fix and I'm going to submit a patch. If it's accepted, you'll be flashing 'multistar.hex' to these instead of 'kda.hex'.

Stay tuned.

khudson commented 9 years ago

For those of you capable of compiling this yourselves: http://meat.damnit.us/tgy/multistar.patch should do nicely.

khudson commented 9 years ago

For those of you not capable of compiling this yourselves: http://meat.damnit.us/tgy/multistar.hex will do the job.

JimKuhn commented 9 years ago

@khudson, fantastic... this patch looks plausible :-) I'll apply and build tomorrow.

On Sat, Jul 19, 2014 at 4:53 PM, khudson notifications@github.com wrote:

For those of you capable of compiling this yourselves: http://meat.damnit.us/tgy/multistar.patch should do nicely.

— Reply to this email directly or view it on GitHub https://github.com/sim-/tgy/issues/52#issuecomment-49529294.

sim- commented 9 years ago

Hello! I was actually just testing this myself with a Multistar 30A that arrived yesterday. Mine is all N-channel, no P-channel. I've posted pictures here: http://0x.ca/sim/esc/HK_9351000004/ ...and renamed the old ones to _old: http://0x.ca/sim/esc/HK_9351000004_old/ . khudson, do yours look different? It will need more than adjusting the PWM frequency, if so..

Floyer007 commented 9 years ago

When I take a look at your pictures, I have the Problems, with the "old" version.

sim- commented 9 years ago

Are there any differences at all with your board vs the pictures in the "old" directory? Like which FETs they used? Possibly there is an intermediate revision where they tried to do something cheaper (my assumption :)) and then figured that was a bad idea and redesigned it to be all-N-channel.

So, it turns out mine was just kda.inc modified to have an inverted high side. I've pushed a new kda_nfet board type and fixed the voltage sense values for this and the original board (normally not used).

JimKuhn commented 9 years ago

@khudson, any reason why this problem doesn't affect the OPTO version of this ESC? Perhaps they are using the "old" p-channel FET that doesn't have the lower refresh rate requirement.

@sim- I wish I had the new version :-(

khudson commented 9 years ago

sim-: mine look like the '_old' type. I ordered them about a week ago from the HK US warehouse. An all n-FET design makes these far better than they were, especially at that price point. Anyways, I'll verify the FETs are the same on your "old" one and mine, and follow up to this message.

Jim: I'm not sure - I don't own the "opto" version (opto in quotes here because it's probably not actually optoisolated - I haven't seen any of them that are). If you cut the shrink off and take some photos that show the FET model number I can dissect the datasheets and let you know what I think is going on.

khudson commented 9 years ago

Looks like your old one has Toshiba TPC8020 n-channel FETs and Alpha/Omega AO4407A p-channel FETs. I do believe we've found the culprit - there is an intermediate (likely indeed "cost savings") version that uses instead Toshiba TPC8123 p-channel FETs and retains the TPC8020 n-channel FETs.

From the datasheets for the AO4407A and TPC8123:

TPC8123: Turn-off fall time: 80 ns, no specific body diode recovery time AO4407A: Turn-off fall time: 12 ns, body diode recovery typ. 30 ns

Either way the two parts are such a different spec it's kind of amazing they don't fry themselves with the stock firmware.

JimKuhn commented 9 years ago

@khudson - I can confirm that both the "opto"/BEC version both use the TPC8020-H. The "opto" uses the AO4407A, whereas the BEC version uses the TPC8123

Floyer007 commented 9 years ago

@khudson I'd tested your multistar.hex and it works fine. (No overheating) But I have no Quad currently to test it.

JimKuhn commented 9 years ago

@khudson @Floyer007 I'll be flashing and flying hopefully tomorrow (too much came up today). Thanks for the work on figuring out this mystery.

Floyer007 commented 9 years ago

But test it carefully, maybe there is an unexpected behavior at full speed or something like that. (I didn't test the motors with props)

@sim- I'd forgot to check the name of my mosfets. Also I forgot them at my laboratoy and will give more informations about them the next days. But I think they're the same like khudsons, cause I'd bought them at the UK Warehouse two weeks ago.

khudson commented 9 years ago

I just got back from a session at the park. Aside from having to free one of my quads from a tree (heh) all my ESCs performed flawlessly, as did the batch of 4 that my friend had on his quad. We fly pretty aggressively, so if something was going to burst into flames it probably would have.

sim- commented 9 years ago

Ok, I pushed a kha_8khz target for this case (done with just an include), since this probably also affects compatible boards.

When I was originally testing with the HK-SS30A (non-HW) boards (http://0x.ca/sim/esc/HK_HK-SS20A/), the issue seemed to be related to the slew rate (and maybe miller effect?) and the drive of the high side. The high side FETs briefly turn on while the low side was turning on (swinging down) if the current was still flowing through the PWM'd phase. Depending on the motor and load of the motor, it would be fine or would get very hot in seconds.

This happens even at low speeds, so I found that I could drag a motor by hand without causing much heating, but then if I dragged a little more, it would rapidly heat the high-side FETs (because they were all turning on-ish, for a brief period). On the 'scope, you could see that the difference was if the current had collapsed or not yet by the time PWM turns on (pulls down) again.

For example, with this (old, unrelated) 'scope trace, you can see that the current has stopped before the PWM (on ch1) turns on again: http://0x.ca/sim/esc/timing_loss_fix/zc_debug_unloaded_390kv_zoom.png ...but dragging/loading the motor elongate the time it takes to collapse back to the floating range, and, with enough load, meets the part where it turns back on again, leaving a trace of just high and low on the PWM'd phase.

I suspect the problem here could be fixed by adjusting the gate resistors on one side (low or high), or by changing the drive strength through the NPNs that they use to drive the P-channels. Lower PWM will help, but the shoot-through problem will still happen if the motor is loaded enough.

svenp commented 9 years ago

Hello, i have also bought 3 weeks ago 6 Multistar 30A BEC at Hobbking in European Warehouse. Before flashing i have read about the heating Problems. So now i opened the heat shrink and found a old Design, but with TPC8123 and TPC8020H http://postimg.org/image/426ie5maz/ http://postimg.org/image/sheqf7l7v/ So i can confirm the FET change too. I have not flashed any firmware yet, but I also will use the kha_8khz in future.

multiyaw commented 9 years ago

hello i buy the same esc like sim : http://0x.ca/sim/esc/HK_9351000004/ whit "tcpa 8012 h" so n channel i flashed them whit kda.hex and they burn immediatly so who have tested kda_8khz whit this version? and who know make a correct firmware for this esc. i dont buy more multistar for sure. And thanks for the work of the community if anyone make a firmware for this version im ok for test on my esc i just wish they not catch fire^^

khudson commented 9 years ago

Those need to be flashed with kda_nfet.hex as simon outlined above. Then they won't burn.

multiyaw commented 9 years ago

ok thanks khudson but in this list : https://github.com/sim-/tgy i don't see kda_nfet.hex i only see kda_8khz.inc in the file that is witen: ; ;* Keda/Multistar 12A, 20A, 30A with P/N-ch FETs ;* 8kHz PWM variant for early-ish 2014 boards ;* before they went to an all-N-channel design ;*

maybe it is. If you can show me where i can find kda_nfet.hex i already found in the internet and in the github but i dont find kda_nfet.hex

multiyaw commented 9 years ago

im sorry i find the file given by Goodplayervivian http://www.mediafire.com/download/njog23wt8o5ree7/Turnigy+Multistar30A.zip i test it thanks Goodplayervivian and khudson++

Floyer007 commented 9 years ago

Little update for those who want to know: My ESC use the same mosfets like the ones of svenp and JimKuhn.

sim- commented 9 years ago

Oops! Sorry, I forgot to git add kda_nfet.inc. It should be there now.

khudson commented 9 years ago

sim-: Could you put a note in the spreadsheet that the kda_8khz version is there for the revisions of the ESCs with el-cheapo FETs?

multiyaw commented 9 years ago

hi everybody i just want to tell you i can confirm this version of firmware ; http://www.mediafire.com/download/njog23wt8o5ree7/Turnigy+Multistar30A.zip work fine for moment :) whit my multistar 30a whit tcpa8012h nfet.my esc don't seem hot after a few minutes of test i hope it help you and thanks everybody work about it

roscoaus commented 9 years ago

Hi everyone, I also have the multistar 30A ESC (bought around May this year) and they have TPC8123 and AO4714 fets. After reading the above post I assume that I should use the kda_8khz version. Is this correct? I currently have stock FW installed and want to go to SimonK FW for obvious reasons.

Second question: are there any draw backs going to 8khz? I suppose I'm trying to decide if I should just buy new ESCs or if these will be good enough?

Sorry final question is to Simon: you mention above that this problem is not completely fixed "problem will still happen if the motor is loaded enough". Again trying to decide if I should just buy new ESC (probably arfo's) or if the probability of this happening is not worth worrying about. I not planning of flying acro with my hexa but would like to think if I need some extra power I can give it some throttle.

Thanks for any help you can provide.

sylvia43 commented 9 years ago

Quick question-- What's the clock rate for the PWM signal to the board? And the high time is 8khz (125uS), right?

sylvia43 commented 9 years ago

Oh I figured it out by the way, it's a pwm signal with a length of 20ms (50hz). To start it, ~1 second of a 1000us high time, and then to spin the motor a high time of 1100-2000us for throttle low to high.

Mitja2 commented 9 years ago

I have smoked new Mutistar 20A Opto with kda_nfet.hex found in this thread here (from mediafire). This esc looks like (some little changes) new 30A design, but fets are 4714 .... It played music and tone but then motor cogged from begining. When I have connected battery next time it gone in smoke ... I can't find kda_nfet.hex nowhere else ...

Mr-Bubbles commented 9 years ago

@Mitja2: I couldn't either, found out, you can compile and flash it with two clicks with the "kkMulticopter Flash Tool" under "SimonK Firmware Compiler"

@everyone just to let you know: Got some MultiStar 20A SBECs from HK last week (EU Warehouse). They look exactly like these http://0x.ca/sim/esc/HK_9351000004/ (with TCPA 8012-H on both sides and one instead of two rows of FETs)

However: I flashed them with the kda_nfet.hex (compiled with kkMulticopter Flashtool 0.80 Beta 2) and they do get very hot when connected to Lipo and a PWM source even without a motor. Tried the kda_8khz.hex and they only get slightly warmish. (haven't had the balls to connect a motor jet since i'm running low on spare parts) So something is still fishy?

Mitja2 commented 9 years ago

Thanks mr. Bubbles ... Now I have found compiler in new beta of kkMulticopter Flash Tool. But don't want to smoke another esc, so I'll wait for someone else :)

Here are the pics of that new Multistar 20A opto (buyed in 8-2014):

dsc_0558 dsc_0559

khudson commented 9 years ago

Those are n-channel FETs on both sides. kda_nfet should be the proper firmware for those.

sim- commented 9 years ago

Except that those boards seem to have push-pull drivers similar to PMD3001D that are probably not inverting the gate wrt the logic signal! Yay, another variant! So, that one is probably plain kda even though it's all N-channel. I've added those and the others to the spreadsheet.

Sorry, I first flubbed by forgetting to git add kda_nfet.inc, then I forgot to push it for a while longer. It's there now, though. :)

For all of these P/N versus N and inverted high side confusions, it's probably worth another round of trying CHECK_HARDWARE enabled by default. This would prevent damage in the wrong inversion case by not doing anything when sense lines are detected as high enough to not be off. However, this had false positives on some boards before due to ADC issues or leaky drivers. Although PD6/AIN0 is connected to the emulated neutral on every board, we can't ADC from that pin, and logic high is too high to catch all cases.

So, meanwhile, when flashing, always use a current-limited source! Even a simple switching wall supply should work. I'm currently doing most dev with an old DPS-1512M bench supply -- it doesn't actually have a settable current limit, just short-circuit protection, and that usually works enough. A LiPo will kill things very quickly, though.

cmar76 commented 9 years ago

hello everybody,, I just bought my multistar 30 amp esc adn flashed the with the Goodplayervivian firmware and when I pluged them nothing happened they didn't do anything so could you please help me??? becuase I think I already lost my four brand new esc's :(

sylvia43 commented 9 years ago

@cmar76 You should have done one at a time...

sim- commented 9 years ago

Well, not doing anything is better than flames. Maybe take a picture of the board and perhaps list when/where you purchaed them?

cmar76 commented 9 years ago

img_20140929_194027 img_20140929_194044

well I bought them from hobbyking two weeks ago sept 15th 2014 and according to the compatibily table they were made after middle 2014

cmar76 commented 9 years ago

so simon any clue, why are tehy not working???? if I followed the steps and download the firmwares the people here said... or do you know how to reset them with the original firmware????

sim- commented 9 years ago

Ok, those look like the ones I received in July: http://0x.ca/sim/esc/HK_9351000004/

For me, kda_nfet.hex worked for them. I guess I still haven't released a version with this yet -- sorry! I just tagged a release now. You can grab it from http://0x.ca/tgy/downloads/