6S Servo Module

Introduction

Engineering

  • @Meghan Dang to fill in details

System Block Diagram

 

Power Block Diagram

Needs Assessment

  • Steps down 6S battery voltage to 5-6V to supply servos

  • Cut off power to servo if it fails

  • Convert CAN from pixhawk to PWM for servos

 

Requirements

  • Supports 18V~28V for 6S battery (rough calcs, 3V-4.6V max per cell)

  • 3x4 header inputs & outputs

    • Input:

      • CAN, GND from PIxhawk (creating own 5V PWR)

    • Ouput:

      • PWM, PWR, GND

  • 30.5mmx30.5mm board to comply with

 

Components

notes:

  • input cmc ← perhaps not needed, check 12s doc to read why they implemented

  • current sense

    • use INA180 unless determined otherwise

    • shunt resistor: calculate for it? to be looked up

  • buck converter

    • check if existing solves, check for board space

    • if not, make buck with lower input voltage & smaller inductor to maximize board space

  • LDO

    • does current one from can circuit solve? if not look for other one

    • purpose is to reduce noise from buck.. consult esc can doc for details

  • diode

    • what kind of diode… to be looked up

  • current limiting eFuse

    • current ones probably solve, however finding a singular IC with 4 channels instead could be better → maximizes board space

    • try and do some component selection here; will probably ask more questions

    • determine whether 4channel efuse vs 4 individuals will be better

      • things to consider:

        • cost

        • board space

        • power dissipation probs not super critical

        • if 4 channels exist for this purpose

  • thermistor

    • not sure how to select one, will see later, not super high priority

Buck IC

  • AOZ2261NQI-12

  • does this solve??

    • yep

inductor selection

  • switching freq

    • 600-800kHz

  • inductance

    • anywhere from 4.6-5.5 ish

      • lower value, higher fsw based on EQ below

        • range also changes with input voltage, using typ of 22.2V

 

image-20240725-151858.png

 

Current Sense

  • INA180A3

    • 100V/V gain

  • shunt resistor

  • RC filter (output) .;

    • 1kHz cutoff

    • use formula from datasheet

    •  

  • RC filter (input)

 

image-20240803-022815.png
  • f = 1kHz

  • Cf set to 1uF

    • size cap to be

Current Limiting IC

 

Choice Summary

4 channel, only need 1, fewer passives, 2.5A current limit

single channel, will need 4 individual ICs

Operating Input Voltage Range

8-60V

4.4-18V

went with NIV3071 for like a week bc no reading comprehension (buck delivers 6V, servos need ~6V, NIV3071 doesn’t operate with <8V ; chose diff IC

choice (for now)

  • Source

    • 6V from buck

  • 4-channels

  • Passives

    • 15k pullup on fault pin

    • Cin

      • TBD

    • Cout

      • TBD

    • 50k to gnd on RLIM

  • ^for old IC

  • Overcurrent limit for eFuse

    • if possible, implementing adjustable current limit using microcontroller could be the play

      • this would require using a combination of EN and ILIM pins (perhaps also FAULT pin)

      • put notes from datasheet here:

  • Passives

    • R(CL)

  • = 0.8 x 2500 / 1A

  • V(CL) & K(CL) can be found in data sheet

  • R(cl) = 2k

CAN Circuit

  • lowkey look into how microcontrollers work

  • how do they get info from voltage input?

    • using ADC pins

  • connect voltage divider VOUT to ADC pins then efs interprets that data omg so awesome

  • i removed OSC_EN and

 

Thermistor

  • NTC Thermistor

    • bc they’re pretty standard and faster than alternatives

  • 10k

    • because it’s pretty standard?

    • makes readings more accurate probably

    • used voltage divider to get 3.6 or 5 for mcu pin

  • 0603

  • operating temp

    • -40 ~ 125 C

 

based on this graph, selected 10k and another 10k normal resistor for voltage divider, @ 25C outputs 3V which the MCU pin can read, at ~40C voltage divider outputs 4V, max that MCU can read

Diodes

  • Purpose

    • OR-ing bc two sources, don’t want to do current sharing

  • max reverse voltage VR

    • around 10V

  • selected diode array to save space

  • selected 20V and 2A max bc they didnt have anything ~1A or higher at 10V, 2A good safety margin

 

Connectors

  • XT30

    • for VBATT input voltage bc will probably use a harness anyways & takes up less board space

  • TSW-104-08-F-T-RA

    • for servo connectors bc 4 channels 1 component, makes life easy

    • taken from

  • SM04B-GHS-TB(LF)(SN)

    • for can line

 

Voltage Sense dividers

  • ← good resource, explained a lot of assumptions that were made throughout design process

  • general notes:

    • generally higher resistance resistors make for better power losses and minimal impact on voltage due to load resistance

 

  • kinda made assumptions before reading this and now everything makes sense

  • pins should be chosen based on what voltage divider ranges will be

  • because thermistor and vbatt voltage dividers have varying VIN/R1 values, they should be on FT pins (5V tolerant) because it gives more room

    • ranges from 3V-7.3V

added caps to all to make them low passes with ~1khz cutoff

 

LDO

  • putting two LDOs in series to drop 6V-5V, and 5V-3V3

  • for 6V-5V

  • for 5V-3V

    • reuse LDO from ESC CAN Adapter

 

LED

not entirely sure what goes into selecting addressable LEDs, are there any firmware impacts i should be considering?

    • seems fine?

    • VIN is 3.3-5.5 but abs max is 6.5V so can be run on 3V3 rail

    • it’s kinda chonky

  • going with the one from SSD for now, using logic modifier also from SSD

    • wanna know more abt how the logic thing works

Layout

Placement

following layout guidelines for the most part

choosing not to use separate PGND and AGND pours on buck

  • hopefully won’t be too noisy

  • will probably be fine

 

 

Simulations

Input filtering sim

 

  • resonance peaks at ~10dB which is chill, much better compared to which was ~60dB

  • won’t explode