23 Commits

Author SHA1 Message Date
ca8b23eb72 Continue the silly project of consolidating resistor choices 2026-08-18 22:49:18 +12:00
c98f3208d5 Tidy up, add design notes 2026-08-18 22:00:54 +12:00
b6c9c06ad5 Make basic cap and resistor assignments in new power design 2026-08-18 21:43:53 +12:00
092a4b63ce Merge branch 'power' into part-selection 2026-08-18 21:16:42 +12:00
f7556f394a Add note about tuning crystal w VNA 2026-08-16 22:08:04 +12:00
a5275ab174 Select hub crystal and best guess loading capacitors 2026-08-16 22:05:54 +12:00
8273b7d2f4 Complete resistor part selection with a couple of consolidation of unique vals 2026-08-16 21:34:48 +12:00
a8859df25d Delete and ignore the KiCAD auto_saved_files like the numpty I am 2026-08-16 21:03:09 +12:00
65a2a445a5 Make capacitor selection with DC bias derating accounted for, consolidate 22u caps with 2x 10u replacements 2026-08-16 17:26:59 +12:00
8ab1c409b6 Standardise R suffix for low value resistors, YAGEO from Mouser as resistor supplier 2026-08-16 16:01:22 +12:00
5322affa7c Ignore KiCAD lock files 2026-08-16 15:59:54 +12:00
fd9c35f04b Select signal MOSFETs, incorp into sim 2025-12-29 18:15:26 +13:00
14b0ff8470 Verify battery control circuit design 2025-12-29 16:43:50 +13:00
093fed0e19 Rework symbols for battery protection and monitor ICs 2025-12-29 14:05:38 +13:00
4a8571fef6 Add battery monitor and RVP,TVS,fuse protection, rework charge control circuit to CMOS based 2025-12-29 12:39:29 +13:00
94f11e6cd3 Correct ESD selection to avoid short on VBUS, add USB sns div 2025-12-29 10:58:51 +13:00
dd15d3add9 Add hardware interlock to charger enable, rename battery control circuit sheet 2025-12-28 10:39:07 +13:00
c32b639c88 Consolidate USB front end TVS protection, add ideal diode to stop reverse sneak path 2025-12-28 10:24:30 +13:00
8f6be05874 Testbench for ideal diode controller 2025-12-27 21:40:52 +13:00
6be601b13e Further notes on power options, needs 2025-12-27 19:28:42 +13:00
a11a4745ba Prototype form of control circuitry" 2025-12-27 18:59:26 +13:00
20fcaffe84 Main battery management and regulation path, control circuits remain 2025-12-27 16:23:02 +13:00
4b016c6fec Concept for power management 2025-12-27 13:11:11 +13:00
18 changed files with 33503 additions and 6260 deletions

4
.gitignore vendored
View File

