High Power VESC

Discuss hardware related to the VESC such as the NRF nunchuk.
User avatar
TheFallen
Posts: 84
Joined: 26 Oct 2016, 10:49
Location: UK
Contact:

Re: High Power VESC

Postby TheFallen » 09 Jan 2018, 19:38

Whey! Time for an update!

So to combat the distance between the MOSFET gates and gate drivers I've designed a gate driver shim. Its a small PCB that puts the gate driver chips (UCC27211DDA) as close to the MOSFET gates as possible. The board is designed to fit on my IMS power stages I've mentioned here: viewtopic.php?f=15&t=505&start=50#p4330

I ordered them over the Christmas break and they turned up today:
Image

OSHPark are amazing. Also, free jellybeans! The boards are 2 layer, 1 oz, 120mm x 25mm x 1.6mm PCBs. Cost $23 for 3.

Image

I immediately started populating the passives whilst at work and I put the parts order in today. Thanks to work for their regular orders the parts should turn up tomorrow and I can finish soldering the boards and get them tested.

The largest change is the addition of a much much larger bootstrap capacitor on the gate drivers. Increased from 100nF to 4.7uF. I've also included the current sense amplifiers on the board. In theory this could be attached to an STM Nucleo development board for a working VESC-alike. Of course after they were manufactured I noticed I'd forgotten one thing, the phase voltage sense connections. *sigh*

User avatar
TheFallen
Posts: 84
Joined: 26 Oct 2016, 10:49
Location: UK
Contact:

Re: High Power VESC

Postby TheFallen » 13 Feb 2018, 07:32

Got round to playing with my driver shim last night!

Image

Here I've got one channel of the shim connected up to a Arduino Due toggling HI and LI at 2kHz. The MOSFETs are hooked up to a +32.7V current limited supply and have no load. I'm supplying the UCC27211s with +12V from the second channel of the power supply.

Image

This is the rise and fall of the unloaded output overlayed, Rigol scopes seem to have a rather neat feature here. The scope is reporting that it takes ~30ns for a 10% to 90% rise or fall.

Image

In this image I've now got the drive signals for the high side gate and low side gate. I understand there will be some noise as I'm attaching long antennas onto them and it's not ideal but it ought to help. The purple trace is the high side gate, the yellow trace is the low side gate with the blue remaining the output. In both cases The output seems to be okay but I'm keen for others opinions.

Tonight I'm hoping to solder together a small load and to start looking at the output of the AD8418.

ScottyWarpNine
Posts: 1
Joined: 06 Mar 2018, 19:50
Location: Akron, Ohio

Re: High Power VESC

Postby ScottyWarpNine » 06 Mar 2018, 20:26

Any progress recently?

I just made an account to say that I just read this thread from the beginning and this looks really good. I'd love to build one in the 15KW range for an electric motorcycle project I'm planning.

Keep up the great work!

User avatar
TheFallen
Posts: 84
Joined: 26 Oct 2016, 10:49
Location: UK
Contact:

Re: High Power VESC

Postby TheFallen » 27 Mar 2018, 10:32

Another quick update on this.

I tried to plumb in a Chinese VESC logic PCB from the 2 PCB variant on to the driver shim. That didn't go well as I had a lot of difficulty soldering wires to the STM32F405. I ended up abandoning this plan mainly due to this but also due to the fact this would limit me to HW v4.10 compatible firmware. I decided to instead use an STM32F407 Discovery development board as a donor logic board instead.

Image

That's with most of the critical wires soldered on. Due to the way the pin assignments work out I also had to remove a bunch of components and cut a few tracks to ensure that the VESC functionality wouldn't be blocked.

And here's the Power PCB, the driver shim and the STM32F407 Discovery board all connected:

Image

Missing is the regulator to supply the discovery board with +5V from the +12V gate diver power supply and the power PCB thermistor connection.

I'm planning to check that the various sensors are reporting correctly next before trying to get a small motor turning. Once I get that motor turning correctly then I'll look into getting some new logic PCBs designed & made up for the 5 power PCBs I have on hand. Eventually I'd like to redesign the power PCBs and the logic PCBs so it's nice and compact.

User avatar
TheFallen
Posts: 84
Joined: 26 Oct 2016, 10:49
Location: UK
Contact:

Re: High Power VESC

Postby TheFallen » 28 Mar 2018, 20:05

So I've got it all connected, getting reasonable readings for temperature and bus voltage but the current sensors are way out. I'm running VESC 6 firmware so it should be all set up for 3 phase current sensing but It seems to be subtracting phase 1 and 2 and assigning this negative value to phase 3. In fact when I remove the phase 3 sense connection, it doesn't make a difference to the current plot. Not what I expected at all.

The next step was to try to drive a small DC motor with the controller in DC mode. The VESC seems to be outputting valid PWM signals but the UCC27211s don't seem to be responding.

EDIT:
Oh boy, I did a dumb. It turns out that I had cut the +12V supply to the UCC27211s, which is why they didn't work. But that's fixed now and my tiny DC motor is spinning! :D :D

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm

Re: High Power VESC

Postby arvidb » 30 Mar 2018, 15:01

Nice work!

If I remember correctly, the code always uses two phase currents and calculates the third one. The thing with three phase sensing is that it can choose the two "best" ones in each situation - i.e. the two that's got plenty of off time during modulation to do accurate sensing. This is key to allow high erpms.

But with a turning three phase motor you should of course notice a difference if you disconnect one phase sense connection!

Are you sure you have configured the build for VESC6 (HW_HAS_3_SHUNTS)?

User avatar
TheFallen
Posts: 84
Joined: 26 Oct 2016, 10:49
Location: UK
Contact:

Re: High Power VESC

Postby TheFallen » 30 Mar 2018, 23:59

I used the default VESC 6 firmware, v3.37 I believe. which should have the `HW_HAS_3_SHUNTS` already set.

Unfortunately by using that firmware I ended up setting my self up for some failures down the line. I'm using 200uOhm shunts, the VESC 6 uses 500uOhm shunts so the current readings are lower than reality. In addition I'm using the stock dead time and haven't tuned it or the gate resistors to remove ringing. This proved to be my undoing later.

*SPOILER*

I blew up the high side phase B MOSFET. :(

But briefly I had a 6374 BLDC motor spinning on 20% duty cycle. Damn that 100% duty cycle key!


Return to “Related Hardware”

Who is online

Users browsing this forum: No registered users and 0 guests