Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.
Get Started

Asked — Edited

Control Ubtech Alpha Servos With The Ez-B V4?

Hello, I have a question .

I have these servos in my robot and have now bought the EZ-B V4.

But if it does not get to work, can the Ez b control these servos?

The servos are all connected and the controller only has 1 cable

User-inserted image

AI Support Bot
Related Content
The help in the plugin explains how to use it with iotiny. Simply use any of the digital ports for the connection. And specify the correct port in the plugin. Read the blue question marks and the plugin help beside options and it’ll make senses
thanks I will acquire a couple of boards... probably with the board in my hand it will be obvious
[color=#442e5f][size=3][font=OpenSans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"]hi raullapeira

[color=#442e5f][size=3][font=OpenSans, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji]do you have any video about this project with the ubt robot?

Hi all guys ! I see that the alpha 1S issue is intriguing many people . I have it  and of  course I'd like to control it by ezb v4. 
I need to know more about interfacing its servos. I saw there's a plug-in and some hardware information.
I need to know, (I hope somebody in the forum has experienced these matters) :

Hardware : I'm attaching a photo, where 4  3-pin JST plugs can be seen. I think each of them drives  , by 4 independent serial buses, some  of the servos .
 Which  pins are  +,-, rx/tx pin ? how to connect these 4 buses to ezb ? I saw in the forum a simple scheme, but more detail is needed.

Software: the plug-in I found in this  forum is designed for  such 4-bus hardware , so to control , by ezb, each servo separately ?

User-inserted image
I downloaded the plug in. It's an old PC, with win 7, non recent ezb version. I got this error. User-inserted image

What's going on ?
Update the ARC.

What's going on?

It looks like the plugin uses a more recent or non existent class/object in an older ARC version. 

Keep your ARC updated, is a good recipe to avoid trivial issues.
Is the last ezb release (jan 2019) compatible with win 7 ? if not, I might have a problem with this old PC.
#96   — Edited
Ptp is correct. In order to add new features, the software continues to grow. 

The latest ARC beta will technically run on Windows 7 but it’ll give a warning because it’s not recommended. Windows 7 was discontinued by Microsoft and no longer supported. This means new features of ARC are absolutely impossible to be supported in Windows 7 because Microsoft doesn’t support it.

*note: do not duplicate post.
#97   — Edited
Yes, I got the warning you say in the win 7 PC, but everything seems to work. 
I intend to test  alpha 1S servos with ezb v4. The servo plugin seems to work.  Now I have only this old PC available for this test.
I need information about the hardware connection  of those 16 servos to ezb. I asked for this in another post. Can you help  ?
Wish I could help - but i do not have a servo or that robot to test with. In this conversation thread, there is someone way way up there who had a link to someone who reverse engineered the protocol. Maybe they showed how to connect the wires? I also believe Nink got them working, as he stated above. I would recommend browsing this conversation thread. There's 92 comments on that developed this thread - with great help i hope
I posted in this thread a photo of the  robot controller, showing  4 JST plugs connecting  to 4 serial buses to the servos. The servos  work connected to a common line, addressed  by their specific address , the way  it happens in a serial I2C  bus. 
Somebody has certainly tested this connection, but I don't know how to communicate with him. I hope he will reply to this post.
It isn't i2c. It's UART, as stated everywhere in this thread AND the plugin description. All you need to do is identify the Data, GND and Power wires of the servo connector. Follow the instructions on the ubtech plugin page here: https://synthiam.com/Software/Manual/UBTECH-Alpha-Servos-UBT-12HC-16022

If you read this conversation thread as i stated, you will find that there is a link that discusses the ID's and how it works. You will need to put a little leg work in to get it rock'n. Each servo has an ID. The lowest ID is 1. I'm sure the UB Tech software shows what ID is for what servo. If not, you'll have to experiment and try.

Connect them as described by the plugin. To the UART that you choose and power and gnd. I don't have a servo, but it would be pretty easy to look and see what wires are for what. Or, use google to research and find it. That's all i can do to help
I know it's not I2C. I meant that those servos work on a common bus (like I2C  does), instead of  individual connections like usual PWM servos.

I think  all the 16 servos should  work  on  a single control  line. I'll study the  plugin information , looking for details., i.e.:

1) Direct connection of one digital or UART ezb port to a single servo control  line, with  16 servos on it ?
2)Control wire is bi-directional.  What happens if ezb sends bytes to servos while servos themselves are sending bytes on the control line ?) 

