VBus-Decoder/Adapter für den Raspberry Pi
Dies ist ein Unterartikel von VBus-Decoder. Auf der Hauptseite gibt es weitere Informationen zum Thema.
Inhaltsverzeichnis
Einleitung
Die meisten werden ihre Solaranlage vermutlich über den Raspberry Pi (oder kompatbile) ins Netz bringen wollen. Deshalb gibt es nun auch eine Variante für den Kleincomputer.
Damit sie sowohl am B-Modell als auch auf den Zero montiert werden können, ist sie trennbar. Damit der untere Teil im Fall der Verwendung am Zero nicht im Müll landen muss, befindet sich auf der Unterseite ein Punktraster im Abstand von 1,27 mm. Dort lässt sich gut mit SMD-Bauteilen (z. B. im 0603- oder SO-Gehäuse) basteln oder zumindest das Löten üben.
Es war angedacht, die Leiterkarte abreißbar zu machen, was zumindest bei Version 1.0 nicht wirklich gut klappte. Bei Version 1.1 sind die Löcher etwas näher beieinander, daher sollte es hier besser funktionieren. Wer eine 1.0 bekommt und sie am Zero betreiben will, sollte sie auf jeden Fall mit der Säge kürzen.
Menge | Referenz | Wert | Package | Reichelt Bestellcode |
---|---|---|---|---|
2 | R10, R11 | 0 | R1206 | RND 0805 1 0 |
2 | C2, C3 | 100n | C0603 | X7R-G0603 100N |
3 | R5, R7, R8 | 10k | R0603 | RND 0603 1 10K |
1 | C5 | 10u/16V | C1206 | KEM X7R1206 10U |
1 | R4 | 15k | R0603 | RND 0603 1 15K |
2 | X1, X4 | 1751248 | 1751248 | AKL 059-02 |
2 | R3, R6 | 18k | R0603 | RND 0603 1 18K |
3 | R9, R24, R28 | 1k | R0603 | RND 0603 1 1,0K |
1 | C1 | 680p | C0603 | X7R 0603 CG 680P |
1 | C4 | 1n | C0603 | X7R-G0603 1,0N |
1 | R1 | 6k8 | R0603 | RND 0603 1 6,8K |
1 | R2 | 68k | R0603 | RND 0603 1 68K |
1 | OK1 | 6N136 | DIL08 | 6N 136 |
3 | D1, D2, D5 | BAV99 | SOT23 | BAV 99 NXP |
1 | IC4 | LM393D | SO08 | LM 393 D SMD |
1 | IC1 | LP2985IM5-5.0 | SOT23-DBV | LP 2985 IM5-5.0 |
1 | D3 | P6SMB 15A | SMBJ | P6SMB 15A SMD |
1 | X2 | RPI_UNIV_UART | RND 205-00654 | |
1 | LED1 | gn | CHIP-LED0603 | LED EL 0603 GR1 |
1 | LED3 | nicht bestücken! | siehe Fehler | - |
Achtung: Die Vorwiderstände für die LEDs sind nicht getestet, die Bauteile in der BOM sind nur exemplarisch.
Fehler & Verbesserungen
Diese betreffen nur Leiterkarten der Version 1.0, in der noch nicht physisch vorhandenen 1.1 sollten sie behoben sein, eine Überprüfung steht aber noch aus.
- Leiterkarte ist nicht durch Abbrechen teilbar
- Das mittlere Montageloch ist um 0,5 mm nach unten versetzt
- Links oben ist die Leiterkarte nicht abgerundet (in den Gerber-Daten korrekt, in der Fertigung schief gegangen)
- Die Schaltung selbst ist größtenteils durch den Nano erfolgreich getestet, der Einfluss der LEDs jedoch nicht
- Mit bestückter LED3 werden die Low-Pegel des Optokopplers so weit nach oben gezogen, dass diese vom Raspi nicht mehr erkannt werden. Entweder nicht bestücken (R28 dito) oder einen FET (siehe Version 1.2) einfädeln.
Leiterkarten
Es gibt noch Leiterkarten. Wer eine haben möchte, kann sich gerne bei mir melden.
Weiteres
Die Raspberry Pi Zero Spacer passen auch hier.
Kostenreduzierte Variante/v1.2
Eine der Verbesserungspotenziale war, die Kosten durch einen TS 5205 CX533 etwas zu reduzieren.
Die Enttäuschung
Achtung: es gibt noch eine weitere Enttäuschung.
Um einer Enttäuschung beim Aufbau zu entgehen, ging der erste Schritt in die Simulation - die vielversprechend war. Bauteile auf die Leiterkarte und ab zum Solarregler.
Ergebnis bei der Messung: Mist. Die Spannung am Regler-Ausgang zappelt und verzieht dadurch die Schwellenwerte, die LED auf der RPi-Seite flackert zwar, der Low-Spannungspegel ist aber so hoch, dass der SoC garantiert nichts mehr damit anfangen kann. Im ersten Schritt kommt also die LED runter.
Aber zunächst zum Regler:
Wie in den Screenshots zu sehen ist, zappelt die Referenz ganz ordentlich, wobei das nur die halbe Wahrheit ist: Die Kapazität der Oszi-Probe verändert das Signal. Ohne Probe 2 sieht man auf Kanal 2 einen doppelten Puls. Das darf nicht sein.
Die Peaks im 20 ms-Abstand sind vermutlich Artefakte vom Bus des [[ECL-Bus-Decoder|Heizungsreglers], der seine Daten auf ein 50 Hz-Rechtecksignal moduliert und in meinem Setup auf einem benachbarten Adernpaar in der gleichen Leitung liegt.
Auch wenn ich mir nicht sicher bin, ob der Spannungseinbruch am Regler durch die zu geringe Ausgangskapazität oder durch eine Instabilität entsteht, nicht ganz unschuldig daran ist sicher der etwas höhere Strom des Optokopplers. Mit einem deutlich größeren Ausgangskondensator am Regler entspannt sich die Lage ein gutes Stück, nicht getestet habe ich allerdings das Verhalten, wenn ein C am Bypass-Pins des Reglers angeschlossen ist.
Aber einen guten Punkt kann ich dem Bild abgewinnen: die stationären Werte der Schwellenspannungen passen (innerhalb der recht großen Messtoleranzen) ziemlich gut.
Auch wenn mit der deutlich besseren Glättung das Verhalten fast gut ist, ist es eben nur fast gut. Um das Zittern der Referenz am Komparator zu vermeiden, bekommt R4 einen Freund: ein 100 pF-Kondensator wird Huckepack aufgelötet.
Mit dem zusätzlichen Kondensator sieht es nun wie folgt aus:
Wichtig ist nach wie vor, dass die Verzögerungen über den Optokoppler halbwegs symmetrisch sind, da es UART-Interfaces aus dem Tritt bringen kann.
Es gibt also eine Asymmetrie von 0,78 µs, bei einer idealen Bitzeit von ca. 104 µs sind das 0,75 %. Nicht der Rede wert.
Die (vermeintliche) Lösung
Probleme sind dafür da, gelöst zu werden. Zwar kann die Leiterkarte der Version 1.0 so umgebaut werden, dass sie auch mit 3,3 V funktioniert, indem folgende Änderungen angewendet werden:
- R3: 15k
- R4: 33k
- R6: 15k
- C3: 4,7 µF-Kondensator
- Auf R4 einen 100 pF-Kondensator löten
- LED3 und R28: weglassen
- IC1: TS5205CX533
Im Grunde kann die untenstehende BOM auch für Version 1.0 der Leiterkarte verwendet werden.
Aber zumindest mein Anspruch ist etwas größer, also gibt es eine neue Revision der Leiterkarte:
Die BOM ist nun ein bisschen günstiger:
Menge | Referenzen | Wert | Package | Reichelt Bestellcode |
---|---|---|---|---|
1 | C2 | 100n | C0603 | X7R-G0603 100N |
1 | C6 | 100p | C0603 | X7R 0603FCG 100P |
3 | R5, R7, R8 | 10k | R0603 | RND 0603 1 10K |
1 | C5 | 10u/16V | C1206 | KEM X7R1206 10U |
2 | R3, R6 | 15k | R0603 | RND 0603 1 15K |
2 | X1, X4 | 1751248 | 1751248 | AKL 059-02 |
2 | R24, R28 | 1k | R0603 | RND 0603 1 1,0K |
1 | C4 | 1n | C0603 | X7R-G0603 1,0N |
1 | R4 | 33k | R0603 | RND 0603 1 33K |
1 | C7 | 470p | C0603 | X7R-G0603 470P |
1 | C3 | 4u7 | C0603 | KEM X5R0603 4,7U |
1 | R9 | 680 | R0603 | RND 0603 1 680 |
1 | C1 | 680p | C0603 | X7R 0603 CG 680P |
1 | R2 | 68k | R0603 | RND 0603 1 68K |
1 | OK1 | 6N136 | DIL08 | 6N 136 |
1 | R1 | 6k8 | R0603 | RND 0603 1 6,8K |
3 | D1, D2, D5 | BAV99 | SOT23 | BAV 99 NXP |
1 | Q1 | BSS138 | SOT23 | BSS 138 SMD |
1 | IC4 | LM393D | SO08 | LM 393 D SMD |
1 | D3 | P6SMB 15A | SMBJ | P6SMB 15A SMD |
1 | X2 | RPI_UART_CONDENSED | RPI_UNIV_UART | RND 205-00654 |
1 | IC1 | TS5205CX533 | SOT23-5 | TS 5205 CX533 |
1 | LED1 | gn | CHIP-LED0603 | LED EL 0603 GR1 |
1 | LED3 | or | CHIP-LED0603 | LED EL 0603 OR |
Downloads
- Datei:Vbus pi.zip EAGLE-Dateien Adapter für den Raspberry Pi
- Datei:Vbus pi v1.2 3v3.zip EAGLE-Dateien und LTspace-Simulationsdaten für die 3,3 V-Version des VBus-Adapter für den Raspberry Pi