View Full Version : Discussion Converting TowerPro 50A ESCs to TWI / I2C control AND also a 3.3V 3A ESC, 2 extremes
Arthur P.
Nov 19, 2007, 05:38 PM
After having successfully converted several TowerPro 25A ESCs to TWI / I2C control for use in quadrotor mikrokopters, I had also ordered two TowerPro 50A ESCs and forwarded one to the master of modifying and reprogramming these escapes, Quax (Bernahrd Konze). Here's his first reply:
________
The ESC arrived yesterday and I was very interested in investigation.
The result is included. After I had analysed the schematic I made some
running tests with the build-in software. Seems, that they DON'T use the
active free running mode. With a new review of the IR2103 I found out,
that the chip is designed for Low-Side PWM and High-Side commutation
only. The high side driver voltage is generated by the PWM, using a
diode and a capacitor. The capacitor load is to little, to perform the
same PWM frequency as the low side does.
Nevertheless, the FETs are very good, well driven and can drive more
current as the low cost version can. The changes I made in software and
the hardware i2c-changes are not yet tested. You can see, that the
schematic is very similay to the known designs. Some ports have been
changed and the high side is high and low driven. The program flow is
nearly the same, the schematic was not very hard to examine. I think you
can give the data a try, but only with a current limiter.
Please give me the chance, to analyse the startup signals, it seems to
start very reliable and I would like to learn a little bit, if possible,
before I erase the original software. I don't have such a good osci at
home and have to do these measurements after work in my company. There I
have a DSO and can save the curves.
________
And here's the zip file with the hex file, schematic, image of the required modifications., and source code. Now, Quax currently clearly cannot yet give a guarantee on this conversion being perfect and is indicating that the software can probably be further optimized. So be very careful with this conversion. You are talking about 750-1100 Watt devices here. Use a fuse or some other mechanism of limiting current and save yourself some motors.
It will take him a bit of time to further investigate thes ESCs and optimize his software. But as soon as there is further info, I'll post. And once I converth the other 50A ESC, I'll create a manual.
I think this will be the next big hop-up for the quadrotor fanatics who want to compete with "Home Improvement" (Power, MORE Power) :D
Pigs dont fly
Nov 19, 2007, 06:22 PM
Excellent, thanks for this Arthur, where you find the time to do all this amazes me, praise to Quax also.
Hopefully these will open up big lift quadro's, and then the use of fast charge A123's
jsirkia
Jan 14, 2008, 02:01 PM
Any news on this mod? I guess I'll have to install AVRStudio to be able to compile the different ID's on the ESC's. There seems to be a variable POWER_RANGE in the asm file which is set to 200. Does this work so that the commands from FlightCtrl are 0-200 and if I set POWER_RANGE to 400 then I'll only get max 50% duty? Just interested in tinkering with bigger props than my motors can handle at WOT and would like some insurance. :cool:
Thanks,
-Jussi
Arthur P.
Jan 14, 2008, 06:44 PM
No progress lately. If you do want to pick this up, you would probably want to connect with Quax in the x-ufo.de or mikrokopter.de forums. He indicated he needed to rework some of his code to allow the 50A potential of these ESCs.
quax
Jan 15, 2008, 05:39 AM
Any news on this mod? I guess I'll have to install AVRStudio to be able to compile the different ID's on the ESC's. There seems to be a variable POWER_RANGE in the asm file which is set to 200. Does this work so that the commands from FlightCtrl are 0-200 and if I set POWER_RANGE to 400 then I'll only get max 50% duty? Just interested in tinkering with bigger props than my motors can handle at WOT and would like some insurance. :cool:
Thanks,
-Jussi
I must say, that it's dangerous to change defines, not exactly knowing what you are doing :eek:
There are 3 half bridges acting on a very low inductance, so that short currents will destroy the weakest part of the chain, motor, accu or ESC, whatever. Please don't change anything if you are not knowing very good, what you are doing. In any case: start the tests with a current limitted power source.
@Arthur,
meanwhile I know, that the 50A type will work with particial load in active free running mode. But I'm very busy at the moment and it will need some time, to realize this mode.
cul
quax
jsirkia
Jan 15, 2008, 06:45 AM
Hi Quax,
thanks for your answer and efforts on this matter. The reason I'm anxious enough to try compiling myself, even though HW is really more my thing, is that I already have all my MikroKopter parts ready and I only need to mod and reflash the ESC's to try her out.
I have enough experience designing and testing power electronics that I wouldn't dream of doing a test run without my trusty lab PSU. Anyway, I ran some numbers yesterday and concluded that limiting the max duty wouldn't really give me a benefit anyway, so I only need to compile the different ID number hex files.
Interesting thing with the 50A's: three came with silicon paste between FETs and heatsink, one with glue between them. No other difference that I can see.
-Jussi
Arthur P.
Feb 06, 2008, 03:31 PM
First conversion of the TowerPro 50A's has been done as documented here: http://www.rcgroups.com/forums/showthread.php?t=716870&page=101#post9095811 in post 1507 !
quax
Feb 14, 2008, 04:32 AM
Hi
maybe, you are astonished about this micro-BL-ESC in a 50A thread.
( 1 Lipo, 3A , 1.3g, 17x17mm )
http://freenet-homepage.de/alex_konze/bko/AVR_FET_4.jpg
The common property is the ability to perform the "free running mode" at particial load condition.
The test with that mode was a great success. I'm very sure, that it will also be a worthwhile enhancement for the 50A ESC. I will implement that mode at the next opportunity.
cul
quax
jsirkia
Feb 14, 2008, 09:16 AM
Very nice board! What do you mean by the free running mode? Is it a complementary drive on the currently PWM'd phase, as in synchronous rectification?
-Jussi
quax
Feb 14, 2008, 09:33 AM
It's a complementary drive of that half bridge, that produces the PWM. In transistor driven high side bridges during PWM off the current flows through the parasitic diode of the high side FET. That produces lots of power loss and heats up the ESC. In free running mode the high side FET is switched on during PWM off and the losses are down in the range of the rds-on resistor. This is only applicable, if the high side FETs can be switched very fast on and off. The transistor cannot be switched fast enough and especially the switching off isn't deterministic at all.
I don't know, if this is an equivalent of a "synchronous rectification".
cul
quax
Arthur P.
Feb 14, 2008, 03:16 PM
Very nice piece of work Quax. Had you seen my ATMega programming adapter in the TowerPro 25A conversion thread? Very cheap and easy to make and may save another 0.5g for that really small ESC :D Note that I slightly modified the title of this thread :)
quax
Feb 14, 2008, 03:59 PM
Very nice piece of work Quax. Had you seen my ATMega programming adapter in the TowerPro 25A conversion thread? Very cheap and easy to make and may save another 0.5g for that really small ESC :D Note that I slightly modified the title of this thread :)
Thanks :)
Yes, I've seen your solution and tried hard to find a brand for that material. Is it possibly a clay like this?
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=230221138505
A moment I thought about simple 5-min epoxy. I also don't own such a mini drill. You see, I'm at the start, but had no choise when building this ESC. If you can, please give me a hint, where to buy your clay, what's the brand.
I can save 0.2g, that's a 15% win, worth to build your adapter :D
cul
Bernhard
Arthur P.
Feb 14, 2008, 06:16 PM
No. It is actually the coloured "play-clay for kids": http://www.eberhardfaber.com/FIMO_eng.EBERHARDFABER?ActiveID=16839. They sell it here at "crea"tive hobby shops like Pipoos. There are certainly also such shops in your neighbourhood where they sell artist paints, beads, such clay, etc. I would take the classic. It is stiffer than the newer version. I haven't tried that but the classic was already difficult enough to get off the PCB without deformation. Of course you could consider baking it with the PCB as 125C shouldn't yet loosen anything I think. But not sure whether it is healthy either. I just took multiple imprints and used what seemed to be best. I estimate you can get 30-40 adapters out of one piece once you have some practice. Stuff costs Euro 2.50-3.00 for a piece, so not a bad "business".
Arthur P.
Apr 14, 2008, 05:50 PM
Decided this evening to give the TowerPro 50A ESC conversion a go. Had recently ordered 4 of them to complement some TURNIGY TR 42-40B 900kv Brushless Outrunner motors (Eq: 3520 AXi) that should also be arriving one of these days. I-m hoping they will be a good fit for APC 12x6E props resulting in some 8kg max thrust, allowing about 500-1000g cargo on top of frame and batteries in a APMk (Aerial Photography Multi-kopter, and a little game with my initials). The first ESC is essentially wired and ready for reprogramming and testing. Chosen for now to not yet mount all connectors, to just go for temporary connectors for testing. Took a bit of getting used to all the space, but in fact this conversion is really easy so far due to all the space. Because there is no BEC, I just cut the PPM connection to the servo lead and used the servo lead to connect SDA and SCL to, leaving GND intact. Here's some pics.
Arthur P.
Jul 25, 2008, 05:50 PM
For those interested, in the attached zip file the I2C firmware from Quax, including also separate hex files for motors m1, m2, m3, and m4.
tobbeanton
Sep 16, 2008, 02:31 AM
Quax,
Have you had any chance to look at the tower pro startup routine yet? I have just looked at it quickly on a scope and my conclusion is that it is adaptive in some way. The tower pro startup routine is the best I have seen yet (I haven't seen that many though). I would really like some help in figuring out what they are doing the get the startup so reliable.
Regard's
Tobias
quax
Sep 16, 2008, 04:37 AM
Quax,
Have you had any chance to look at the tower pro startup routine yet? I have just looked at it quickly on a scope and my conclusion is that it is adaptive in some way. The tower pro startup routine is the best I have seen yet (I haven't seen that many though). I would really like some help in figuring out what they are doing the get the startup so reliable.
Regard's
Tobias
Hi Tobias,
you can try out some other values here:
.equ PWR_STARTUP = 40
.equ PWR_MAX_STARTUP = PWR_STARTUP+20
If you use PWR_STARTUP = 60 the start current is higher and sometimes it helps if you lower the current to PWR_STARTUP = 30 for example. Normally this should reach enough to go nearer to the motor requirements.
I know, that the standard BL-ESC meanwhile have a very good startup. But unfortunatly I have not the time as the manrfactorers developers have, to make all more and more perfect.
cul
quax
tobbeanton
Sep 16, 2008, 05:04 PM
Hi Quax,
I think your code is doing a great job! However I guess it is mostly ment to start prop's. I'm trying to start a RC car with in-wheel motors and that's a bit heavier for the motors. I've been playing with the PWR defines and sometimes I can get the car to start ok but not to often. I need to make the startup routine better and I hoped you got a chance to look at the tower pro one as it is doing such a great job.
I have studied it a bit and my conclution is that it is adaptive as it changes the time each phase is active. I will study it a bit more and get back.
/Tobias
tobbeanton
Sep 17, 2008, 04:49 PM
Here are some scope pictures from the startup. As you can see the on time for each phase differs between runs. So in some way the startup routine is adaptive to the load. I took some scope snapshots where I hold the motor to give it some friction and here you can clearly see the time differens. How do they do that, what's the trick? They must measure something...
quax
Sep 17, 2008, 04:59 PM
....
However I guess it is mostly ment to start prop's. I'm trying to start a RC car with in-wheel motors and that's a bit heavier for the motors.
....
Yes, there is the problem. Props don't need much torque at startup, they are nearly free running at low RPM. Cars need tons or torque at startup for good acceleration to reach speed. But that's a big problem with brushless and sensorless motors, but also with brushed motors, because they need a very high current for that torque. I must admit, that I didn't try to realize such a behaviour yet.
....
and I hoped you got a chance to look at the tower pro one as it is doing such a great job.
....
Unfortunately you can look as much as you want, but you won't figure out the algorithm they use. The most important, the kind of BEMF detection and timing calculation algorithm take place inside the chip. You only see the result as a commutation or PWM change. I can't believe in a success.
cul
quax
tobbeanton
Sep 18, 2008, 06:58 AM
I guess it will be tough to figure out their startup routine but I will give it a shot because it is doing such a great job for my rc car. It starts perfect every time.
tobbeanton
Dec 05, 2008, 09:08 AM
Another thing,
I've changed the code so that it uses the "free running mode" (complementary PWM or also known as synchronous rectification, actually I have rewritten the whole code in C because my assembler skills are to limited). The motor seams to work fine but at a much lower RPM with the same PWM on time. Also I can go much lower in RPM before the BEMF gets to low and the ESC loses sync! The amp draw also goes down so the ESC seams to function properly.
Does anyone have any thoughts about this?
quax
Dec 05, 2008, 09:24 AM
Another thing,
I've changed the code so that it uses the "free running mode" (complementary PWM or also known as synchronous rectification, actually I have rewritten the whole code in C because my assembler skills are to limited). The motor seams to work fine but at a much lower RPM with the same PWM on time. Also I can go much lower in RPM before the BEMF gets to low and the ESC loses sync! The amp draw also goes down so the ESC seams to function properly.
Does anyone have any thoughts about this?
Hi tobbeanton,
the same PWM should result in the same RPM, I agree :)
Do you open your source for review/testing and free using? If you do, I can possibly help you. Without any nearer view to the conditions, it's difficult to understand the reason for that behaviour.
But if you don't want to open your source, it's ok - It's an important decision to do or not to do :)
cul
quax
jsirkia
Dec 05, 2008, 10:29 AM
Changing from hard pwm to free running mode should only result in a minor change to the rpm, because of the fet on resistance versus body diode drop. However, if the hard pwm was performed on both high and low switches, the change will be dramatic. During all switches off, the motor will have a reverse battery voltage across it because of the current flow through motor inductance and body diodes, whereas in one switch pwm and free running pwm the voltage across motor during pwm off is close to zero. Full throttle should of course still create the same rpm.
I can't tell what pwm quax's SW uses, it's been working ok for me though. :) Now if I could only get my MK back from the backburner... :rolleyes:
-Jussi
PS. one thing that will cause a big change in the pwm/rpm ratio: Make sure you have enough dead time to avoid a shoot through in the complementing branch.
tobbeanton
Dec 06, 2008, 04:47 PM
I havn't had a chance to look into the behavioar further but everyting seams fine except the RPM drop. I base this concluton on that the AMP draw drops pretty propotional with the RPM as well. The PWM is driven as in the attached picture. The IRF2103S adds deadtime to the hi/low side switching that should be enough to avoid a shot through problem. Since the HexTronic 750 motor I'm using can go as low as 150-200 rpm before loosing sync with the complementary PWM I'm pretty anxious to solve the problem.
I will do some scope measurements to see if I can find anything and come back.
In the future I may release the code but at the moment it is to messy and to application specific.
tobbeanton
Dec 07, 2008, 01:31 PM
I did some scope measurements and I must say that I didn't get any wiser. The complementary drive waveform seams correct. One thing that differs is the current draw waveform. In the low side PWM case it is pretty the same for each PWM-on but for the complementary, it is higher in the beginning of a phase then at the end of the same phase. See the attached scope pictures. Also, for the same RPM the complementary scheme draws ~10% more current.
Regarding the ability to drive the motor at low RPM the difference isn't as big as I first anticipated. The low side PWM scheme can drive the motor down to about ~300 RPM and the complementary scheme down to ~250 RPM. Because of this I will put this investigation on hold for a while.
papaxiclas
Nov 13, 2009, 06:09 AM
Hello! I know this thread is not used for a while now but only now I have found it.
I am using 4 ESC with the modifications found on the begining of this thread but every time I try to use the batery until the end, the ESC's stop and start to burn :(
I have already take a look into the datasheet of FET's and the driver in order to check if there could be a low voltage caracteristic or any other clue but I have found nothing.
Can someone point me where could be the cause for this?
The last time it happen in 8 ESC's 6 fried... :(
Regards
Arthur P.
Nov 13, 2009, 06:19 AM
Hello! I know this thread is not used for a while now but only now I have found it.
I am using 4 ESC with the modifications found on the begining of this thread but every time I try to use the batery until the end, the ESC's stop and start to burn :(
I have already take a look into the datasheet of FET's and the driver in order to check if there could be a low voltage caracteristic or any other clue but I have found nothing.
Can someone point me where could be the cause for this?
The last time it happen in 8 ESC's 6 fried... :(
Regards
Which ESCs are you talking about? The 50As or the small ones? Any pics? And which firmware are you loading?
papaxiclas
Nov 21, 2009, 05:41 AM
Yes the 50As and with the firmware found on the first page of this thread....
Photos I can't made them now because I have repaired all the ESC's... one I have changed only the FET's on other I had to change also the driver chip.
Last wednesday the same sh....t happend again.. this time resulting in total loss of all the electronic on my UAV (everithing smashed) only the ESC's does not seem squached.... I will take a look ate them next monday but for sure that the cause of the crash was again the ESC's short-circuiting....
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.