generated from atopile/project-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
10,560 additions
and
14,090 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,19 @@ | ||
# cell-sim | ||
# Cell Simulator | ||
|
||
Wooohooo a new package! | ||
This cell-sim is designed to mimic a LiPo battery pack for develpoment of the surrounding electronics, like a BMS. | ||
|
||
- 16 channels | ||
- Open-Source hardware design, you can embed onto your own HIL setup | ||
- ⚡️ 0-5V and 0-500mA per channel | ||
- DMM muxed to each channel for arbitarily precise measurment | ||
- Open-circuit simulation on each channel | ||
- 📏 16bit ADC feedback for voltage and current | ||
- 🔌 USB + 100MBit Ethernet + WiFi w/ Python software interface | ||
|
||
![IMG_0374 3](https://github.com/user-attachments/assets/d8fa4661-c460-48e2-a26a-71079aa79707) | ||
|
||
## Design overview | ||
|
||
![Cell Diagram](docs/cell.png) | ||
|
||
![Board Render](docs/board.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" version="24.8.6"> | ||
<diagram name="Page-1" id="3JFedEkxwdhEUqEdjneB"> | ||
<mxGraphModel dx="660" dy="1817" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> | ||
<root> | ||
<mxCell id="0" /> | ||
<mxCell id="1" parent="0" /> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-1" target="yu4wVyU20quHp_qzIFxP-4"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-1" value="Isolated DCDC" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="100" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-2" target="yu4wVyU20quHp_qzIFxP-1"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-2" value="12V" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="30" y="410" width="50" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-4" target="yu4wVyU20quHp_qzIFxP-6"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-4" value="Buck" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="180" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-6" target="yu4wVyU20quHp_qzIFxP-13"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-6" value="LDO" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="260" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-7" target="yu4wVyU20quHp_qzIFxP-8"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-7" target="yu4wVyU20quHp_qzIFxP-4"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-7" target="yu4wVyU20quHp_qzIFxP-6"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-7" target="yu4wVyU20quHp_qzIFxP-15"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-7" value="I2C Isolator" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="100" y="330" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-8" value="I2C MUX" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="30" y="330" width="50" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-13" target="yu4wVyU20quHp_qzIFxP-18"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-13" target="yu4wVyU20quHp_qzIFxP-20"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="400" y="510" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-13" value="Current Shunt" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="340" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-15" target="yu4wVyU20quHp_qzIFxP-13"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-15" value="ADC" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="340" y="330" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-18" target="yu4wVyU20quHp_qzIFxP-27"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-18" value="Output Relay" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="420" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-20" value="DMM Relay" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="420" y="480" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-22" target="yu4wVyU20quHp_qzIFxP-18"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-22" target="yu4wVyU20quHp_qzIFxP-20"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="500" y="360" /> | ||
<mxPoint x="500" y="510" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-22" value="GPIO Expander" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="420" y="330" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.639;entryY=-0.024;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="yu4wVyU20quHp_qzIFxP-7" target="yu4wVyU20quHp_qzIFxP-22"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="290" y="360" /> | ||
<mxPoint x="290" y="310" /> | ||
<mxPoint x="458" y="310" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="yu4wVyU20quHp_qzIFxP-27" value="Cell Output" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="520" y="410" width="60" height="60" as="geometry" /> | ||
</mxCell> | ||
</root> | ||
</mxGraphModel> | ||
</diagram> | ||
</mxfile> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.