Bidirektionales AC/DC Netzteil BIC-2200 von meanwell

Ich werde in den nächsten Tagen mein script so anzupassen, das auch nur noch neue Werte, die über einer bestimmten, festlegbaren Schwelle liegen, an das BIC gesendet werden. Gelesen wird in jeder Regelschleife, damit man immer die aktuelle Akkuspannung und Ströme bekommt. Da ändert sich nichts. Die 5 sec. bleiben auch, können aber von jedem leicht angepasst werden ... Weiterhin sollen dann Schreibvorgänge + Timestamp mitgeloggt werden, damit wir endlich über reale Zahlen reden können.

Viele Grüße,
steve

Warum willst du einen ESP32 nehmen ? Billiger wird es damit nicht :wink:
Und ein Raspi Hat da mehr Komfort.

Ein esp32 ist für sowas besser geeignet. Kostet 1/20 eines raspi, brauch keine sd-card und frisst minimal strom.

Ein raspi ist nur gerechtfertigt wenn die steuerung nur über usb geht, wie z.b. victron mk3 oder mein Kiprim DS310S netzteil. Und auch da habe ich mich für einen intel NUC entschieden anstatt für den raspi. Preis etwa gleich, nuc kommt mit gehäuse und netzteil. Läuft mit alter laptop ssd und linux mint "minimal".

Natürlich hat diversity auch bei mint zugeschlagen. Die CH340 usb-seriell adapter werden vom "blindengerechtren interface" stillschweigend gelöscht. Ein "sudo apt-get remove brltty" löst das. Dann werden die seriell-usb wandler noch gegen zugriff aus python geschüzt, ein "sudo chmod -R 777 /dev/ttyusb0" erledigt das.

Zugegeben, der raspi macht solchen blödsinn nicht.

Hier der NUC und das Kiprim im betrieb, 5 sec takt:

Ein RaspiZero mit CAN Hat sind knapp 30€ und braucht <2W.
SD Karte hat man :wink:
Ein ESP32 mit CAN Transceiver sind 15€ :wink:
Zumindest was ich auf die Schnelle gefunden hab.

Hi ich wollte nun keine esp raspi Diskussion auf machen...werde nun den Raspberry nehmen da eh einer hier rum liegt neben esp's... Kenne mich zwar auch nicht so mit dem aus aber das wird schon.

Wie habt ihr hier die shellys integriert? Brauche ich irgendwas vom Akku gesendet? Der hätte eine mqtt Schnittstelle vorgesehen.

Vielen Dank schon mal für euer Verständnis für einen absoluten Neuling der Akku Technik und eines Programmier "Noobs"

Liebe Grüße

Du meinst diue leistung vom shelly auslesen? Kommt drauf an was du verwendest. Für esp32-arduino gibts das kopierfertig auf github. Für raspi / nuc wenn du python machts sieht das so aus:

shelly = '192.168.178.47'
def getshelly():
with request.urlopen('http://' + shelly + '/status') as response:
if response.getcode() == 200:
source = response.read()
data = json.loads(source)
return float(data["total_power"])
else:
print('shelly error')
return 0

Wenn du eine masochistische ader hast kannst du auch mqtt verwenden.

Wer macht denn das management? Nur das BMS? Den ladezustand zu kennen wäre vorteilhaft.

In meinem Script hab ich die Shellys mit drin und das JKBMS zum auslesen.
Daly BMS bin ich grad dabei eine Lib zu konvertieren.
Wollte es eigentlich schon ide letzten Wochen hochstellen, aber da kam Weihnachten dazwischen :wink:

Welches BMS hast du ?

Hi ich verwende aktuell ein daly bms.

Was empfehlt ihr dann für das Management zu verwenden?

Hi ich mal wieder. Habe aktuell das Programm fast am laufen denke ich. Ich bekomme beim Ausführen Werte und Ströme ausgegeben...