@@ -16,6 +16,8 @@ Hardware/*/*.tmp
Hardware/*/*-save.pro
Hardware/*/*-save.kicad_pcb
Hardware/*/fp-info-cache
Hardware/*/*.kicad_*.lck
Hardware/*/#auto_saved_files#
# Netlist files (exported from Eeschema)
Hardware/*/*.net
@@ -30,4 +32,4 @@ Hardware/*/*.csv
__pycache__/
temp/
temp/

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
(kicad_sch
(version 20250114)
(generator "eeschema")
(generator_version "9.0")
(uuid "bf8f9f7a-47a5-494a-9fe1-6531a205cd66")
(paper "A4")
(lib_symbols)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -320,7 +320,7 @@
},
{
"group_by": false,
"label": "Qty",
"label": "Quantity",
"name": "${QUANTITY}",
"show": true
},
@@ -331,22 +331,22 @@
"show": true
},
{
"group_by": true,
"group_by": false,
"label": "DNP",
"name": "${DNP}",
"show": true
"show": false
},
{
"group_by": true,
"group_by": false,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
"show": false
},
{
"group_by": true,
"group_by": false,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
"show": false
},
{
"group_by": true,
@@ -354,19 +354,109 @@
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Max DC Bias",
"name": "Max DC Bias",
"show": false
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": false
},
{
"group_by": false,
"label": "Manufacturer",
"name": "Manufacturer",
"show": true
},
{
"group_by": false,
"label": "Manufacturer PN",
"name": "Manufacturer PN",
"show": true
},
{
"group_by": false,
"label": "Notes",
"name": "Notes",
"show": false
},
{
"group_by": false,
"label": "PN",
"name": "PN",
"show": false
},
{
"group_by": false,
"label": "Sim.Device",
"name": "Sim.Device",
"show": false
},
{
"group_by": false,
"label": "Sim.Pins",
"name": "Sim.Pins",
"show": false
},
{
"group_by": false,
"label": "Sim.Type",
"name": "Sim.Type",
"show": false
},
{
"group_by": false,
"label": "Supplier",
"name": "Supplier",
"show": true
},
{
"group_by": false,
"label": "Supplier PN",
"name": "Supplier PN",
"show": true
},
{
"group_by": false,
"label": "Supplier Link",
"name": "Supplier Link",
"show": true
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
},
{
"group_by": false,
"label": "Sim.Name",
"name": "Sim.Name",
"show": false
},
{
"group_by": false,
"label": "Sim.Library",
"name": "Sim.Library",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "Default Editing",
"include_excluded_from_bom": false,
"name": "",
"sort_asc": true,
"sort_field": "Reference"
"sort_field": "Value"
},
"connection_grid_size": 50.0,
"drawing": {
@@ -435,7 +525,15 @@
],
[
"596f4890-a5ff-4776-a61d-272e3bcbcdd5",
"POWER"
"Battery"
],
[
"efdabaa1-4e6c-4b02-8574-dea8c0bb89ea",
"Ideal diode"
],
[
"14e475fc-3ffe-44c4-b9c9-539e1b0d41cb",
"Ideal diode"
]
],
"text_variables": {}

View File

