Redstar | DIY onewheel

One reason why this overheating problem really raises its head only now is that I have been riding faster and harder than before due to getting better and more confident at it. And I must say I’m quite impressed with the power and torque of the modified 600W Phub. It just seems to say “c’mon you can push a bit more” when I get scared that the nose is going to drop but glance down at the screen and it’s at 60% effort :sweat_smile: Today while riding with some friends, I was able to get up the incline in the pic below without any problems whatsoever (until thermal pushback kicked in).

On the negative side one (or more) of the three gyros isn’t playing nice, couple of times while riding the voting-consensus logic kicked in and started ignoring one due to too much difference wrt the others. I feel the little twitch that causes, which is a bit scary at speed… I’ll need to sort that out, make the transition smoother and figure out if there’s actually something wrong with one of them. :unamused:

4 Likes

Really like all the pictures :grin: Looking great!

You should add a loud beeper for when you’re using e.g. 80% effort. That would help you A LOT to prevent nose dives.

I’m sorry if this has already been discussed, but I just look at the pictures :laughing:

Example of a beeper. You could possibly find a louder one.

2 Likes

that’s actually brilliant.
Maybe this could also be done with some kind of rumble pack placed just under your foot. (gotta give it a distinctive pattern to not mistake it with natural viabrations)

1 Like

I am considering the exact same thing :slight_smile: Question is just if there is any PNP solution for it. My hooverboard esc got this feature and its really helpful same goes for when the voltage drops under a set limit

1 Like

I already have a beepers in there, 3 in fact :innocent:
They beep out status and error codes, f.ex duty overspeed, low battery voltage, overtemp, as well as a “ready” beep when powering on, “footpads pressed” beep when stepping on it so you know those work and it’s ready to be driven, and a final “go” beep when it’s tilted level and the motor engages. It also beeps when I run through the UI menus and when bluetooth connects. I sure like my beeps :smiling_face_with_three_hearts:

Only issue is that when riding outside with lots of noise, they are not very easy to make out. I can’t push them louder since they are powered from the VESC 5v line and the power I can pull out of that is pretty limited.

1 Like

I believe those beepers I’ve linked to are PRETTY loud. Im pretty sure it’s the same I have in my EUC and It’s loud.

Just thinking out loud.
If you could possibly make the beeper get 12V from the battery and then have a switch connected that would be trigged by the 80% effort mark. Would probably take up too much space though…
Hope what I’m saying makes somewhat sense :slight_smile:

Yes that’s the external power supply I’ve been thinking for the LED’s as well. In retrospect I should have put one in, but I didn’t.

The ones I have are also rated 95 db each, they were from battery alarms for RC planes which are loud enough to hear over the motor when said planes are cruising somewhere up high. The issue is them being in an insulated box within another box, and lack of power to drive them really hard :pensive: They are PWM’d by the same processor that’s doing the balancing, so I can play melodies and not just beeps. Although I only have some very simple tunes to tell the events apart.

1 Like

So the DIY BMS I’m planning for this is coming along, being almost ready for manufacturing. It still needs a cleanup of the mask text + labels, some final sanity checks and of course a logo of some sort.

To fit in the Redstar it’s quite small at 3.2cm x 5.5cm which did cause me some grief when designing it.

I’m going for a pretty full set of features, so that it’d be usable in many other applications than just this onewheel.

What it’s got:

  • The usual balancing + overcharge protection for 9-13S batteries
  • Telemetry over CAN, Serial or USB for detailed info about battery status
  • High side switching to make using telemetry easy
  • 3-channel thermal monitoring, one external for cells
  • Optional in/out current measurement
  • Optional output switch (so not just a bypass BMS)
  • Optional e-switch function
  • Potentially high current capacity 60A+ (thermally limited)
  • Precharge function to limit inrush current for highly capacitive loads
  • Low cost to make since I’m cheap, I’m thinking ~30€ or so

It is based on the cheaper BQ76940 cell monitor chip, which brings down the BOM cost a lot. The chip has its quirks though, such as the need to configure cell count by jumpers (the things marked JP on the board) and slow internal balancing at only 5 mA. This means it’ll keep a pack balanced well enough, but a seriously unbalanced pack takes ages to sort out.

I’ll likely use it in bypass mode for the Redstar, but it’s got provisions for output switches as well. Those 2 xbox hueg power MOSFETs are rated for 300A continuous each as long as they are kept cool. This small board won’t reach anywhere near that much due to the heat. At a continuous 90A load, there should be around 2.7W combined to dissipate across both of the MOSFETs and I’m relying on the thick power cables soldered right next to them to wick the heat away. Anyone who has soldered some AWG8 cables knows how good they are at it :sweat_smile:

Another question mark is the current measurement shunt, which is the same type some VESC’s use for the phase wires. It seems like such a small component to carry the current, but the calculated heat generation in there doesn’t seem too unmanageable. Like the MOSFETs, there’s provision for 2 in case one gets too hot. For most reasonable purposes, populating only one output MOSFET and shunt should be enough.