Jedoch kommt dann die Meldung "socketcanbus was not shutdown"

Habe langsam keine Ahnung was das bedeutet.

Lief bisher auf ein 32 und 64 Bit raspi 3b.

Jedes mal kam diese Meldung:(

Vielen Dank für eure Hilfe

Hier ein Bild von der Meldung.

Jemand hat Device aufgemacht aber nicht richtig geschlossen

Die Frage ist wer nach nem kompletten pi Neustart :frowning:

oder falsches Device angegeben

Also ich habe aktuell das Skript nochmal versucht zu starten und habe entsprechend davor den can herunter gefahren wie im waveshave wiki beschrieben.

Leider ohne Erfolg.

Bezüglich Device ich kann den can via cansend Daten schicken und bekomme entsprechend Feedback zurück.

Ich verwende wie stc den Raspberry hat b von waveshave. (Hier ist auf Seite 2 gut beschrieben was ich gemacht habe)

Und in den BIC config steht entsprechend 0, sodass ich den hat auswähle.

Ich bin auf jeden Fall langsam wieder ratlos und um jeden Rat froh.

Vielen Dank euch schon Mal für die Hilfe.

Hallo,

ich benutze den gleichen Waveshare Hat. Anscheinend hast du ja den CAN Bus auch richtig konfiguriert, sonst würde cansend nicht funktionieren.

Zum Testen kannst du folgendes probieren und schauen welche Ausgaben oder Fehler du bekommst:

./bic2200.py can_up

./bic2200.py can_down

und nach einem can_up probier mal

./bic2200.py tempread

Da sollten keine Fehlermeldungen kommen. Den CAN Bus nicht richtig zu beenden und gleich wieder neu zu starten ist kein Problem, das gibt eine (andere) Fehlermeldung, die aber keine negativen Auswirkungen hat, sondern nur aussagt, das der CAN Bus bereits gestartet ist.

Welchen Befehl aus dem Waveshare WIKI nutzt du denn um den CAN Bus zu beenden?

Viele Grüße,

steve

Hallo Steve,

ich habe den befehl folgenden befehl verwendet:

sudo ip link set can0 down

Diesen befehl habe ich extra vor dem ausführen des skripts gesendet. Nachdem dies davor schon den fehler gebracht hat.

Wo ich noch nicht sicher bin muss ich den loopbackmode beim Can modul einschalten oder lieber ausgeschaltet lassen?

Leider komme ich vermutlich komme ich erst am Mittwoch Abend wieder zum testen. Hier gebe ich dann entsprechend feedback zu den von dir benannten Befehlen.

Vielen Dank Steve und rager für eure richtig gute hilfe.

hi zusammen ich bin aktuell zum testen gekommen.

Leider wirft er diese Meldungen raus. Ich denke die sind leider mein Fehler. Hat jemand eine Idee? Hoffe man kann es auf dem Scrennshot lesen. Bin echt langsam ratlos.

Verkaufst du das teil?

@forum2024: so schnell möchte ich nicht aufgeben. Habe hier ja quasi ein meanwell Umrichter für fast 600€+ Akku....

Scheint ja nur eine kleine Sache zu sein die ich falsch mache....

Hi,

an dem "Teil" liegst sicher nicht, das bekommen wir schon hin :wink:

Das interessante ist ja, das die Kommunikation funktioniert. Vielleicht gibt ein ifconfig Aufschluss. Poste mal bitten den Bereich ab can0 (oder andere can Interfaces)

Bei mir schaut das so aus:

pi@akku: ~$ ifconfig
can0: flags=193<UP,RUNNING,NOARP>  mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 65536  (UNSPEC)
RX packets 427545  bytes 1710169 (1.6 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 794346  bytes 2138933 (2.0 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
.......

und ip link show :

pi@akku: ~$ ip link show
1:
2:
3:
4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 65536
link/can 
Viele Grüße,

steve