|
So, jetzt mache ich mal hier weiter (letzter Beitrag --> Link). Jetzt habe ich es doch noch geschafft, die (Lade- und Entlade-) FET vom Browser aus ein- und auszuschalten. Ein paar Kleinigkeiten ärgern mich noch, aber es funktioniert schon so wie ich es wollte. Die Verkabelung zwischen TTGO und Uhrenmodul ist einfach, es gibt GND und Vcc, gehen zu GND und 5V an der Stiftleiste des TTGO, IO 21 und IO 22 gehen zu SDA und SCL. Alles andere (Display, Tasten) sind ja schon untereinander verbunden. Spannungsversorgung ist problemlos mittels USB-KFZ-Versorgung oder kleinem 12V/5V-Wandler machbar. Das TTGO-Modul müsste auch mit einer LiFePo-Zelle zufrieden sein, habe ich aber noch nicht geprüft. Den Sketch kann ich klar zur Verfügung stellen, zum Programmieren sollte dann aber die ARDUINO IDE mit der Ergänzung für den ESP32 lauffähig zur Verfügung stehen. Bis dann.... Natürlich folge ich weiter den Beiträgen. :-) Arduino IDE habe ich nun mit dem TTGO Werkzeug startklar gemacht. Der TTGO sollte in ca. 14 Tagen bei mir sein. Dann geht es weiter. Würdest du den Sketch per Mail verschicken oder hast du eine Möglichkeit einen Download anzubieten? Der Upload von Dateien ist hier im Forum ja leider nicht möglich. Grüße
Ja, mail wäre wohl im Moment das einfachste. Schick mir eine PM, dann schicke ich dir was, dann kannst sehen ob alle include Dateien hast.... Auf github kann man recht einfach und gratis SW bereitstellen. RK Ist gitlab auch kostenlos? Hängen die zusammen?
K.A. gitlab scheint eine komplette Entwicklungssuite zu sein und nicht kostenfrei. Github nur eine Sourcecodeverwaltung. Beide bauen wohl auf git auf. Das wurde ja als Beispiel schon erwähnt: --> Link RK In der Zwischenzeit hat sich da richtig viel getan! Dank Uwe, ist es ein richtig tolles Display für das JBD-BMS geworden. Da ich keine Ahnung vom Programmieren habe, konnte ich nur mit meinen Wünschen und als Tester mitarbeiten. :-) Ich hatte mich aus Verfügbarkeitsgründen für ein größeres Display entschieden. Auch hier hat mir Uwe sehr geholfen, da der Sketch an vielen Stellen angepasst werden musste. Auch gibt es wohl Unterschiede zwischen den BMS-Versionen, denn da gibt es Unterschiede in der Datenübermittlung. Aber was soll ich sagen.....auch da hatte Uwe eine Lösung gefunden. Anbei mal Bilder vom aktuellen Stand: Batterie wird geladen: ![]() Batterie wird entladen: ![]() Fehler hat die Batterie aktuell nicht: :-) ![]() Es gibt natürlich noch weitere Details: Farbumschlag des Balkens, je nach Ladezustand! Farbumschlag der Zahlenwerte wenn Grenzwerte über oder Unterschritten werden usw. usw. Das entsprechende Gehäuse gibt es auf Thingiverse. Hier nochmal vielen Dank an Uwe für die Geduld und tolle Leistung. Grüße Hallo zusammen, noch ein paar ergänzende Hinweise: das Programm läuft mit einem ESP32. Dazu braucht es noch eine Uhr und - nicht zwingend - ein Display. Zunächst hatte ich es auf einem TTGO ESP32 TS V1.4 laufen, später auf einer größeren Version. Das praktische an diesen Teilen ist, dass ESP32, Display, ein paar Tasten, die USB Schnittstelle und die ganze Peripherie schon zusammen auf einer kompakten Platine sind. Leider sind die Preise dafür gerade alles andere als günstig. Nur die Uhr - ich habe eine DS1307 - muss noch verkabelt werden, ist daber Dank I2C auch kein Problem. Zu Testzwecken habe ich auch einfache ESP32-Module und einen NODEMCU mit ESP32 mit einem ILI9341 Display genommen, geht natürlich auch und ist auch günstiger. Wer einen DS1307 und ein Display am ESP zum Laufen bringt bekommt das Programm auch zum laufen. Ausser der live-Anzeige am Display werden die Daten über WLAN auf einem Browser ausgegeben und zyklisch im ESP32 als ECEL-Tabelle gespeichert. Aktuell ist das größere ESP-Display sogar wieder lieferbar.....allerdings sind seit Anfang des Jahres die Preise sehr deutlich gestiegen: --> Link Grüße ups, da hat sich der Fehlerteufel eingeschlichen. Der obige Link geht zum kleinen Display! Hier der richtige: --> Link Grüße Kann ich nach einer Skizze fragen, damit ich Daten von meinem BMS lesen kann? Wenn noch bis Ende Juli warten kannst. Wir sind gerade etwas über dem Polarkreis und brauchen noch ein paar Tage. Dann gerne...
Hallo, richte dir mal die persönliche Nachrichten ein, da geht es dann einfacher.....
Da würde ich mich gerne anhängen - auch speziell den Code würde ich mir gerne anschauen! Ich plane im Frühjahr den Wechsel von Blei auf 2x100ah LiPoFe4 und die Möglichkeit auf die BMS Daten zuzugreifen und ins vorhandene System einzuspielen wäre bei der Auswahl des Herstellers ein Punkt :)
Wozu ist das gut? Da sieht man ob der jeweilige FET ein- oder ausgeschaltet ist ( wird rot wenn aus ). Wer den Sketch haben möchte - bitte eine PN mit der e-Mail, dann klappt das :)
Werde ich nachholen, sobald ich dazu berechtigt bin :) Nein ich schaff keine PM :) So, ich habe es mal in GitHub eingestellt, ich hoffe es funktioniert so --> Link Fragen, Probleme, Lösungen und Anregungen am besten hier rein....
Guter Mann - vielen Dank! PS: Wenn geht, keine gezippten Files hochschieben, denn dann verlierst an Funktionen (diffs) für die Sketches :) lg Hi zusammen, habe die Teile jetzt soweit zusammen. Als ESP32 habe ich den TTGO TM . Uhr ist auch verkabelt wie beschrieben. Sketch habe ich in der Arduino IDE compiliert und dann hochgeladen. Soweit so gut, allerdings passiert danach nichts mehr und auf der seriellen Konsole bekomme ich nachfolgende Fehlermeldung. Der ESP geht dann in den Reboot und das ganze wiederholt sich. Die Bluetooth Verbindung wird aufgebaut zur Batterie (ist auch die richtige Bluetooth Adresse) und danach scheint er einen Fehler zu werfen. assert failed: heap_caps_free heap_caps.c:339 (heap != NULL && "free() target pointer is outside heap areas") Kann da jemand weiterhelfen? Ich bin da jetzt überfragt. LG ---------------Log aus der Seriellen Konsole-------------- BMS-Logger, Vers. 22.08.22 Build Oct 6 2022, 23:16:11 Resetgrund CPU 0: SW_CPU_RESET, CPU 1: SW_CPU_RESET Intervall 10 AP-PASS WLAN-SSID WLAN-PASS altesDatum 01.01.2022 DS1307RTC Read Test ------------------- 0.1.2000, 45:162 BMS suchen BLE Advertised Device found: Name: , Address: 43:61:f0:ba:9b:68 BLE Advertised Device found: Name: B12150BLH215, Address: e8:fb:5c:18:15:a9, manufacturer data: 7b0002ffff7d, serviceUUID: 0000ff00-0000-1000-8000-00805f9b34fb Forming a connection to e8:fb:5c:18:15:a9 - Created client - Connected to server - Found our service - Found our characteristic The characteristic value was: assert failed: heap_caps_free heap_caps.c:339 (heap != NULL && "free() target pointer is outside heap areas") Backtrace:0x40083b69:0x3ffce3b00x4009358d:0x3ffce3d0 0x40098dd9:0x3ffce3f0 0x40083fc6:0x3ffce520 0x40098e09:0x3ffce540 0x401e53ad:0x3ffce560 0x401e6268:0x3ffce580 0x400d5c91:0x3ffce5a0 0x400d60d4:0x3ffce5f0 0x400d97df:0x3ffce630 0x400eb642:0x3ffce6b0 ELF file SHA256: 0000000000000000 Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1344 load:0x40078000,len:13864 load:0x40080400,len:3608 entry 0x400805f0
Hallo, warum hast du nicht den oben verlinkten und erprobten TTGO bestellt? Ich kann leider nicht helfen, weiß aber das alle Platinen unterschiedliche Treiber bzw. Bibliotheken benötigen. Wenn diese eben nicht zum Board passen, stürzt die Software eben ab. :-) Bei der Fehlersuche kann ich dir nicht helfen, außer mit dem Rat: Besorge dir den o.g. TTGO! Viele Erfolg. Grüße Hallo Da fällt mir so schnell auch nichts konkretes ein.... Klappt die Kopplung des BMS mit einer Handy-App? Ist das BMS mit keinem!! anderen BT Device verbunden? Hast du ein anderes ESP32 Modul wie z.b. ein NODEMCU mit dem ESP32 und kannst es damit testen, ohne Display Und ohne Uhr? Das müsste gehen....
Fehler in China, ich habe den falschen geliefert bekommen. Angeblich aber identisch :-) Ich werde nächste Woche das ganze mal mit einem vorhanden ESP32 ausprobieren. Mal schauen was da passiert. LG
Ja, klappt sowohl mit der Bely, als auch mit der Xioang
Ja, auch das habe ich sichergestellt
Das ist eine gute Idee, werde das am Montag probieren und berichten. Habe noch ein paar ESP32 DevKit NodeMCU übrig hier LG und schönes WE Gregor Hallo, ich abe erst mal geggolgelt, ist das dein Board? --> Link. Da weiß ich nicht was für ein Display verwendet wird, aber sicher ein anderes wie bei mir :( :). Aber das ist erst mal nur doof, aber nicht so schlimm, es geht halt erst mal nicht bis die Teiber passen. Für die Buttons werden die Ports 37,38 und 39 verwendet, hast das angepasst? Wenn das falsch ist geht es nicht. Und die Ports für SDA und SCL für die Uhr passen? Soweit mal ganz kurz, wird sind heute erst zurück gekommen. Ich kann morgen mal einen NODEMCU mit ESP32 nehmen und dann testen wir es gemeinsam.... Gute N8....
Ja, das ist das Board
Die Ports für die Taster hatte ich angepasst ---- #define BUTTON_Mitte 37 #define BUTTON_Links 38 #define BUTTON_Rechts 39 ---- Ports für die Uhr sind bei mir laut Board-Layout 22 für SCL und 21 für SDA. Hatte ich jetzt auch im Code angepasst, ändert aber nichts an der Fehlermeldung --- #define sda 21 #define scl 22 //urspruenglich 26 --- Habe jetzt auch einen ESP32 Dev geflasht ohne Uhr und ohne Display. Ergebnis ist identisch mit dem TTGO. Fehlermeldung ist --- assert failed: heap_caps_free heap_caps.c:339 (heap != NULL && "free() target pointer is outside heap areas") --- Habe jetzt auch noch ein TTGO mit drei Tasten bekommen. Auch da bekomme ich die identische Fehlermeldung --- BLE Advertised Device found: Name: B12150BLH215, Address: e8:fb:5c:18:15:a9, manufacturer data: 7b0002ffff7d, serviceUUID: 0000ff00-0000-1000-8000-00805f9b34fb Forming a connection to e8:fb:5c:18:15:a9 - Created client - Connected to server - Found our service - Found our characteristic The characteristic value was: assert failed: heap_caps_free heap_caps.c:339 (heap != NULL && "free() target pointer is outside heap areas") --- Danke für Deine Unterstützung!!! Falls das für den Rest Spam ist, können wir das auch gerne per DM machen LG Ich schicke mal eine PM, wenn wir die Lösung haben können wir hier weitermachen.... Hallo, kurzes Update: Problem war wohl, dass bei MENKOW die ARDUINO-IDE Version 2.0.0 vom 14.09.2022 auf einem Mac Book Pro M1 unter MacOS Montery 12.6 läuft und die macht wohl etwas anderes als meine IDE 1.8.19 unter WIN11 - mit der hat es dann auch bei ihm funktioniert.
Ja, so ist es. Danke dem Support von Uwe, konnte das Problem immer weiter eingegrenzt werden. Ich forsche da nochmal weiter und werde mal die 1.x VErsion auf dem Mac installieren um den Fehler weiter einzugrenzen. Fakt ist, dass es jetzt unter Windows 10 mit der 1.xx IDE läuft. Vielen, Vielen Dank Uwe LG Hallo, Freute mich bereits riesig über das Projekt. Danke für eure Arbeit in dieser Sache. Leider habe ich keinen Erfolg bei der Verbindung/dem Auslesen der BMS-Werte. TTGO ist das von Uwe genannte Modul (ohne RTC-Uhr). Arduino unter Windows 11 ist 1.8.19 und das BMS von JBD (Liontron 200Ah): --> Link Gleiche (fast) Fehlermeldung wie #Menckow:
Verbindet sich mit dem BMS aber dann ist schluss. Gleiches Spiel auf dem Macbook mit Arduino 1.8.13 Komme leider nicht weiter. Bitte um etwas Erleuchtung :idea: LG Jörg Uwe hatte sich umgehend bei mir gemeldet und Hilfe angeboten. Klasse. Es gibt leider sehr viele TTGO-Module und man sollte genau auf die installierten Board-Versionen achten. Mein TTGO ESP32 mit 2,2" LCD V1.3 hatte ich via eBay bei Funduino bestellt Link zum eBay Artikel oder --> Link Dieses Modul arbeitet jetzt perfekt mit einer angepassten Version zusammen. Die Vorteile dieser Lösung möchte ich nochmal hervorheben. Es geht mir nicht so sehr um die ständige Batterieüberwachung. LifePo4 sollte eigentlich nach der Installation auch ohne ständige Kontrolle problemlos funktionieren. Der Grund der Aktion war ein notwendiger Tausch der BT-Platine an meinen LIONTRON und dabei habe ich gleich den Anschluss aus dem Gehäuse verlegt: Hat jetzt den Vorteil, das Modul auszuschalten bzw abzuziehen zu können, damit kein unauthorisierter Zugriff möglich ist. (Ich habe es nicht geschafft, mit dem JBD-Tool ein Passwort zu erzeugen) Die Lösung mit dem TTGO-Modul bietet hier eine elegante Lösung: durch die (permanente) Belegung des BT-Verbindung mit dem BMS ist es nicht möglich, eine weitere Verbindung aufzubauen. Es erscheint auch nicht mehr in der Liste der koppelbaren Geräte. Ein Sicherheitsplus. Und wenn das Wohnmobil abgestellt ist, kann ich den Ladezustand auch per Browser vom Haus aus (gleiches Wlan) abfragen, da Webserver integriert. Sehr praktisch. Kurzes Vorstellungs-Video der geforkten Version: --> Link LG Jörg Lange Zeit ist vergangen, aber der Vollständigkeit halber. Die Anzeige verrichtet seinen Dienst. Habe mir ein eigenes Gehäuse mit Fusion360 konstruiert. Display wird in den Deckel geklipst. Battery mit 1000mAh ist angeschlossen und über einen Mikroswitch kann ich das Display ein/ausschalten. Über USB kann natürlich die Stromversorgung erfolgen, bzw. die Batterie geladen werden Vielen Dank nochmal an Uwe für die Unterstützung und den Code. Portierung auf ein anders Display steht immer noch an :-) Gehäuse aus PLA im Entwurfsmodus gedruckt (schnell) STL-Dateien des Gehäuses LG Owen Hallo, auch bei mir läuft die Anzeige immer noch zur vollen Zufriedenheit. Was ich mittlerweile sehr schätze ist die Möglichkeit, die Spannungsverläufe über die Listenausgabe in einer EXCEL-Tabelle als Kurve darzustellen. Hier mal die Gesamtspannung über 3 ziemliche sonnige Tage. Man sieht als Gesamtspannung die Ruhespannung von 13,3 V, um Mitternacht gibt es halt keinen Ertrag über Solar. Ca. 8:00 kommt die Sonne und die Ladung beginnt. Um 10:30 kommt kurz eine Wolke, Ladung stoppt, aber um die Mittagszeit wird dann geladen bis der Solarregler (MPP250, LiFoPo 14,4 V) stoppt. Die 14,4 V sieht man nicht da der ESP die Messungen über 30 Minuten mittelt. Danach kommt die Ladeerhaltung bis dann die Panels nicht mehr genug Spannung liefern und die Spannung schnell wieder auf die Ruhespannung absinkt. Man sieht dann was nachts passiert, mein normaler Verbrauch liegt da bei ca. 10 Ah, je nach Licht oder TV. Das merkt die Batterie eigentlich nicht. Am nächsten Tag passiert dann das gleiche, hier waren am Anfang etwas mehr Wolken unterwegs. Und am 3. Tag ging es dann erst gegen Mittag richtig los. Hier sieht man die einzelnen Zellen, die sehen natürlich gleich aus wie die Summe da die Drift vernachlässigbar klein ist. Da ich unterwegs nicht immer einen Rechner mit EXCEL habe, habe ich die Kurvendarstellung für 3 Tage ins ESP-Programm zum direkten HTML-Aufruf integriert. Das sieht dann so aus Mehr wie 3 Tage habe ich nicht geschafft, da reicht wohl der Speicher des ESP nicht aus. Aber auch so ist das sehr aufschlussreich... Wirklich super was du da auf die Beine gestellt hast. :top: :top: :top: Von mir nochmal ein großes Danke dafür. Grüße Hallo Zusammen, ich habe euere Sketch nach viele Recherche gefunden. Was kann man sagen, einfach super! ! ! Ich suche seit einige Wochen fast das :) Ich habe auch JBD BMS, ich verwende aber für die Roller Batterie. Dort habe ich 20s mit Li Ion Zellen. Ich habe euere Sketch kompilen könnte, aber leider bei mir ist nicht rund :( Ich habe die gleich TTGO wie auf Bilder sind. Startet schön und manchmal bekomme ich daten bis Zellen 4 (Klar so ist in Sketch), aber fast immer bekome ich garnichts. Wenn ich den Serienport schaue: 23:16:36.892 -> Invalid packer received 23:16:39.111 -> Invalid packer received Das läuft unendlich. Meine Fragen Könntet Jemand mir helfen? ich möchte dieses Cooles ding beim meinem Roller unbedingt benutzten! bzw. wie könnte ich einstellen wenn ich benötige nicht nur 4 Zellen sondern 20? Ich bin gerne bereit der jenige wer mir helfen kann durch parteon oder ähnliches ein Kiste Bier zu schenken.) Danke euch vorab VG Josef Hallo Josef, das ist nicht einfach :? . Ich weiß noch dass es ohne BMS nicht einfach bis sehr schwierig ist Fehler zu finden. Wichtig ist dass die Bluetooth-Verbindung stabil ist. Klappt das mit der Handy-App? 20 Zellen auf dem kleinen Display wird aber buchstäblich eng, auch mit 20 Kurven könnte es mit dem Speicher knapp werden. Wie fit bist du denn in der Arduino-Programmierung? Hallo Uwe danke dir die schnelle Antwort. Mit einfache Programteile komme ich klar in Arduino, aber so komplizierte wie in diese Sketch die dinge sind mir ist zu viel. Danke dir die Link, ich habe wegen diese Sketch eigentlich die TTGO gekauft. Leider ich habe kein Bild bekommen, weil ich habe die größere Display version. (ja kann in irgendwelcher xxx.h einstellen aber!) beim Serienport waren auch nur blödheiten. und Invalide Pakete..... Deswegen ich habe weitergesucht und euere gute Sketch gefunden, welche nach einstellungen problemlos kompeliert geworden. Euere Sketch findet die BMS und 5 4 3 2 1 aber sehr selten bekomme ich werte, weil auf die port schreibt diese Invalid pakete....... Also wenn du schon erwähnst hast, die 20 ist zu viel, was wäre wenn eigenlich nur die Größte und Kleine Zellen Spannung schreiben lassen ? Wie ich geschrieben habe, ich möchte zum meinem roller als Dashboar benutzten, zum sehen können wieviele A/Watt aufnimmt, Wieviele Spannung habe ich noch. und die 2 oder 3 Temperatur könnte auch als extra sein. Mir wäre dass vollkomm genug, ohne Screensaver, ohne HTTP und daten speicherung usw... nur mit stabile kontinuirliche Werte. Leider so tief ich kenne mich nicht aus, weil das Program mir ist kompliziert. Ich habe mehrmal durchgelesen und gedacht kann ich selber "auskrauten" aber leider ich kann nicht. Könntest du vielleicht eine Lite version machen ? und dann kann ich das ausprobieren, evtl. die serienport messages hier reinkopieren? Ich wäre dankbar:) Danke dir vorab Viele Grüße Josef Welches BMS genau benutzt du? Ich hatte auch ein paar Probleme und Uwe konnte die ausbessern. Wenn es für Uwe ok ist, kann ich dir das gerne auch mal noch zusenden. Vllt. funktioniert das dann per Copy und Paste. Vom Programm selbst habe ich aber auch keine Ahnung. Grüße
Hi Energiemacher, Das wäre super, ich nehme alle Hilfe an, weil ich kann leider selber nicht lösen! :( ich habe JBD Smart BMS 50A BT, 21S - Die genaue Type : JBD-SP22S003A-P21S Ich benutze das für 20S Batterie (noch ergänzung ich habe einen App die SmartBMS Utility für Android gekauft, damit läuft alles stabil und gut, sogar noch kann man damit konfigurieren. Nur ich mag nicht wenn meine Handy deswegen laufen muss... deswegen möchte ich mit dem TTGO... :) ) Danke dir Vorab VG Josef Achso, dass mit dem 20S habe ich überlesen. Uwe hat den Sketch ja für ein 4S geschrieben und angepasst. Ich habe auch keine Ahnung, wie du auf dem kleinen Display 20 Zellen anzeigen willst. Dazu muss die komplette Anzeige umgebaut und angepasst werden. Da bin ich tatsächlich raus und kann dir auch nicht helfen. Tut mir leid. Grüße
Nabend:) die 20S ist nicht wichtig, wie oben geschrieben .) aber wenn es wäre möglich probiere ich gerne deine version aus... iregneine Dateiübertragun verursacht diese Invalid Pakate.... Vielleicht in deine Version mach es nicht,keine Ahnunh Danke dir vorab VG Josef Hallo Josef, das könnte etwas komplizierter werden. Ohne direkten Zugriff auf das BMS ist das ein Stochern im Nebel. Ich vermute dass da irgendwas im Bluetooth-Protokoll anders ist wie bei meinem BMS. Ist aber doch schon wieder etwas länger her als ich das gemacht habe und da müsste ich erst mal wieder reinkommen.... Die Anzahl der Zellen ist im Hauptmodul bei Zeile 88 definiert const uint8_t Anzahl_Zellen = 4; Die Fehlermeldung kommt aus dem Modul "BMS_Process_data" bei Zeile 160 bool bmsProcessPacket(byte *packet) { bool isValid = isPacketValid(packet); if (isValid != true) { Serial.println("Invalid packet received"); return false; } aber das ist ein Bereich den ich auch ziemlich übernommen habe... PS: Von wo kommst du denn? |
Anzeige
|