It’s an interesting project and I hope it’ll work out :sweat_smile:

10 Likes

Am I reading the data sheet right when it says 25µA operating current and 5µA standby? If that’s the case, you could seemingly leave it /on/ forever? Or is there a trigger for turning off after dropping below a maximum cell voltage deviation?

Looks like a clever solution. I especially like that it has options for thermal measurement!

A new affordable/smart/small BMS challenger enters the arena!

3 Likes

Supply current when the cell measurements are active is higher than 25µA, what I’m planning on doing is that in bypass mode, plugging in the charger will wake the microcontroller, which will start cell measurements and stay awake until charger disconnects and any balancing is done. Connecting any communication interface (serial, USB or CAN) will also wake the microcontroller and it’ll keep the BQ awake for the telemetry. In bypass mode, keeping ADC alive while not charging doesn’t help much since the BMS can’t stop discharge even if it wanted to.

In non-bypass mode, it’ll also stay fully awake whenever something is talking to it, else it’ll check the cell voltages every couple of minutes and if there is any change or they are close to limits, wake up completely to see what’s going on.
If the voltages go below a critical level, it will put the BQ into the super low power “shipping” mode and go completely dark, only pluggin in the charger will wake it from this (it’s rigged to the BQ boot pin, which will power the regulator, waking the microcontroller and so on). Of course, this will only happen if there’s been no activity for a while so it won’t cut the battery while riding - better to save the rider than the battery :innocent:

Currently the chosen CAN tranciever has a high sleep mode current, more than 300µA. There is a pin-compatible version with much less, but I’ll use this one for testing since it’s more easily available.

1 Like

:+1:

This man rides

That’s why I don’t put big fuses on the battery main leads either…

3 Likes

Looks awesome!

It could go up to 15s with a few more sense wires, or is there something else that limits that? Probably size to fit in your build right?

Going to use a ST micro to control it?

1 Like

Thanks!

Yes, the BQ can do 15s, but you hit the nail on the head: this is primarily built to be a drop-in replacement for the Redstar which already has that 14 pin jst-ph and cannot fit a larger one. I thought of using a smaller connector, but since many of the components top out at 60V anyways, 9-13s seemed like a pretty natural fit since that covers the usual 10 and 12s packs.

Yes, it has a STM32F042 in it. The smallest and cheapest one that can do simultaneous USB and CAN that I found :innocent:

1 Like

I think this part interests me most: It’ll continue to stay awake until both conditions (charger disconnect AND balance complete) are fulfilled?

At 5mA balance current and a big pack, I could see doing a partial charge (due to time constraints, responsible SoC, etc.) and want it to continue balancing for however long until it reaches a reasonable match.

…Understanding that a major mismatch is indicative of bigger issues.
–as long as I’m writing down my wishlist-- it would be a nice to have logging that would tell me if a particular group was consistently out of step with the others. That’s more of a receiver side want due to the logging storage requirement. [/self] remind me to look into that one…

1 Like

Just was thinking ahead my funwheel v2 that that has some more S :smiley: But that will have to wait until some cheaper 75v+ escs come out!

2 Likes

I think I’ll have it stay awake until balance complete, that way it’ll eventually get there despite the low balance current. The processor can sleep for most of the time during balancing for low power consumption, waking up occasionally to check the status. Doing a partial charge is OK as long as the charge level is high enough, trying to balance your usual lithium battery at 3.8V is not very productive as tiny voltage differences correspond to large capacity differences and thus, accuracy is bad. I’ll likely put a (configurable) level below which it won’t balance for this reason.

Some kind of “time spent balancing each cell group” logging would not be hard and require minimal storage, then you could simply compare those times, if one is much greater than others that’s your mismatched group. The processor I’m using does not have EEPROM for storage but it can write to it’s own flash,meaning it’s quite possible. Exactly this kind of pack health info is why I’m making this afterall :smile:

I was also thinking of a (configurable) battery saver option, where after x days of no activity it’ll discharge down to storage voltage. With the slow balance it’d take a long time, but better than nothig :thinking:

1 Like

If used in bypass mode, it’s quite easy to extend up to 15S ,only charge FET needs changing to a higher voltage model.

Oh man, you’re answering dreams I didn’t even know I had. :heart_eyes_cat:

2 Likes

The PCB house I’m planning to use (JLPCB) can only stack SMD components on one side, so I’m moving things around to put all the tiny passives to the back side. I’ll have to manually solder the CPU, a bunch of diodes and the temperature sensors.

2 Likes

Long time with little progress, I have been distracted by the flying diy-things and riding what I have now :grin: Nearing 400 km on the Redstar.

BMS board powers up and runs off battery, this is the second unit. First one killed it’s CPU for some reason, perhaps the high voltage lines are close enough to it that palming the board while it runs could kill it. I’ll use some conformal coating just in case.

20200818_234114

Now to do the actual BMS software.

9 Likes