I'm sure there's a bazillion of these messages cluttering this forum, but I haven't been able to find any help in a search. Maybe someone here can make sense of what is going on/what happened/what not to do/what to do?
Firstly, I'm aware that there are a number of modifications of the name "Flipsky" used on this forum; they don't have the best of reputation. But I decided that I should at least start cheap, instead of potentially blowing several hundred dollars with ESC newbie mistakes. And well...
So my hardware setup is as follows:
- Flipsky Mini FSESC4.20 (purchased from AliExpress, "based on VESC4")
- 6374-170KV sensorless motor
- 12S LiFePo4 battery bank (normal voltage: 40v)
- 3:1 #25 chain reduction to an old Sears lawn mower transmission (we're not talking any speed records here, just brute force hauling power!) Runs a "buggy" that I use for hauling materials.
- VESC Tool 2.06 on Ubuntu 18.04 LTS x64.
FYI the wires between the motor and ESC are roughly 13". Technically, I have about 8 feet of 8AWG wire between the batteries and the FSESC...but I put a 22,000uF 50v bolt-terminal capacitor as close to the ESC as possible (6" from the ESC) to mitigate induction in the power wires (which I am fully aware can be responsible for SEDS--Sudden Esc Death Syndrome).
Initial FSESC setup with the VESC Tool (on Ubuntu 18.04) was relatively uneventful. Firmware update was painless and took just a few seconds. I soon had the motor working.
I ran the motor in FOC mode, went through the setup wizards...current limit somehow got set to 52A drive / 52A brake (I didn't set it there, I left it at the 60A default, as the motor can easily handle 60A.) As far as input control, I had to use the ADC1 input for control (connected ADC2 to negative, as there doesn't seem to be a "disable" for it.) Setting the input to control motor RPM was a disaster...let's just say that was not an option I used for very long. (Motor was extremely unstable and violent.) I ended up with the input controlling the motor duty cycle.
Even with a sensorless motor, I was pretty impressed with the FSESC's control of the motor...it sure could run it slowly! I did occasionally experience "missed startup" where the motor would squeal, but not rotate; if that happened, I just released the throttle and tried again. (Not sure if that is of any interest for diagnostic purposes.)
Throttle control was absolute, so even if I was going downhill, speed was regulated. (Letting off the throttle completely usually results in a pretty violent stop.) On a few tests runs with my laptop connected to the USB port, I ran the motor on some heavy loads (holding at the 52A current limit), MOSFET temperature peaked around 80C--pretty hot, so I stopped running it so hard. No issues--I was pretty happy.
Enter today. Decided to take my little buggy (as I call it) out to get a small load of materials. Full throttle down the hill in high gear...I have to admit, it was a bit of fun. (Motor alternating between brake and small "drive", so it was not being run very hard.) Kind of impossible to overspeed the motor with the auto e-brake and RPM regulation.
En route, I went over a pretty serious bump...and the buggy suddenly died. It coasted to a stop about 6 feet later, and I looked at the FSESC. Bright green light was off. Red LED was flashing 4 times, pause, 4 times, pause, 4 times, etc. No smoke of any sort that I could tell. Motor was cold, FSESC barely the slightest bit warm. I don't see any visible damage (though it is worth noting that the FSESC wasn't mounted down, and likely bounced around a bit. It's still in the shrink wrap, so short circuits are out of the question.)
I tried restarting the ESC (power off, power back on), and now it flashes the red LED 16 times, pause, 16 times, pause, etc. Connected it to the VESC tool on my laptop, and checked for error codes:
The following faults were registered since start:
Fault : FAULT_CODE_HIGH_OFFSET_CURRENT_SENSOR_1
Motor : 1
Current : 0.0
Current filtered : 0.0
Voltage : 40.46
Duty : 0.000
RPM : -1.1
Tacho : 1
Cycles running : 0
TIM duty : 0
TIM val samp : 3360
TIM current samp : 3360
TIM top : 6720
Comm step : 0
Temperature : 29.67
I've tried:
- Commands -> Reboot. While the red light was still flashing, it didn't report the "high offset current sensor" error--but it did report a watchdog reset error. A power cycle went back to the "high offset current sensor" error.
- Terminal -> DRV Reset Latched Faults: doesn't do anything.
- try BLDC mode instead of FOC mode. While the red light stops flashing, and I can get the green light to come on under certain circumstances (press throttle, or try to run setup), the motor never rotates/whines/does anything. Setup BLDC motor calculation measurement always fails. Goes without saying that FOC setup doesnt work either.
FSESC no-load current is roughly 20mA @ 40vDC. Motor freewheels. (Back when it was working, as soon as the bright green light came on, the motor would get very hard to turn due to the brake.) I've checked the motor out at the ESC board, and none of the coils are open circuit. 5v supply measures 5.158v. 3v supply measures 3.286v.
I'm wondering if maybe the FSESC board developed a stress crack or something similar when I went over the bump. While the registered motor current in the above report is zero, I do notice the "TIM val samp" and "TIM current samp" values at 3360, which if that's millivolts, would be 3.36v--full scale.
Does anyone have any suggestions or things to check? If the ESC is junk, how in the world did that happen? And what do I do to prevent this from happening again?
EDIT: Correct no-load current...had a DC-ground loop messing those readings up. Doh!
After posting the above, I decided I didn't have much to lose, took a knife and removed the shrink wrap cover. Looked the board over fairly closely, and noticed a speck of something between 2 leads on the DRV8302 (IIRC). Wiped it off with my finger, blew the dust off the board...and it powered up with no errors. Reran the motor setup, and it works like a charm.
What in the world???!!