Skip to content
Snippets Groups Projects
Commit 4fab97d5 authored by Benjamin Koch's avatar Benjamin Koch
Browse files

add auto-generated 3D renders to README (instead of old, manually generated ones)

parent 07adb0a1
No related branches found
No related tags found
No related merge requests found
......@@ -489,8 +489,6 @@
TODO und weitere Gedanken:
- LDO für 3.3V ist nicht mehr verfügbar.
- Gerber vom Main Board noch mal. Ich hab Polygons noch geändert.
- Subraum-Logos?
- Von LCSC separat bestellen:
......@@ -508,26 +506,15 @@ TODO und weitere Gedanken:
- 50x [M2.5 Mutter](https://www.lcsc.com/product-detail/Nuts_AOFENG-DIN934-M2-5-0-45-304-A2-50-B_C5138931.html) (nicht die günstigste, aber sieht besser aus bzgl. Qualität)
- 30x PS1240P02BT (C76871)
- Eventuell [Kabelbinder](https://www.lcsc.com/product-detail/span-style-background-color-ff0-Cable-span-Tie_KSS-KAI-SUH-SUH-ENTERPRISE-CV075K-B_C5181010.html)
- Auch einmal in die dedizierten BOMs schauen, die KiBot dafür jetzt generiert.
- Beim Bestellen:
- Header im CPL anpassen (gerbers/c3pb-heizung-top-pos.csv): Designator,Val,Package,Mid X,Mid Y,Rotation,Layer
- Auf Rotation der Komponenten achten! Die sind nicht alle richtig, aber kann man bei JLC im Online-Editor noch drehen.
- Dioden auf dem Display-Board sind zum Beispiel genau falsch herum. TMP102 auch.
- Ist eventuell schon durch KiBot behoben.
- Wannenstecker und Stiftleisten sizten falsch. Kicad hat den Ursprung auf Pin 1, JLC legt die Mitte auf den Ursprung.
- Kicad negiert die x-Position auf bottom und JLC mag das nicht.
- Almost but doesn't support quoted CSV:
`#mv c3pb-heizung-display-all-pos.csv x.csv && gawk '{ FS=OFS=","; if ($7 == "bottom") $5 = -$5; print }' <x.csv >c3pb-heizung-display-all-pos.csv && rm x.csv`
- [gawk Doku zu CSV](https://www.gnu.org/software/gawk/manual/html_node/More-CSV.html)
- `mv c3pb-heizung-display-all-pos.csv x.csv && gawk '{ FPAT="([^,]+)|(\"[^\"]+\")"; OFS=","; if ($7 == "bottom") $4 = -$4; print }' <x.csv >c3pb-heizung-display-all-pos.csv && rm x.csv`
- Rechnungsadresse passend einstellen.
- Fräsen: File -> Plot, nur User.4 auswählen, "Plot graphics items using their contours" abschalten, Format DXF. Für FreeCAD passt es damit.
- In der `.kicad_pcb`, für Gerber:
(layerselection 0x00010fc_ffffffff)
(dxfpolygonmode true)
(outputformat 1)
- In der `.kicad_pcb`, für DXF:
(layerselection 0x0200000_7ffffffe)
(dxfpolygonmode false)
(outputformat 3)
- Fräsen: User.4 layer, DXF wird automatisch exportiert, siehe README
- TODO später:
- Anschlussplan designen für in den Deckel kleben, wo keine Display-Platine ist.
- Temperatur-Ring designen und von außen drauf kleben (hoffentlich für Touch, sonst für die LEDs).
......@@ -51,22 +51,74 @@ auf RS485. Die Steuerung läuft im Keller auf einem Linux, z.B. auf vogon.
Lager haben und einfach tauschen. Es ist halt wirklich nur diese Platine und der USB-RS485 und nicht noch weitere ESP32
oder Raspi oder so, die ebenfalls kaputtgehen könnten.
![aktuelles PCB](img/PCB.png)
![PCB in 3D](img/PCB_3D.png)
![PCB in 3D, Rückseite](img/PCB_3D_back.png)
Main PCB
--------
RP2040 microcontroller (like Raspberry Pico), power supply, terminal block and most of the functions.
![3D rendering of main PCB](./c3pb-heizung/generated/3D/c3pb-heizung-3D_top30deg.png)
![bottom side of main PCB](./c3pb-heizung/generated/3D/c3pb-heizung-3D_bottom.png)
FIXME: export PDF of schematic (unfortunately, KiBot only exports the first page)
[PDF with rendering of PCB layers](./c3pb-heizung/generated/PCB/PDF/c3pb-heizung-assembly.pdf)
![Verbindungsdose als Gehäuse, https://www.spelsberg.de/verbindungsdosen/innenbereich-bis-252/33291201/](img/csm_33291201_V1_0629111c9b.webp)
Anschlussklemmen: Es gibt leider kein Bild in richtig herum. Man kippe sie im Kopf um 90 Grad nach links-oben und die Kabel kommen dann von links-oben.
![Anschlussklemmen, auf der Seite liegend - danke LCSC](img/20230317_Cixi-Kefa-Elec-KF250T-5-0-2-13P_C976547_front.jpg)
DCDC PCB
--------
Da ich es zunächst mit LDO ausgelegt habe, aber der nicht genug Verlustleistung abkann, gibt es jetzt als Workaround dieses
Aufsteckboard als Spannungswandler. Denkt euch die Stiftleisten weg. Dort sind Stiftleisten auf dem Haupt-Board und an denen
wird es festgelötet (oder mit Buchsenleisten gesteckt). Die oberen beiden sind nur mechanisch:
![Aufsteckboard mit DCDC](img/PCB_DCDC_3D.png)
Und das ist das optionale Display-Board:
![Display Board von vorne](img/PCB_Display_3D.png)
![Display Board, Rückseite](img/PCB_Display_3D_back.png)
![3D rendering of main PCB](./c3pb-heizung-dcdc/generated/3D/c3pb-heizung-dcdc-3D_top30deg.png)
FIXME: export PDF of schematic (unfortunately, KiBot only exports the first page)
[PDF with rendering of PCB layers](./c3pb-heizung-dcdc/generated/PCB/PDF/c3pb-heizung-dcdc-assembly.pdf)
Display PCB
-----------
Some of the boards will also get a user interface, e.g. when there is a radiator in a good location for that. We should probably
also have at least one dedicated control board for each room in a central location (i.e. most likely not near a radiator).
![Display Board von vorne](./c3pb-heizung-display/generated/3D/c3pb-heizung-display-3D_top30deg.png)
![Display Board, Rückseite](./c3pb-heizung-display/generated/3D/c3pb-heizung-display-3D_bottom.png)
The hole in the middle will be filled by one of those small, cheap OLED boards:
![OLED](img/OLED.png)
The OLED and four buttons are the "fallback" user interface. We can make this reasonably useful by providing shortcut actions,
e.g. long press on left/right button to set room temperature to 17 resp. 21 °C.
There is a ring of touch areas and a ring of LEDs around the display. If they work as expected, they will be the main user interface:
Double-tap a temperature of your choice to set it and the LEDs will be used to display set point and actual value. There will be
some text and graphics on the case, e.g. an adhesive label with lines for the sector and temperature values printed on it.
The display PCB has an additional temperature sensor on the outside so it should provide a reasonable estimate of room temperature
when it is placed in a central location between hand and eye level.
FIXME: export PDF of schematic (unfortunately, KiBot only exports the first page)
[PDF with rendering of PCB layers](./c3pb-heizung-display/generated/PCB/PDF/c3pb-heizung-display-assembly.pdf)
We plan to mill holes in the case for LEDs, fasteners, buttons and the display. The outlines are on layer User.4 and that is
[exported to DXF by KiBot](./c3pb-heizung-display/c3pb-heizung-display-User_4.dxf). If touch is working, we should get the board
as close to the case as possible (best would be below 0.3 mm but that's not realistic here). If not, we may want to add some
spacers and reduce the hole for the display to only the active area. Best case would be that we have the best of both, i.e. touch
is working and we can add some small spaces between display PCB and OLED board so we can make the hole small anyway. In either case,
we may want to think about a thin layer of transparent PMMA. ahorn would like to have the buttons actuated via a piece of plastic,
e.g. with suitable slots in the case instead of making a complete hole for the buttons. We will evaluate this further when we know
how well touch is working.
Sonstiges
=========
......@@ -76,3 +128,4 @@ Sonstiges
- change header line in CPL to: Designator,Val,Package,Mid X,Mid Y,Rotation,Layer
- There is more to do, e.g. rotate components to match JLC's expectations.
- Use KiBot to make it reproducible: `nix develop -c time kibot`
- You can use the script `generate-pcb-outputs.sh` to run KiBot for all PCBs.
img/PCB.png

533 KiB

img/PCB_3D.png

927 KiB

img/PCB_3D_back.png

701 KiB

img/PCB_DCDC_3D.png

203 KiB

img/PCB_Display_3D.png

431 KiB

img/PCB_Display_3D_back.png

373 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment