-
-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple RS485 modules on the same interface #142
Comments
@Louisvdw any updates on this? It would be nice to see multiple batteries in the GUI or at least a fusion on all BMSes to one battery. |
see issue #8 |
Hi @Louisvdw. This drive sees the battery pack as a single battery, but queries all batteries to collect parameters, if you are interested: |
I don't know, of it's worth to implement this, since most batteries cannot change the slave ID. |
For some it is the case - at least from the manual point of view, as I did not yet test it - the YYBMS / Heltec Smart BMS do support it and as I have 4 batteries it would be strange (if not even impossible) to go with 4 USB/RS485 adapters. So I'd appreciate if this could be implemented. |
I think also JKBMS support it. Within Settings in Mobile App, there is a setting called: "Device Addr: " within default Value 1 |
I just went to all setting in the Bluetooth app on IOS and did not see that setting. Can you provide picture? I’m doing install with 4 batteries and would like to know if I can set all BMSs with different address. JordanOn Apr 17, 2023, at 23:03, maxx8888 ***@***.***> wrote:
I think also JKBMS support it.
Within Settings in Mobile App, there is a setting called: "Device Addr: " within default Value 1
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
@Louisvdw it appears that the very popular JKBMS (on recently purchased bms supposedly latest firmware) now can setup the RS485 address. I tried today two new JKBMSs on the same bus with different addresses, but no luck. I’m planning to connect 4 BMSs so it will be nice to use single rs485 to USB on the RPI side. Do you plan to address the addressing issue (no pun intended ;0)? |
@maxx8888 I installed same type of 4xBMS about 6 months ago and this setting did not exist. I just purchased 8 more JKBMS and when I powered up today, I was surprised to see the new setting exactly as on your image! |
Not clue if Update would be possible. What SW/HW Revision are your units currently? Update anyway only makes sense if it is really possible to read multiple Units. That would really be cool also for my project. |
Where can i check that? |
Check my previous post with Picture. |
@Louisvdw do you think that the RS485 bus communication can be implements soon? |
Do you guys use the JKBMS RS485 adapter? |
@TazerReloaded TTL is TTL. It is not 485 or 232. This is why you need/use adapter. You can convert TTL to almost any serial protocol with an adapter. |
Ah, so you are using a TTL to RS485. I use a TTL to USB directly, because my wire is shielded and only around 2 meters. |
Chinese lables are sometimes a bit hard to understand. I think a lot has to do with language translation. Here is also some more information on the different type of UART connections. |
Do you already have an idea how this will be implemented? Is there anything we can help with? Do you have a rough estimate? (is it weeks, months or years ahead?) - It would be so cool to avoid several USB-RS485 converters 😉 |
Yeah, I would also be willing to help with this. I have some medium programming abilities, and 2x+ EG4 LifePower Batteries. I've done a lot of work in C#, but I've touched on Python for some projects. I guess i'll snoop and see what the data structures look like. Maybe someone can tell me ahead of time if this is something where a moderate re-write would be required to represent an array of batteries as a single entity, or if there is already similar patterns in use that could be piggy-backed. |
Please see #8 (comment) I think it will only work for BMS that are fast enough. The Daly for example is to slow for this in my eyes. |
I have using 4 Daly BMS so I added couple lines to daly.py In declaration In def refresh_data(self) at the end In read sentence Right now my dbus-serial reads 4 different BMS on one RS485 line so mayby it will be possible :) |
Hello, |
Thanks, i test today. |
I'm waiting for the support of multiple batteries on the same RS485 port i I hope it will be available soon. there are few challenges:
https://www.digikey.ca/en/products/detail/molex/2181120400/14309221 https://www.aliexpress.com/item/1005005265390131.html?spm=a2g0o.productlist.main.35.424bjfjrjfjryd&algo_pvid=17067daa-e993-4711-8cfa-c90938bce72b&algo_exp_id=17067daa-e993-4711-8cfa-c90938bce72b-17&pdp_npi=4%40dis%21CAD%210.62%210.55%21%21%210.45%21%21%40210323f716925456405177406e30d6%2112000032413689146%21sea%21CA%21117876247%21&curPageLogUid=Lfo1tnf9KHuC The idea is to have that PS and the RS485 hosted in the battery and connect to the BMS directly with the cable which link was provided above. on the other end we have A+ and B- (true level and protocol) communication. this could be brought to a RS485 to USB adapter connected to the RPI running Venus - one per battery for no until https://github.com/Louisvdw/dbus-serialbattery/issues/142#top is being resolved and then eventually connect all batteries to the same RS485 bus and spare running multiple communication cables form the batteries BMSs to the RPI. I would really appreciate if someone give us an update of how this issue is progressing and it is in the immediate development plans. |
Please let me come back to ask about the status of this... Even if there are BMS types where this could be problematic in terms of timing it would be great to have this. Today I have a flying wiring with 4 USB-RS485 converters which works but there is a timing bottleneck on the VenusOS side to handle the updates fast enough, so I wouldn't care too much if we couldn't read all systems each second. But it would be quite cool to switch to one USB-interface, the smaller USB hub and the prepared wiring 😀 If there is the general interest I can support in implementing and/or testing this, but I would like to invest into it only if the maintainers clearly want to push for it. But my main goal would be to close the battery housings somehow soon (TM), so if there is no chance to get this done and merged by the end of the year, I would prefer to keep the setup as I have and clean it up, even though I technically don't like the big amount of USB-RS485 converters ... Adding a new battery driver was more or less straight forward, but this one here I cannot do on my own with confidence that I would reach a state acceptable to be merged, so I'd appreciate if @mr-manuel or @Louisvdw could take the lead on this - then I'd happy to help and test. |
Did you check all open issues? Every help would be very welcome!
|
Yes, but there it sounds as @Louisvdw would like to have it, while your comments read a bit as if it would be impossible, so I am a bit confused. Also the other ticket is more general, as it includes the battery aggregation - a great goal but with https://github.com/Dr-Gigavolt/dbus-aggregate-batteries I have a (not perfect but working) soluton for a big part of the problem addressed by the other ticket. So maybe it could be good to do it in two steps and first allow multiple batteries on the same RS485 and later integrate the aggregation into dbus-serialbattery? Last but not least also over there I don't catch the expected timeline (and yes, I know it's free software done in free time – thanks a lot for all this effort! I don't want to pressure, just ask as I want to decide what to do with my hardware) |
Then the goal with this issue is to make visible multiple batteries on the same RS485 line as individual batteries. Since on every connect it might be that the batteries get random VRM ID's I think this issue should be solved fist: #718 Then you can cycle through the found BMS and assign them a unused VRM ID. |
Yes, the VRM id mapping is an important issue to solve, (maybe before). You introduced already the battery id on the low level for that, didn't you? |
Not only maybe, but it has to be done before, else it will create a lot of problems. Yes therefore I introduced the |
@mr-manuel @Louisvdw thank you guys for all work on this amazing driver! We all really appreciate the great work you’ve done. I myself same as @ramack don't want to pressure, just ask as I want to decide what to do with my hardware. I have to either run 4 wire bundle or one wire bundle to the length of my boat or relocate the RPI running Venus OS. On the other-hand, if this issue is solved it will be so much easier for me and others. Please give us all some timeframe and hopefully some hope… |
If this issue is solved, you will never know how it behaves on the long therm. Therefore I would recommend you to wire it for the situation as it is now. Later you can always use less cables then before. I do not have the possibility to test such a scenario. Therefore from my side there won‘t happen much. |
@mr-manuel i finally connected 3 of my 4 batteries to the RPI. They work perfectly well when I directly connect the usb -485 to the RPI usb ports. I try to connect via 4 port USB HUB and I get regular disconnects. Actually to trouble shoot I tried different usb-485 converters and they all behave which makes me believe it is not the converter. The usb to 485 converters don’t use much current so I don’t think is a lack of power to the devices going to the usb hub. What should I do to troubleshoot further? |
See #872 (comment) |
Now finally I managed to solve this problem. Now the recognition of multiple BMS on a single RS485 port needs to be managed, but I have not the hardware for it to test. Maybe someone have spare BMS that are not used anymore? Which BMS are capable of setting a different ID for the RS485 bus? Are the newest JKBMS, LLT/JBD, Daly and Seplos capable of it? This are the most used once, which I would implement. Any help in any form is appreciated. |
There is a bit of information on setting address here for the new style JK BMS I am trying to gather more information for this particular model: |
Multiple RS485 modules on the same interface
The text was updated successfully, but these errors were encountered: