I’m working on a robot hobby project and the Lynxmotion Smart Servo looks like a perfect solution, just wasn’t clear on these questions:
Can I use a RC system and a receiver like a Spektrum DXe to control the servos?
Can these be daisy chained in a set-up per the above?
If I want to control the angle and rate, can this be programmed via the software or only via the RC system? I would not require or need multi-turn, just set angles for each joint.
To clarify, the LSS can work either in Smart aspect via serial OR radio controlled (RC).
However it cannot do both at the same time.
Daisy chain is a function that will only be available in Serial / Smart mode.
One could daisy chain the “power” to all the servos however but a RC signal will be required for each servos.
You can use about any RC controller to make the LSS work in RC mode.
As explained above, in RC mode it cannot be done since you need a RC signal to each servos.
The Angle and Rate in RC mode is done by the Transmitter manually.
The LSS will not take PMM, PPM, or S-BUS directly.
At the moment the only way to control it is by sending a direct PWM (RC) to the servo.
One could use such PPM receiver and connect to, let’s say, an Arduino microcontroller.
A piece of code could decode the PPM (we have a library for that) and then split and send the signals to the servos in Smart mode so daisy-chained.
I found this idea quite interesting and went ahead in coding a simple solution that can take the PPM input and convert it to a serial control of the LSS’s. Please forgive my workspace…
I’ve already added this example code to the “Arduino-PPM” library on Arduino.
I’m actually thinking of using the Radiolink set-up. I do not see a power connector to your rx, how are you powering the set-up? Are you using just one of the LSS power hub? What is the output 12V nominal?
Can I use the LSS - Adapter Board, connected to the LSS servos in series, power via a external power pack and use a remote control similar to your set-up?
I’ve updated our Arduino PPM library to include that new example.
In the setup I put together for this video, the LSS-2IO Arduino Compatible board was used and will supply a regulated 5VDC to the RC Receiver.
The power source is 12VDC for the LSS and can be hooked up different ways.
The LSS’s servos are supplied with one Serial cable and one RC cable, one could use the RC cable to supply voltage.
It can be used with the LSS-HUB which has a barrel connector for a wall adapter (12VDC and sufficient current).
I used the LSS-Adapter with our XT60 wall adapter but that’s just more convenient for me.
You can use the LSS-Adapter to connect to a battery pack, yes. (12VDC)
Note: The LSS’s in serial mode require to have an ID changed for each servos. This is done with a serial adapter (or the LSS-2IO in the correct switch mode)
I realize now the thought I had will not work, just using the LSS- Adapter Board (Type-C), since there is no I/O for the PPM pins on the receiver. I like the XT60 Power adapter and thought that would be better for my project vs a battery pack.
Correct, the LSS Adapter is a serial adapter and power distribution board for multiple LSS’s.
If money is not an issue, you can buy both the LSS-Adapter and connect an LSS-2IO board, that’s what I’m using in my example.
Thanks for the info, I’m working with the servos now and am using the LSS Config via USB-C, is there a tutorial on how to set-up the servos? I have the LSS adapter board plugged in to a 12V power supply, the servo flashes green then red, the nothing. Just wondering how to assign ID# for starters and be able to set-up the servos.
Make sure the switch on the LSS-Adapter is set to USB and that only one LSS is connected for the IDs assignment.
Otherwise they will all answer to the same “0” ID.
We have some issues with notification emails for “watching” topics and didn’t see your question here.
I’m also moving your other question here to keep everything at the same place.
Using the LSS config software, I set ID’s for 3 servos, but when I connect and scan, it only finds one of them. Baud rates for all are default, they are connected via serial cables.
The LSS-Config should see all 3 servos if they are on different ID’s.
Can you take a picture of your setup ?
Have you tried to connect only one servos and scan again ?
Make sure not to have your LSS-2IO connected to the Bus while doing the setup with the LSS-Config. (if using the LSS-Adapter)
Since I’m planning on using the PPM mode as discussed with a RC controller, rates would still be controlled by the RC controller correct?
What do you mean by “rates” exactly ?
The LSS-2IO will get the RC-PPM signal, read and process it into a Serial command sent to the servos.
I think this is the right Rx to 2IO connection since it’s working, just wanted to validate.
In the example I created the correct pin is A3, you are connected at the right spot.
// Start the PPM function on PIN A3
ppm.begin(A3, false);
The Receiver need to be connected to CH2 and set to PPM by double press on the receiver button (while powered) and the LED will turn to a Purpleish color.
I copied your setup with the hardware, I also noticed I need to turn off or disconnect the Rx for LSS config to scan and find a servo.
All servos are connected in serial mode, assigned IDs 1-3. It only finds ID 3 each time, which is the last servo in the chain.
As I noted in another thread, the RC PPM mode works but maybe I missed your note on whether or not I can leverage the saved servo settings via LSS config with this option? Is that possible? Right now the dead band for one joystick is too sensitive, say you try to pan but the roll or tilt also is very jerky when moved.
When I move one servo in LSS config, adjusting the speed and etc, the end result is what I desire.
So 3 servos connected to the LSS-Adapter (and only the servos connected) with Power and USB then Scan ?
Maybe re-confirm that your servos are set to the proper ID by testing them one by one.
So you got the system working, the LSS-2IO with LSS Servos controlled by the RC Transmitter/Receiver ?
The deadband can be changed in the code (HERE) and set to “10” by default.
Note: The servo will be more sensitive if it’s set for a higher angular range as it’s using the signal from the RC and dividing it by the amount of degrees.
The example disable the internal “Motion Controller” for the servo which disable the speed limitation.
It is possible to use it with the “Motion Controller” enabled but the example spit position very fast and it makes the movement erratic.