RespiraWorks / Ventilator

Fully-featured ICU ventilator design, optimized for manufacture using commonly available components and free to license. Repository tracks all mechanical, electrical and systems design, software, requirements and regulatory documentation.
Apache License 2.0
130 stars 38 forks source link

Ventilator PCB Rev A Schematic Design Review #1077

Closed inceptionev closed 3 years ago

inceptionev commented 3 years ago

This purpose of this ticket is to record and discuss the schematic design review of the Ventilator PCB Rev A.

We've split the pages up between engineers and this ticket can serve as a checklist. If there is a finding that results in more than a minor or formatting change, please create a separate issue ticket for it and link it here.

Special Requests:

We want to have a comprehensive design review before we go into layout.

Here are the original board requirements: https://docs.google.com/document/d/1RPkyGj1lCVv08fhpkGO5IUJaUcc130k_tNvB63ljrs0/edit?usp=sharing

Power/Thermal Calculator tool here: https://docs.google.com/spreadsheets/d/1Otu4uRq1WR7CHx7AOSxF2eoAqoWKeeAT3UDNmPhiSdw/edit?usp=sharing

Here's a schematic review checklist as a guideline, feel free to add to this:

Don't forget

inceptionev commented 3 years ago

Potential changes in bold, everything else is just comments

UI Computer:

inceptionev commented 3 years ago

Logic/Control Power Supplies Main Page

5V Buck Converter

3.3V LDO

inceptionev commented 3 years ago

General

inceptionev commented 3 years ago

Safety FPGA

inceptionev commented 3 years ago

Indicators

dcstraney commented 3 years ago

UI Computer:

Logic/Control Power Supplies:

5V Buck:

General:

Indicators:

inceptionev commented 3 years ago

Actions from meeting:

inceptionev commented 3 years ago

PSOL Driver

dcstraney commented 3 years ago

All sound reasonable; implemented.

dcstraney commented 3 years ago

Changed the NTC temp sensor slightly to put the ESD protection on both pins just in case (might as well since one side was unused). Can revert if there's a reason not to do this.

stephmusinsky commented 3 years ago

swapping UI LED pinouts on ICD to match top level (just with each other)

stephmusinsky commented 3 years ago

Pressure Sensor page: BMP280 symbol missing pin 7 to ground

stephmusinsky commented 3 years ago

Additional Aux: Found the I2C pull-ups I didn't see originally for CC-SDA/CC-SCL. I vote to leave on top page and take out here

stephmusinsky commented 3 years ago

System Monitor ADC: LM4120 symbol wrong: 5 should be labeled VOUT, but okay connections. Pin 1 named VRef (would be good to show it unconnected)

Same for FPGA ADC page

dcstraney commented 3 years ago

All good catches, fixed

stephmusinsky commented 3 years ago

STM Programmer: Two pins have CC_SWCLK_OUT

dcstraney commented 3 years ago

That's correct actually, it follows the nucleo STLink schematic (which is a massive pain to read because it's under-documented and has terrible net naming, but that's a separate story).

inceptionev commented 3 years ago

Stepper driver

inceptionev commented 3 years ago

Review things:

dcstraney commented 3 years ago

From the first pass of thermal calcs it looks like the FETs can be made to work, but the DC (BATFET, Vin-Adp switches, Pack-P battery balancer switches) and buck high-side FETs (battery charger, +12V supply) definitely need some real heatsinking. The buck low-side FETs are fine with the minimal footprint because duty cycles are always pretty high. Any heatsinking scheme that gives a total Rth-ja of 70 K/W or less should work well for everything: can either...

  1. Add lots of copper area, mechanical engineers probably won't be the biggest fan of this one but it might not be that bad space-wise
  2. Via down and put a metal plate against the bottom of the board through some gap pad for electrical isolation
  3. Use some SMT heatsinks like these guys: https://octopart.com/search?q=573100d00010g
inceptionev commented 3 years ago

I'll take a look and see if we can find some lower Rds(on) options. These aren't switching FETs so we don't care as much about Qg. Might add BOM lines, but I think that is better than adding assembly steps.

inceptionev commented 3 years ago

@dcstraney do you have your thermal calcs written down somewhere? The only part I'm getting in my calcs as marginal is the P-Ch BATFET in the BQ24773 circuit, which we can definitely solve in the BOM by going to a 5x6mm part with lower thermal resistance and a bit less Rds(on). Using the datasheet thermal resistance to ambient, with thermal vias to a backside ground plane, and a 35C ambient temperature, I get a temperature margin of 20C. Not great, and we can get to a much better margin of 98C by going to SI7145DP-T1-GE3 (a 5x6 part).

All other parts have at least 30C of temperature margin mounted to the board with a solid backside ground plane and thermal vias as the only heatsinking. The worst one is the BQ24773 because of its high switching frequency, and we are doing about as well as we can in the 5x6mm part class. We do have the option to improve this by lowering the switching frequency from the default via i2c.

The DC FETs on the AC input have 44C of thermal margin. I think that's good as I don't see our adapter current going up past the 120W level.

LM5141 switching FET has 53C of margin, and that's probably fine. We could go up to a 100W blower and still be ok. Lie you said, the bottom side FET is fine, because it's basically never on.

The FETs on the MAX17320 battery protector/balancer have 39C of margin. This should be fine as-is, but we can open up the option for higher power blowers by going to a 5x6mm package here.

Calcs are here: https://docs.google.com/spreadsheets/d/1Otu4uRq1WR7CHx7AOSxF2eoAqoWKeeAT3UDNmPhiSdw/edit?usp=sharing

I'll get these changes (BQ24773 PFET and MAX17320 NFETs) into the schem shortly.

dcstraney commented 3 years ago

Yeah, I took notes in a text file; it's the kind of thing that makes perfect sense to me but would be an embarrassing mess to anyone else so was going to check it against / put numbers into the spreadsheet later when I got a chance. Anyways it looks like the main difference I can see is the different Rds-on values we're using - I'm using the max. values, plus accounting for the increase in Rds-on with temperature. For the high-side buck CSD18563 for example the spreadsheet has 8.6 mOhms, or 10.8 mOhms max., but those datasheet values (for Vgs=4.5V) are at 25 C. From figure 8 in the datasheet there's a ~1.6x multiplier @ 125 C, so if the final result does end up with Tj ~= 125 C then the real Rds-on is more like 17 mOhms.

inceptionev commented 3 years ago

Review complete, design submitted. Closing ticket.