ESCapes shitting the bed? Could be a motor problem. In progress

Got first faults through metr yesterday.

Was on a ride and had to pause to let some rain pass. Remote switched off and board still on with 49V. I got three in succession while were sitting around and never saw it again. Finished the ride and stayed connected for 6 hours home. Never got it again. I didn’t see where I could research fault codes in vesc tool. If they’re there, just point in the right direction.

Log

1 Like

Is that voltage reading correct?

1 Like

No. Real-time was showing 49V.

2 Likes

Post the log. I’ve never seen this error

1 Like

Happened in the flat area.

Weird, not sure what it is, let’s see if the wizard can help @JohnnyMeduse ever seen an error like this?

1 Like

Looking into the BLDC source code , this is where that fault is thrown:

#ifdef HW_HAS_PHASE_SHUNTS
	// Monitor currents balance. The sum of the 3 currents should be zero

	m_motor_current_unbalance = mc_interface_get_abs_motor_current_unbalance();

	if ( m_motor_current_unbalance > MCCONF_MAX_CURRENT_UNBALANCE ) {
		UTILS_LP_FAST(m_motor_current_unbalance_error_rate, 1.0, (1 / 20000.0));
	}
	else {
		UTILS_LP_FAST(m_motor_current_unbalance_error_rate, 0.0, (1 / 20000.0));
	}

	if (m_motor_current_unbalance_error_rate > MCCONF_MAX_CURRENT_UNBALANCE_RATE) {
		mc_interface_fault_stop(FAULT_CODE_UNBALANCED_CURRENTS);
	}
#endif

Seems your Motor Current unbalance error rate was greater than what ever it was set to or the default 30%

#define MCCONF_MAX_CURRENT_UNBALANCE_RATE 0.3 // Fault if more than 30% of the time the motor is unbalanced

#define MCCONF_MAX_CURRENT_UNBALANCE 130.0 // [Amp] More than this unbalance trips the fault (likely a sensor disconnected)

if (motor->m_motor_current_unbalance > MCCONF_MAX_CURRENT_UNBALANCE) {
			UTILS_LP_FAST(motor->m_motor_current_unbalance_error_rate, 1.0, (1 / 1000.0));

Edit: I was looking at a different branch of the source code. This is the current version involving the fault:

#ifdef HW_HAS_3_SHUNTS
	if (!motor->m_conf.foc_sample_high_current) { // This won't work when high current sampling is used
		motor->m_motor_current_unbalance = mc_interface_get_abs_motor_current_unbalance();

		if (motor->m_motor_current_unbalance > MCCONF_MAX_CURRENT_UNBALANCE) {
			UTILS_LP_FAST(motor->m_motor_current_unbalance_error_rate, 1.0, (1 / 1000.0));
		} else {
			UTILS_LP_FAST(motor->m_motor_current_unbalance_error_rate, 0.0, (1 / 1000.0));
		}

		if (motor->m_motor_current_unbalance_error_rate > MCCONF_MAX_CURRENT_UNBALANCE_RATE) {
			mc_interface_fault_stop(FAULT_CODE_UNBALANCED_CURRENTS, !is_motor_1, false);
		}
	}
#endif
2 Likes

Ok. Thanks. I’ll stare at what you posted for a while and see if I can grasp it.

Uh I don’t grasp it much either since I’m not sure what’s exactly happening in that UTILS_LP_FAST function but if I were to guess, check If your sensors were disconnected since that’s what the source code is saying probably trips this fault.

Edit: UTILS_LP_FAST is a low pass filter.

1 Like

Sensorless

1 Like

The Mystery intensifies

What we do know is that your Current Balance rate, or at least the VESC thinks your current balance rate, was higher than 30%

Edit: Spit Balling, check your motor wires? Make sure they’re plugged in all the way. From what I’m reading:

Current unbalance may be caused by the following (as noted above, current unbalance is the primary cause of voltage unbalance):

  •  Large and/or unequal distribution of single-phase load – This can occur when low voltage single-phase services are connected to the phase closest to the neutral. The same problem can occur at medium voltage levels when single-phase distribution transformers are connected to the conductors that are easiest to reach.
  •  Phase to phase loads – This occurs with some equipment that simply requires single phase, but at line-to-line voltage (e.g., a 415 volt welder).
  •  Unbalanced three phase loads – Some three phase loads are comprised of both single and three-phase equipment. It is important that these loads are balanced to meet the power company’s requirements.
1 Like

I had a failing current amplifier once which triggered this fault code. But in my case the motor was stuttering a lot.

1 Like

Took the board out again and got peppered with unbalanced current faults. All was fine until I hit the first hill. Board fell on its face and got Over Temp Fet faults mixed with unbalanced current.

Looking at vesc 1 and Vesc 2 in metr and everything is the same.

@haggyboard.timo I know one of the escapes needed to be flashed before you sent it to me. Do you recall if it was the one that had the master sticker? Have you any insight to the history of the ESCapes prior to sending to me?

Linking the logs in case anyone wants to view

1 Like

One of the over temp details

1 Like

@JohnnyMeduse any idea what this could be?

1 Like

That could be a lots of thing…

But most likely one of the fets or one resistor is fucked. Or could be something with the motor. I would try to redo a motor detection to check if the value are still the same and nothing have shifted.

Thanks
JF

3 Likes

Thank you very much. I’ll do it tonight and report back. Was just looking at the log and noticing that one vesc was way hotter than the other. 70 vs 96C when this went down.

@JohnnyMeduse or anyone else that’s smarter than me. Re-ran detection and motor amps has definitely changed on the vesc/motor that was faulting.

9 days ago


Today

Switch your motors and see if the problem switches sides or stays on the same side.

3 Likes