The solder and wire on the shunt was making it read wrong the clean board reads fine. So just tweaked the value in firmware till it read the correct current.
Might be easier to use something like this on future versions. They updated the ACS with better bandwidth recently, less heat due to the lack of shunts in theory as well. https://www.allegromicro.com/en/Products/Current-Sensor-ICs/Fifty-To-Two...
That has 50A minimum current
Nah, it means it comes in variants from +/- 50 to +/- 200. I have never seen a detailed comparison to something like the ina240 and these however. In theory the ACS sensor doesn't have the issue of temperature changing the shunt resistor values, I think the non-isolated shunt based sense has faster rise time while the isolated ones suffer from a delay due to the delta sigma modulator and demodulation so they probably end up similar to the ACS.
Ah I see. I will add that to my list.
Here is the 200A 12S video:
So far for the "A150HV" we have.
Gate Drivers: TI UCC21520
Current shunt amplifier: Si8920
Using the differential to single ended and current limit circuits from the 150kW one.
My main issue is what capacitors to use. You can't get anything ceramic with enough capacitance at these voltages so I would have to use all electrolytic or film ones. What do other high voltage controllers normally use?
I don't think there's any easy way around that, I have mainly seen designs with masses of ceramic caps, only bulk electrolytic or film caps but heavy derating, usually 650V IGBT with 400V max input and GaN or SiC transistors switching at very high speeds to minimize needed capacitor values.
Anyone trying to PM me on here please email me at firstname.lastname@example.org instead. I can't open any private messages at the moment.
First assembled unit:
Here is my list of fixes for 18S 200A to be implemented in V1.3, They should fix the overvoltage issues.
1. Rotate the two electrolytic caps 90 degrees. Halves the inductance to most of the fets. Spikes 98v -> 88v
2. Add another two 390uF caps and bus bars on the motor wire end. Spikes 88v -> 79v
3. Increase ceramic caps from 6x 4.7uF per phase to 3 * 15uF. Spikes 79v -> 77v
4. Add some big ceramic stacks at ends of each phase v+. Spikes 77v -> 76v
Really shoody mockup to follow :D
Wicked project! This would be killer for an electric motorcycle build. Looking forward to seeing this progress!
I have decided to go even more extreme with the changes, so the next rev will shrink the logic area to less than half the size to allow for 4 capacitors to fit. This then means it will be the same size without caps sticking out the end. There will also not be output wires, just holes to attach a ring terminal. There will still be battery wires though, but no connector on the end of them.
Here is the modded V1.2
Changeset for V1.2-V1.3 as I make changes.
Switching mosfets from IPT020N10N3ATMA1 to IPT015N10N5ATMA1 for slightly better on resistance.
Switching from 2x 1000uF KZN 18x40mm to 4x 680uF KZN 16x40mm EKZN101ELL681ML40S
Shrinking logic area of board to make room for the caps
Removing copper bars from where the caps used to be, battery input now connects next to mosfets.
Output changed from wires with crimped ring terminals to on pcb ring terminal blocks 710-74655095R.
All 0805 changed to 0603 to make space.
TechAUmNu said: All 0805 changed to 0402 to make space.
Are you sure it's a good idea?!
Those 0402 are so tiny that most (>=1µF) have a big drop of capacitance at the rated voltage.
0603 is slightly bigger, but you have less loss.
Have a Nice Day.
Well when I started looking for 0402 there are basically none due to the MLCC shortages at the moment so looks like 0603 it is!
The logic area is about 1/3 the size now so I have to do some real cramming to get it in.
Murata has a nice tool for looking at deratings of their caps among other things. http://ds.murata.co.jp/simsurfing/mlcc.html?lcid=en-us
Yes, very useful.
I use it when I need to have more infos about DC Bias and changes vs AC Voltage.
Now TDK has such a tool too, although slightly different.
I have now finished they placement for V1.3, will do layout tomorrow night.
TechAUmNu, you are doing very nice work, my most sincere congratulations for you project!!!
About capacitor bank design i found this document very interesting:
The document proposes to use film capacitors instead of electrolytic. It does not have to be much more expensive because it uses much less capacity. I think that many modern RC ESC (race quads) are using only film or ceramic.
Yeah film is a better for lower heat and higher voltage ratings, I might use them on the A150HV when I get round to that.
Suppose I cave in and get myself a polyprop capacitor. For example: https://www.digikey.nl/product-detail/en/cornell-dubilier-electronics-cd...
At 600uF min, all < EUR 80 ones are > 900V. So when I only need 200V, they are able to store 20 times more energy than required. I would have guessed that they would be able to make more "fitting" capacitors, e.g. one that stores only 2x as much energy as required as a safety margin, 10 times less than this one, and hopefully (almost) 10x cheaper....
I found you have to get multiple small film caps for lower voltages. It seems as though they don't scale down to lower voltages as well as other types. Half the problem is they never seem to be in stock, low production volume is probably why prices are high.
4x of these might be good for <100V builds.
Capacitor sizes and cost become such a headache that using GaN or SiC mosfets and switching at 100 - 200 khz so you can use only ceramic capacitors is actually worth while. I don't think the STM32F4 PWM has enough resolution for it though sadly. I can do it on my C2000 Ti boards but without any software comparable to the VESC it's pointless.
Been looking at the Si8920 current amps so I can support higher voltages, don't have much space to do the differential to single ended conversion. This is the best fit I have found so far.
I won't use them on the A200S V1.3 because it takes up too much room and cost. I have added the current filters from VESC6 though to try and clean it up a bit.
I found these today, faster than all the hall sensor solutions and isolated current sense solutions, full isolation and resistance is so low its practically lossless. Only downside is price and 5v analog output that needs to be scaled, the $20 price probably isn't actually bad after considering isolated power supplies, opamps and shunt resistor costs for the Si8920.
Not sure how you got to $20... the 150A ones are £30 on RS. Which is more than 5 times more than using a Si8920. Main problem is that they are bloody massive lol.
They are nice though, will keep them saved.
Must be EU tax or something, australian RS has them for 20 AUD which is like 15 USD. When I built one with si8920 I think it worked out roughly $5 si8920, $3 shunt, $5 for isolated dc-dc and $4 for opamps and perhaps another $5 in passives.
V1.2 Have finished all mods, testing this weekend then shipping.
Have now completed the initial layout and will order a couple pcbs to test with. Main changes are 4 more capacitors and lots more copper, plus a third shunt and onboard bolted connections. I really want to put another bolt hole on the unsupported corner so I think I can fit an M3 or M2.5 in the gap between the capacitor legs. Also added some more leds to show the if 12V and 5V are ok.
Also this is how you should do a shunt connection, I see lots of people with the sense lines going across half the board.
Small request, when using AS5047 encoder it would be much easier to wire the cable with 2 extra grounds (twisted pair). If you could add 2 extra ground pads next to the 6 pin then there would be the option to fit an 8 pin connector.
Which terminals are you using? I need to find a better option than just soldering wires to the PCB next time I build a controller.
@Enak I have added another 2 ground pins for you.
@lizardmech I use these ones https://www.mouser.co.uk/ProductDetail/710-74655095R you can get more beefy ones but they are a bit too big.
Why not use low side current sense?, i see many modern designs are using this. This is not voltage dependent and they are probably very cheap, the change in the code should be minimal, should not it?
VESC4 used that. Phase currens sensors are better.
It is actually easier to make a smaller board when using phase current sense, you don't end up with shunts in the middle of the board with bus bars on either side of them. Plus it would increase the distance between the capacitor and mosfet grounds.
The V1.3 prototype pcbs are now complete and on the way back from china.
I also noticed these https://www.mouser.co.uk/datasheet/2/205/MTI85W100GC-771535.pdf which would be nice for a 80A unit for 18S.
Equivalent price would get you these https://www.mouser.co.uk/ProductDetail/ON-Semiconductor-Fairchild/FDMS86... which do take up less space, but the board would be more expensive/complex with bus bars etc.
This ESCs from Hobbywing seems very reliable, they are using 100V fets for 14S (58.8V), I show it because I find it curious that they used 100V and not 80V
and 7 fets in parallel, 7 x 80A = 560A (rated 200A)
they are using a large safety factor!
Just for some comparison:
DC link electrolytic inductance
Looks like they need the huge voltage margin on the mosfets so they can have seemingly no ceramic capacitors close to the mosfets. The DC link caps are about 35mm from the last mosfet, so inductance is about 30-40nH.
If I plug the numbers I calculated into ltspice foc simulation you get this. 200A, FOC, 30kHz, 50v input
It looks horrible. Here is bldc. 200A, BLDC, 58.8v input (14S)
For comparison has to just how bad, this is the A200S V1.3 running 200A, BLDC, 58.8v input (14S).
Derating vs lots of ceramic caps actually seems more common, you often find 650v IGBT modules in appliances usually just with a film capacitor running off 220V dc. I'm not sure which is considered better, heavily derating or going near max VDS and trying to control it with capacitors. On area derating is favorable is if you want to use metal substrate PCBs, it's hard to put ceramic caps on single layer PCBs.
Curious that the simulation goes so wrong. In any case it was only in case it serves as inspiration in some aspect.
I also like to idea of use only film or ceramic capacitors, some new race quadcopters ESCs are using this scheme. Most of this ESC are 4 Layer Blind Pole PCB - 3oz Pour, it is expensive for low quantities or prototypes but these ESCs are extremely small, probably not necessary here. Also using a little ingenuity, for example putting the logic on a different PCB you can avoid using blind vias
I have ordered one of these beauties https://www.ebay.co.uk/itm/282939372735
Should let me test up to the limits of the design without needing to use uber scary lipo arrangements. 18S lipo pack is NOT fun.
Main aims are to make sure the 12v regulators don't self destruct at higher voltage. As I am thinking they are getting a bit too hot. Especially at higher switching frequencies.
Probably going to move to a 5v boost dc-dc to 12v so it still only needs one voltage input.
I lent one to a friend at the weekend and he found some strange problems with duty cycle mode with ppm input while using a big TP power inrunner. When he set the max motor brake or max battery regen currents too low he would lose control of the motor once he put the throttle back to 0. Instead of stopping the motor would continue to run at 18% forever until it was stopped in vesc tool or the transmitter turned off. Sounds like a major safety problem!
He also managed to blow one of the two 12v regulators when it was braking his inertial load of 24kg or so. Not sure exactly why this happened yet so I am building my own flywheel test rig to see what happens when braking.
Finally got a proper datasheet for the all in one part, http://ixapps.ixys.com/DataSheet/MTI85W100GC.pdf it looks really nice. Gonna start designing a board to run it. Best bit is the ability to easily mount a heatsink on the top with the big exposed heat plate. Thinking 2-3 boards could make a small cube shaped unit.
New boards arrived
Awesome work on this design. I've been pondering about doing this months now. There is a real demand to go higher voltage. I have a few questions for you. Are you planning on posting the Kicad files for version 1.3? I was planning on playing around with it and trying out different layouts. Also, have you been able to find a three phase gate driver that can operate above 60V (similar to the DRV8301). My search has come up empty so far. Seems like that could save some space as well. Thanks in advance and keep up the good work.
Sorry the pcb files will not be available as I don't want a repeat of what happened with hw 4.12 although I may post a reference design once I figure out all the issues fully. The layout is really not that hard once you understand why parts are placed where they are.
I doubt you will find an integrated solution above 60v anytime soon. Best I have seen so far is some very tiny no lead gate drivers and the sixpack fet package I posted above.
Now with caps (the wrong caps) and the lovely terminals.
Do you sell the pcb？
I looked at those ixys 6 pack fets a few times as well, I think a single layer metal PCB with the drivers on a separate conventional PCB would probably beat it though.
I should probably get back on that hey?
Good lord, can we please figure out how to debug this code? I have been trying for the last 3 hours to just change to BLDC mode and it instantly freezes as soon as I write the configuration!!!!!!!!!!!!!!!! Most weirdly this is with a known good firmware image. Tried on 5 different pcbs with the same problem. I don't even...
Have you tried checking the 3.3V supply while you do this? Writing the EEPROM probably draws more current and if the supply is weak there could be problems like that.
I tried again this morning and it worked perfectly without changing anything. So no idea what was happening. Also it was only freezing when I changed to bldc mode, I could set any other setting and write with no problem.
Sorry for I still not understand which cause of the motor to stop suddenly, is due to"The solder and wire on the shunt was making it read wrong the clean board reads fine. So just tweaked the value in firmware till it read the correct current."? thanks
That was caused by the current reading wrong by almost half so in that test it was actually hitting 300A or so and the motor was going into saturation.