Axiom: a 100kW+ motor controller

Hi hackey,
you won't go too far with 2 TO-247 in parallel. That package can withstand around 80A (some a bit less, some a bit more), no matter what crazy silicon figure the datasheet tells you, you can't go higher because the package legs are limiting you, at 90A the temperature will rise like crazy in just a couple of seconds, so thats already a peak Amps value.

If you want to flow 500A, you need many devices in parallel. I imagine >8, and paralleling devices is super difficult to achieve. Also at those current levels the noise will be unworkable without an isolated topology.

If you want to get it done easily, I would decrease your phase current requirements by increasing the voltage. EconoDual modules can manage 300A very well, and even if they are meant for 400V you can use them at 200V. You are wasting silicon, but not wasting your time :wink:

About DC links, the best reference document out there is HighHope's: https://endless-sphere.com/forums/viewtopic.php?f=30&t=31804&start=50#p839118
Besides capacitance and technology (PP film, electrolytic), a critical aspect of the DC link is the stray inductance which depends on how you build it (see my comments to Abricosvw)
I am working in a DC link capacitor for the EconoDual inverter, but for now I've been using modules like this one B25655P4607J011.
 
Hi marcos

I like your suggestion for 300a ECONO igbt's but the main problem i am facing currently is cost of production. One igbt is costing around 200$ x 3 = 600$ . And the beefy dc link capacitors costing around 500$. And also the size of controller will get so big to fit into e bike with 8kw battery pack. i want this to be as compact and cheaper as possible. So i am connecting mosfets in parallel with seprate gate resisters for each mosfet and i will build 3 different boards for 3 different phases(U,V,W). Finally i decided to use 8 mosfet in parallel for low side and 8 for high side, so total 48 mosfets. And i will use cheaper mosfets 15810 from STMicrocontrollers with same mosfet driver as previous.

If you have better but cheaper solution in mind then please share. Thanks
 
Finally i decided to use 8 mosfet in parallel
I would love to see a multi-parallel 500A drive used with this control board, but I'm afraid to tell you you're in a path of destruction. No isolated topology, no desaturation detection, tiny TO-220 mosfets, and cheap dc link.

The best I can do for you is pointing to this x6 parallel-TO247 thread. Or offer our consulting services, but I'm sure our solution won't be as cheap as you would like.
 
:bigthumb: Thanks man you made my day. Thats what i was looking for.

One more thing i dont understand is. How these guys are able to build such a compact controller for driving their 60kw ac induction motor. Please have a look at this https://drive.google.com/file/d/1YBCEJx9Rc6y4PfQZRy-3_ultduGAX3vu/view?usp=drivesdkimage and observe the capacitors they are rated at 150uf 160volts with Arms of 1.85Amp. how these are able to drive such a big motor. :shock: . Please have a look at their E-Bike and let me know if it is possible or they are making fool of people for getting investors to invest in their startup. http://www.emfluxmotors.com .
Thanks
 
Looks sketchy to say the least. I would be open to let them convince me that it is possible... Looking at the quality of that layout, I'm not buying it. No chance that layout is working with GaN fets. Too low voltage for SiC (high switching freq could allow for smaller DC link).
 
hi
I still have problems with start ...
I changed the fried Components (and this problem was solved)))...
I disconnected and checked the IGBT modules (they seem to be working) ...
I don't know how to check IGBT driver ?
there is also a problem with VESC bootloader sometimes crashed without any reason I've had it many times I connect usb or 12v power supply sometimes it works sometimes not and only helps again rewrite bootloader using ST-link2 ...
Is there a chance that the bootloader does not work correctly? or it compiled incorrectly? or standalone V2 needs some additional changes?
thanks
i apologize for my french is my not-native language))) 8)
https://youtu.be/Ps0Ilr5psfE
https://youtu.be/WbM4mOmsIow
 
Hackey said:
Hi marcos

I like your suggestion for 300a ECONO igbt's but the main problem i am facing currently is cost of production. One igbt is costing around 200$ x 3 = 600$ . And the beefy dc link capacitors costing around 500$. And also the size of controller will get so big to fit into e bike with 8kw battery pack. i want this to be as compact and cheaper as possible. So i am connecting mosfets in parallel with seprate gate resisters for each mosfet and i will build 3 different boards for 3 different phases(U,V,W). Finally i decided to use 8 mosfet in parallel for low side and 8 for high side, so total 48 mosfets. And i will use cheaper mosfets 15810 from STMicrocontrollers with same mosfet driver as previous.