I hope that experienced members could explain . In lack of information , I'll look at the control pins   with an oscilloscope a let everybody know.
Yes one control line can control all 16 of the servos all at once.
The timing is set so the servos and the EZ Robot board always send and receive at the right times.
You can use the IO Tiny with a camera to make this robot do much more than it could before.
#103   — Edited
Thanks, mcsdaver. 
Alpha robot has 4 jst plugs with  4 separate 3-wire cables to the servos (as you can see in  a previous post of mine). I think they are separated only for mechanical convenience of wiring, but probably they are all connected together in the pcb. I see no logic reason to control several groups of servos independently  by the controller.
 I assume that the ezb v4  (uart or digital pin)  can drive the common line of all the 16 ubtech servos.
Do you know which jst pins are +,-, rx/tx ?
I don't have the same servos that you have, so I am not sure how to connect them to the V4 or IO Tiny.
Yah - they would be separated for mechanical reasons. The left side is probably one wire and the right side is another wire. But they all group together at the same place to the same connections on the PCB.

I looked around and can't seem to find any info on which wire is + or GND or signal. I'm guessing you can figure it out by looking at the board OR probing the connector with a volt meter
#106   — Edited
I discovered the voltages with a volt  meter:   7,5 v power is  center oin , one side is GND, other side is 5 V (control wire, high logic level ).
I connected one of the jst plugs and tested the ezb plugin . It was able , by the real time control in the frame screen,  via UART and  V3,V4,V5, the 3 servos of one arm. The other plugs are probably for the other arm and the two legs.
The movement is  slow and weak. Those servos, when operated from their controller, are quite fast and strong.
I made an action with 2 different frames alternating ,  pausing for of 500 ms, but it doesn't work. The servos  remain in one of the frames.
I haven't found in this thread  someone who has done such tests. I'd like to hear from  someone who did .
I hope that  DJ could have one servo and some time to do a test , to understand what happens.
#107   — Edited
Hi all, 
here is my research and what I found :

Baud rate:115200
Data bit:8
Flow control:NONE TTL multi-layer connection,shared-bus
Feedback:position:deviation adjustment,version information

Serial parameter:115200,8,n,1,1

Protocol analysis

// FA AF 01 04 00 00 00 00 05 ED switch on led light // no LED on mine
// FA AF 01 04 01 00 00 00 06 ED switch off led light// no LED on mine
RESPONSE AA + id // not tried yet as I cannot see with my proto board

FC CF {id} 01 00 00 00 00 {sum} ED            // not tried yet 
RESPONSE FC CF {id} {V-1} {V-2} {V-3} {V-4} {sum} ED
this can be used to check if servo exist in a loop "for id"

MOVE servo
// FA AF {id} 01 {angle} {time} {T1} {T2} {sum} ED whre T1=0 and T2= {time}= TIME to execute in ms / 20 0 to 255(FF) ie 5.12 second to execute
RESPONSE AA + id // not tried yet as I cannot see with my proto board

// FA AF {id} 02 00 00 00 00 {sum} ED // not tried yet
REPONSE FA AF {id} 00 {angle} 00 {real} {sum} ED // not tried yet as I cannot see with my proto board

// FA AF {id} D2 00 00 {A1} {A2} {sum} ED where A1 adjValue/256 and A2 adjValue%256  // not tried yet
RESPONSE FA AF {AA + id} 00 00 00 00 {sum} ED

// FA AF {id} D4 00 00 00 00 {sum} ED   // not tried yet
RESPONSE FA AF {AA + id} D4 00 00 {A1} {A2} {sum} ED where A1 adjValue/256 and A2 adjValue%256

All works now, just think to cross wire in the daisy chain, else GND become DATA on next servo and block all transmission....