curiouscarbon
Science Penguin
- Joined
- Jun 29, 2020
- Messages
- 3,027
niceYup, I found you basically have to use a 32U4/Pro Micro. I could not and still cannot get any other microprocessor to work with it. I have never come across anyone else who was able to, even though it should work by the looks of things. But, looks can be deceiving...
Once I get my 2x 150A BMS I'll check the UART voltages again and confirm if they're 3.3V or 5V.
Anyways, the Arduino-powered control panel is coming along nicely!
View attachment 51012
Thank you!nice
nice
I'm struggling again! I managed to get the Arduino Pro Micro reading from the BMS and printing to the serial monitor.I've been messing around with an Arduinos and the UART serial from the BMS. After a lot of trial and error, I found that the BMS simply cannot be used with Arduinos which do not support hardware Serial1. Software.serial does not work. However, if you use an Arduino with an ATMega32U4 - I chose a Pro-Mini/Leonardo clone like this you will be able to connect no problem!
It's very simple; TX or T as marked on the BMS, connects to RX on the Arduino. RX or R on the BMS, connects to TX on the Arduino. Ground from the BMS connects to Ground on the Arduino. Supply the Arduino with 5V (note that the UART VCC from the BMS is 12V!!!) then wire up your 128x64 OLED, and you're good to go!
This is the first coding project I've ever shared with anyone; I only got into coding a few months ago and am learning...
View attachment 44643
Check out the Teensy microcontrollers. Ardunio-compatible but with more storage and data pins.I'm struggling again! I managed to get the Arduino Pro Micro reading from the BMS and printing to the serial monitor.
Now I've written my code to log to SD card and show a very basic display to and OLED I've run out of Flash (program) memory.
My Arduino experiments have used nodeMCU recently and I've just realised I've been spoilt with 4MB flash memory instead of the 32kB the Arduino have.
do they work in the above application? using 2 serial interfaces? I'd rather use a $4 nodemcu with 4MB memory than these for $20Check out the Teensy microcontrollers. Ardunio-compatible but with more storage and data pins.
The Teensy LC has 27 data pins and 64KB storage. The 3.2 has 34 pins and 256KB.
I've been using them and been happy.
They have 3 serial interfaces. You can check all the specs at: https://www.pjrc.com/do they work in the above application? using 2 serial interfaces? I'd rather use a $4 nodemcu with 4MB memory than these for $20
I think that's pretty uncharted territory. For whatever reason, the JBD BMS only communicates via serial with the Pro Micro despite the Nano also being capable of that on paper. It's worth a shot though. The pro Micro isn't my favourite Arduino for a number of reasons so it'd be nice to have a proven alternative.do they work in the above application? using 2 serial interfaces? I'd rather use a $4 nodemcu with 4MB memory than these for $20
i've had a go at stripping it back, especially the display part. I'm at 104% but then I worry about the SRAM for the local variables.I think that's pretty uncharted territory. For whatever reason, the JBD BMS only communicates via serial with the Pro Micro despite the Nano also being capable of that on paper. It's worth a shot though. The pro Micro isn't my favourite Arduino for a number of reasons so it'd be nice to have a proven alternative.
To get around your memory issue, could you have it only log the essentials? A certain fault state or FET state, the time, and leave it at that? I'm not sure how much that'd help reduce program memory, but every bit helps - I'm often running at 95% used... I don't suppose you're using any non-standard fonts? I did with my display because I had the space to do so, but if you're using my code I'd remove that. The chunky standard text looks OK too
You can put them into a single terminal. That is what I did and what has been shown in the past. The blue wires are in a single lug terminal. The black wires are in a joint terminal as I needed to extend my cable a little, for my build.For the BMS's 3 C- and B- 10awg cables, is it OK practice to shove these into one bigger terminal so it's one terminal touching battery pack or must it be single lug per cable and therefore 3 terminals, 1 BMS balance lead?
I have all 3 10AWG cables in a 4AWG lug or butt connector. Before you crimp them, make sure it flexes the direction you need it to. The position/order of the cables in the connector can make a difference. Put a wire tie around the 3 cables and bend them in the direction you need to run them. You may need to shorten the cable on the inside of the bend/turn. It depends on how sharp of a bend you need.For the BMS's 3 C- and B- 10awg cables, is it OK practice to shove these into one bigger terminal so it's one terminal touching battery pack or must it be single lug per cable and therefore 3 terminals, 1 BMS balance lead?
That's actually an option from overkill. So yeah. Not an issue as long as you can crimp it properly.For the BMS's 3 C- and B- 10awg cables, is it OK practice to shove these into one bigger terminal so it's one terminal touching battery pack or must it be single lug per cable and therefore 3 terminals, 1 BMS balance lead?
Can you expand on the "position/order...make a difference"? Is it just that the cables and lug make it really hard to bend or actually cause the BMS to work differently?I have all 3 10AWG cables in a 4AWG lug or butt connector. Before you crimp them, make sure it flexes the direction you need it to. The position/order of the cables in the connector can make a difference.
Try bundling them together then move the cables around while trying to hold the ends together. You'll figure it out pretty quickly.Can you expand on the "position/order...make a difference"? Is it just that the cables and lug make it really hard to bend or actually cause the BMS to work differently?
^^^^^^ What they said. The length and position around the circle in the lug can change, depending on your layout. It doesn't change the operation of the BMS. The sharper the turn, the more effect it has.Can you expand on the "position/order...make a difference"? Is it just that the cables and lug make it really hard to bend or actually cause the BMS to work differently?
If you look at this picture and pretend you need to make a "hard" right or left turn. Because of the spacing on the BMS, you might need to shorten the inside cable by an inch or so.You can put them into a single terminal. That is what I did and what has been shown in the past. The blue wires are in a single lug terminal. The black wires are in a joint terminal as I needed to extend my cable a little, for my build.
View attachment 57028