
Zxen
Australia
Asked
— Edited
I'm developing new servos with a mechanical engineer and we've decided to make them i2C to reduce the number of internal wires per module.
How do I run ARC with i2c daisy-chained servos?
How do I connect a 'send wire' from the daisy-chained servos to the EZB-V4 using i2c for position feedback (pose programming)?
My continuous rotation servos will use magnetic encoders and exceed the ARC (potentiometer dictated) 180 degree limits. How can I hack past this in ARC to rotate my servos a couple of thousand degrees for example?
Thanks
Thanks DJ, that code looks foreign to me right now, but my tech guy probably understands it.
UART uses bidirectional communication as well so I can physically pose a robot easily and save a frame, right? So that the servos can tell the computer their rotation location? I think thats called 'positional feedback', but I've heard positional feedback is what all servos do even with unidirectional communication so I'm not sure of the correct terminology. And using a magnetic encoder we can rotate, say, 2,489 degrees and the servo will understand, right? Also, how many UART devices can be chained from an EZBV4? And is there a picture of how to attach it to the board? (It looks like the robot may be drawing up to 60A per arm, so Im sure the EZB needs to be bypassed for servo power.) Also, there seem to be a lot of different UART protocol types, including USART.
ptp wrote this here: https://synthiam.com/Community/Questions/9672&page=3 <- This page is very much related to the technical side of protocols.
Serial Communication: the clock is predefined: Full Duplex - 2 wires: TX + RX Single direction: 1 wire (Tx->Rx) Half Duplex - 1 wire (e.g. Dynamixel 1 Data pin) Half Duplex - 2 wires (e.g. Dynamixel 2 Data pins - Differential Signaling) RS485 Full Duplex - 4 wires (RX-2 TX-2) RS485 Single Direction: 2 wires (TX->RX)
Pretty confusing.
Another thing I need to understand is how servos can self-calculate how much to increase their speed to arrive at a pose in time with the music. If I pose a robot and save it's pose on a beat of a song, I haven't been able to make it arrive exactly on the beat. I only know how to make it sleep between frames, which means holding off the next command. But of course I need it to obey every command, but adjust its own speed to get to the frame afterwards by the timecode of the song. Imagine the choreography for the song 'YMCA'. Y, M, C and A are not spaced evenly apart. The robot needs to land the correct pose at the exact timecode. How is this usually achieved without unnecessary maths to calculate hundreds of speed changes per song?
Also, as I've discussed before in a thread about controller types (https://synthiam.com/Community/Questions/9624), voodoo control would be acceptable for programming. This could mean using a much cheaper pose doll thats connected to the main robot, and the moves can be programmed both frame by frame or live. Would a voodoo controller work with UART and EZB? How would you hook it up?
Your tech guy will fill in those questions for you
. Good luck!