Germany
Asked — Edited
Resolved Resolved by ptp!

Is It Possible To Move(9V~12V) Servos ?

is it possible to move (9V~12V) servos?

I have really cool high quality servos.. but its difficult

regards


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

#1  

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.

#2  

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

Germany
#3  

@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

#4  

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...

Germany
#5  

@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..

User-inserted image

I thought it's possible to move it at once.. in Single.Mode.. But does not..

#6  

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

#7  

@Smarty... The servo stats say they accept PWM so as Alan mentioned plugging them in separately to individual ports on the ezb4 should work....

Germany
#8  

@thetechguru @Richard R

thanks

#9  

Click the "port edit mode" checkbox.

You should test servos with an individual servo control before trying to use auto-position though.

Alan

Germany
#10  

@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..

#11  

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...

PRO
USA
#12  

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).

Germany
#13  

@ptp

that sounds good, tomorrow I will test it :-). then I will give a response again.

thanks @ all

#14  

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

PRO
Synthiam
#15  

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.

  1. Download the config program (ICS3.5Manager100.zip)

  2. Connect a USB->ttl adapter to your PC

  3. Connect the servos to the USB->ttl adapter

  4. 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

User-inserted image

PRO
Synthiam
#16  

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

Germany
#17  

@DJ Sures @thetechguru @ptp @Richard R

User-inserted image

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.

#18  

What are the options under the Com4 dropdown? Have you tried hitting the help link and looking for PWM?

Alan

Germany
#19  

@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

PRO
USA
#20  

@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 ?

Germany
#21  

@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.

PRO
USA
#22  

Smarty:

Connect the servo on Port D0, and run the ez script below:


#signal initialization required for Kondo PWM servo
Set(D0, 0)
Sleep(500)

#Testing positions
Servo(D0, 1)
Sleep(2000)
Servo(D0, 90)
Sleep(2000)
Servo(D0, 180)

let me know if it works.

#23  

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

Germany
#24  

@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.

PRO
USA
#25  

@Smarty,

Only to be sure:

  1. You double checked the connections (GND,VCC,Signal)
  2. Empty ARC project
  3. Servo on Port D0
  4. Change the Sleep(500) to Sleep(1000)

run the script

Germany
#26  

@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.

PRO
USA
#27  

yes i got the 500 ms from that page:

Quote:

To operate the robot using PWM, set the PWMINH flag to 0 and set the signal line at L level for 500ms when turning

Is the led on when you connect the servo to the usb controller ? or is only on when you send commands ?

Germany
#28  

@ptp with the original board the leds are always on If I powering on.

Here a Video: https://youtu.be/XQrBv_0EG_8

PRO
USA
#29  

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.

PRO
USA
#30  

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

#31  

@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

PRO
USA
#32  

Got it missed that part of the thread.

PRO
Synthiam
#33  

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.

#34  

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

PRO
Synthiam
#35  

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

Germany
#36  

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

#37  

Fantastic! Glad you were able to get it working.

Alan

Germany
#38  

@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.

  1. Connect EZB to to WLAN
  2. Start EZ-Software
  3. Connect the EZB in the Software
  4. Open the Auto Position servo APP, add the servo D0, activate realtime update
  5. Now connect the servo to D0 on EZB - it works..

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

PRO
Canada
#39  

I believe what you are looking for is: release(D0)

Germany
#40  

@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.

PRO
USA
#41  

@Smarty

I'm little lost ... bear with me:

if you start from the begin:

  1. EZB off, servo off
  2. Connect servo to EZB port D0
  3. Connect power to EZB (i assume you are sharing power between EZB and the servo, if not please explain)
  4. Open ARC
  5. Connect to EZB
  6. add the following script:

#signal initialization required for Kondo PWM servo
Set(D0, 0)
Sleep(600)

#Testing positions
Servo(D0, 1)
Sleep(2000)
Servo(D0, 90)
Sleep(2000)
Servo(D0, 180)
Release(D0)

  1. Run the script

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) ?

Germany
#42  

@ptp

here a video for you: https://youtu.be/n4p_hYNmKy4

only with this magic trick moves the servo :D

PRO
Synthiam
#43  

Please do not make duplicate threads for the same topic.

Germany
#44  

@DJ Sures

but nobody helps and this thread is closed and the problem is another..

regards

PRO
Synthiam
#45  

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.

PRO
Synthiam
#46  

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.

PRO
Synthiam
#47  

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

PRO
Synthiam
#48  

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

PRO
Synthiam
#49  

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

PRO
Synthiam
#50  

I found this: https://github.com/galatasarayuniversity/libkondo4/blob/master/ics.c

which is cleaner than another i found

PRO
Synthiam
#51  

I looked at their software utility and there's a DLL in the installation folder that looks interesting...

User-inserted image

PRO
Synthiam
#52  

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.

User-inserted image

User-inserted image

PRO
Synthiam
#53  

I obviously can't test this: https://synthiam.com/redirect/legacy?table=plugin&id=171

PRO
USA
#54  

@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:

  1. EZB off (NO servo Connected)
  2. Connect power to EZB (NO servo Connected)
  3. Open ARC
  4. Connect to EZB
  5. add the following script:

Set(D0, OFF)
Set(D1, ON)

  1. run the script
  2. Connect the servo to port D0
  3. Add a servo control for port D0 and move up and down, check if the servo moves.
  4. disconnect the servo from port D0
  5. Connect the servo to port D1
  6. Add a servo control for port D1 and move up and down, check if the servo moves.
  7. disconnect the servo from port D1

Feedback:

  1. Let me know the results points 9 and 12.
  2. start again from point 8, check the results point 9, 12.
  3. Start again from point 1, check the results point 9, 12.

Good Luck.

Germany
#55  

@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

PRO
USA
#56  

Smarty,

Regarding DJ's implementation you need:

  1. Download and install the Kondo Plugin.

  2. Create a new project

  3. Add the Kondo plugin

  4. Connect the Kondo servo (serial configuration mode) to port D5

  5. Power on EZB, Connect ARC to EZB

  6. Add a servo control, select V0 port.

  7. Move up & down check if the servo moves.

#57  

@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

Australia
#58  

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 :)

http://kondo-robot.com/faq/ics-library-a

Cheers Carlo

PRO
Synthiam
#59  

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

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

Australia
#60  

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 :)

Cheers Carlo

PRO
Synthiam
#61  

Tinker tinker!:D silly arduino, you're for leds!

Australia
#62  

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

PRO
Synthiam
#63  

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.

Australia
#64  

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 :)

Germany
#65  

@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 ?

PRO
Canada
#67  

@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?