Closed loop is jerky, motor is stopped when drive re-enabled

7 years 11 months ago #29531374 by mcguiver
Workarounds for basic features are a little bit disappointing in my opinion. I found another supplier where we can change between braking and frewheeling by simply changing one parameter.

Please Log in or Create an account to join the conversation.

7 years 10 months ago - 7 years 10 months ago #29531397 by Ryan

roboteq wrote: use the script command:

setconfig(_OVL, 50) to set the overvoltage limit to 5V. Then
setconfig(_OVL, 280) to restore to 28V, for example.

During overvoltage conditions, the MOSFETs are floated but the PWM is unchanged. So this should work.

If it doesnt, let us know and we'll add a command to turn on/off the MOSFETs without affecting the PWM. This is something that has been siting in our todo list for a long time.


Hi, I've tried this approach. It seems to work except it sometimes won't re-engage the fets. Please implement the command for turning on and off the fets. It also seems wrong to me to manipulate the controllers configuration to switch on and off the fets in real time.

My Testing-Script:
option explicit
dim ThrottleCommand as integer ' User command

dim fetsoff as boolean
dim fetswitch as boolean
fetsoff = false

top: ' Label marking the beginning of the script.
ThrottleCommand = getValue(_CIA,1) ' Sollwert auslesen
fetswitch = getValue(_DIN,2)

print("C=" , ThrottleCommand, "\tF=", fetswitch, "\n")

if fetswitch and not fetsoff then
	fetsoff = true
	setconfig(_OVL, 50)
	print("fets off\n")
elseif not fetswitch and fetsoff then
	fetsoff = false
	setconfig(_OVL, 500)
	print ("fets on\n")
end if

setcommand(_g, 1, ThrottleCommand)
wait(10)
goto top

Using Firmware v1.5 SBL1XXX 09/15/2015

Please also implement a command, which returns a suitable value for _G calculated by the current rpm, which won't accelerate nor decelerate the motor. That would be extremely useful for safe re-engaging of the fets!

Edit:
"Run" tab of the Control Software shows "stall" if that happens.

Please Log in or Create an account to join the conversation.

7 years 9 months ago - 7 years 9 months ago #29531436 by gg
Interesting and useful thread. I have been experimenting with torque mode and have some feedback to share:

The Torque Mode was jerky out of the box, especially at low PWM (low throttle), and I got it fixed by using: P=0.5, I=0.5, D=0. This is very smooth with my motor and it does free spool a lot even after you release the throttle. Importantly, the acceleration and deceleration are set to 500 in motor config.

I also like 1, 0, 0 for PID respectively (in Torque Mode), but it is a tiny bit jerky at low throttle. In this mode, when you let up on the throttle, there's corresponding slow-down, so you feel like the motor exactly follows your throttle in both accel and decel. It's good for some applications needing precise accel and decel control.

It seems that the bigger the I, the more the motor will free spool after you let up on the throttle. For instance, 0.5, 1, 0 gives me even more free spooling than the .5, .5, 0 setting above.

As far as PWM kicking in at 0 after turning FETs off: this may be related to the stall detection function. In my app, the motor was locked when at rest because the FETs were shorting the phases even when my feedback or motorcommand were at 50-100%. Disabling the stall detection in motor config took care of the problem, so PWM seems to not go to zero anymore if throttle is not at zero. Maybe this will be helpful to others also.
The following user(s) said Thank You: contraption

Please Log in or Create an account to join the conversation.

7 years 9 months ago - 7 years 5 months ago #29531458 by gg

Please Log in or Create an account to join the conversation.

7 years 6 months ago #29531899 by velometro

roboteq wrote: use the script command:

setconfig(_OVL, 50) to set the overvoltage limit to 5V. Then
setconfig(_OVL, 280) to restore to 28V, for example.

During overvoltage conditions, the MOSFETs are floated but the PWM is unchanged. So this should work.

If it doesn't, let us know and we'll add a command to turn on/off the MOSFETs without affecting the PWM. This is something that has been siting in our todo list for a long time.


Has this been added yet?

Will it make is possible to float one or both channels of MOSFETs?

Thanks!

Please Log in or Create an account to join the conversation.

7 years 5 months ago #29531921 by niko
Hello,

It has not been implemented yet. Its priority will rise since you require it.
The following user(s) said Thank You: velometro

Please Log in or Create an account to join the conversation.

7 years 5 months ago #29531925 by velometro
Will it make is possible to float one or both channels of MOSFETs?

It would be great if we could float each channel independently.

Please Log in or Create an account to join the conversation.

7 years 5 months ago #29531939 by niko
Hello,

after further investigation, we decided not to add a Mosfet OFF command shortly. We need to figure out the conequences, while at the same time emergency stop (EX) has more or less the same effect. So we need to reconsider the necessity of a new command.

Please Log in or Create an account to join the conversation.

7 years 5 months ago #29531943 by velometro
Hi Niko,
EX doesn't have the ability to do channels independently, does it?

Please Log in or Create an account to join the conversation.

7 years 5 months ago #29531946 by niko
No it does not. However we were not planning to make the new command shut down the MOSFETs of each channel separately.

So it is still in the todo list, but we need to reconsider the concept. Your requirement for handling separately the MOSFETs of each channel has been noted down.

We can come back to it after the next release.

Please Log in or Create an account to join the conversation.

Moderators: tonysantoni
Time to create page: 0.082 seconds