If you have better but cheaper solution in mind then please share. Thanks
maybe its help you ... I use and buy here ...
https://www.ebay.com/itm/1Pcs-FF600...=item2cdfa1abe5:g:xrEAAOSwUKxYbeqg:rk:17:pf:0
https://www.ebay.com/itm/Cornell-Du...e=STRK:MEBIDX:IT&_trksid=p2060353.m2749.l2649
https://www.ebay.com/itm/5pcs-Alumi...e=STRK:MEBIDX:IT&_trksid=p2060353.m2749.l2649
you can also find there GATE DRIVER 2SP0115T2A0-12
 
Abricosvw, youtube links are broken I think, could you check them?

I overcame the need of an STlink and I can flash the mcu even with an erased or broken firmware directly from the USB. I'll send you a binary that includes both bootloader and vesc firmware, plus the single command that gets the job done in linux using dfu. Hopefully tomorrow, the binary I have here is for RevD, you are running RevB, so it needs to be tested first.

About testing gate drivers, given your dc link situation it would make sense to perform a double pulse testing. Google "Double Pulse Test for IGBT & FWD – Principle pdf"
This way you can test both gate driver health and the overshoot produced by the DClink
 
Abricosvw said:

Once we start filling the tough holes (controller and dc link), I think many awesome builds will be possible thanks to sales like that. EconoDual packages are very common and can be found used when industries get rid of equipment. What for some is garbage for others is the EV of his dreams.

Someday we could have double pulse testing integrated in firmware to check the overall health of the powerpass in case we buy used. Just a thought. If my life depended on it I would try to buy new.
 
Hi
I fixed the links ...
I changed the location of the capacitors ...
IMAG0015-min.jpg
does not look very good but it's all temporary.( I need the first step to make it all work )
 
hi ...
I think I have progress for the better ... )))
I did everything needed with binary file ...
and changes appeared volts are shown correctly in vesc_tool_0.95 ...

