Starting from the values I sent last night, I’ve been experimenting with various values.
I increased the align time to 1 sec, keeping the align voltage at 4V, and it starts almost every time. I reduced the align voltage and find that anything below 3.9V and it rarely starts.
I’m leaving the align voltage at 4V and time at 1 sec for now.
Changing the “Speed min” and “OL speed lim” didn’t seem to affect things so I left them at 600 as you suggest.
I increased “Cmt.count” to 100 and it started pretty reliably. Less reliably at 75 and only half the time at 50. Set it back to 100.
“1st cmt period” – 0.0034 was the minimum I could set it to without errors. The motor would not start. I found it would not start until I brought it back up to 0.01. At this point, it starts pretty reliably.
I went back, leaving the “Cmt.count” and “1st cmt period” at 100 and 0.01, and reduced the align voltage to 3.5. Motor would not start. Set it back to 4V and starts pretty reliably.
I did a “store data” in FreeMASTER followed by a “Generate Configuration File”, recompiled in CW, and re-flashed the CPU. FreeMASTER indicated “The map file has changed, would you like to reload it?” and I answered “Yes”.
As before, EVERY SINGLE TIME I try to start the motor, it IMMEDIATELY generates an “Idcb HI” fault. No matter how many times I try it. Whether I use the FreeMASTER “App Control” page or use SW1 on the demo board.
As before, without changing any parameters, I hit “Update Target”. Once I do this, I no longer get the “Idcb HI” fault. So again, doing the “Update Target” is doing SOMETHING, even though I have not changed any parameters. Something changes on the demo board when I hit that button.
Further confusion: Only the “Update Target” button on the “Parameters” tab “fixes” this issue. Hitting the “Update Target” buttons on either the “Control Loop” or “Sensorless” tabs does NOT affect this problem.
However, now the motor is not starting again. I have checked all the parameters I was changing, and they’re at the values I had chosen. In fact ALL the parameters on all three tabs hold the values I had recorded. As far as I can tell, nothing has changed except for the recompile cycle. I even went through and re-entered every single parameter on all 3 tabs. No change. Motor will not start. Jogs around a bit and eventually the “Stall” fault occurs.
This is getting VERY frustrating!!!
I went back to the BLDC_appconfig.h file from last night. Recompiled, re-flashed, and “Update Target”. Now it’s running again, with the most recent values I list above.
I have attached the two .h files – last nights (BLDC_appconfig eod2016-08-23.h) and the one I just generated (BLDC_appconfig.2016-08-26.h). The differences are the date comment and:
#define ALIGN_DURATION (1000)
#define ALIGN_DURATION (250)
*****
#define N_MIN FRAC16(0.075000000000)
#define N_START_TRH FRAC16(0.075000000000)
#define STARTUP_CMT_CNT (100)
#define STARTUP_CMT_PER (7500)
#define CMT_T_OFF FRAC16(0.100000000000)
#define N_MIN FRAC16(0.125000000000)
#define N_START_TRH FRAC16(0.040625000000)
#define STARTUP_CMT_CNT (2)
#define STARTUP_CMT_PER (15000)
*****
#define START_CMT_ACCELER FRAC16(0.988964251792)
#define START_CMT_ACCELER FRAC16(0.307692307692)
*****
I switched back and forth a couple of times, and it’s consistent. Using the BLDC_appconfig.eod2016-08-25.h file, once I “Update Target”, it works just about every time. When I use the BLDC_appconfig2016-08-25.h, it won’t work at all, even though I do the “Update Target” with the current values.
When it was working with the BLDC_appconfig.eod2016-08-25.h file, I once again generated the output file and the new file was identical to BLDC_appconfig.2016-08-26.h, so at least it’s consistent.
So although I can get the motor to run consistently using FreeMASTER, it won’t run without FreeMASTER – every time the CPU gets reset, it generates the “Idcb HI” fault every time until I use FreeMASTER to “Update Target”.