Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel6
outlinefalse
typelist
printablefalse

Needs Assessment

The 12S Servo Module is a PDB designed to supply power from the battery directly to the servo motors on the fixed wing plane. The board should step down the voltage from the battery to 5-6V to supply the servo motors and be able to cut one out if it fails, to prevent the dead servo from drawing too much power and depowering other components of the drone.

...

Market Research

  • Existing https://www.revrobotics.com/rev-11-1144/, interesting LED feature can be implemented.

    • see if we can get plane position from gyro?? is a gyro chip too big?

    • or I need to study how to read fixed wing directions from its wing tilt angle?? and we can get this data from servo?? but how to decode!???

    • or simply we just measure current at each servo rail input and mux the color ?? uhh so many ideas I am not even sure if they make sense lol

  • I (Jerry) assumed 1 servo motor draw a maximum of 1A from my previous course project. I saw 1 servo motor would draw around 700mA from power supply. Also saw a bunch of servos in the bay and they look the same size as the one I used in the course project, so I assumed 1A current limit.

Requirements

  • Supports 18 V to 55 V input from XT60 for 6S and 12S support

    • Input should have common mode choke to filter out noise from the ESC

  • 3x4 header servo inputs and outputs to be consistent with Pixhawk Electrical Connector Standards

    • .100 pitch, 100mil

    • Input: PWM, GND from Pixhawk (No 5V power since we are making our own)

    • Output: buffed PWM, Power, GND

  • Each output power is 6 V (possibly adjustable between 5 V and 6 V with passive values) and has a current limit somewhere between 500mA and 1A (possibly adjustable with passive values within this range). If one channel is over currented the other channels remain alive.

    • 5V/6V output can be changed by swapping out resistors

  • 30mm x 30mm PCB size to be compliant with Mounting Hole Specifications

Block Diagram

...

Possible Implementation Methods

Single Buck Converter Option

  • A single buck converter with external FETs can be used and then four current limited channels

    • Will need to have the current limit max at 4A

    • Each servo line will have some form of overcurrent protection, which can shut off that line to the servo if the current exceeds a certain limit

4 Buck Converters Option

  • Four separate buck converters with internal FETs can be used, each with their own current limit

  • Adding fuses to each servo line that will trip if the current exceeds allowed parameters?

Methods Pros and Cons

Attribute

Single Buck

4 Bucks

Component Selection

  • Requires a relatively expensive buck controller IC

  • IC usually has more features than what is required for this application

  • more complex circuit layout due to using external FETs

  • Can use buck ICs with internal FETS

  • ICs easier to find since lower current requirements

Cost

  • Probably going to be more expensive due to more high performance components

Board Layout / form factor

  • Likely going to need to take up more space due to having 3 discrete bucks instead of one

Decision: We selected single buck option to save board space.

Component Selection

Buck ICs

Internal FETs

External FETs (Buck Controllers for single buck option)

MP9928 Buck Controller Specs

Typical Application Circuit Diagram

...

IC Pinout

  • This IC is available in TSSOP-20 and QFN-20 packages.

...

Important Equations

  • Output voltage divider equation:

...

Buck Controller Passive Components Selection

Output Feedback Voltage Divider

Vout Current Limit

Since we have overcurrent protection downstream already, we don’t want to implement a limit on the buck controller itself. Unfortunately, the current sensing is used in the compensation control for the buck, so it needs to be included for the IC to function normally.

...

Vcc Circuit

The MP9926 has VCC1 and VCC2 to power internal components and the MOSFETS. VCC1 can take input from Vin into an internal LDO. To improve efficiency, can connect VCC2 to output and leave VCC1 pin floating.

  • Choose a 4.7 uF capacitor for VCC2

    • 4.7uF is chosen to be compliant with datasheet’s typical application example. This cap decouples noise at VCC2 pin. Other values such as 1uF or 10uF would work as well.

  • Choose 1uF capacitor for VCC1 according to the datasheet

    • VCC1 cap can’t be drained when charging up the bootstrap capacitor, the 1uF cap is chosen since it is 10x bigger than Cboot (smile)

Power Good Pull-up Resistor

Enable/Sync Pin Pull-up Resistor

  • selected a resistor divider here to regulate EN pin voltage in high Vin situations

    • 1.28V < V_EN < 50V

    • Vin = 18V, R1 = 100kohm, R2 = 100kohm, Vout = 9V

    • Vin = 55V, R1 = 100kohm, R2 = 100kohm, Vout = 27.5V

  • not using a zener diode because the diode footprint takes too much space

AAM/CCM Resistor

  • AAM mode improves the efficiency of the the Buck at light or no load, and since we are powered by a battery, it would make sense to improve the efficiency of the board where possible.

  • Choose 196K resistor, this keeps the V_AAM at 600mV which is above the 480mV (R_FREQ is also 200K so the resistors cancel out which leaves V_AAM at 600mV).

...

Soft-Start Capacitor

  • Soft-start capacitor is used to determine the soft-start time, prevents converter output voltage from overshooting rated voltages

  • If we want a t_ss of ~100ms, I_ss = 4 uA, V_REF = 0.8V, C_ss = 500nF