but the motor is still not spinning .(
how can i check with oscilloscope that I have signal goes to from brain bord to interface to gate driver ???
 
I'm a bit behind posting here. I sent abricosvw a binary and some instructions to flash the board without needing an external STlink board, using only the built-in USB and a standard protocol for firmware upgrade (DFU: Device Firmware Upgrade). I wanted those instructions posted here as well.

If you have a debian/ubuntu machine you can flash the MCU this way:

  • Power off VESC board and disconnect USB.
  • Press and hold SW1 switch
  • Connect USB (will power ON the 3.3v domain). MCU needs to start with BOOT0 = '1', thats happens while you press SW1
  • Release SW1 switch. MCU should have started in bootloader mode. You can check with
    Code:
    lsusb
    lsusb dfu stm32.png

  • Using the attached binary, you can flash it with this command:
    Code:
    sudo dfu-util -a 0 -s 0x08000000:leave -D PALTA-VESC_RevB.bin

    View attachment 1


Download is slower than STlink, it takes around 2 minutes, but this way doesn't need extra hardware and uses a bootloader stored in ROM, so you can flash a blank chip or even a bricked firmware. This will flash the bootloader AND the firmware at the same time, and after finish the firmware will start running automatically.

If you have a working firmware and you want to upload it to your pc for future flashings, this is how I did it

Code:
sudo dfu-util -a 0 -s 0x08000000:1024000 -U newfile.bin


Good to see you improved the DC link, it could be better but now I'm not worried.

About probing PWM, signals are these:



They could be easier to reach, I remember soldering wires to those pads for better probing. Those pads are isolated from the traction battery so it is safe to connect the scope probes there.

If you run the motor parameter detection you should hear the controller sending pulses to measure the phase resistance and inductance.
 
One comment about the DFU download:
The reason behind connecting the board only with usb during flashing is because I want the gate drivers turned off, without 15V supply.
If you supply the board with 12V it will generate 15Vdc, 5V and 3.3v.
If you supply the board from USB it will only generate 5v and 3.3v.

When we boot the microcontroller in DFU mode, thats a black box firmware and I don't know what can happen with the PWM pins. For some reason it could set the PWM pin connected to phase A top and phase B bottom to '1' and suddenly you have 600 unexpected Amps flowing through your motor. So thats why I want the gate drivers powered off.

Another comment, not sure if I told you. Replace all comparators with ADCMP392ARZ. The original part# of the bom doesn't have rail-to-rail input and behaves poorly with common mode inputs anywhere near 3.3v.
 
Hi ...
is it possible in more detail which elements should be replaced by ADCMP392ARZ ...(It will be great if you point it to the pic)
I still have a problem with crashed firmware ...
and when i run the motor parameter detection i dont hear no noises ...
what the oscillograph oscillation tells us ???it is working???and I need to replace IGBT driver???
I am using the free version VESC Should there be any changes for it to work with PALTA-VESC_RevB ???
thanks and happy new year ......
[youtube]https://youtu.be/oq1e5R_C7QA[/youtube]
 
Hey marcos

The current sensor you used in repo is not available anywhere any replacement for this.

Sent from my COR-AL00 using Tapatalk

 
Hackey said:
Hey marcos

The current sensor you used in repo is not available anywhere any replacement for this.

Sent from my COR-AL00 using Tapatalk

Maybe this one ...300 amps ...


https://www.mouser.com/ProductDetail/ICE-Components/ISB-300-A-802?qs=sGAEpiMZZMt5HSdYdJgvycKzNgY%2f7c8jm4nIHzsVv52Awl3Hhjwu4w%3d%3d

https://www.mouser.com/ProductDetail/ICE-Components/ISB-300-A-800?qs=sGAEpiMZZMt5HSdYdJgvyVVVySDmxPWRovMskWuTZcZH5p0dE0cO6g%3d%3d
 
is it possible in more detail which elements should be replaced by ADCMP392ARZ ...(It will be great if you point it to the pic)
The change I made was to replace all LM2903DT comparators with ADCMP392ARZ. With the LM2903 you might have sporadic overcurrent trips at lower than desired currents because of the common mode voltage being out of spec.

I still have a problem with crashed firmware ...
Hmm, starting to wonder if its an assembly issue. I did see this issue once, I had to reflash the bootloader but it never failed again, I thought it was a cold solder joint but couldn't dig deeper because the issue was gone. What I would have done is to dump the flash memory when the MCU is OK and dump it when it doesn't start to see what changed (but I'd check for cold solder joints as well or maybe an overvoltage in the 3.3V rail).

and when i run the motor parameter detection i dont hear no noises ...
I'm in a noisy room right now, can't hear the video but will try again later to see if it looks like a damaged gate drive. (btw the other 2 videos seemed to be broken?).

I am using the free version VESC Should there be any changes for it to work with PALTA-VESC_RevB ???

Yes, you are right using the "vanilla" VESC from vesc-project, it should work with the original VESC-tool GUI. I made changes to vesc-tool for resolver support but they are queued in benjamin's local repo.

Happy new year man

The current sensor you used in repo is not available anywhere any replacement for this.
HTFS 400-P is a good candidate. It would need a different gain configured in hw_palta.h
 
Abricosvw said:
Hackey said:
Hey marcos

The current sensor you used in repo is not available anywhere any replacement for this.

Sent from my COR-AL00 using Tapatalk

Maybe this one ...300 amps ...


https://www.mouser.com/ProductDetail/ICE-Components/ISB-300-A-802?qs=sGAEpiMZZMt5HSdYdJgvycKzNgY%2f7c8jm4nIHzsVv52Awl3Hhjwu4w%3d%3d

https://www.mouser.com/ProductDetail/ICE-Components/ISB-300-A-800?qs=sGAEpiMZZMt5HSdYdJgvyVVVySDmxPWRovMskWuTZcZH5p0dE0cO6g%3d%3d

Those will measure 300A peak. That will translate into 212Arms.
The original 424A sensors were ideal for measuring 300Arms. (300Arms×1.4142 -> 424Apk)
If you want to overload a bit the system it would be okay to use 600A (peak) sensors like the LEM I suggested.
 
[youtube]https://youtu.be/oq1e5R_C7QA[/youtube]
Abricosvw, I just saw the video.

Couple of comments
* When you load an xml motor config file, it is only loaded to the GUI, not to the MCU. After config is loaded to the GUI you should hit "Write motor configuration" to send it to the MCU.
To check the config has been updated you can press "Read motor configuration", that will transfer MCU config to the GUI.
vesc-config.png


* Go to Terminal->print faults. You should have no faults, otherwise no pwm activity will happen.
On a related note, (and see the image above) check that your battery voltage is not higher than the "Maximum input voltage" field in "General-> Advanced" tab
vesc-input voltage.png


* For no particular reason I never command the motor in duty mode. I always set a current instead. My big hub for example needs >20A to start spinning in sensorless mode.
vesc-foc control.png


* The noise you see in the scope, it even shows in your 4th scope channel that doesn't even have a probe connected, could be confucted through your GND? Could be radiated as well. Does it show up when you power up the control board with 12V? In that case it could be the the gate driver power supply, or the isolated dc/dc of the gate drivers? Try to disconnect things until you find the origin of that noise, I don't know what are CH1, CH2 and CH3 of the scope connected to.

* I see you can't get to measure the motor resistance. Go to VESC terminal in the left side. Type "help" with the control board connected. MCU should reply with a list of available commands. try "measure_res 20". That means it will manually measure resistance with 20A. You can increase that current, I usually use 20A, then 40A, then 60A, then 80A. At 100A it usually converges
to an usable value.


If I remember something else I'll post it here. Cheers!
 
hi
I was a little busy with another project (RusEFI) ...
checked some points with oscilloscope (and with my understanding I did not find any problems) ...
but I think I found a problem ...
i have infineon FF600R12ME4
and as I understand it, I need to install on GATE DRIVER resistor R120/R200 1.5om and R122/R222 2.4om (or they in our case should be of another value ???)
thanks
#1.png
#2.png
#3-min.jpg
 
Wow you have had this thread going for a while.

Cool. Now I need to read it ;)
 
Abricosvw said:
hi
I was a little busy with another project (RusEFI) ...
checked some points with oscilloscope (and with my understanding I did not find any problems) ...
but I think I found a problem ...
i have infineon FF600R12ME4
and as I understand it, I need to install on GATE DRIVER resistor R120/R200 1.5om and R122/R222 2.4om (or they in our case should be of another value ???)
thanks
#1.png
#2.png
#3-min.jpg
Oh my gate drivers came with resistors tailored for these IGBTs, I guess you have an universal part. Good find!

Gate resistors get very hot, so make sure you comply with the 2W rating recommendation. I would even try to go higher. Also if you choose a through hole resistor, it must be non-inductive (those have a special winding pattern). If you place (several) smt parts they are all non-inductive because of its 2 dimensional construction.

rusEFI and VESC use the same MCU and the same RTOS, been following the project for quite a while. I like its rugged I/O btw. I remember they used an ingenious way of having peak&hold capabilities with stm32, impossible to do with a freescale part I used for the same application.

Arlo1 said:
Wow you have had this thread going for a while.

Cool. Now I need to read it ;)
I've read all your threads, I deserve it! :p
 
