vault backup: 2025-02-03 07:04:13

This commit is contained in:
2025-02-03 07:04:14 +01:00
parent e158386068
commit 7909836706
2019 changed files with 59 additions and 26816 deletions

View File

@@ -1,55 +0,0 @@
---
aliases:
- BMS
---
# Research
A [battery management system](https://en.wikipedia.org/wiki/Battery_management_system) (or BMS) is a system that manages a rechargeable battery (could be a single cell or multiple cells as a battery pack). It's main goal is to keep the battery in its safe operating area, which is usually defined by a temperature range, a voltage range and a current range that cannot be exceeded. Additionally, it might measure data (voltage, current, state of charge, etc.) and report it externally, and oftentimes it also makes sure that a battery pack remains balanced (difference in cell voltages should be as close to 0 as possible).
## Important Properties
- [Voltage](https://en.wikipedia.org/wiki/Voltage "Voltage"): minimum and maximum cell voltage
- [State of charge](https://en.wikipedia.org/wiki/State_of_charge "State of charge") (SoC) or [depth of discharge](https://en.wikipedia.org/wiki/Depth_of_discharge "Depth of discharge") (DoD), to indicate the charge level of the battery
- [State of health](https://en.wikipedia.org/wiki/State_of_health "State of health") (SoH), a variously defined measurement of the remaining capacity of the battery as % of the original capacity
- [State of power](https://en.wikipedia.org/w/index.php?title=State_of_power&action=edit&redlink=1 "State of power (page does not exist)") (SoP), the amount of power available for a defined time interval given the current power usage, temperature and other conditions
- State of Safety (SOS)
- Maximum charge current as a [charge current limit](https://en.wikipedia.org/w/index.php?title=Charge_current_limit&action=edit&redlink=1 "Charge current limit (page does not exist)") (CCL)
- Maximum discharge current as a [discharge current limit](https://en.wikipedia.org/w/index.php?title=Discharge_current_limit&action=edit&redlink=1 "Discharge current limit (page does not exist)") (DCL)
- Energy [kWh] delivered since last charge or charge cycle
- Internal impedance of a cell (to determine open circuit voltage)
- Charge [Ah] delivered or stored (sometimes this feature is called
- Total operating time since first use
- Total number of cycles
- Temperature Monitoring
- Coolant flow for air or liquid cooled batteries
# Development
A great overview on the important characteristics when designing a BMS can be found on [monolithic power's website](https://www.monolithicpower.com/how-to-design-a-battery-management-system-bms).
The system consists of an analog front end (AFE) and a fuel gauge section.
## Analog Frontend
The AFE handles the following:
- cell balancing
- main low-side sense resistor for current measurements
- main high-side mosfet control to connect/disconnect the battery. Can we use this as an on/off switch?
## Fuel Gauging
Article used: [chapter 3](https://www.ti.com/lit/ug/sluuco5a/sluuco5a.pdf?ts=1698826671597&ref_url=https%253A%252F%252Fwww.google.com%252F)
This expression comes from the car industry, where they tried to measure the remaining fuel available in the tank. In modern times, we use much more batteries as power sources and the term fuel gauging survived the ongoing transition. For batteries it means how much energy is left that we can safely take out of the battery?
Texas Instruments has a technology called Impedance Track (IT) that models the battery and estimates the remaining state of charge.
The main factors are:
- measuring Qmax
- measuring cell impedance
- calculating capacities
### Factors
**Aging**: every cell has aging effects. Qmax and cell impedances can account for ageing effect as the cell is cycled.
**Temperature**: the temperature is an important factor of the available charge left in the battery
# Glossary
| Definition | Meaning |
| ---------- | ------------------------------------------------ |
| Qmax | amount of charge available in fully charged cell |
| SoC | State of Charge (in %) |
| OCV | Open circuit voltage |
| DOD | depth of discharge: during no load condition |
| | |

View File

@@ -1,6 +0,0 @@
# Dos and Don'ts
- Every [[copper]] patch on the PCB must be electrically defined (and thus mostly grounded). If they are left floating, they can act as
# Examples
## Heatsinks and Grounding Strategies
- It is recommended to ground heat sinks, because if they are placed above high frequency ICs (>100MHz), parasitic currents can build within the heatsink making it act just as a huge antenna and thus creates electromagnetic radiation (EMI). This might cause the entire product to fail compliance tests or might cause problems in other sensitive circuits close by.

View File

@@ -1,26 +0,0 @@
The servo used in the Payloadbay behaves quite weirdly. Currently we use the standard PWM signal at 50Hz with a on-period between 800-2200 microseconds. As is visible in the scope-shot below.
![[Servo_no_noise.png]]
Whenever there is a load on the servo it becomes acoustically very noisy and the current draw goes up significantly, which makes sense. But even if I stop the servo at a certain location the noise continues. In the scope on the signal line you can clearly see spikes at roughly every 2.7 milliseconds.
![[servo_noisy.png]]
___
# Experiments
## Current draw
When making the sound the servo draws roughly 0.5A.
## Voltage Drop of the Supply
In purple we measured the power supply of the servo, while it was making the sound and in yellow the signal. We can observe a voltage drop of roughly 0.5V in the power supply at roughly 370 Hz.
![[SDS00002.png]]
![[SDS00003.png]]
Since both the power supply and the signal are affected it can also be the ground reference that has changed, even though the voltage drop is smaller in the signal than in the power supply.
# Possible solutions
- just turn the servo off
- program the servo (torque limit, PID-values)
- a flyback diode across vcc and gnd
- a large capacitor across vcc and gnd
- power supply that is not powerful enough.
- use the commanded signal to overshoot quickly (to pull it further) and then back to the desired value. This would help to imitate a larger P value to overcome the friction.
- use feedback signal (ideally from the servo itself, or from an additional sensor)

View File

@@ -1,36 +0,0 @@
# Glossary
| Name | Meaning | Name | Meaning |
| ---- | ---- | ---- | ---- |
| Ambient Temperature Ta | Temperature of Air around IC | Junction Temperature Tj | Highest temperature in a semi-conductor |
| Thermal Resistance \[°C / W] | Ability to dissipate internally generated heat. Increase in Tj per dissipated Watt of Power. This value in the datasheet is usually empirically determined. | Case Temperature Tc | Temperature of the case |
| Maximum Junction Temperature Tjmax | device must be kept below this, else it stops working | Power dissipation Pd \[W] | Power consumed during operation |
| | | | |
# Introduction
Junction Temperature Tj is affected by:
- ambient temperature Ta
- Airflow / or other cooling methods
- IC packaging material and technique (flip chip vs wire bond)
- PCB material
- Heat from other sources
The junction temperature can be decreased by adding airflow or heat sinks but it will always be above the ambient temperature.
# Cooling methods
All cooling methods basically reduce thermal resistance.
The most effective way to transport away the heat is to have a large via array below the IC to move the heat through the pcb copper to the opposite layer and distribute it into the entire board. From there it will then go into the sourroundings.
# Modeling
A good explanation can be found in [this video](https://www.youtube.com/watch?v=RV6b9horB-I&ab_channel=PowerElectronics) by Martin Ordonez.
![[Pasted image 20240220154606.png]]
Heat transfer happens as conduction, convection or radiation, whereas in PCB design its mostly conduction that is important (convection is important for heatsink calculations, but those can usually be found in their datasheets).
A thermal resistance is used to model the process (just as an electrical resistance):
![[Pasted image 20240220154835.png]]
The thermal resistance depends on the material, the length and the area of the conduction path.
Towards the end of the video you can find details on how to calculate the final junction temperature in different scenarios (no heatsink, heatsink, forced airflow).
# Sources
- [Infineon Guide](https://www.infineon.com/dgdl/Infineon-AN4017_Understanding_Temperature_Specifications_An_Introduction-ApplicationNotes-v11_00-EN.pdf?fileId=8ac78c8c7cdc391c017d071d497a2703).