Forum >Documentation for smart servo shield
ArduinoGeneral

Documentation for smart servo shield

userHead pcdewolff 2014-12-10 08:59:13 6918 Views18 Replies
I would like to have the documentation for the smart servo shield (and not the dynamixel protocol).
In the sample code of the servo controller there is a CPP file ServoCds55.cpp
in this file there is a line
transferAndWait ('p');

so the letter p or decimal 112 or hex 70 is being sent to the servo shield. This is not a dynamixel parameter because it comes for the Servo ID which is always the first byte sent to a servo.

So what "letters" are there in the servo shield controller that can be used?

This is because I also want to read data from the servo's like status, position, torque, etc...


2024-09-11 17:58:48

The code has been already released.
You could check this 
https://www.dfrobot.com/image/data/DRI0027/Slave%20code%20for%20deeper%20development_update.zip

userHeadPic Grey.CC
2014-12-26 22:06:41 Hi Grey,

Joining late to this discussion, I seem to be facing a similar compatibility issue with the Smart Servo Shield. Basically no problem writing commands to activate the AX-12 servos as slave (they move beautifully!), but no packets are received back on the master.  (I have tested extensively trying to read Ping, Voltage, Temperature and position...)
Has this been resolved? What do DFRobot technical support team suggest? Any workaround?

(btw, my setup is a Bluno + Smart Servo Shield. If there is a better solution that will work, please let me know, I don't mind to spend a few more bucks... :) )

Thanks!
userHeadPic thatgame
2014-12-26 22:06:41 Hi Grey,

Joining late to this discussion, I seem to be facing a similar compatibility issue with the Smart Servo Shield. Basically no problem writing commands to activate the AX-12 servos as slave (they move beautifully!), but no packets are received back on the master.  (I have tested extensively trying to read Ping, Voltage, Temperature and position...)
Has this been resolved? What do DFRobot technical support team suggest? Any workaround?

(btw, my setup is a Bluno + Smart Servo Shield. If there is a better solution that will work, please let me know, I don't mind to spend a few more bucks... :) )

Thanks!
userHeadPic thatgame
2014-12-20 00:14:12 Hi Grey,

The dynamixel servo's also have the capability of sending data back. This can be the current position, the current torque, the used current, etc. This differs from regular RC servo's to which you can only send commands.
here a nice example  (edited)
https://www.youtube.com/watch?v=poPeO7xxA90


Peter
userHeadPic pcdewolff
2014-12-20 00:14:12 Hi Grey,

The dynamixel servo's also have the capability of sending data back. This can be the current position, the current torque, the used current, etc. This differs from regular RC servo's to which you can only send commands.
here a nice example  (edited)
https://www.youtube.com/watch?v=poPeO7xxA90


Peter
userHeadPic pcdewolff
2014-12-19 05:34:27 Take it easy,

It needs to read the current servo status? I am not sure about it. Generally, it only need to send the command, and the chip atmega 8 is communicating with Arduino via SPI interface. So it should be OK.
OK, maybe I am not very familiar with how it is working.
userHeadPic Grey.CC
2014-12-19 05:34:27 Take it easy,

It needs to read the current servo status? I am not sure about it. Generally, it only need to send the command, and the chip atmega 8 is communicating with Arduino via SPI interface. So it should be OK.
OK, maybe I am not very familiar with how it is working.
userHeadPic Grey.CC
2014-12-18 08:23:13 So that means de atmega on the shield is also running arduino code?
The source code you mention does not read any data from the servo's back.
Conclusion: the board cannot be used to read data back unless you reprogram the atmega on the board.
I would't that call "compatible"

{dissatisfied customer}
userHeadPic pcdewolff
2014-12-18 08:23:13 So that means de atmega on the shield is also running arduino code?
The source code you mention does not read any data from the servo's back.
Conclusion: the board cannot be used to read data back unless you reprogram the atmega on the board.
I would't that call "compatible"

{dissatisfied customer}
userHeadPic pcdewolff
2014-12-18 03:18:00 bump? userHeadPic pcdewolff
2014-12-18 03:18:00 bump? userHeadPic pcdewolff
2014-12-11 23:17:16 Maybe it is possible to release the code or functionality of the atmega on the shield itself? userHeadPic pcdewolff
2014-12-11 23:17:16 Maybe it is possible to release the code or functionality of the atmega on the shield itself? userHeadPic pcdewolff
2014-12-11 23:09:55 I've only used servo mode so did not check rotation. But this is about reading data back from the servo and not sending the command (that seems to work fine). userHeadPic pcdewolff
2014-12-11 23:09:55 I've only used servo mode so did not check rotation. But this is about reading data back from the servo and not sending the command (that seems to work fine). userHeadPic pcdewolff
2014-12-11 06:47:25 Hello pcdewolff,

Thank you for you post. We will try it right later.
Actually, we have tested its servo mode, and it works well. But for the rotate mode, it will lose control. We'll compare dynamixel command, and try to figure it out.

Let us know if you have any result.
userHeadPic Grey.CC
2014-12-11 06:47:25 Hello pcdewolff,

Thank you for you post. We will try it right later.
Actually, we have tested its servo mode, and it works well. But for the rotate mode, it will lose control. We'll compare dynamixel command, and try to figure it out.

Let us know if you have any result.
userHeadPic Grey.CC
2014-12-10 08:59:13 I would like to have the documentation for the smart servo shield (and not the dynamixel protocol).
In the sample code of the servo controller there is a CPP file ServoCds55.cpp
in this file there is a line
  transferAndWait ('p');

so the letter p or decimal 112 or hex 70 is being sent to the servo shield. This is not a dynamixel parameter because it comes for the Servo ID which is always the first byte sent to a servo.

So what "letters" are there in the servo shield controller that can be used?

This is because I also want to read data from the servo's like status, position, torque, etc...


userHeadPic pcdewolff