Switching Frequency

There is a trade-off when selecting the switching frequency of the buck controller.

...

  • Limits: 100kHz - 1000kHz

  • Try to use lowest available frequency (100kHz)

    • Justification (Old): Even with the lowest available frequency available to us, the corresponding recommended inductor size that this corresponds to is just 47uH which isn’t too physically large anyway, and we aren’t very space constrained so larger a couple larger components is okay, thus to maximize efficiency, we can go for the lowest possible switching frequency.

    • Justification: 100kHz switching frequency provides the highest efficiency. It leads to a 47uH inductor which is fitting our 30mm x 30mm board so this switching frequency is acceptable.

  • 199kOhms → selected R_freq = 196kOhm → Fsw = 101.5 kHz

  • Comment:

    • If we ever go for a 2nd revision, start with calculating total losses on the FET and go for the highest Fsw. We want the board size to be small so a smaller inductor and less caps can help with layout. But still watch out for efficiency drops

Inductor

...

  • At 4A, the inductance drops a little from rated 47uH but is still close to 45uH, also the expected temperature remains low, thus this inductor should be sufficient

Input Capacitor

When the switching FETs turn on and off, current suddenly start and stop flowing and this causes ripple on the input side. Due to the parasitic inductance, we see the ripple voltage on Vin and we need to filter that out.

...

Output Capacitor Selection

  • Cap impedance should be low at switching frequency (101.5kHz) as the inductor current oscillates at this frequency.

  • Datasheet uses 22uF and 220uF capacitors for 5V application

  • 22uF: GRM21BR61E226ME44K

...

  • Vout = 6V

  • Vin = 55V

  • f_s = 101.5kHz

  • L = 47uH

  • R_ESR = 0.004R / 3

  • Co = 8.192uF * 3

  • Delta V_out = 0.0562V if put three 22uF capacitors, very quiet Vout, very nice

Compensation Components

  • Assuming we did have a R_sense resistor of 5 mOhms:

    • Gm = 500uA/V

    • Gcs = 1/(12*Rsense) = 16.67

    • Co = 8uF * 3

    • fc = 0.1 * fsw = 10.15kHz

    • Vfb = 0.8V

    • R5 = 1357 Ohms → 1300 Ohms

    • C6 > 49nF → C6 = 100nF

    • C7 = DNP for tuning.

RC Snubber

Purpose: reduces the voltage ringing spike at SW node

...

Power FET Selection

MOSFET basics: an-1084p1.p65 (infineon.com)

Requirements

  • Vds > 55V max?

  • Ids > 5A (Id_min = 4.5745A)

  • lower Rds the better (smile)

  • Small size → son-8 package

Decision Matrix

...

Decision: Selected Texas Instrument CSD18534Q5A as the switching FET for low cost, small package and small losses.

Bootstrap Circuit

Purpose: generate bias to drive the gate of the High Side FET

We could also use a P-MOS for the switching FET but:

→ Extra board space & larger Rdson

→ Extra money

→ N-MOS + bootstrap circuit is cheaper

→ use N-MOS as switching FET

How it works:

  1. When SW node is GND, internal 5V VCC charges up Cboot through forward biased diode

  2. When SW node is Vin, Cboot still maintains that 5-Vf voltage since the charges on the capacitor has nowhere to go and V = Q/C. The schottky diode blocks current from flowing back to the voltage source.

...

This resistor is also helpful to reduce the ringing effect on the SW node by slowing the rise time. It is the most efficient method as the gate resistor and snubber circuit dissipate energy when the HS FET is turning off while Rbst does not do that!!

Order some 2.2 ohm resistor for tuning when we order components!!!~

Diode selection:

This diode needs Diode selection:

This diode needs to recover fast to block charges on the SW node when HS FET is conducting. And also need to have low Vf to charge Cboot.

...

selected https://www.digikey.ca/en/products/detail/diodes-incorporated/DFLS160-7/765614

Common Mode Choke

Needs Assessment

Why do Do we need this filter?

The thrust motors on the fixed wing plane draws significant current. This high current generates a huge magnetic field and we want to avoid inductive coupling to servo module’s power rails. In addition, if the motors are not grounded properly, the noisy ground will be passed over to servo module’s ground as both servo motor and DC motor share the same battery ground. Motor magnetic field can get coupled to the buck Vin. If there is noise on the buck Vin when the drone is flying in the sky, it is almost impossible to RCA. The common mode filter keeps us away from that situation. So, we should keep the common mode filter if there is space on the PCB

How does the common mode choke work?

...

https://electronics.stackexchange.com/questions/630389/why-does-the-signal-and-power-supply-in-my-custom-esc-breadboard-become-so-noisy https://electronics.stackexchange.com/questions/53914/ground-noise-and-voltage-drop-problem

A Survey of Common-Mode Noise

https://electronics.stackexchange.com/questions/79752/what-is-common-mode-noise

https://electronics.stackexchange.com/questions/320733/what-exactly-happens-to-the-signals-hitting-a-common-mode-choke

Requirements

  • Current rating > 4.7A

  • Voltage rating > 55V

  • Filter capabilities has little impact because we need fit this big chip on our tiny board

