Asked
— Edited
![Resolved](/images/icons/Large/check.png)
is it possible to move (9V~12V) servos?
I have really cool high quality servos.. but its difficult
regards
is it possible to move (9V~12V) servos?
I have really cool high quality servos.. but its difficult
regards
The V4 digital ports are not voltage regulated. to add to this, the V4 can be powered by up to 19V if I remember correctly. You might want to check the data sheet though.
I think you are confusing the signal voltage with the power voltage. You can provide up to 16v to the EZ-B and it will pass it on to the power pin on all digital ports. (or if you will have a mix of power requirements, you can keep the EZ-B at 7.4v and separately power the servos as long as you have a common ground).
The signal pin outputs 3.3v and can accept 1-5 volts input for applications where the pin is listening for signal (ping sensor, UART). 3.3v output for signal should be standard regardless of the power requirements of the servo, but if you have datasheets for the specific servos you are thinking of you can confirm this.
Alan
@thetechguru
Oh oops, okay, yes I confusing the signal voltage with the power voltage.
I want to move this "KRS-2552RHV ICS" Servo:
Technical specifications> (at 11.1 V)
Maximum torque: 14.0Kgf · cm Maximum speed: 0.14S / 60 ° Dimensions: 41 × 21 × 30.5 mm (without protruding parts) Weight: 41.5 g (without servo horn) Maximum operating angle: 270 ° Maximum power consumption: 1.3A Transmission type: metal Housing material: Resin Translation ratio: 312.4: 1 Supply voltage: HV specification (9V ~ 12V) Communication standards: ICS3.5 (serial / PWM selection formula) Communication speed: 115200/625000 / 1250000Bps Initial setting: ID0 / BR115200 Signal level: TTL Rotation mode: Yes
Just use a 11.1V Lipo battery with your ezb4 instead of a 7.4v battery... Problem solved... You could even use a 12V SLA battery too if you want...
@Richard R
ok, the servo runs but it has "Signal level: TTL" so I think its not possible "to control" the servo by the EZ-Robot Board..
I thought it's possible to move it at once.. in Single.Mode.. But does not..
To daisy chain, you will need to use serial mode, and a custom script. In PWM mode, one per EZ-B digital port, they should work.
Alan
@Smarty... The servo stats say they accept PWM so as Alan mentioned plugging them in separately to individual ports on the ezb4 should work....
@thetechguru @Richard R
thanks
Click the "port edit mode" checkbox.
You should test servos with an individual servo control before trying to use auto-position though.
Alan
@thetechguru
oh okay.. every time I close the window and open again.. the port edit mode is disabled, I dont know why..
So I thought the servo makes trouble ^^!
@Richard R @thetechguru
All I want is to control one servo as single.. without a different board as EZ-Board. one servo direct to ezb. but the servo is not moving and the servo LED ist not on.. So its something special I think. I work often with differnt servos.. but this one is my first TTL servo and the first that not move..
You should use just a basic horizontal or vertical servo control to test servos... You should only use the autopositioner when you are actually using them in a robot. ... Maybe it is possible the servo has selectable modes? i.e. Serial/ttl and PWM? ... Have you read the datasheet/manual on how to use these servos? Also are you using 11.1V? Sometimes these high end type servos won't even move unless at least the minimum voltage is used...
Smarty,
your servo supports at least two different protocols using the same interface (wire): Serial and PWM
EZB supports PWM servos on digital ports
When you have multiple protocols you need to know what is the default protocol (my guess is Serial protocol)
You need to plug the servo USB board (the one in the picture), install the software and run the setup. You should test the servo with the manufacturer tool.
I believe you will find multiple servo parameters and one of them is the communication protocol, you will need to change to PWM.
And only then you can connect to an EZ-B digital port, your servo will behave like a regular analog or digital PWM servo.
EZB PWM protocol on a Digital port does not support ID's or extra parameters, if you need to change (again) the parameters (while in PWM mode) you will need to use the servo USB controller board and the correspondent software.
Regarding Serial protocol and daisy chain: It's possible to send commands via Serial port, but you will need to use EZ-Script or develop a custom plugin. Also you will need to crack the servo protocol (i don't know if is public or not).
@ptp
that sounds good, tomorrow I will test it :-). then I will give a response again.
thanks @ all
I didn't look too hard, but I could only find one English language page about this servo, but I did confirm that it defaults to Serial mode, so to easily use it in ARC, you need to set it to PWM.
Alan
I googled those servos. There's no published protocol that i can find. There's some C code, but it's spaghetti. Your best option is to download their config program, connect the servos to a USB->TTL adapter and configure them for PWM mode.
Download the config program (ICS3.5Manager100.zip)
Connect a USB->ttl adapter to your PC
Connect the servos to the USB->ttl adapter
Use the config program to configure for PWM mode
Also, regarding the auto position. The "Port Edit" is to edit the ports of the Auto Position only. The checkbox does not stay because it is for editing the ports of the Auto Position only. Find out more about the Auto Position with detailed instructional videos by pressing the ? (question mark) next to the X
Also, the protocol for these servos is called ICS 3.5
If you wish to reverse engineer the spaghetti, it can be found here: https://bitbucket.org/vo/libkondo4/wiki/Home
Although, i think the easiest is to simply use a USB->TTL adapter and change the servos to PWM
@DJ Sures @thetechguru @ptp @Richard R
now I can read and write data.. first step done how can I to configure for PWM mode?
I think on the "Option Flags (Modes)"
the discription says:
Reverse Reverses the direction of rotation of the servo to signal. (Initial: OFF)
Serial Check for serial control and remove check for PWM control. (Initial: ON)
Slave Prevents servo from responding to the board. By setting this, communication interference is avoided when using double servo joints with the same ID on a robot. (Initial: OFF)
Rotation Set the servo axis to rotate like a wheel. (Initial: OFF)
I remove the Serial check and wrote the new data.. but the servo not responds with the Ez-Robot Controller.. So I have to change more options.. the ID I changed to zero.
What are the options under the Com4 dropdown? Have you tried hitting the help link and looking for PWM?
Alan
@thetechguru
the baudrate may be changed while port is connected. Besides communication speed, "Auto" is also available in the Baudrate section. This function automatically matches the servo's communication speed and ID. When this article is selected at a state of disconnection/connection, automatic reconnection takes place.
the help link shows only the software version number.
here is the complete software discription in english:
ICS3_5SerialManagerManual(English).pdf
and here the servo discription: http://kondo-robot.com/w/wp-content/uploads/KRS-series_manual_Download_a4-En-V2.pdf
I think page 9 is interesting.. but I dont understand what I have to do..
I have the 2500er Version of Servo
@Smarty
Options Flag are checkboxes, they are optional values, remove the serial checkbox to allow PWM mode.
=== One of the servos has a high torque, can you recommend a supplier web site, i can't find one displaying the prices, how did you order ?
@ptp
please check my last post..
I sent two links.. the last link is from the supplier website. on page 9 is the discription to using a PWM Signal. but I dont understand.. because I remove the serial checkbox.. but with a EZB there is no function.
Smarty:
Connect the servo on Port D0, and run the ez script below:
let me know if it works.
If ptp's script doesn't work, you may be out of luck. Very hard to find English language information, but one of hte pages for a now discontinued robot indicates that PWM was added in later versions of the servo, like the KRS-2555RHV. Leading me to believe that earlier versions like the 2500 ER may be serial only.
Alan
@thetechguru
my servo has PWM, have a look: https://robosavvy.com/store/kondo-krs-2552rhv-ics-red-version-servo-set-with-5-pcs.html
@ptp
the script is not working. I work with the original 9,9V Li-Fe Battery for this servos.
there must be a way .. with the original board and ICS3.5Manager I can move the servo in pwm mode.
@Smarty,
Only to be sure:
run the script
@ptp
I found this: http://kondo-robot.com/w/wp-content/uploads/ICS3_5SoftwareManual_V1English.pdf
page 24.
I have checked all. the servo led is not on, the motor is dead in combination with the ezb.
yes i got the 500 ms from that page:
Is the led on when you connect the servo to the usb controller ? or is only on when you send commands ?
@ptp with the original board the leds are always on If I powering on.
Here a Video: https://youtu.be/XQrBv_0EG_8
it seems the red light is only on when using serial communication.
Did you pick one of the Humanoid servos, removed the Serial configuration flag and connected to the EZB to port D0 ?
You should isolate your setup: take one servo a side and connected to usb controller and check the behavior (leds lights if more than one) in PWM mode.
Then go the EZB and connect to port D0 and check if there are lights on, etc. Note: while in PWM mode you can't use daisy chain, so is important to have only one servo connected to EZB.
This might work in serial mode on D5. The one that DJ just emplimented. These servos might be a dynamixel knockoff or at least use the same protocol. Because they daisy chain you must be able to assign an ID, etc
@fxrtst Earlier in the thread DJ said he looked at source code for the serial protocol and it was a mess. I think if it was the same as Dynamixel he would have said so.
Alan
Got it missed that part of the thread.
The protocol itself might not be a mess, but the code to understand it is. It isnt the same as the dynamixel protocols. I cannot find a document that outlines the protocol. Someone could spend time reverse engineering the code, that's possible.
Yeah, I was trying to say that if you recognized the protocol in the code you would have said so. Maybe I assumed too much about what you can see in the code.
Alan
you can see it all in the code, but youd have to read what it's doing. There's a spaghetti of functions. I looked at it expecting documentation. Once i didn't see documentation i moved on![:D](/images/emoticons/happy.svg)
I have done! It works! I installed the newest Software and Framework, now all parts are moving perfectly ^^! I´m happy! Now I have the stuff for a new super robot. thanks @all big thank you @ptp @DJ Sures
Fantastic! Glad you were able to get it working.
Alan
@Richard R @thetechguru @DJ Sures @ptp
I thought the problem was fixed but it is not. I'm telling what I have to do.. to move and control my servos.. and I hope there is a easy way to fix it.
thats the only way ..
If I disconnect the EZB from Software or the W-Lan.. the servo stays in position. now the servo is always on.
What I have to do now via EZB Script ?
Power OFF D0, wait a second or two, Power On D0.. the same like connect or disconnect the cable..
but it works only in the activate realtime update mode.
set (D0, Off) sleep and On is not working..
Can somebody make the correct EZ Script for that function?
regards
I believe what you are looking for is: release(D0)
@Jeremie
same thing.. the motors are dead as long as.. I disconnect the cable and plug in again. the servo gets a power shock and activated. to deactivate via script is no problem.. to activate.. I found nothing till now.
@Smarty
I'm little lost ... bear with me:
if you start from the begin:
Q1) Does the servo move to 3 different positions and is released ?
Q2) If is not working, what is the working sequence (starting from step 1) ?
@ptp
here a video for you: https://youtu.be/n4p_hYNmKy4
only with this magic trick moves the servo![:D](/images/emoticons/happy.svg)
Please do not make duplicate threads for the same topic.
@DJ Sures
but nobody helps and this thread is closed and the problem is another..
regards
People will respond to this thread if they have something to offer. Currently, no one knows anything about these servos. This thread is the best resource for those servos if someone has a suggestion. I don't have a suggestion either.
What I get from watching the video is that the servo works if it is connected with a PWM immediately provided on the signal line.
I guess the only suggestion i have is to separate the power from the signal. Connect the servo signal wires to the EZ-B. Connect the power wires to a secondary switch.
That way, you can initialize the PWM for the servos and then switch the power to the servos.
Have you attempted to contact the manufacturer of the servos and inquire how to hardcode their operation to PWM mode?
Lastly, the alternate is to research the UART protocol for the servos and create an ARC skill plugin. If someone found an actual protocol datasheet for the servos, i could assist with the plugin. It would be an easy plugin to create with a proper datasheet.
I found this: http://kondo-robot.com/w/wp-content/uploads/KRS-series_manual_Download-En.pdf
and this: http://kondo-robot.com/archives/faq_category/ics_dep
ha, i think this is supposed to be the ICS protocol datasheet: http://kondo-robot.com/w/wp-content/uploads/ICS3.5_3.6_SoftwareManual_2.pdf
This page: https://forum.poppy-project.org/t/review-of-small-humanoid-robots/1834/2
provided an english datasheet pdf which is for the software only... hmm
I found this: https://github.com/galatasarayuniversity/libkondo4/blob/master/ics.c
which is cleaner than another i found
I looked at their software utility and there's a DLL in the installation folder that looks interesting...
I'm exploring the DLL from the utility and i seem to have received a string of bytes to move a servo to a position. I imagine this is might be what we need to implement serial communication from the EZ-B UART.
I obviously can't test this: https://synthiam.com/redirect/legacy?table=plugin&id=171
@Smarty,
If you get success with DJ's plugin it will be the best option.
BUT
Before that, can you do a few more tests. I would like to find the culprit
and the steps below will help to understand if the behavior is random or not.
Please follow these steps:
Feedback:
Good Luck.
@ptp
very interesting!
the results from point 1 - 9: the servo ist moving! only on port D0
If I conntect 5x servos from D0-D5 only D0 is moving! (from point 1-9)
from point 9-12 the servo ist not moving!
first I have to start the Realtime Update Modus and select the correct port.. after this I connect the servo to the port and it moves.
interesting, too: the EZB works now on this ports as long as the EZB is ON. all activated ports via Realtime Update Modus I can use. It doesnt matter how often I change the ports "in port edit mode"..one time activated.. the whole time activated.
important.. first activate, then connect the servo cable. this does not apply to D0, D0 needs only Step (1-9) to move.
@DJ Sures
thanks for your help and app. but I dont know.. how I can use it.. tired
Smarty,
Regarding DJ's implementation you need:
Download and install the Kondo Plugin.
Create a new project
Add the Kondo plugin
Connect the Kondo servo (serial configuration mode) to port D5
Power on EZB, Connect ARC to EZB
Add a servo control, select V0 port.
Move up & down check if the servo moves.
@Smarty. You are still doing your servo testing in the auto-position control. For testing, use a horizontal or vertical servo control. Only start using auto-position after you get the servo working consistently. @PTP's instructions above assume you are using a servo control, not an auto-position.
Alan
hi guys
Hows it going? been following this thread closely just started trying to interface my KHR-3hv to the ezi robot controller. Does it matter what ram id the servo is set at? or do they correlate to the V number you dedicate it to (if you connect them in series to D5)? Also I found some information that might help
kondo released an adaptor to control kondo servos using arduino. Cool part is they included the libraries too![:)](/images/emoticons/smiles.svg)
http://kondo-robot.com/faq/ics-library-a
Cheers Carlo
Carlo, yes the V number is also your servo id.
The only reason to control a robot from arduino is if you're trying to impress someone from 2005![:D](/images/emoticons/happy.svg)
No need to follow this thread. Simply add the plugin, connect the servos to the selected ezb port. And use amazing ezrobot features that dominate the industry! Take over the world with robots. That's all![:D](/images/emoticons/happy.svg)
haha thanks dj, dont worry no chance of using arduinos for this one
thought it might be useful for the other parameters of the servo's.
I'll keep tinkering![:)](/images/emoticons/smiles.svg)
Cheers Carlo
Tinker tinker!
silly arduino, you're for leds!
Thanks for the help DJ, and for the speedy delivery of the controller
Can drive servo's now, but not too sure about sending and receiving other parameters and setting id's. it would be awesome to read in positions to set the min and max of positions and help getting him to work
Would it help if I sent you a servo for the cause
Another quick question is there a limit to how many servos I can run off that one uart?
Cheers Carlo
Each id of the servo matches the id of the virtual port.
There is no reading from these servos in ARC. If you are experienced with c#, you can create a plugin to do so. I unfortunately do not have the available time.
You can control as many servos as there are id's for off a uart. Feeding the servos appropriate power should be directly from the battery if you're exceeding the datasheet specifications. You will have to check the datasheet to see what the specifications are.
Thanks DJ, still getting my head around everything, can move the servos with your plugin (thanks for that
). Is there any source code for it for me to modify it? Programming isn't my strongest suit but I'll try![:)](/images/emoticons/smiles.svg)
@DJ Sures @cpsergi
hello. is it possible to use a tiny controller ? I need a UART Port.. what is Tinys UART Port ?
all what I need is: EZ Software, the plugin and to cenntect one of all Kondo Servos to an UART-Port, then I control all Servos via Virtual ports.
have I understood matters correctly ?
@Asimo The ioTiny does not have a UART port...
@cpsergi would you happen to still have the Kondo servos?
We don't have any of those servos here in the lab. Would you like to test the Kondo KRS ICS plug-in in ARC?