Review requested - Custom Driver 3 phase Design

Implemented ACS712 in the existing design. Currently sticking to a voltage divider to translate the 5V adc to 3.3V.
Corrected the bootstrapping error.

Please review if I have missed anything. Routing this will be fun :smile:

@Valentine @Andrew please help with the review.

Your resistor values for the voltage divider on the output of the ACS712 are too low, they should be increased so the total is at least 4.7kohm.

I suggest using a 10k and 20k resistor in place of your 1k and 2k resistor.

Other than that it looks fine

1 Like

Interested to see the routing/layout.

Cheers,
Valentine

  1. You are using an LDO ladder to drop to 3v. This is OK for an educational board to learn the basics but a poor design choice for anything else.
  2. 30uF bulk ceramics on each of the drivers is unnecessary. 10uF is enough.
  3. There are no snubbers or TVS diode protection on the inputs? Living dangerously, I see.
  4. Using such nice current sensors only on the low side sensing instead of inline is a waste of design potential.
  5. 10uF on the boost is way too high. At high PWM / low duty you may not have time to charge it leading to incomplete gate charge and mosfets operating in the high ohmmic region / overheating. Please check the mosfet total gate charge, and use the recommended ones. Especially because 2003 driver with an inverting input generates its own deadtime for the low side which means your signals are NOT center aligned but leading edge aligned and at low duty/high PWM the low side is even thinner. When your board smokes, Aladdin’s Djihnn wont come to fulfill a wish for a new one. I’ve tried.
  6. You supply the driver with 12V VCC but drive the logic with what? 12V 5V? 3.3V? Please read the specs VERY carefully, as you are about to step into a world of hurt.

Lots of homework eh?

Cheers,
Valentine

Thanks Valentine, you’ve given me quite a bit of homework.

I’ll clarify my way of achieving my goal with some context. I have always struggled to foolproof closed loop mode with SimpleFOC before because of lack of proper hardware. My goal hence is to achieve that with maximum scalability (I should be able to source components and recreate the boards on demand without importing ICs).
I’ll do this in iterations, first being a POC only. Just to learn the “what not to do”.
Enhancements will be done once I have successfully spun my 5010 both sides.

Now, Before cleaning my mess, I want to confirm if the solutions I am thinking of are right. Please help me with that.

  1. Agreed, will switch to a much better power section in later versions.
  2. Will switch to single 10uF on the driver inputs.
  3. Will add the MCU Part and protection to inputs. Planning to add a SMBJ3V3CA TVS diode at each input
  4. I saw in another post where the how-to for these sensors was to directly add them in the path of motor. Will implement it as is.
  5. Understood, switched to a better? mosfet “CSD185101Q5B” . Lower Rds (1.2mOHM) , GateCharge Gate-to-Drain is 21 nC . That is about 1uF for 14V/18V. Will add this value as a boost cap.
  6. Logic will be driven by 3v3, do not want to mess with the STM32 logic levels. Noticed that the HI and LI pins are rated VCC, hence planning to add a transistor to bring up the 3v3 to 12V.

You need one TVS on the power input only. If you plan on 18V max, you need one TVS that breaks around 20V.

That’s 100nF boost cap equivalent. 1uF is too much. No need to change the mosfets. This is educational, not production grade board. If you don’t burn it, you havent learned.

You can use an external voltage translator/shifter, as long as you know what are you doing. Don’t overcomplicate your circuit. Just buy it.

Cheers,
Valentine

SMBJ20CA TVS Diode seems to be right for this.

Soldering external modules will become messy, why not just implement a basic logic shifter like this?

1 Like

Should be fine I guess. Cheers, Valentine

1 Like

Thanks,
Here is the corrected schematic.

And the MCU part:

Nothing in this life is either final or 100% correct.

Cheers,
Valentine

And im gonna keep trying until it is 100% correct :stuck_out_tongue:


Added snubber cap, changed Bootstrap caps to 100nF


Corrected the pwm pins.

is it time to route yet? (Cant wait to do it)

Yes.

Cheers,
Valentine

Perhaps a stupid question.

Why are you trying to go for 3PWM instead of 6PWM?

Cheers,
Valentine

To simplify things a bit, essentially 3 less probes to debug.

Also read this thread

IRS2003 supports 3 pwm setup, makes the schematic a tad bit less complex. (I’ve gone through the timing diagrams, while it does support 6pwm mode, Hi and Li_bar pins still can be used in negation to achieve the 3 pwm effect)

Am I missing something?

Not really. But 6pwm allows for more flexibility. You can always adapt later to 6pwm. Let’s table this topic. Focus on routing.

Cheers,
Valentine

Aye aye sir!

First iteration of routing :
4 Layers (POWER - POWER - GND - SIGNAL)
79.5 x 77 mm
Data via 50mil/30mil
Stitching via 0.5mm/0.3mm

Layer stack and vias:

3D view :

Layers:

  1. Top:

  2. Inner Top:

  3. Inner Bottom:


    4)Bottom:

Current sense tracks:


Pwm tracks:

  1. Question, using Altium?

  2. POWER - POWER - GND - SIGNAL

You are probably getting way ahead of the needs of the design. Don’t worry what’s what, just route it.
This is a mixed analog/digital so what you may have learned in school doesn’t really apply here.
If you really want to do it, you probably want

POWER/GND - SIGNAL/GND - SIGNAL/GND - POWER/GND

Let me check the rest.

  1. Question: Are you sure you want to make it dual sided SMD? It’s going to be REALLY expensive. Unless you solder yourself.

Valentine

PS

I don’t see anything that stands out. It’s a little hard to gauge since it’s altium screenshots but it should work. One thing, you put way too many vias everywhere, you may want to think about placing them manually.

Do I see blind/buried vias? They are really cool, but for your design probably not necessary. Also they increase the cost of the PCB so much. I would really like to play around with those, but after seeing the $500 price tag on getting them manufactured my wallet couldn’t take it anymore and I had to limit myself to using only through holes.

I believe this is Altium standard way of showing the default layers, but yes, JLC don’t even make blind/buried vias. I didn’t see any in the design pictures but may be there are.

Using Altium for such projects is like shooting a mosquito with a cannon.

Cheers,
Valentine

1 Like