Options

...

Efuse Component Selection

Efuse IC Selection

The table below shows some overcurrent IC options I have found:

...

The auto-retry version was chosen so that each servo will continue to attempt working while we are in the air and so that we don’t lock out a servo mid-flight.

Input and Output Capacitor

...

https://www.digikey.ca/en/products/detail/samsung-electro-mechanics/CL10B104KA8NNNC/3886664

Also, assuming a 2.6ms rise time, and a very low resistance on the line, two 1uF for the input capacitor should be enough to allow the voltage output to rise in 2.6ms from 0V to 6V.

Current Limit Resistor

...

RILIM = 117kΩ if IILIM is set to 1A

https://www.digikey.ca/en/products/detail/yageo/RT0603DRE07117KL/7708397

Slew Rate Control Capacitor

...

Use 1nF capacitor from altium library.

This results in a t = 2.6ms rise time for 6V output.

Input Zener Diode

The zener diode protects the chip from inductive voltage spikes from sudden current increases. Think of V = L * di/dt but di/dt is infinity.

...

Conclusion: we don’t need a zener diode at input.

Output Schottky Barrier Diode

This optional SBD on the output of the Overcurrent IC may be needed such that no instant changes of the voltage to the motor/servo or when the current suddenly shuts off to 0A creates a negative voltage spike (although ideally servo has flyback internally to deal with this)

The SBD will clamp the output voltage at -0.28V for chip protection since the datasheet specified the absolute minimum Vout is -0.3V. It will be placed for the 1st revision just in case if things go wrongsince the datasheet specified the absolute minimum Vout is -0.3V. It will be placed for the 1st revision just in case if things go wrong.

PWM Buffer Component Selection

Servo Motor Market Research

Most servos can handle 3.3V & 5V logic levels but some high torque servos only take 5V logic level and doesn’t respond to 3.3V PWM signals. Therefore we want to buff the 3.3V PWM signal coming from the flight controller (Pixhawk 6) to 5V.

Google search “step down servo motor PWM signal from 5V to 3.3V” gives guides on the opposite… so we don’t need to worry about 5V PWM not compatible. Plus we have jumpers to get around the buffer if we really want a 3.3V PWM signal.

Requirement

Selected SN74AHCT126PWR for cheap price and small package.

3.3V buffer backup: SN74HC125PWR

5V LDO

Current consumption of the buffer is 25mA max, Vdrop = 6V- 5V = 1V, Ploss = 25mW worst case. No need for a big package to dissipate heat. Selected AP7375-50SA-7 for cheap price, small package and VDROP = 350mV @ IOUT = 100mA (Typ.).

3.3V LDO backup: AP7375-33SA-7

Input Pulldown/Pullup Resistors

I couldn’t find Pixhawk PWM rail leakage current. Assuming 100uA leakage current from Pixhawk and open drain configuration, 4.7k pulldown will create a 0.47V input, which is below the 0.8V logic low threshold. 4.7k pullup will create a 0.47V drop, which would still above the 0.7 * Vcc threshold at 3.3V Vcc.

Selected 4.7k as pulldown/pullup resistor value.

PCB Layout Notes

Layout Topology

  • XT60 connector comes in at the middle-left of the PCB, following by the common mode choke

  • HS FET on the right then LS FET below next to it then , inductor is placed under the FETs

  • All buck controller components stay on top layer, except for jumpers, they can be anywhere

  • 4-channel buffer on the top of the bottom layer, then the current limit Efuse ICs

  • Mounting holes at 4 corners, no extra space beyond them

Layout Justifications

Trace Width Calculations

I assumed the board can handle 20C temperature rise just from air cooling. Source: Saturn PCB

...

For 4.57A traces in and out of the buck, I’m using trace width >50mil

...

Via Current Calculation

...

Via Size

...

Via hole: 0.15mm

Minimum Annular ring: 0.13mm

...

This setting is chosen so that the board uses the smallest via size possible while not paying JLCPCB extra. 0.15/0.41 size vias also makes it easier to terminate ground copper dead ends. Though some cases we can use a larger via (e.g. 0.3/0.6), it increases drill sizes and increase manufacturing cost.

Layer Stackup

Copied JLCPCB 4-layer stackup since I want internal ground layers to be as close to the top and bottom layers as possible. Reason being I want the ground plane to absorb as much noise as possible on the top and bottom layers, especially the magnetic field from the inductor.

...

Efuse IC Pad

Removed vias on the ground pad of efuse IC, so everything can fit on a 30x30 mounting hole pattern. Justification:
Maximum power dissipation would be 1A*1A*38mohm = 38mW.

...

Assuming a 50 C/W thermal resistance, temperature rise is only 1.9 C.

Input & Output Connectors

Input connector and output connector both follow the pixhawk flight controller PWM connector 3x4 pattern. Top row is ground, mid row is power and bottom row is signal.

...

Alternative is to use two 6-position-3-row sockets together if the above remains out of stock

BOM notes

  1. Add 2.2 ohm resistor for bootstrap tuning

  2. Order 4.7k resistor for buffer input pullup/pulldown