DAVEGA X: Gauging interest

@janpom would it be possible to have a battery cycle counter feature?

Also I put up the base plate on thingieverse for those that want to mod / check etc.

6 Likes

Quick question,

Can max speed differentiate between actual max speed verses just holding down the trigger without riding?

I’d test this but I don’t want to erase my actual max speed :sweat_smile:

I guess this also applies to other fields too. Does DAVEGA know the difference between riding and testing?

It doesn’t. If you do a max speed bench test, it will get recorded. It would be fairly easy to add a menu option for “test mode” that would disable recording the data.

In general, I’ll be collecting feature requests and we can then have a vote to see which are the most popular ones. I’ll then implement them in that order.

2 Likes

As long as we can agree on the definition of a “cycle”… There’s a bunch of corner cases. If you charge your cells from 4.1V to 4.2V does that count as a “cycle”?

IMO, the total discharged kWh/Ah that you get on the lifetime screen is a better indicator of the wear of the battery. Also, you can approximate the number of cycles by dividing the total Ah discharged by the battery (usable) capacity.

5 Likes

I think that is a smart way to do it.

I typically charge from 3.7 to 4.1 so if that was counted it would be more a lot more cycles then full charge / discharge.

2 Likes

quick question
for a dual vesc via can bus with DaveGA in slave vesc ,is the data displayed only for 1 vesc or is there setting to multiply data x 2
Thanks

The “Drive > Motor count” option is relevant. It’s 2WD by default.

Davega will multiply the data retrieved from the VESC(s) to match the number of motors. For example, if it only sees a single VESC (single motor) but you set the motor count to 2WD, it will know that it has to multiply the battery amps by two.

Currently, CANBUS forwarding is not implemented (it’s on a TODO list), so DAVEGA will always “see” a single motor if you have a standard VESC or two motors if you have Unity.

If the number of seen motors is higher than what you configure as your “motor count”, it will ignore the setting. For example, if you set 1WD but you have Unity, it will still assume 2WD. Looking forward, this will generalize to nicely to 4WD setups. For example, if you have two Unities not connected by CANBUS and you set 4WD, you get correct compensations. If you have a Unity and two standard VESC all connected by CANBUS and you incorrectly set 2WD, it will still work correctly since it will be able to auto-detect the 4WD, at which point it will know that your setting is wrong (this is once the CANBUS forwarding is implemented).

TL;DR: Set the “motor count” to the correct value and it will work correctly. (Looking forward, it will work correctly even if you incorrectly set the “motor count” lower than the actual value as long as all your VESCs/Unities are connected via CANBUS.)

2 Likes

Hmmm does this seem right?

Max Battery Current: 29.8A
Max Motor Current: 50.8A

How can motor current be greater than max battery current? Is it because of a spike?

Batt current = motor current x duty cycle

3 Likes

Is that so? I have always thought the motor current can be higher than the battery current because the VESC output voltage is lower than the input voltage.

3 Likes

It’s a little in depth… there are some good explanations here

At slow speed the esc is only outputting a low voltage, but it can output high current to the motor.

Battery 50 volts x 10 amps = 500w { Esc translation} Motor (at slow speed) 50 amps x10 volts = 500w So its the same amount of power.

As your speed increases motor amps will drop and the motor voltage will increase.

That’s how I understand it anyway. I’m sure there is more complexity to it.

2 Likes

Yes, this is correct.

Wait, current drops and voltage increase? That means the motor is not acting like a normal resistor that follows Ohm’s law, that current is proportional to voltage. That means the resistance of the motor is changing as the magnets are spinning. Interesting stuff, didn’t think about that.

It would be more correct to see it as an inductor.

Start from what you know : Input power = output power (ommiting losses).

that leads to : Current in x voltage in = current out x voltage out
but voltage out = voltage in x duty cycle.

Eureka. :smile:

EDIT : in VESC FW (for BLDC, in FOC it takes bot Iq and Id)

float mcpwm_get_tot_current_in_filtered(void) {
	return mcpwm_get_tot_current_filtered() * fabsf(dutycycle_now);
}
1 Like

Sneak peek of a new feature: backing up config/data to cloud. This is mainly to allow restoring the data in case something goes wrong with your davega. However, there’s more that could be done with the data if you upload it on regular basis. For example, I could plot timelapse charts with your odometers; show how your consumption or avg speed or max speed evolves, etc.

Also, we could have some fun with the data and have scoreboards for the fastest / most active / most efficient riders in the last week/month, etc. Thanks @mackann for the idea.

Other ideas/suggestions are welcome.

20 Likes

Thank you Jan!

6 Likes

Good luck with the assembly. Keep us posted on the progress. I think you may still be the first to get the DIY kit assembled. :slight_smile:

1 Like

If anyone feels adventures, you can install the FW v1.2.0rc (release candidate) and test backing up your data/config to the cloud. Note that you may get a memory error when trying to upload. In that case please restart the davega and hold the middle button while it’s starting up. That opens the menu immediately after boot up. Then try to do the upload again.

I’m going to spend more time on the memory errors before making an official release.

5 Likes