SDC2130 issues
7 years 7 months ago #29531146
by davidk
SDC2130 issues was created by davidk
Hi,
I am experiencing an erratically behavior of my SDC2130 driver.
I use it with RS232 data. It's set to run in closed loop speed mode. If I send commands from Roborun software, it works ok, as expected, but I need it to send data from a microcontroller. So, I send from my microcontroller "?C" and "!G 1 speed" with 80ms delays between commands and the driver starts moving erratically and jerky after few seconds. Any speeds except zero makes it start and stop in a cyclic manner. Zero makes it stay still.
Even after I unpower and connect the driver to Roborun, the moves are the same. I noticed that only reading configuration data from the controller makes it to move correctly again.
Just unpowering the driver and re-powering does not reset this issue.
Sending just "!G 1 speed" command does not trigger the issue in the first place. I can't increase delays since the motor's respond would be too slow.
You can see the attached log with this behavior.
Firmware version is v1.4b SDC2XXX 03/31/2015
I am experiencing an erratically behavior of my SDC2130 driver.
I use it with RS232 data. It's set to run in closed loop speed mode. If I send commands from Roborun software, it works ok, as expected, but I need it to send data from a microcontroller. So, I send from my microcontroller "?C" and "!G 1 speed" with 80ms delays between commands and the driver starts moving erratically and jerky after few seconds. Any speeds except zero makes it start and stop in a cyclic manner. Zero makes it stay still.
Even after I unpower and connect the driver to Roborun, the moves are the same. I noticed that only reading configuration data from the controller makes it to move correctly again.
Just unpowering the driver and re-powering does not reset this issue.
Sending just "!G 1 speed" command does not trigger the issue in the first place. I can't increase delays since the motor's respond would be too slow.
You can see the attached log with this behavior.
Firmware version is v1.4b SDC2XXX 03/31/2015
Please Log in or Create an account to join the conversation.
7 years 7 months ago #29531147
by davidk
Replied by davidk on topic SDC2130 issues
It seems the problem was my microcontroller sent erratically data while I was programming my firmware. Probably this corrupted the driver. If I remove the rs232 while programming my uC this issue doesn't appear.
Please Log in or Create an account to join the conversation.
7 years 7 months ago #29531152
by TechSupport
Replied by TechSupport on topic SDC2130 issues
If you are programming the controller configuration and other things, you definitely want to make sure whatever is issuing any commands, should stop doing so.
You can always do a reset to defaults and try to reconfigure from the configuration tab of Roborun+.
You can always do a reset to defaults and try to reconfigure from the configuration tab of Roborun+.
Please Log in or Create an account to join the conversation.
7 years 7 months ago #29531153
by davidk
Replied by davidk on topic SDC2130 issues
While programming my microcontroller, the TTL serial line to SDC driver is held low for a few seconds. After this, the normal commands to servo trough this serial line works bad. I can avoid this by pulling out the serial connection to Roboteq driver.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531166
by davidk
Replied by davidk on topic SDC2130 issues
I still have problems regarding this behaviour.
My controller may be unpowered any time by pressing an emergency switch. When re-setting the emergency switch, serial data flows again to controller and corrupts it. It will behave erratically like in the log i attached in my first post here.
This happened after optimizing my main loop (in my microcontroller).
I send ?c, wait 5ms then !p and wait 5ms, ?c and so on in a loop. The driver responds well on the serial link, only that the motion is corrupted.
Unless I send ~PMOD it won't work correctly again. His answer to !PMOD is PMOD=0:0:0:0:0, sicne I never used pulse input.
It took me some time to find this particular command that makes my driver work again. As I told you, the driver won't recovery by itself, unless I send this command.
I really can't understand this kind of behaviour. Are there any minimum timing requirements for the serial communication? I can't find any in the manual.
My controller may be unpowered any time by pressing an emergency switch. When re-setting the emergency switch, serial data flows again to controller and corrupts it. It will behave erratically like in the log i attached in my first post here.
This happened after optimizing my main loop (in my microcontroller).
I send ?c, wait 5ms then !p and wait 5ms, ?c and so on in a loop. The driver responds well on the serial link, only that the motion is corrupted.
Unless I send ~PMOD it won't work correctly again. His answer to !PMOD is PMOD=0:0:0:0:0, sicne I never used pulse input.
It took me some time to find this particular command that makes my driver work again. As I told you, the driver won't recovery by itself, unless I send this command.
I really can't understand this kind of behaviour. Are there any minimum timing requirements for the serial communication? I can't find any in the manual.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531167
by TechSupport
Replied by TechSupport on topic SDC2130 issues
You're sending the wrong syntax for 1. Pmod is a configuration parameter, so you can't use !pmod. You use ^pmod to make that change. ! is used for run time commands like telling the motor to move.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531168
by TechSupport
Replied by TechSupport on topic SDC2130 issues
Page 163 and 164 of user manual.
Commands Types
The controller will accept and recognize four types of commands:
Runtime commands
These start with “!” when called via the serial communication (RS232 or USB), or using
the setcommand() MicroBasic function. These are usually motor or operation commands
that will have immediate effect (e.g. to turn on the motor, set a speed or activate digital
output). See “Runtime Commands” on page 164 for the full list and description of these
commands.
Runtime queries
These start with “?” when called via the serial communication (RS232 or USB), or using
the getvalue() Microbasic function. These are used to read operating values at runtime (e.g.
read Amps, Volts, power level, counter values). See “Runtime Commands” on page 164
for the full list and description of these commands.
Maintenance commands
These are only available trough serial (RS232 or USB) and start with “%”. They are used for
all of the maintenance commands such as (e.g. set the time, save configuration to
EEPROM, reset, load default, etc.).
Set/Read Configuration commands
These start with “~” for read and “^” for write when called via the serial communication
(RS232 or USB), or using the setcommand() MicroBasic function. They are used to read or
configure all the operating parameters of the controller (e.g. set or read amps limit). See
“Set/Read Configuration Commands” on page 194 for the full list and description of these
commands.
Commands Types
The controller will accept and recognize four types of commands:
Runtime commands
These start with “!” when called via the serial communication (RS232 or USB), or using
the setcommand() MicroBasic function. These are usually motor or operation commands
that will have immediate effect (e.g. to turn on the motor, set a speed or activate digital
output). See “Runtime Commands” on page 164 for the full list and description of these
commands.
Runtime queries
These start with “?” when called via the serial communication (RS232 or USB), or using
the getvalue() Microbasic function. These are used to read operating values at runtime (e.g.
read Amps, Volts, power level, counter values). See “Runtime Commands” on page 164
for the full list and description of these commands.
Maintenance commands
These are only available trough serial (RS232 or USB) and start with “%”. They are used for
all of the maintenance commands such as (e.g. set the time, save configuration to
EEPROM, reset, load default, etc.).
Set/Read Configuration commands
These start with “~” for read and “^” for write when called via the serial communication
(RS232 or USB), or using the setcommand() MicroBasic function. They are used to read or
configure all the operating parameters of the controller (e.g. set or read amps limit). See
“Set/Read Configuration Commands” on page 194 for the full list and description of these
commands.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531169
by davidk
Replied by davidk on topic SDC2130 issues
As I said, I used ~pmod and the driver answered with the string in my previous post. Please be so kind and read again and ignore !pmod. It's a typo. Thanks.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531170
by TechSupport
Replied by TechSupport on topic SDC2130 issues
There is no reason why sending a query to the pulse inputs configuration would cause it to work.
There is a loop error detection in the closed loop parameter. Is that disabled?
Also watchdog timer is set to timeout after 1 sec if no valid command is not sent within that 1 sec interval.
Since it seems the problem is likely in either the settings you are using or the microcontroller, lets take the micro controller out of the equation to start.
The position mode count uses !P to go to a count position. Please upload your controller configuration.
There is a loop error detection in the closed loop parameter. Is that disabled?
Also watchdog timer is set to timeout after 1 sec if no valid command is not sent within that 1 sec interval.
Since it seems the problem is likely in either the settings you are using or the microcontroller, lets take the micro controller out of the equation to start.
The position mode count uses !P to go to a count position. Please upload your controller configuration.
Please Log in or Create an account to join the conversation.
7 years 6 months ago #29531171
by TechSupport
Replied by TechSupport on topic SDC2130 issues
Perhaps we can try remote teamviewer session so we can see what is happening on your end.
Download and run/install this and send user id and password it assigns you to This email address is being protected from spambots. You need JavaScript enabled to view it.
www.teamviewer.com/en/index.aspx
Download and run/install this and send user id and password it assigns you to This email address is being protected from spambots. You need JavaScript enabled to view it.
www.teamviewer.com/en/index.aspx
The following user(s) said Thank You: davidk
Please Log in or Create an account to join the conversation.
Moderators: tonysantoni
Time to create page: 0.092 seconds