@@ -131,9 +131,9 @@
(embedded_fonts no)
)
)
(text "NOTES:\n\nperipherals share an i2c bus with the usb hub and pd controller since\nsharing the I2C directly with the keyboard could create an security\nproblem with peripherals directly snooping on the keyboard presses"
(text "NOTES:\n\nperipherals share an i2c bus with the usb hub and pd controller since\nsharing the I2C directly with the keyboard could create an security\nproblem with peripherals directly snooping on the keyboard presses\n\ncapacitor selection required at least 90% of design capacitance with DC bias derating (<10uF)\ncompromised on capacitors >10u to avoid upsizing package beyond 0805"
(exclude_from_sim no)
(at 177.546 171.704 0)
(at 177.546 173.736 0)
(effects
(font
(size 1.27 1.27)
@@ -826,26 +826,6 @@
(justify left)
)
)
(pin "PWR_3V3" input
(at 124.46 55.88 180)
(uuid "09289b61-7bb2-427c-bb41-a5f3f73f2fcf")
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(pin "PWR_5V" input
(at 124.46 58.42 180)
(uuid "da438b0f-b34d-455d-bede-d760ebc67be5")
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(pin "PWR_USBD2" output
(at 160.02 30.48 0)
(uuid "022ee30e-d7a7-4e0d-9525-243861daec14")
@@ -1210,7 +1190,7 @@
(color 0 0 0 0.0000)
)
(uuid "596f4890-a5ff-4776-a61d-272e3bcbcdd5")
(property "Sheetname" "POWER"
(property "Sheetname" "Battery"
(at 78.74 53.8984 0)
(effects
(font
@@ -1219,7 +1199,7 @@
(justify left bottom)
)
)
(property "Sheetfile" "POWER.kicad_sch"
(property "Sheetfile" "battery.kicad_sch"
(at 78.74 72.9746 0)
(effects
(font

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
* DIODES INCORPORATED AND ITS AFFILIATED COMPANIES AND SUBSIDIARIES (COLLECTIVELY, "DIODES")
* PROVIDE THESE SPICE MODELS AND DATA (COLLECTIVELY, THE "SM DATA") "AS IS" AND WITHOUT ANY
* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY
* OR FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTY ARISING FROM COURSE OF DEALING OR COURSE OF
* PERFORMANCE, OR ANY WARRANTY THAT ACCESS TO OR OPERATION OF THE SM DATA WILL BE UNINTERRUPTED,
* OR THAT THE SM DATA OR ANY SIMULATION USING THE SM DATA WILL BE ERROR FREE. TO THE MAXIMUM
* EXTENT PERMITTED BY LAW, IN NO EVENT WILL DIODES BE LIABLE FOR ANY DIRECT OR INDIRECT,
* SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
* THE PRODUCTION OR USE OF SM DATA, HOWEVER CAUSED AND UNDER WHATEVER CAUSE OF ACTION OR THEORY
* OF LIABILITY BROUGHT (INCLUDING, WITHOUT LIMITATION, UNDER ANY CONTRACT, NEGLIGENCE OR OTHER
* TORT THEORY OF LIABILITY), EVEN IF DIODES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES,
* AND DIODES' TOTAL LIABILITY (WHETHER IN CONTRACT, TORT OR OTHERWISE) WITH REGARD TO THE SM
* DATA WILL NOT, IN THE AGGREGATE, EXCEED ANY SUMS PAID BY YOU TO DIODES FOR THE SM DATA.
*---------- 2N7002 Spice Model ----------
.SUBCKT N7002 10 20 30
* TERMINALS: D G S
M1 1 2 3 3 NMOS L = 1E-006 W = 1E-006
RD 10 1 0.976
RS 30 3 0.001
RG 20 2 160.6
CGS 2 3 2E-011
EGD 12 0 2 1 1
VFB 14 0 0
FFB 2 1 VFB 1
CGD 13 14 5.9E-011
R1 13 0 1
D1 12 13 DLIM
DDG 15 14 DCGD
R2 12 15 1
D2 15 0 DLIM
DSD 3 10 DSUB
.MODEL NMOS NMOS LEVEL = 3 VMAX = 1E+006 ETA = 0 VTO = 2.154
+ TOX = 6E-008 NSUB = 1E+016 KP = 0.4654 KAPPA = 1E-015 U0 = 400
.MODEL DCGD D CJO = 1.2E-011 VJ = 0.6 M = 0.6
.MODEL DSUB D IS = 6.808E-010 N = 1.576 RS = 0.1408 BV = 72 CJO = 8E-012 VJ = 0.8 M = 0.6474
.MODEL DLIM D IS = 0.0001
.ENDS
*Diodes N7002 Spice Model v0 Last Revised 2017/2/9

View File

@@ -0,0 +1,27 @@
* DIODES INCORPORATED AND ITS AFFILIATED COMPANIES AND SUBSIDIARIES (COLLECTIVELY, "DIODES")
* PROVIDE THESE SPICE MODELS AND DATA (COLLECTIVELY, THE "SM DATA") "AS IS" AND WITHOUT ANY
* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY
* OR FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTY ARISING FROM COURSE OF DEALING OR COURSE OF
* PERFORMANCE, OR ANY WARRANTY THAT ACCESS TO OR OPERATION OF THE SM DATA WILL BE UNINTERRUPTED,
* OR THAT THE SM DATA OR ANY SIMULATION USING THE SM DATA WILL BE ERROR FREE. TO THE MAXIMUM
* EXTENT PERMITTED BY LAW, IN NO EVENT WILL DIODES BE LIABLE FOR ANY DIRECT OR INDIRECT,
* SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
* THE PRODUCTION OR USE OF SM DATA, HOWEVER CAUSED AND UNDER WHATEVER CAUSE OF ACTION OR THEORY
* OF LIABILITY BROUGHT (INCLUDING, WITHOUT LIMITATION, UNDER ANY CONTRACT, NEGLIGENCE OR OTHER
* TORT THEORY OF LIABILITY), EVEN IF DIODES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES,
* AND DIODES' TOTAL LIABILITY (WHETHER IN CONTRACT, TORT OR OTHERWISE) WITH REGARD TO THE SM
* DATA WILL NOT, IN THE AGGREGATE, EXCEED ANY SUMS PAID BY YOU TO DIODES FOR THE SM DATA.
*SRC=BC857BS;DI_BC857BS;BJTs PNP; Si; 45.0V 0.100A 250MHz Diodes Inc.
*BJTs - Single device of dual
.MODEL BC857 PNP (IS=10.2f NF=1.00 BF=650 VAF=121
+ IKF=42.5m ISE=2.25p NE=2.00 BR=4.00 NR=1.00
+ VAR=20.0 IKR=0.105 RE=0.715 RB=2.86 RC=0.286
+ XTB=1.5 CJE=13.3p VJE=1.10 MJE=0.500 CJC=7.80p VJC=0.300 MJC=0.300
+ TF=586p TR=95.9n EG=1.12 )
.SUBCKT BC857BS 1 2 3 4 5 6
Q_A 6 2 1 BC857
Q_B 3 5 4 BC857
.ENDS BC857BS

View File

@@ -0,0 +1,34 @@
* DIODES INCORPORATED AND ITS AFFILIATED COMPANIES AND SUBSIDIARIES (COLLECTIVELY, "DIODES")
* PROVIDE THESE SPICE MODELS AND DATA (COLLECTIVELY, THE "SM DATA") "AS IS" AND WITHOUT ANY
* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY
* OR FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTY ARISING FROM COURSE OF DEALING OR COURSE OF
* PERFORMANCE, OR ANY WARRANTY THAT ACCESS TO OR OPERATION OF THE SM DATA WILL BE UNINTERRUPTED,
* OR THAT THE SM DATA OR ANY SIMULATION USING THE SM DATA WILL BE ERROR FREE. TO THE MAXIMUM
* EXTENT PERMITTED BY LAW, IN NO EVENT WILL DIODES BE LIABLE FOR ANY DIRECT OR INDIRECT,
* SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
* THE PRODUCTION OR USE OF SM DATA, HOWEVER CAUSED AND UNDER WHATEVER CAUSE OF ACTION OR THEORY
* OF LIABILITY BROUGHT (INCLUDING, WITHOUT LIMITATION, UNDER ANY CONTRACT, NEGLIGENCE OR OTHER
* TORT THEORY OF LIABILITY), EVEN IF DIODES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES,
* AND DIODES' TOTAL LIABILITY (WHETHER IN CONTRACT, TORT OR OTHERWISE) WITH REGARD TO THE SM
* DATA WILL NOT, IN THE AGGREGATE, EXCEED ANY SUMS PAID BY YOU TO DIODES FOR THE SM DATA.
*ZETEX BSS84 Spice Model v1.1 Last Revised 3/5/00
*
.SUBCKT BSS84 3 4 5
* NODES: DRAIN GATE SOURCE
M1 3 2 5 5 MOD1
RG 4 2 167
RL 3 5 50E6
C1 2 5 26P
C2 3 2 4P
D1 3 5 DIODE1
*
.MODEL MOD1 PMOS VTO=-1.709 RS=3.091 RD=0.979 IS=1E-15 KP=0.146
+CBD=12P PB=1
.MODEL DIODE1 D IS=1.072E-13 RS=0.527 N=1.077
.ENDS BSS84
*
*$
*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
{
"last_sch_text_sim_command": "",
"tabs": [
{
"analysis": "TRAN",
"commands": [
".tran 10m 80m 0",
".kicad adjustpaths",
".save all",
".probe alli",
".probe allp"
],
"dottedSecondary": true,
"margins": {
"bottom": 45,
"left": 70,
"right": 70,
"top": 30
},
"measurements": [],
"showGrid": true,
"traces": []
}
],
"user_defined_signals": [],
"version": 6
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
{
"last_sch_text_sim_command": "",
"tabs": [
{
"analysis": "TRAN",
"commands": [
".tran 100u 10m 0",
".kicad adjustpaths",
".save all",
".probe alli",
".probe allp"
],
"dottedSecondary": true,
"margins": {
"bottom": 45,
"left": 70,
"right": 70,
"top": 30
},
"measurements": [],
"showGrid": true,
"traces": [
{
"color": "rgb(152, 78, 163)",
"signal": "V(/Ideal_Diode_Testbench/BACKWARDS_IN)",
"trace_type": 257
},
{
"color": "rgb(255, 127, 0)",
"signal": "V(/Ideal_Diode_Testbench/BACKWARDS_OUT)",
"trace_type": 257
}
]
}
],
"user_defined_signals": [],
"version": 6
}