jedsmd, could you try
rtd-period 100
That should stream the data for your version of the software I think. Here's a list of the commands:
char command0[] = "config";
char command1[] = "save";
char command2[] = "idle";
char command3[] = "restart";
char command4[] = "reset-ah";
char command5[] = "kp";
char command6[] = "ki";
char command7[] = "t-min-rc";
char command8[] = "t-max-rc";
char command9[] = "t-fault-rc";
char command10[] = "t-pos-gain";
char command11[] = "t-pwm-gain";
char command12[] = "c-rr";
char command13[] = "rtd-period";
char command14[] = "pwm-filter";
char command15[] = "motor-os-th";
char command16[] = "motor-os-ft";
char command17[] = "motor-os-dt";
char command18[] = "pwm-deadzone";
char command19[] = "motor-sc-amps";
char command20[] = "bat-amps-lim";
char command21[] = "pc-time";
char command22[] = "mot-amps-lim";
Is it possible that the throttle is dropping out with a dead region? Do you have a 0-5v hall effect, or a 0-5k pot? I think on your code, it will flag a fault and shut everything down if the throttle goes out of range for some minimum amount of time. Or, maybe a current sensor is not making good contact, and that causes the hardware overcurrent to shut down, or maybe the wire to the high voltage + that goes to the control/driver board is having a problem? That would cause a "desaturation" detection fault.
The data that's streamed is:
throttle_ref
current_ref
current_fb
pwmDuty
raw_hs_temp
raw_throttle
faultBits
battery_amps
You definitely want faultBits:
#define THROTTLE_FAULT (1 << 0)
#define VREF_FAULT (1 << 1)
#define UART_FAULT (1 << 2)
#define UV_FAULT (1 << 3)
#define OC_FAULT (1 << 4)
//#define PRECHARGE_WAIT (1 << 5)
#define MOTOR_OVERSPEED_FAULT (1 << 6)
#define HPL_FAULT (1 << 7)
Last edited by MPaulHolmes; 02-19-2020 at 05:43 PM..
|