marcos said:
Arlo1 said:
Wow you have had this thread going for a while.

Cool. Now I need to read it ;)
I've read all your threads, I deserve it! :p

Lol I bet some of that stuff is OLD and makes me cringe when I read my really old posts... I have learnt so much since then.
 
hi
it have 2 types of resistor
PR02 FS 0202208KR500 (Metal Film Resistors - Through Hole 2watt 2.2ohms 10% Fusible NonInductive )
PR02 00 0202408JR500 (2.4 Ohms ±5% 2W Through Hole Resistor Axial Automotive AEC-Q200, Flame Retardant Coating, Safety Metal Film )

in data sheet say i need PR02 2.4 5% 2w ...
you say i need non-inductive PR02FS 2.2ohms 10% 2w...
I'm confused that it will be right ???
thanks ...
 
Abricosvw said:
hi
it have 2 types of resistor
PR02 FS 0202208KR500 (Metal Film Resistors - Through Hole 2watt 2.2ohms 10% Fusible NonInductive )
PR02 00 0202408JR500 (2.4 Ohms ±5% 2W Through Hole Resistor Axial Automotive AEC-Q200, Flame Retardant Coating, Safety Metal Film )

in data sheet say i need PR02 2.4 5% 2w ...
you say i need non-inductive PR02FS 2.2ohms 10% 2w...
I'm confused that it will be right ???
thanks ...
Hum, Don't use through hole then. The gate resistor is a critical part of your whole system, it defines the overshoot/efficiency tradeoff and it operates on a large temperature span so it needs to be stable (ppm/°C). You will get better performance using SMD parts.

The gate driver I have is made for these IGBTs:
20190112_092818.jpg

Note that in the resistance table you highilighted, FF600R12 is a 1200V IGBT. Mine is a 600V part, and schematic BOM will point to a newer but similar 650V part.

So my board is using RgON= x5 10 Ohm and RgOFF = x5 13 Ohm, they look like vishay parts, either CRCW or CRCW-HP. I would choose CRCW120610R0FKEAHP and CRCW120613R0FKEAHP because CRCW-HP somehow come with higher power rating.

Also if you chose a snap-fit gate driver, avoid soldering it to the IGBT like I did. Can't easily swap gate drivers when you solder it.
 
Back
Top